@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif&family=Source+Sans+3:wght@400;500;600;700&family=DM+Serif+Display&display=swap");:root{--font-sans:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Instrument Serif",Georgia,serif;--font-serif-alt:"DM Serif Display",Georgia,serif;--color-brand-primary:#06c;--color-brand-primary-dark:#0052a3;--color-brand-primary-light:#e6f2ff;--color-brand-secondary:#00a86b;--color-brand-secondary-dark:#008552;--color-brand-secondary-light:#e6f9f0;--color-brand-accent:#ff6b35;--color-brand-accent-dark:#cc5529;--color-brand-accent-light:#ffe6d5;--color-neutral-white:#fff;--color-neutral-gray-50:#f9fafb;--color-neutral-gray-100:#f3f4f6;--color-neutral-gray-200:#e5e7eb;--color-neutral-gray-300:#d1d5db;--color-neutral-gray-400:#9ca3af;--color-neutral-gray-500:#6b7280;--color-neutral-gray-600:#4b5563;--color-neutral-gray-700:#374151;--color-neutral-gray-800:#1f2937;--color-neutral-gray-900:#111827;--color-semantic-success:#10b981;--color-semantic-success-light:#ecfdf5;--color-semantic-warning:#f59e0b;--color-semantic-warning-light:#fffbeb;--color-semantic-error:#ef4444;--color-semantic-error-light:#fef2f2;--color-semantic-info:#3b82f6;--color-semantic-info-light:#eff6ff;--color-emergency-critical:#7c2d12;--color-emergency-critical-light:#fed7aa;--color-emergency-warning:#f97316;--color-emergency-warning-light:#fee2e2;--color-emergency-info:#0284c7;--color-emergency-info-light:#e0f2fe;--color-border-light:var(--color-neutral-gray-200);--color-border-default:var(--color-neutral-gray-300);--color-border-strong:var(--color-neutral-gray-400);--color-elevation-0:var(--color-neutral-white);--color-elevation-1:var(--color-neutral-gray-50);--color-elevation-2:var(--color-neutral-gray-100);--color-surface-primary:var(--color-neutral-white);--color-surface-secondary:var(--color-neutral-gray-50);--color-surface-tertiary:var(--color-neutral-gray-100);--color-text-primary:var(--color-neutral-gray-900);--color-text-secondary:var(--color-neutral-gray-600);--color-text-tertiary:var(--color-neutral-gray-500);--color-text-disabled:var(--color-neutral-gray-400);--color-text-inverse:var(--color-neutral-white);--color-button-primary-bg:var(--color-brand-primary);--color-button-primary-text:var(--color-neutral-white);--color-button-primary-hover:var(--color-brand-primary-dark);--color-button-primary-active:#049;--color-button-primary-disabled:var(--color-neutral-gray-300);--color-button-secondary-bg:var(--color-neutral-gray-100);--color-button-secondary-text:var(--color-text-primary);--color-button-secondary-hover:var(--color-neutral-gray-200);--color-button-secondary-active:var(--color-neutral-gray-300);--color-button-secondary-disabled:var(--color-neutral-gray-100);--color-button-tertiary-bg:transparent;--color-button-tertiary-text:var(--color-brand-primary);--color-button-tertiary-hover:var(--color-brand-primary-light);--color-button-tertiary-active:var(--color-neutral-gray-200);--color-button-tertiary-disabled:var(--color-neutral-gray-300);--color-button-success-bg:var(--color-semantic-success);--color-button-success-text:var(--color-neutral-white);--color-button-success-hover:#059669;--color-button-success-active:#047857;--color-button-success-disabled:var(--color-neutral-gray-300);--color-button-danger-bg:var(--color-semantic-error);--color-button-danger-text:var(--color-neutral-white);--color-button-danger-hover:#dc2626;--color-button-danger-active:#b91c1c;--color-button-danger-disabled:var(--color-neutral-gray-300);--color-card-bg:var(--color-elevation-0);--color-card-border:var(--color-border-light);--color-card-shadow:rgba(0,0,0,.04);--color-input-bg:var(--color-neutral-white);--color-input-border:var(--color-border-default);--color-input-text:var(--color-text-primary);--color-input-placeholder:var(--color-text-tertiary);--color-input-focus:var(--color-brand-primary);--color-input-disabled-bg:var(--color-neutral-gray-100);--color-input-disabled-text:var(--color-text-disabled);--color-toggle-bg-off:var(--color-neutral-gray-300);--color-toggle-bg-on:var(--color-semantic-success);--color-toggle-thumb:var(--color-neutral-white);--color-toast-bg:var(--color-neutral-gray-900);--color-toast-text:var(--color-neutral-white);--color-toast-success-border:var(--color-semantic-success);--color-toast-error-border:var(--color-semantic-error);--color-toast-warning-border:var(--color-semantic-warning);--color-toast-info-border:var(--color-semantic-info);--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--duration-instant:0ms;--duration-fast:150ms;--duration-base:300ms;--duration-slow:500ms;--duration-slower:800ms;--easing-ease-in:cubic-bezier(0.4,0,1,1);--easing-ease-out:cubic-bezier(0,0,0.2,1);--easing-ease-in-out:cubic-bezier(0.4,0,0.2,1);--spacing-0:0;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-7:28px;--spacing-8:32px;--spacing-9:36px;--spacing-10:40px;--spacing-11:44px;--spacing-12:48px;--spacing-14:56px;--spacing-16:64px;--spacing-20:80px;--spacing-24:96px;--spacing-32:128px;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--line-height-loose:2;--letter-spacing-tight:-0.02em;--letter-spacing-normal:0;--letter-spacing-wide:0.02em}[data-theme=dark]{--color-brand-primary:#4a9eff;--color-brand-primary-dark:#3d82ff;--color-brand-primary-light:#1a3a52;--color-brand-secondary:#5edc81;--color-brand-secondary-dark:#48b76b;--color-brand-secondary-light:#1a3a28;--color-brand-accent:#ff8c42;--color-brand-accent-dark:#ff7a2a;--color-brand-accent-light:#3a2a1f;--color-neutral-white:#0f0f0f;--color-neutral-gray-50:#1a1a1a;--color-neutral-gray-100:#262626;--color-neutral-gray-200:#333;--color-neutral-gray-300:#404040;--color-neutral-gray-400:#595959;--color-neutral-gray-500:#737373;--color-neutral-gray-600:#8f8f8f;--color-neutral-gray-700:#b3b3b3;--color-neutral-gray-800:#d9d9d9;--color-neutral-gray-900:#f0f0f0;--color-semantic-success:#34d399;--color-semantic-success-light:#064e3b;--color-semantic-warning:#fbbf24;--color-semantic-warning-light:#451a03;--color-semantic-error:#f87171;--color-semantic-error-light:#7f1d1d;--color-semantic-info:#60a5fa;--color-semantic-info-light:#0c2340;--color-emergency-critical:#fed7aa;--color-emergency-critical-light:#7c2d12;--color-emergency-warning:#fed7aa;--color-emergency-warning-light:#7c2d12;--color-emergency-info:#e0f2fe;--color-emergency-info-light:#0c2340;--color-border-light:var(--color-neutral-gray-200);--color-border-default:var(--color-neutral-gray-300);--color-border-strong:var(--color-neutral-gray-400);--color-elevation-0:var(--color-neutral-gray-50);--color-elevation-1:var(--color-neutral-gray-100);--color-elevation-2:var(--color-neutral-gray-200);--color-surface-primary:var(--color-neutral-gray-50);--color-surface-secondary:var(--color-neutral-gray-100);--color-surface-tertiary:var(--color-neutral-gray-200);--color-text-primary:var(--color-neutral-gray-900);--color-text-secondary:var(--color-neutral-gray-700);--color-text-tertiary:var(--color-neutral-gray-600);--color-text-disabled:var(--color-neutral-gray-500);--color-text-inverse:var(--color-neutral-gray-50);--color-button-primary-bg:var(--color-brand-primary);--color-button-primary-text:var(--color-neutral-gray-50);--color-button-primary-hover:#6ab0ff;--color-button-primary-active:#3d82ff;--color-button-primary-disabled:var(--color-neutral-gray-400);--color-button-secondary-bg:var(--color-neutral-gray-200);--color-button-secondary-text:var(--color-text-primary);--color-button-secondary-hover:var(--color-neutral-gray-300);--color-button-secondary-active:var(--color-neutral-gray-400);--color-button-secondary-disabled:var(--color-neutral-gray-200);--color-button-tertiary-bg:transparent;--color-button-tertiary-text:var(--color-brand-primary);--color-button-tertiary-hover:var(--color-neutral-gray-200);--color-button-tertiary-active:var(--color-neutral-gray-300);--color-button-tertiary-disabled:var(--color-neutral-gray-400);--color-button-success-bg:var(--color-semantic-success);--color-button-success-text:var(--color-neutral-gray-50);--color-button-success-hover:#6ee7b7;--color-button-success-active:#34d399;--color-button-success-disabled:var(--color-neutral-gray-400);--color-button-danger-bg:var(--color-semantic-error);--color-button-danger-text:var(--color-neutral-gray-50);--color-button-danger-hover:#fb9191;--color-button-danger-active:#f87171;--color-button-danger-disabled:var(--color-neutral-gray-400);--color-card-bg:var(--color-elevation-0);--color-card-border:var(--color-border-light);--color-card-shadow:rgba(0,0,0,.3);--color-input-bg:var(--color-neutral-gray-100);--color-input-border:var(--color-border-default);--color-input-text:var(--color-text-primary);--color-input-placeholder:var(--color-text-tertiary);--color-input-focus:var(--color-brand-primary);--color-input-disabled-bg:var(--color-neutral-gray-200);--color-input-disabled-text:var(--color-text-disabled);--color-toggle-bg-off:var(--color-neutral-gray-400);--color-toggle-bg-on:var(--color-semantic-success);--color-toggle-thumb:var(--color-neutral-gray-50);--color-toast-bg:var(--color-neutral-gray-900);--color-toast-text:var(--color-neutral-gray-900);--color-toast-success-border:var(--color-semantic-success);--color-toast-error-border:var(--color-semantic-error);--color-toast-warning-border:var(--color-semantic-warning);--color-toast-info-border:var(--color-semantic-info)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-surface-primary);color:var(--color-text-primary);line-height:var(--line-height-normal);font-size:1rem;transition:background-color var(--duration-base) var(--easing-ease-out)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:var(--line-height-tight);margin:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1rem}h6{font-size:.875rem}p{margin:0}a{color:var(--color-brand-primary);text-decoration:none;transition:color var(--duration-fast) var(--easing-ease-out)}a:hover{color:var(--color-brand-primary-dark)}button{font-family:var(--font-sans);cursor:pointer;border:none;outline:none}input,select,textarea{font-family:var(--font-sans);color:var(--color-input-text);background-color:var(--color-input-bg)}input::placeholder,textarea::placeholder{color:var(--color-input-placeholder)}.type-display{font-size:2.625rem;line-height:1.2}.type-display,.type-h1{font-family:var(--font-display);letter-spacing:var(--letter-spacing-tight);font-weight:400}.type-h1{font-size:2rem;line-height:1.25}.type-h2{font-size:1.5rem;line-height:1.333}.type-h2,.type-h3{font-family:var(--font-display);letter-spacing:var(--letter-spacing-tight);font-weight:400}.type-h3{font-size:1.25rem;line-height:1.4}.type-subtitle1{font-size:1rem;line-height:1.5}.type-subtitle1,.type-subtitle2{font-weight:600;letter-spacing:var(--letter-spacing-normal)}.type-subtitle2{font-size:.875rem;line-height:1.428}.type-body1{font-size:1rem;line-height:1.5}.type-body1,.type-body2{font-weight:400;letter-spacing:var(--letter-spacing-normal)}.type-body2{font-size:.875rem;line-height:1.428}.type-caption{font-size:.75rem;font-weight:500;line-height:1.333;letter-spacing:var(--letter-spacing-wide)}.type-button{font-size:.875rem;font-weight:600;line-height:1.428;letter-spacing:var(--letter-spacing-normal);text-transform:uppercase}.type-emergency{font-size:.75rem;font-weight:700;line-height:1.333;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-emergency-critical)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;transition:all var(--duration-fast) var(--easing-ease-out);min-height:44px;min-width:44px;cursor:pointer;border:none;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-button-primary-bg);color:var(--color-button-primary-text)}.btn-primary:hover:not(:disabled){background-color:var(--color-button-primary-hover)}.btn-primary:active:not(:disabled){background-color:var(--color-button-primary-active)}.btn-secondary{background-color:var(--color-button-secondary-bg);color:var(--color-button-secondary-text)}.btn-secondary:hover:not(:disabled){background-color:var(--color-button-secondary-hover)}.btn-secondary:active:not(:disabled){background-color:var(--color-button-secondary-active)}.btn-tertiary{background-color:var(--color-button-tertiary-bg);color:var(--color-button-tertiary-text);border:1px solid var(--color-border-default)}.btn-tertiary:hover:not(:disabled){background-color:var(--color-button-tertiary-hover)}.btn-tertiary:active:not(:disabled){background-color:var(--color-button-tertiary-active)}.btn-success{background-color:var(--color-button-success-bg);color:var(--color-button-success-text)}.btn-success:hover:not(:disabled){background-color:var(--color-button-success-hover)}.btn-success:active:not(:disabled){background-color:var(--color-button-success-active)}.btn-danger{background-color:var(--color-button-danger-bg);color:var(--color-button-danger-text)}.btn-danger:hover:not(:disabled){background-color:var(--color-button-danger-hover)}.btn-danger:active:not(:disabled){background-color:var(--color-button-danger-active)}.btn-lg{padding:var(--spacing-4) var(--spacing-6);font-size:1rem;min-height:48px}.btn-sm{padding:var(--spacing-2) var(--spacing-3);font-size:.75rem;min-height:36px}.card{background-color:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);padding:var(--spacing-4);box-shadow:0 1px 3px 0 var(--color-card-shadow);transition:all var(--duration-base) var(--easing-ease-out)}.card:hover{box-shadow:0 4px 6px -1px var(--color-card-shadow)}.toast{display:flex;align-items:flex-start;gap:var(--spacing-2);padding:var(--spacing-4);border-radius:var(--radius-lg);background-color:var(--color-toast-bg);color:var(--color-toast-text);border-left:4px solid var(--color-toast-info-border);box-shadow:var(--shadow-lg);max-width:400px;animation:slideIn var(--duration-base) var(--easing-ease-out)}.toast.success{border-left-color:var(--color-toast-success-border)}.toast.error{border-left-color:var(--color-toast-error-border)}.toast.warning{border-left-color:var(--color-toast-warning-border)}.toast.info{border-left-color:var(--color-toast-info-border)}@keyframes slideIn{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}input[type=date],input[type=email],input[type=password],input[type=tel],input[type=text],input[type=time],select,textarea{width:100%;padding:var(--spacing-3) var(--spacing-3);border:1px solid var(--color-input-border);border-radius:var(--radius-md);font-size:1rem;transition:all var(--duration-fast) var(--easing-ease-out);min-height:44px}input[type=date]:focus,input[type=email]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-input-focus);box-shadow:0 0 0 3px rgba(0,102,204,.1)}input:disabled,select:disabled,textarea:disabled{background-color:var(--color-input-disabled-bg);color:var(--color-input-disabled-text);cursor:not-allowed;opacity:.6}textarea{resize:vertical;min-height:100px;font-family:var(--font-sans)}.toggle{position:relative;display:inline-flex;width:56px;height:32px;background-color:var(--color-toggle-bg-off);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--duration-base) var(--easing-ease-out)}.toggle.active{background-color:var(--color-toggle-bg-on)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:28px;height:28px;background-color:var(--color-toggle-thumb);border-radius:50%;transition:left var(--duration-fast) var(--easing-ease-out)}.toggle.active:after{left:26px}.skeleton{background:linear-gradient(90deg,var(--color-neutral-gray-200) 0,var(--color-neutral-gray-100) 50%,var(--color-neutral-gray-200) 100%);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1rem;border-radius:var(--radius-sm);margin-bottom:var(--spacing-2)}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-card{height:200px;border-radius:var(--radius-lg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}button,input[type=checkbox],input[type=radio]{min-width:44px;min-height:44px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.hide-mobile{display:none}.hide-desktop{display:block}@media (min-width:768px){.hide-mobile{display:block}.hide-desktop{display:none}}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.gap-2{gap:var(--spacing-2)}.gap-4{gap:var(--spacing-4)}.p-4{padding:var(--spacing-4)}.m-0{margin:0}.mt-2{margin-top:var(--spacing-2)}.mb-2{margin-bottom:var(--spacing-2)}.text-center{text-align:center}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.bg-primary{background-color:var(--color-surface-primary)}.bg-secondary{background-color:var(--color-surface-secondary)}.bg-tertiary{background-color:var(--color-surface-tertiary)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.border{border:1px solid var(--color-border-default)}.shadow-md{box-shadow:var(--shadow-md)}.opacity-50{opacity:.5}.opacity-disabled{opacity:.6}@media print{body{background-color:#fff;color:#000}a{text-decoration:underline}.btn,button{display:none}}