:root{--font-family:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--shadow:0 2px 8px rgba(0,0,0,0.1);--border-radius:8px;--transition:all 0.2s ease;--primary:#4d6d9a;--primary-dark:#3d5a80;--primary-light:#86b3d1;--primary-lightest:#e6f3f9;--primary-color:#4d6d9a;--primary-color-rgb:77,109,154;--primary-lighter:#a8c8e8;--brand-primary:#4d6d9a;--brand-primary-dark:#3d5a80;--brand-primary-light:#86b3d1;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e9ecef;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#6c757d;--gray-700:#495057;--gray-900:#1f2937;--error:#ef4444;--error-light:#fee2e2;--error-dark:#991b1b;--error-bg:#fee2e2;--error-rgb:239,68,68;--warning:#f59e0b;--warning-light:#fff3cd;--warning-dark:#856404;--success:#10b981;--success-light:#d4edda;--success-dark:#155724;--success-lightest:#ecfdf5;--success-rgb:16,185,129;--danger:#ef4444;--danger-light:#fee2e2;--danger-dark:#991b1b;--danger-lightest:#fef2f2;--info:#3b82f6;--info-light:#dbeafe;--gold:#f59e0b;--gold-light:#fef3c7;--gold-dark:#b45309;--gold-lightest:#fffbeb;--silver:#9ca3af;--bronze:#cd7f32;--accent:#4d6d9a;--accent-primary:#6366f1;--accent-primary-transparent:rgba(99,102,241,0.1);--accent-warm:#d4813a;--accent-warm-light:#fdf0e6;--accent-warm-dark:#b5691f;--topbar-bg:#3d5a80;--bg-body:#eae5de;--bg-hover:#f5f5f5;--bg-light:#f9fafb;--bg-primary:#f8f7f5;--bg-secondary:#e9ecef;--background-light:#f9fafb;--background-secondary:#e9ecef;--card-bg-light:#f9fafb;--hover-light:#f3f4f6;--text-primary:#333;--text-secondary:#6c757d;--text-dark:#333;--text-medium:#64748b;--text-light:#999;--text-muted:#9ca3af;--text-tertiary:#9ca3af;--border-color:#e0e0e0;--border-light:#e2e8f0;--shadow-hover:0 4px 12px rgba(0,0,0,0.12);--card-overlay:rgba(255,255,255,0.5);--shadow-flat:0 1px 2px rgba(0,0,0,0.06);--shadow-raised:0 2px 8px rgba(0,0,0,0.1);--shadow-floating:0 8px 24px rgba(0,0,0,0.15);--toast-success-bg:#d4edda;--toast-success-border:#c3e6cb;--toast-success-text:#155724;--toast-error-bg:#f8d7da;--toast-error-border:#f5c6cb;--toast-error-text:#721c24;--toast-warning-bg:#fff3cd;--toast-warning-border:#ffeeba;--toast-warning-text:#856404;--toast-info-bg:#e6f3f9;--toast-info-border:#b8daff;--toast-info-text:#0c5460}[data-theme=dark]{--shadow:0 2px 8px rgba(0,0,0,0.3);--primary:#6b8db5;--primary-dark:#4d6d9a;--primary-light:#86b3d1;--primary-lightest:#1e2a3a;--primary-color:#6b8db5;--primary-color-rgb:107,141,181;--primary-lighter:#86b3d1;--brand-primary:#6b8db5;--brand-primary-dark:#4d6d9a;--brand-primary-light:#86b3d1;--gray-50:#1f2937;--gray-100:#242b38;--gray-200:#2d3748;--gray-300:#4a5568;--gray-400:#718096;--gray-500:#a0aec0;--gray-600:#a0aec0;--gray-700:#cbd5e0;--gray-900:#e4e4e7;--error:#f87171;--error-light:#3b1c1c;--error-dark:#fca5a5;--error-bg:#3b1c1c;--error-rgb:248,113,113;--warning:#fbbf24;--warning-light:#3b3314;--warning-dark:#fcd34d;--success:#34d399;--success-light:#1a3329;--success-dark:#6ee7b7;--success-lightest:#1a3329;--success-rgb:52,211,153;--danger:#f87171;--danger-light:#3b1c1c;--danger-dark:#fca5a5;--danger-lightest:#2d1b1b;--info:#63b3ed;--info-light:#1e2a3a;--gold:#fbbf24;--gold-light:#3b3314;--gold-dark:#fcd34d;--gold-lightest:#2d2a1b;--silver:#a0aec0;--bronze:#d4956a;--accent:#6b8db5;--accent-primary:#818cf8;--accent-primary-transparent:rgba(129,140,248,0.15);--accent-warm:#e89a52;--accent-warm-light:#3d2a14;--accent-warm-dark:#f0b27a;--topbar-bg:#2a4060;--bg-body:#111827;--bg-hover:#2d3748;--bg-light:#242b38;--bg-primary:#1a1a2e;--bg-secondary:#2d3748;--background-light:#242b38;--background-secondary:#2d3748;--card-bg-light:#242b38;--hover-light:#2d3748;--text-primary:#e4e4e7;--text-secondary:#9ca3af;--text-dark:#e4e4e7;--text-medium:#9ca3af;--text-light:#718096;--text-muted:#718096;--text-tertiary:#718096;--border-color:#4a5568;--border-light:#4a5568;--shadow-hover:0 4px 12px rgba(0,0,0,0.3);--card-overlay:rgba(255,255,255,0.05);--shadow-flat:0 1px 2px rgba(0,0,0,0.2);--shadow-raised:0 2px 8px rgba(0,0,0,0.3);--shadow-floating:0 8px 24px rgba(0,0,0,0.4);--toast-success-bg:#1a3329;--toast-success-border:#34d399;--toast-success-text:#6ee7b7;--toast-error-bg:#3b1c1c;--toast-error-border:#f87171;--toast-error-text:#fca5a5;--toast-warning-bg:#3b3314;--toast-warning-border:#fbbf24;--toast-warning-text:#fcd34d;--toast-info-bg:#1e2a3a;--toast-info-border:#6b8db5;--toast-info-text:#86b3d1}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--shadow:0 2px 8px rgba(0,0,0,0.3);--primary:#6b8db5;--primary-dark:#4d6d9a;--primary-light:#86b3d1;--primary-lightest:#1e2a3a;--primary-color:#6b8db5;--primary-color-rgb:107,141,181;--primary-lighter:#86b3d1;--brand-primary:#6b8db5;--brand-primary-dark:#4d6d9a;--brand-primary-light:#86b3d1;--gray-50:#1f2937;--gray-100:#242b38;--gray-200:#2d3748;--gray-300:#4a5568;--gray-400:#718096;--gray-500:#a0aec0;--gray-600:#a0aec0;--gray-700:#cbd5e0;--gray-900:#e4e4e7;--error:#f87171;--error-light:#3b1c1c;--error-dark:#fca5a5;--error-bg:#3b1c1c;--error-rgb:248,113,113;--warning:#fbbf24;--warning-light:#3b3314;--warning-dark:#fcd34d;--success:#34d399;--success-light:#1a3329;--success-dark:#6ee7b7;--success-lightest:#1a3329;--success-rgb:52,211,153;--danger:#f87171;--danger-light:#3b1c1c;--danger-dark:#fca5a5;--danger-lightest:#2d1b1b;--info:#63b3ed;--info-light:#1e2a3a;--gold:#fbbf24;--gold-light:#3b3314;--gold-dark:#fcd34d;--gold-lightest:#2d2a1b;--silver:#a0aec0;--bronze:#d4956a;--accent:#6b8db5;--accent-primary:#818cf8;--accent-primary-transparent:rgba(129,140,248,0.15);--topbar-bg:#2a4060;--bg-body:#111827;--bg-hover:#2d3748;--bg-light:#242b38;--bg-primary:#1a1a2e;--bg-secondary:#2d3748;--background-light:#242b38;--background-secondary:#2d3748;--card-bg-light:#242b38;--hover-light:#2d3748;--text-primary:#e4e4e7;--text-secondary:#9ca3af;--text-dark:#e4e4e7;--text-medium:#9ca3af;--text-light:#718096;--text-muted:#718096;--text-tertiary:#718096;--border-color:#4a5568;--border-light:#4a5568;--shadow-hover:0 4px 12px rgba(0,0,0,0.3);--card-overlay:rgba(255,255,255,0.05);--shadow-flat:0 1px 2px rgba(0,0,0,0.2);--shadow-raised:0 2px 8px rgba(0,0,0,0.3);--shadow-floating:0 8px 24px rgba(0,0,0,0.4);--toast-success-bg:#1a3329;--toast-success-border:#34d399;--toast-success-text:#6ee7b7;--toast-error-bg:#3b1c1c;--toast-error-border:#f87171;--toast-error-text:#fca5a5;--toast-warning-bg:#3b3314;--toast-warning-border:#fbbf24;--toast-warning-text:#fcd34d;--toast-info-bg:#1e2a3a;--toast-info-border:#6b8db5;--toast-info-text:#86b3d1}}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-body);color:var(--text-primary);font-family:var(--font-family)}h1,h2,h3,h4,h5,h6{line-height:1.2;letter-spacing:-.02em}h1{font-weight:800;letter-spacing:-.03em}h2{font-weight:700}input,select,textarea{background-color:var(--gray-50);color:var(--text-primary);border-color:var(--border-color)}@media (max-width:767px){input:not([type=hidden]),select,textarea{min-height:44px}}select option{background-color:var(--gray-50);color:var(--text-primary)}[data-theme=dark] .react-datepicker,[data-theme=dark] .react-datepicker__month-container{background-color:var(--gray-50)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}[data-theme=dark] .react-datepicker__header{background-color:var(--gray-200)!important;border-bottom-color:var(--border-color)!important}[data-theme=dark] .react-datepicker__current-month,[data-theme=dark] .react-datepicker__day,[data-theme=dark] .react-datepicker__day-name,[data-theme=dark] .react-datepicker__month-read-view--down-arrow,[data-theme=dark] .react-datepicker__year-read-view--down-arrow{color:var(--text-primary)!important}[data-theme=dark] .react-datepicker__day:hover{background-color:var(--gray-300)!important}[data-theme=dark] .react-datepicker__day--keyboard-selected,[data-theme=dark] .react-datepicker__day--selected{background-color:var(--primary)!important;color:white!important}[data-theme=dark] .react-datepicker__day--outside-month{color:var(--text-light)!important}[data-theme=dark] .react-datepicker__navigation-icon:before{border-color:var(--text-secondary)!important}[data-theme=dark] .react-datepicker__month-text{color:var(--text-primary)!important}[data-theme=dark] .react-datepicker__month-text:hover{background-color:var(--gray-300)!important}[data-theme=dark] .react-datepicker__month-text--keyboard-selected,[data-theme=dark] .react-datepicker__month-text--selected{background-color:var(--primary)!important;color:white!important}[data-theme=dark] .react-datepicker__input-container input{background-color:var(--gray-50)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}[data-theme=dark] .react-datepicker__triangle{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .react-datepicker,:root:not([data-theme=light]) .react-datepicker__month-container{background-color:var(--gray-50)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}:root:not([data-theme=light]) .react-datepicker__header{background-color:var(--gray-200)!important;border-bottom-color:var(--border-color)!important}:root:not([data-theme=light]) .react-datepicker__current-month,:root:not([data-theme=light]) .react-datepicker__day,:root:not([data-theme=light]) .react-datepicker__day-name{color:var(--text-primary)!important}:root:not([data-theme=light]) .react-datepicker__day:hover{background-color:var(--gray-300)!important}:root:not([data-theme=light]) .react-datepicker__day--keyboard-selected,:root:not([data-theme=light]) .react-datepicker__day--selected{background-color:var(--primary)!important;color:white!important}:root:not([data-theme=light]) .react-datepicker__day--outside-month{color:var(--text-light)!important}:root:not([data-theme=light]) .react-datepicker__month-text{color:var(--text-primary)!important}:root:not([data-theme=light]) .react-datepicker__month-text:hover{background-color:var(--gray-300)!important}:root:not([data-theme=light]) .react-datepicker__month-text--keyboard-selected,:root:not([data-theme=light]) .react-datepicker__month-text--selected{background-color:var(--primary)!important;color:white!important}:root:not([data-theme=light]) .react-datepicker__input-container input{background-color:var(--gray-50)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}}:root{--elevation-1:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.05);--elevation-2:0 3px 8px rgba(0,0,0,0.10),0 1px 3px rgba(0,0,0,0.06);--elevation-3:0 8px 24px rgba(0,0,0,0.13),0 2px 8px rgba(0,0,0,0.08);--btn-height-sm:32px;--btn-height-md:40px;--btn-height-lg:48px;--btn-radius:8px;--btn-font-weight:600;--btn-font-size:0.875rem;--btn-transition:background-color 0.15s ease,transform 0.1s ease,box-shadow 0.15s ease;--btn-touch-target:44px}[data-theme=dark]{--elevation-1:0 1px 3px rgba(0,0,0,0.20),0 1px 2px rgba(0,0,0,0.15);--elevation-2:0 3px 8px rgba(0,0,0,0.28),0 1px 3px rgba(0,0,0,0.18);--elevation-3:0 8px 24px rgba(0,0,0,0.40),0 2px 8px rgba(0,0,0,0.25)}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--btn-radius)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:var(--btn-height-lg);padding:0 1.25rem;background-color:var(--primary);color:#fff;font-family:var(--font-family);font-weight:var(--btn-font-weight);font-size:var(--btn-font-size);border:none;border-radius:var(--btn-radius);cursor:pointer;text-decoration:none;white-space:nowrap;transition:var(--btn-transition);box-shadow:var(--elevation-1);min-width:var(--btn-touch-target);min-height:var(--btn-touch-target);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-primary:hover{background-color:var(--primary-dark);box-shadow:var(--elevation-2);transform:translateY(-1px)}.btn-primary:active{transform:scale(.97);box-shadow:var(--elevation-1)}.btn-primary:disabled{opacity:.45;pointer-events:none}.btn-fab-extended{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;height:44px!important;padding:0 20px 0 14px!important;border-radius:100px!important;background-color:var(--primary)!important;color:white!important;border:none!important;cursor:pointer;font-family:var(--font-family);font-weight:600;font-size:.875rem;white-space:nowrap;box-shadow:var(--elevation-2);transition:var(--btn-transition);flex-shrink:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none}.btn-fab-extended:hover{background-color:var(--primary-dark)!important;box-shadow:var(--elevation-3);transform:translateY(-1px)}.btn-fab-extended:active{transform:scale(.97);box-shadow:var(--elevation-1)}.btn-fab-extended:disabled{opacity:.45;pointer-events:none}@media (max-width:767px){.desktop-only-btn{display:none!important}}.btn-fab-circle{display:flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important;padding:0!important;border-radius:50%!important;background-color:var(--primary)!important;color:white!important;border:none!important;cursor:pointer;box-shadow:var(--elevation-2);transition:var(--btn-transition);flex-shrink:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-fab-circle:hover{background-color:var(--primary-dark);box-shadow:var(--elevation-3);transform:translateY(-2px)}.btn-fab-circle:active{transform:scale(.94);box-shadow:var(--elevation-1)}.btn-fab-circle:disabled{opacity:.45;pointer-events:none}.btn-fab{position:fixed;bottom:calc(var(--mobile-nav-height, 56px) + 16px);right:16px;right:calc(16px + env(safe-area-inset-right, 0px));bottom:calc(var(--mobile-nav-height, 56px) + 16px + env(safe-area-inset-bottom, 0px));width:56px;height:56px;border-radius:16px;background-color:var(--primary);color:#fff;border:none;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:var(--elevation-3);z-index:200;transition:var(--btn-transition);-webkit-tap-highlight-color:transparent}.btn-fab:active{transform:scale(.94);box-shadow:var(--elevation-2)}@media (max-width:767px){.btn-fab{display:flex}}.btn-contextual{display:inline-flex;align-items:center;justify-content:center;width:var(--btn-touch-target);height:var(--btn-touch-target);padding:0;background:none;border:none;border-radius:var(--btn-radius);color:var(--text-secondary);cursor:pointer;transition:var(--btn-transition);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.btn-contextual:hover{background-color:var(--gray-100);color:var(--text-primary)}.btn-contextual:active{background-color:var(--gray-200);transform:scale(.93)}.btn-contextual-danger:hover{background-color:var(--danger-lightest);color:var(--danger)}.btn-contextual-danger:active{background-color:var(--danger-light)}.btn-form-save{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:var(--btn-height-md);padding:0 1.25rem;background-color:var(--primary);color:#fff;font-family:var(--font-family);font-weight:var(--btn-font-weight);font-size:var(--btn-font-size);border:none;border-radius:var(--btn-radius);cursor:pointer;transition:var(--btn-transition);min-height:var(--btn-touch-target);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-form-save:hover{background-color:var(--primary-dark)}.btn-form-save:active{transform:scale(.97)}.btn-form-save:disabled{opacity:.45;pointer-events:none}.btn-form-cancel{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:var(--btn-height-md);padding:0 1rem;background:none;color:var(--text-secondary);font-family:var(--font-family);font-weight:var(--btn-font-weight);font-size:var(--btn-font-size);border:none;border-radius:var(--btn-radius);cursor:pointer;transition:var(--btn-transition);min-height:var(--btn-touch-target);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-form-cancel:hover{background-color:var(--gray-100);color:var(--text-primary)}.btn-form-cancel:active{transform:scale(.97)}.btn-form-row{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;padding-top:.75rem}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}[role=button],a,button{-webkit-tap-highlight-color:transparent}@media (max-width:767px) and (pointer:coarse){a:not([class]):active,button:not([class]):active{background-color:rgba(0,0,0,.08);transform:scale(.97)}}