*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;overflow-x:hidden}@supports (padding:env(safe-area-inset-bottom)){body{padding-bottom:env(safe-area-inset-bottom)}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button{font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{background:0 0;border:none;font-family:inherit;font-size:16px}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:root{--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-200:#bfdbfe;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--primary-800:#1e40af;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#dbeafe;--primary-bg:#eff6ff;--success-50:#f0fdf4;--success-100:#dcfce7;--success-500:#22c55e;--success-600:#16a34a;--success-700:#166534;--success:#16a34a;--success-light:#dcfce7;--success-bg:#f0fdf4;--warning-50:#fffbeb;--warning-100:#fef3c7;--warning-500:#f59e0b;--warning-600:#d97706;--warning-700:#92400e;--warning:#f59e0b;--warning-light:#fef3c7;--warning-bg:#fffbeb;--danger-50:#fef2f2;--danger-100:#fee2e2;--danger-200:#fecaca;--danger-500:#ef4444;--danger-600:#dc2626;--danger-700:#991b1b;--danger:#dc2626;--danger-light:#fef2f2;--danger-bg:#fef2f2;--text:#1f2937;--text-secondary:#4b5563;--text-muted:#6b7280;--border:#e5e7eb;--bg:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--bg-page:#f8fafc;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:4px;--radius:8px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--shadow-lg:0 10px 25px #0000001a;--shadow-focus:0 0 0 3px #2563eb1a;--text-xs:11px;--text-sm:13px;--text-base:14px;--text-md:15px;--text-lg:18px;--text-xl:20px;--text-2xl:22px;--text-3xl:26px;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.6;--tap-target:44px;--transition-fast:.1s ease;--transition:.15s ease;--transition-slow:.25s ease;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--text-base);font-weight:var(--font-medium);line-height:var(--leading-tight);text-align:center;cursor:pointer;transition:all var(--transition);border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:var(--bg);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-danger{background:var(--bg);color:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-success:hover:not(:disabled){background:var(--success-700);border-color:var(--success-700)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text)}.btn-sm{min-height:36px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.btn-xs{min-height:28px;padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.btn-block{width:100%}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;white-space:nowrap;display:inline-flex}.badge-primary{background:var(--primary-light);color:var(--primary-800)}.badge-success{background:var(--success-light);color:var(--success-700)}.badge-warning{background:var(--warning-light);color:var(--warning-700)}.badge-danger{background:var(--danger-light);color:var(--danger-700)}.badge-neutral{background:var(--bg-tertiary);color:var(--text-secondary)}.badge-confirmed{background:var(--primary-light);color:var(--primary-800)}.badge-completed{background:var(--success-light);color:var(--success-700)}.badge-no_show{background:var(--warning-light);color:var(--warning-700)}.badge-cancelled{background:var(--danger-light);color:var(--danger-700)}.card{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-xs)}.card-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex}.card-title{font-size:var(--text-base);font-weight:var(--font-semibold)}.field{gap:var(--space-1);flex-direction:column;display:flex}.field-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);display:block}.field-label .required{color:var(--danger)}.field-label .optional{font-weight:var(--font-normal);color:var(--text-muted)}.field-input{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--bg);transition:all var(--transition);font-size:16px}.field-input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.field-input:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}textarea.field-input{resize:vertical;min-height:80px}.field-error{font-size:var(--text-xs);color:var(--danger)}.field-hint{font-size:var(--text-xs);color:var(--text-muted)}.toggle-switch{cursor:pointer;width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{background:var(--border);border-radius:var(--radius-full);transition:background var(--transition);position:absolute;inset:0}.toggle-slider:before{content:"";width:18px;height:18px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:1s linear infinite spin}.spinner-lg{border-width:4px;width:48px;height:48px}.error-toast{bottom:var(--space-4);left:var(--space-3);right:var(--space-3);padding:var(--space-3);background:var(--danger-light);border:1px solid var(--danger-200);border-radius:var(--radius);color:var(--danger);font-size:var(--text-sm);z-index:var(--z-toast);justify-content:space-between;align-items:center;animation:.2s slideUp;display:flex;position:fixed}.error-toast button{color:var(--danger);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2)}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{margin-bottom:var(--space-4);font-size:48px}.empty-state-text{font-size:var(--text-base)}.loading-state{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center;color:var(--text-secondary);flex-direction:column;display:flex}.widget{background:var(--bg);flex-direction:column;height:100%;display:flex;overflow:hidden}.widget-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex}.section-label{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin-bottom:var(--space-2);display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:.2s fadeIn}.animate-slideUp{animation:.2s slideUp}.animate-slideDown{animation:.2s slideDown}.animate-scaleIn{animation:.15s scaleIn}.animate-pulse{animation:2s ease-in-out infinite pulse}.container{width:100%;max-width:560px;padding:0 var(--space-3);margin:0 auto}@media (min-width:480px){.container{padding:0 var(--space-4)}}@media (min-width:640px){.container{padding:0 var(--space-6)}}.hide-below-sm,.hide-below-md,.hide-below-lg{display:none!important}@media (min-width:480px){.hide-below-sm{display:revert!important}}@media (min-width:640px){.hide-below-md{display:revert!important}}@media (min-width:768px){.hide-below-lg{display:revert!important}}.hide-above-sm,.hide-above-md{display:revert!important}@media (min-width:480px){.hide-above-sm{display:none!important}}@media (min-width:640px){.hide-above-md{display:none!important}}@media (hover:none){.btn:hover{background:inherit;color:inherit;border-color:inherit}}
