:root{--color-coral:#ff6b6b;--color-coral-hover:#ff5252;--color-coral-light:#ff6b6b26;--color-coral-glow:#ff6b6b66;--bg-base:#0d0f12;--bg-surface:#141820;--bg-elevated:#1a1f2a;--bg-overlay:#232936;--bg-hover:#2a3142;--text-primary:#f0f2f5;--text-secondary:#9ba3b5;--text-muted:#5c6478;--text-inverse:#0d0f12;--color-success:#4ade80;--color-success-light:#4ade8026;--color-error:#f87171;--color-error-light:#f8717126;--color-warning:#fbbf24;--color-warning-light:#fbbf2426;--color-info:#60a5fa;--color-info-light:#60a5fa26;--color-info-surface:#172030;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-hover:#ffffff26;--border-focus:var(--color-coral);--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 40px var(--color-coral-glow);--shadow-card:0 4px 24px #0006,0 0 0 1px var(--border-subtle);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--font-display:"Plus Jakarta Sans",system-ui,sans-serif;--font-body:"DM Sans",system-ui,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s}[data-theme=light]{--color-coral:#e85555;--color-coral-hover:#d64545;--color-coral-light:#e855551f;--color-coral-glow:#e8555540;--bg-base:#f8f9fc;--bg-surface:#fff;--bg-elevated:#f3f4f8;--bg-overlay:#eaecf2;--bg-hover:#e4e7ef;--text-primary:#1a1d24;--text-secondary:#5c6478;--text-muted:#8b95a8;--text-inverse:#f0f2f5;--color-success:#16a34a;--color-success-light:#16a34a1f;--color-error:#dc2626;--color-error-light:#dc26261a;--color-warning:#d97706;--color-warning-light:#d977061f;--color-info:#2563eb;--color-info-light:#2563eb1a;--color-info-surface:#e9effc;--border-subtle:#0000000f;--border-default:#0000001a;--border-hover:#00000026;--border-focus:var(--color-coral);--shadow-sm:0 1px 3px #00000014,0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014,0 2px 4px #0000000a;--shadow-lg:0 8px 24px #0000001a,0 4px 8px #0000000d;--shadow-glow:0 0 32px var(--color-coral-glow);--shadow-card:0 2px 16px #0000000f,0 0 0 1px var(--border-subtle);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light] body:before{background:radial-gradient(80% 50% at 50% -20%,#e855550f 0%,#0000 50%),radial-gradient(60% 40% at 100%,#2563eb0a 0%,#0000 40%),radial-gradient(50% 30% at 0 80%,#16a34a08 0%,#0000 40%)}[data-theme=light] ::selection{background:var(--color-coral-light);color:var(--text-primary)}[data-theme=light] .form-group input[type=date],[data-theme=light] .form-group input[type=time],[data-theme=light] .form-group input[type=datetime-local]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light] .form-group input[type=date]::-webkit-calendar-picker-indicator{filter:none;opacity:.6}[data-theme=light] .form-group input[type=time]::-webkit-calendar-picker-indicator{filter:none;opacity:.6}[data-theme=light] .form-group input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:none;opacity:.6}[data-theme=light] .form-group input[type=date]::-webkit-calendar-picker-indicator:hover{filter:none;opacity:1}[data-theme=light] .form-group input[type=time]::-webkit-calendar-picker-indicator:hover{filter:none;opacity:1}[data-theme=light] .form-group input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{filter:none;opacity:1}[data-theme=light] .form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%235c6478' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E")}[data-theme=light] .badge-purple{color:#6d28d9;background:#ede9fe}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}[data-theme-transition=true]::view-transition-new(root){clip-path:circle(0% at var(--theme-toggle-x,50%)var(--theme-toggle-y,50%));animation:.75s cubic-bezier(.22,1,.36,1) theme-reveal}@keyframes theme-reveal{0%{clip-path:circle(0% at var(--theme-toggle-x,50%)var(--theme-toggle-y,50%))}to{clip-path:circle(150% at var(--theme-toggle-x,50%)var(--theme-toggle-y,50%))}}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-base);min-height:100vh;font-size:15px;line-height:1.6}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(80% 50% at 50% -20%,#ff6b6b14 0%,#0000 50%),radial-gradient(60% 40% at 100%,#60a5fa0d 0%,#0000 40%),radial-gradient(50% 30% at 0 80%,#4ade800a 0%,#0000 40%);position:fixed;inset:0}::selection{background:var(--color-coral-light);color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);font-weight:600;line-height:1.25}h1{letter-spacing:-.03em;font-size:2rem;font-weight:700}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.125rem;font-weight:600}h4{font-size:1rem;font-weight:600}p{margin:0 0 var(--space-4)0;color:var(--text-secondary)}a{color:var(--color-coral);transition:color var(--duration-fast)var(--ease-out);text-decoration:none}a:hover{color:var(--color-coral-hover)}strong{color:var(--text-primary);font-weight:600}.dashboard,.page-container{max-width:1000px;padding:var(--space-8);margin:0 auto}.page-container-wide{max-width:1400px;padding:var(--space-6);margin:0 auto}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-card);transition:all var(--duration-normal)var(--ease-out);animation:fadeSlideIn .5s var(--ease-out)backwards}.card:hover{border-color:var(--border-default)}.section-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.section-header h2{margin:0}.periods-list{gap:var(--space-3);flex-direction:column;display:flex}.period-item{padding:var(--space-4)var(--space-5);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:inherit;transition:all var(--duration-normal)var(--ease-out);justify-content:space-between;align-items:center;text-decoration:none;display:flex}.period-item:hover{background:var(--bg-hover);border-color:var(--color-coral);text-decoration:none;transform:translate(4px)}.period-info{gap:var(--space-1);flex-direction:column;display:flex}.period-name{align-items:center;gap:var(--space-3);font-weight:600;font-family:var(--font-display);color:var(--text-primary);display:flex}.period-dates{color:var(--text-muted);font-size:.875rem}.period-arrow{color:var(--text-muted);transition:all var(--duration-fast)var(--ease-out);font-size:1.25rem}.period-item:hover .period-arrow{color:var(--color-coral);transform:translate(4px)}.period-item-wrap{align-items:center;gap:var(--space-3);display:flex}.period-item-wrap .period-item{flex:1}.period-stats{color:var(--text-secondary);font-size:.8125rem}.badge-draft{padding:var(--space-1)var(--space-2);background:var(--color-warning-light);color:var(--color-warning);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;font-size:.6875rem;font-weight:600}.badge{padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.badge-primary{background:var(--color-coral-light);color:var(--color-coral)}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-error{background:var(--color-error-light);color:var(--color-error)}.badge-info{background:var(--color-info-light);color:var(--color-info)}.badge-purple{color:#7c3aed;background:#ede9fe}.badge-locked{background:var(--color-success-light);color:var(--color-success);padding:var(--space-2)var(--space-4);font-size:.8125rem}.pgy-badges{gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.form{gap:var(--space-5);flex-direction:column;display:flex}.form-inline{gap:var(--space-4)}.form-row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500;font-family:var(--font-display)}.form-group input,.form-group select,.form-group textarea{padding:var(--space-3)var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:.9375rem;font-family:var(--font-body);color:var(--text-primary);transition:all var(--duration-fast)var(--ease-out)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--border-hover)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-coral);box-shadow:0 0 0 3px var(--color-coral-light);outline:none}.form-group select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%239ba3b5' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px}.form-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-coral);cursor:pointer}.checkbox-label{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text-secondary);font-weight:400;display:flex}.form-group input[type=date],.form-group input[type=time],.form-group input[type=datetime-local]{padding:var(--space-3)var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:.9375rem;font-family:var(--font-body);color:var(--text-primary);cursor:pointer;min-height:44px;position:relative}.form-group input[type=date]:hover,.form-group input[type=time]:hover,.form-group input[type=datetime-local]:hover{border-color:var(--color-coral);background:var(--bg-surface)}.form-group input[type=date]:focus,.form-group input[type=time]:focus,.form-group input[type=datetime-local]:focus{border-color:var(--color-coral);box-shadow:0 0 0 3px var(--color-coral-light);background:var(--bg-surface);outline:none}.form-group input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);filter:invert(.7)sepia()saturate(2)hue-rotate(315deg);opacity:.8;background:0 0;padding:4px}.form-group input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);filter:invert(.7)sepia()saturate(2)hue-rotate(315deg);opacity:.8;background:0 0;padding:4px}.form-group input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);filter:invert(.7)sepia()saturate(2)hue-rotate(315deg);opacity:.8;background:0 0;padding:4px}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{background:var(--color-coral-light);opacity:1;filter:invert(.5)sepia()saturate(3)hue-rotate(315deg)}.form-group input[type=time]::-webkit-calendar-picker-indicator:hover{background:var(--color-coral-light);opacity:1;filter:invert(.5)sepia()saturate(3)hue-rotate(315deg)}.form-group input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{background:var(--color-coral-light);opacity:1;filter:invert(.5)sepia()saturate(3)hue-rotate(315deg)}.form-group input[type=date]::-webkit-datetime-edit{color:var(--text-primary);padding:0}.form-group input[type=time]::-webkit-datetime-edit{color:var(--text-primary);padding:0}.form-group input[type=datetime-local]::-webkit-datetime-edit{color:var(--text-primary);padding:0}.form-group input[type=date]::-webkit-datetime-edit-fields-wrapper{background:0 0;padding:0}.form-group input[type=time]::-webkit-datetime-edit-fields-wrapper{background:0 0;padding:0}.form-group input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper{background:0 0;padding:0}.form-group input[type=date]::-webkit-datetime-edit-text{color:var(--text-muted);padding:0 2px}.form-group input[type=time]::-webkit-datetime-edit-text{color:var(--text-muted);padding:0 2px}.form-group input[type=datetime-local]::-webkit-datetime-edit-text{color:var(--text-muted);padding:0 2px}.form-group input[type=date]::-webkit-datetime-edit-month-field{color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);padding:2px 4px}.form-group input[type=date]::-webkit-datetime-edit-day-field{color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);padding:2px 4px}.form-group input[type=date]::-webkit-datetime-edit-year-field{color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);padding:2px 4px}.form-group input[type=time]::-webkit-datetime-edit-hour-field{color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);padding:2px 4px}.form-group input[type=time]::-webkit-datetime-edit-minute-field{color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);padding:2px 4px}.form-group input[type=time]::-webkit-datetime-edit-ampm-field{color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);padding:2px 4px}.form-group input[type=datetime-local]::-webkit-datetime-edit-month-field{color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);padding:2px 4px}.form-group input[type=datetime-local]::-webkit-datetime-edit-day-field{color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);padding:2px 4px}.form-group input[type=datetime-local]::-webkit-datetime-edit-year-field{color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);padding:2px 4px}.form-group input[type=datetime-local]::-webkit-datetime-edit-hour-field{color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);padding:2px 4px}.form-group input[type=datetime-local]::-webkit-datetime-edit-minute-field{color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);padding:2px 4px}.form-group input[type=datetime-local]::-webkit-datetime-edit-ampm-field{color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);padding:2px 4px}.form-group input[type=date]::-webkit-datetime-edit-month-field:focus{background:var(--color-coral-light);color:var(--color-coral);outline:none}.form-group input[type=date]::-webkit-datetime-edit-day-field:focus{background:var(--color-coral-light);color:var(--color-coral);outline:none}.form-group input[type=date]::-webkit-datetime-edit-year-field:focus{background:var(--color-coral-light);color:var(--color-coral);outline:none}.form-group input[type=time]::-webkit-datetime-edit-hour-field:focus{background:var(--color-coral-light);color:var(--color-coral);outline:none}.form-group input[type=time]::-webkit-datetime-edit-minute-field:focus{background:var(--color-coral-light);color:var(--color-coral);outline:none}.form-group input[type=time]::-webkit-datetime-edit-ampm-field:focus{background:var(--color-coral-light);color:var(--color-coral);outline:none}.form-group input[type=datetime-local]::-webkit-datetime-edit-month-field:focus{background:var(--color-coral-light);color:var(--color-coral);outline:none}.form-group input[type=datetime-local]::-webkit-datetime-edit-day-field:focus{background:var(--color-coral-light);color:var(--color-coral);outline:none}.form-group input[type=datetime-local]::-webkit-datetime-edit-year-field:focus{background:var(--color-coral-light);color:var(--color-coral);outline:none}.form-group input[type=datetime-local]::-webkit-datetime-edit-hour-field:focus{background:var(--color-coral-light);color:var(--color-coral);outline:none}.form-group input[type=datetime-local]::-webkit-datetime-edit-minute-field:focus{background:var(--color-coral-light);color:var(--color-coral);outline:none}.form-group input[type=datetime-local]::-webkit-datetime-edit-ampm-field:focus{background:var(--color-coral-light);color:var(--color-coral);outline:none}.form-group input[type=date]::-webkit-clear-button{filter:invert(.7)sepia()saturate(2)hue-rotate(315deg)}.form-group input[type=time]::-webkit-clear-button{filter:invert(.7)sepia()saturate(2)hue-rotate(315deg)}.form-group input[type=datetime-local]::-webkit-clear-button{filter:invert(.7)sepia()saturate(2)hue-rotate(315deg)}.form-group input[type=time]::-webkit-inner-spin-button{display:none}.form-group input[type=datetime-local]::-webkit-inner-spin-button{display:none}@-moz-document url-prefix(){.form-group input[type=date],.form-group input[type=time],.form-group input[type=datetime-local]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@supports (color-scheme:dark){.form-group input[type=date],.form-group input[type=time],.form-group input[type=datetime-local]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-5);font-size:.9375rem;font-weight:600;font-family:var(--font-display);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast)var(--ease-out);border:none;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-coral)0%,var(--color-coral-hover)100%);color:#fff;box-shadow:0 2px 12px #ff6b6b4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #ff6b6b66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.btn-danger{background:linear-gradient(135deg,var(--color-error)0%,#ef4444 100%);color:#fff}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #f871714d}.btn-ghost{color:var(--text-secondary);background:0 0;border:none}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.text-warning{color:var(--color-warning)}.btn-resend{align-items:center;gap:var(--space-2);color:var(--color-info);background:linear-gradient(135deg,#60a5fa26 0%,#60a5fa14 100%);border:1px solid #60a5fa4d;display:inline-flex;position:relative;overflow:hidden}.btn-resend:before{content:"";background:linear-gradient(135deg,var(--color-info)0%,#3b82f6 100%);opacity:0;transition:opacity var(--duration-normal)var(--ease-out);position:absolute;inset:0}.btn-resend:hover:not(:disabled):before{opacity:1}.btn-resend:hover:not(:disabled){color:#fff;border-color:#0000;transform:translateY(-1px);box-shadow:0 4px 16px #60a5fa59}.btn-resend:hover:not(:disabled) .resend-icon{animation:sendPulse .6s var(--ease-spring)}.btn-resend .resend-icon{z-index:1;transition:transform var(--duration-fast)var(--ease-out);position:relative}.btn-resend span{z-index:1;position:relative}.btn-resend:disabled{opacity:.7;cursor:not-allowed}.btn-resend.btn-resend-success{color:var(--color-success);background:linear-gradient(135deg,#4ade8033 0%,#4ade801a 100%);border-color:#4ade8066}.btn-resend.btn-resend-success .resend-icon{animation:checkBounce .5s var(--ease-spring)}.resend-spinner{border:2px solid #60a5fa4d;border-top-color:var(--color-info);z-index:1;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite resendSpin;position:relative}@keyframes resendSpin{to{transform:rotate(360deg)}}@keyframes sendPulse{0%{transform:translate(0)}50%{transform:translate(3px)}to{transform:translate(0)}}@keyframes checkBounce{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.resend-toast{bottom:var(--space-6);right:var(--space-6);align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:toastSlideIn .3s var(--ease-spring);z-index:1000;font-size:.875rem;font-weight:500;display:flex;position:fixed}.resend-toast-error{color:#fff;background:linear-gradient(135deg,#f87171f2 0%,#ef4444f2 100%);border:1px solid #ffffff1a}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.btn-sm{padding:var(--space-2)var(--space-3);font-size:.8125rem}.alert{padding:var(--space-4)var(--space-5);border-radius:var(--radius-md);margin-bottom:var(--space-5);align-items:flex-start;gap:var(--space-3);animation:fadeSlideIn .3s var(--ease-out);font-size:.9375rem;display:flex}.alert-error{background:var(--color-error-light);color:var(--color-error);border:1px solid #f871714d}.alert-success{background:var(--color-success-light);color:var(--color-success);border:1px solid #4ade804d}.alert-warning{background:var(--color-warning-light);color:var(--color-warning);border:1px solid #fbbf244d}.table-container{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{padding:var(--space-4)var(--space-5);text-align:left;border-bottom:1px solid var(--border-subtle)}th{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-elevated);font-size:.8125rem;font-weight:600}tbody tr{transition:background var(--duration-fast)var(--ease-out)}tbody tr:hover{background:var(--bg-overlay)}tbody tr:last-child td{border-bottom:none}.tabs{gap:var(--space-1);padding:var(--space-1);background:var(--bg-elevated);border-radius:var(--radius-lg);margin-bottom:var(--space-6);display:flex}.tab-button{padding:var(--space-3)var(--space-5);border-radius:var(--radius-md);cursor:pointer;font-size:.9375rem;font-weight:500;font-family:var(--font-display);color:var(--text-muted);transition:all var(--duration-fast)var(--ease-out);background:0 0;border:none;flex:1}.tab-button:hover{color:var(--text-secondary);background:var(--bg-overlay)}.tab-button.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.assignment-cell select{width:100%;padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;transition:all var(--duration-fast)var(--ease-out);font-size:.8125rem}.assignment-cell select:hover{border-color:var(--border-hover)}.assignment-cell select:focus{border-color:var(--color-coral);box-shadow:0 0 0 2px var(--color-coral-light);outline:none}.assignment-cell.night-float{background:#60a5fa1a}.block-management{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);margin-top:var(--space-6)}.block-list{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.block-chip{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:all var(--duration-fast)var(--ease-out);font-size:.875rem;display:inline-flex}.block-chip:hover{border-color:var(--border-hover);background:var(--bg-hover)}.block-chip.selected{border-color:var(--color-coral);background:var(--color-coral-light);color:var(--color-coral)}.block-chip .delete-btn{color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast)var(--ease-out);background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.block-chip .delete-btn:hover{color:var(--color-error)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-sm{font-size:.875rem}.text-right{text-align:right}.grid{gap:var(--space-4);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.layout-main{flex:1;min-width:0;overflow-x:clip}.schedule-layout{gap:0;display:flex}.schedule-sidebar{width:0;transition:width var(--duration-normal)var(--ease-out);flex-shrink:0;position:relative;overflow:visible}.schedule-sidebar.open{width:320px}.schedule-sidebar-tab{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)0 0 var(--radius-sm);width:28px;height:64px;color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast)var(--ease-out),background var(--duration-fast)var(--ease-out),border-color var(--duration-fast)var(--ease-out);box-shadow:var(--shadow-sm);z-index:41;border-right:none;justify-content:center;align-items:center;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.schedule-sidebar.open .schedule-sidebar-tab{position:absolute;top:120px;left:-28px;right:auto;transform:none}.schedule-sidebar-tab:hover{color:var(--color-coral);background:var(--bg-elevated);border-color:var(--color-coral)}.schedule-sidebar-clip{width:100%;height:100%;overflow:hidden}.schedule-sidebar-panel{width:320px;height:100%;padding:var(--space-4);background:var(--bg-surface);border-left:1px solid var(--border-subtle);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.row-inactive{opacity:.5}.actions-cell{gap:var(--space-2);justify-content:flex-end;display:flex}.color-swatch{border-radius:var(--radius-sm);border:2px solid var(--border-default);flex-shrink:0;width:20px;height:20px;display:inline-block}.color-swatch-sm{width:16px;height:16px}.inline-with-swatch{align-items:center;gap:var(--space-2);display:flex}.page-header{margin-bottom:var(--space-8);animation:fadeSlideIn .5s var(--ease-out)}.page-header h1{margin-bottom:var(--space-2)}.page-header p{color:var(--text-muted);margin:0}.page-header-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.page-header-row>div{flex:1}.page-header-row .btn{align-items:center;gap:var(--space-2);flex-shrink:0;display:inline-flex}.back-link{align-items:center;gap:var(--space-2);color:var(--text-muted);margin-bottom:var(--space-4);transition:color var(--duration-fast)var(--ease-out);font-size:.875rem;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--color-coral)}.action-bar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.empty-state{text-align:center;padding:var(--space-12)var(--space-4);color:var(--text-muted)}.empty-state-icon{margin-bottom:var(--space-4);opacity:.5;font-size:3rem}.list{margin:0;padding:0;list-style:none}.list-item{padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--border-subtle);transition:background var(--duration-fast)var(--ease-out);justify-content:space-between;align-items:center;display:flex}.list-item:last-child{border-bottom:none}.list-item:hover{background:var(--bg-overlay)}.period-form-container{border-top:1px solid var(--border-subtle);padding-top:var(--space-6);margin-top:var(--space-4)}.period-form-container h3{margin-bottom:var(--space-4);color:var(--text-secondary)}.import-section{align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-4);display:flex}.import-section p{color:var(--text-muted);margin:0;font-size:.875rem}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--border-default);border-top-color:var(--color-coral);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@media (max-width:768px){:root{--space-8:1.5rem}.dashboard,.page-container,.page-container-wide{padding:var(--space-4)}.grid-2,.grid-3,.form-row{grid-template-columns:1fr}.tabs{flex-wrap:nowrap;overflow-x:auto}.tab-button{white-space:nowrap;flex:none}h1{font-size:1.5rem}h2{font-size:1.25rem}.program-card{padding:var(--space-5)}.card{padding:var(--space-4)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--bg-hover)var(--bg-surface)}:focus-visible{outline:2px solid var(--color-coral);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.pgy-badge{color:var(--text-muted);background:var(--bg-overlay);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);font-size:.9em}.btn-icon{padding:var(--space-1)var(--space-2);background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast)var(--ease-out);font-size:.75rem}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon-danger:hover{background:var(--color-error-light);color:var(--color-error);border-color:var(--color-error)}.form-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);display:flex}.form-label{color:var(--text-secondary);margin-bottom:var(--space-2);font-size:.875rem;font-weight:500;display:block}.form-input{width:100%;padding:var(--space-3)var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--duration-fast)var(--ease-out);font-size:.9375rem}.form-input:focus{border-color:var(--color-coral);box-shadow:0 0 0 3px var(--color-coral-light);outline:none}.form-input::placeholder{color:var(--text-muted)}.text-center{text-align:center}.alert-success{background:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:.875rem}.label-selector{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.label-selector-sm{gap:var(--space-2)}.label-selector-label{color:var(--text-primary);font-size:.9375rem;font-weight:500}.label-selector-sm .label-selector-label{font-size:.875rem}.label-selector-options{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.label-selector-item{min-width:2.5rem;height:2.5rem;padding:0 var(--space-4);border:2px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast)var(--ease-out);justify-content:center;align-items:center;font-size:.875rem;font-weight:500;display:flex}.label-selector-sm .label-selector-item{min-width:2rem;height:2rem;padding:0 var(--space-3);font-size:.8125rem}.label-selector-item:hover{border-color:var(--border-hover);background:var(--bg-hover)}.label-selector-item-selected{border-color:var(--color-coral);background:var(--color-coral);color:var(--text-inverse)}.label-selector-item-selected:hover{border-color:var(--color-coral-hover);background:var(--color-coral-hover)}.autocomplete-container{width:100%;position:relative}.autocomplete-input-wrapper{align-items:center;gap:var(--space-1);display:flex}.autocomplete-input{padding:var(--space-2)var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);transition:all var(--duration-fast)var(--ease-out);flex:1;font-size:.875rem}.autocomplete-input:focus{border-color:var(--color-coral);box-shadow:0 0 0 2px var(--color-coral-light);outline:none}.autocomplete-input::placeholder{color:var(--text-muted)}.autocomplete-selected{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex:1;display:flex}.autocomplete-selected-name{color:var(--text-primary);flex:1}.autocomplete-pgy{color:var(--text-muted);font-size:.85em}.autocomplete-clear{cursor:pointer;padding:0 var(--space-1);color:var(--text-muted);transition:color var(--duration-fast)var(--ease-out);background:0 0;border:none;font-size:1.1em;line-height:1}.autocomplete-clear:hover{color:var(--color-coral)}.autocomplete-dropdown{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);max-height:250px;box-shadow:var(--shadow-lg);z-index:100;margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.autocomplete-empty{padding:var(--space-4);color:var(--text-muted);text-align:center}.autocomplete-item{padding:var(--space-3)var(--space-4);cursor:pointer;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border-subtle);transition:background var(--duration-fast)var(--ease-out);display:flex}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--bg-hover)}.autocomplete-item-selected,.autocomplete-item-selected:hover{background:var(--color-coral-light)}.autocomplete-item-name{color:var(--text-primary);flex:1}.autocomplete-item-pgy{color:var(--text-muted);background:var(--bg-overlay);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);font-size:.8em}.autocomplete-item-calls{color:var(--text-muted);font-size:.8em}.call-grid-toolbar{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.call-grid-container{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);overflow-x:auto}.call-grid-table{border-collapse:collapse;width:max-content;min-width:100%}.call-grid-table th,.call-grid-table td{padding:var(--space-2);border-bottom:1px solid var(--border-subtle)}.call-grid-table th{background:var(--bg-elevated);font-family:var(--font-display);color:var(--text-secondary);text-align:center;border-bottom:2px solid var(--border-default);white-space:nowrap;z-index:5;box-shadow:inset 0 -2px 0 var(--border-default);font-size:.8rem;font-weight:600}.call-grid-table th:first-child{text-align:left;z-index:6;width:75px;min-width:75px;position:sticky;left:0}.call-grid-phantom-header{box-shadow:0 2px 8px #00000026}.call-grid-date-cell{z-index:1;background:var(--bg-surface);font-family:var(--font-display);color:var(--text-secondary);border-right:1px solid var(--border-default);white-space:nowrap;width:75px;font-size:.8rem;font-weight:500;position:sticky;left:0}.call-grid-date-cell.weekend{background:var(--color-info-surface);color:var(--color-info);font-weight:600}.date-tooltip{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-2)var(--space-3);min-width:120px;box-shadow:var(--shadow-lg);z-index:50;pointer-events:none;white-space:nowrap;animation:.15s ease-out fadeIn;position:absolute;bottom:calc(100% + 4px);left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.date-tooltip-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-warning);margin-bottom:2px;font-size:.6rem;font-weight:700}.date-tooltip-name{color:var(--text-primary);font-size:.75rem;line-height:1.4}.call-grid-row{transition:background var(--duration-fast)var(--ease-out);content-visibility:auto;contain-intrinsic-size:0 44px}.call-grid-row:hover{background:var(--bg-overlay)}.call-grid-row.weekend{background:#60a5fa0d}.call-grid-row.weekend:hover{background:#60a5fa1a}@keyframes rowHighlightPulse{0%{background-color:#fbbf2459}50%{background-color:#fbbf2426}to{background-color:#0000}}.call-grid-row-highlighted{animation:rowHighlightPulse 2.5s var(--ease-out)forwards}.call-grid-row-highlighted.weekend{animation:rowHighlightPulseWeekend 2.5s var(--ease-out)forwards}@keyframes rowHighlightPulseWeekend{0%{background-color:#fbbf2459}50%{background-color:#fbbf2426}to{background-color:#60a5fa0d}}.call-grid-cell{text-align:center;padding:var(--space-1);border-right:1px solid var(--border-subtle);vertical-align:middle;overflow:visible}.call-grid-cell:last-child{border-right:none}.call-grid-header-content{justify-content:center;align-items:center;gap:2px;width:100%;min-width:0;display:flex}.call-grid-header-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.call-grid-pgy-override-btn{cursor:pointer;color:var(--text-muted);opacity:.7;transition:all var(--duration-fast)var(--ease-out);vertical-align:middle;background:0 0;border:none;margin-left:4px;padding:0 2px;font-size:.65rem;line-height:1;display:inline-block}.call-grid-pgy-override-btn:hover{opacity:1;color:var(--text-primary)}.call-grid-pgy-override-btn.active{opacity:1;color:var(--color-warning)}.call-grid-pgy-override-active{border-bottom-color:var(--color-warning)!important;box-shadow:inset 0 -2px 0 var(--color-warning)!important}.date-error-badge{color:#fff;background:var(--color-error);vertical-align:middle;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:4px;padding:0 4px;font-size:.6rem;font-weight:700;line-height:1;display:inline-flex}.date-warning-badge{color:#000;background:var(--color-warning);vertical-align:middle;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:4px;padding:0 4px;font-size:.6rem;font-weight:700;line-height:1;display:inline-flex}.inline-validation-badge{padding:var(--space-1)var(--space-3);border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}button.inline-validation-badge{font-family:inherit}.inline-validation-badge.error{color:var(--color-error);background:#f871711f;border:1px solid #f871714d}.inline-validation-badge.error:hover{background:#f8717133}.inline-validation-badge.warning{color:var(--color-warning);background:#fbbf241f;border:1px solid #fbbf244d}.inline-validation-badge.dismissed-toggle{color:var(--text-secondary);border:1px solid var(--border-default);background:0 0}.inline-validation-badge.dismissed-toggle:hover{background:var(--bg-hover)}.inline-validation-badge.dismissed-toggle.active{color:var(--color-warning);background:#fbbf241a;border-color:#fbbf244d}.error-dropdown-wrapper{display:inline-flex;position:relative}.error-dropdown-panel{top:calc(100% + var(--space-2));z-index:50;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:300px;max-width:450px;max-height:300px;box-shadow:var(--shadow-lg);padding:var(--space-2)0;position:absolute;right:0;overflow-y:auto}.error-dropdown-row{padding:var(--space-2)var(--space-3);color:var(--text-primary);border-bottom:1px solid var(--border-subtle);font-size:.8rem;line-height:1.4}.error-dropdown-row:last-child{border-bottom:none}.schedule-locked-notice{align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);background:var(--color-warning-light);border-radius:var(--radius-md);margin-bottom:var(--space-4);color:var(--color-warning);border:1px solid #fbbf244d;font-size:.9375rem;display:flex}.undo-button{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);margin-bottom:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:.8125rem;font-weight:500;transition:all .15s ease-out;display:inline-flex}.undo-button:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.undo-button:active{transform:scale(.98)}.call-grid-legend{gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-3)var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-muted);flex-wrap:wrap;font-size:.8125rem;display:flex}.call-grid-legend-item{align-items:center;gap:var(--space-2);display:flex}.legend-color{border-radius:var(--radius-sm);width:14px;height:14px}.legend-color-weekend{background:#60a5fa33;border:1px solid #60a5fa66}.legend-color-warning{background:var(--color-warning-light);border:1px solid #fbbf2466}.legend-color-assigned{background:#4ade8026;border:1px solid #4ade8066}.legend-color-current-user{border:2px solid var(--color-info);background:#60a5fa26}.call-slot{border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);cursor:pointer}.call-slot:hover:not(.call-slot-disabled){transform:scale(1.01)}.call-slot-disabled{cursor:default;opacity:.8}.call-slot-empty{padding:var(--space-1)var(--space-2);background:var(--bg-elevated);border:1px dashed var(--border-default);color:var(--text-muted);text-align:center;font-size:.875rem}.call-slot-empty:hover:not(.call-slot-disabled){border-color:var(--color-coral);color:var(--color-coral);background:var(--color-coral-light)}.call-slot-assigned{padding:var(--space-1)var(--space-2);align-items:center;gap:var(--space-2);background:#4ade801a;border:1px solid #4ade804d;display:flex}.call-slot-assigned:hover:not(.call-slot-disabled){background:#4ade8026;border-color:#4ade8080}.call-slot-warning{border-right:3px solid var(--color-warning)}.call-slot-warning:hover:not(.call-slot-disabled){border-right-color:var(--color-warning)}.call-slot-current-user{border:2px solid var(--color-info);background:#60a5fa1a}.call-slot-current-user:hover:not(.call-slot-disabled){background:#60a5fa26}.call-slot-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);flex:1;font-size:.75rem;overflow:hidden}.call-slot-current-user .call-slot-name{color:var(--color-info);font-weight:600}.call-slot-warning-icon{color:var(--color-warning);opacity:.8;font-size:.7rem;font-weight:600}.call-slot-validation-error{border-color:var(--color-error)!important;background:#f871711f!important}.call-slot-validation-error:hover:not(.call-slot-disabled){border-color:var(--color-error)!important;background:#f871712e!important}.call-slot-error-icon{color:var(--color-error);flex-shrink:0;font-size:.7rem;font-weight:700}.call-slot-loading{color:var(--text-muted);font-size:.75rem}.call-slot-container{position:relative}.call-slot-tooltip{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-2)var(--space-3);min-width:160px;max-width:240px;box-shadow:var(--shadow-lg);z-index:9999;pointer-events:none;white-space:normal;animation:.15s ease-out tooltipFade;transform:translate(-50%)}.call-slot-tooltip-service{color:var(--text-primary);font-size:.75rem;font-weight:600;line-height:1.4}.call-slot-tooltip-divider{background:var(--border-subtle);height:1px;margin:var(--space-1)0}.call-slot-tooltip-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:2px;font-size:.6rem;font-weight:700}.call-slot-tooltip-teammates{color:var(--text-secondary);font-size:.7rem;line-height:1.4}.call-slot-tooltip-errors{flex-direction:column;gap:2px;display:flex}.call-slot-tooltip-error-line{color:var(--color-error);font-size:.7rem;line-height:1.3}.call-slot-tooltip-warning-line{color:var(--color-warning);font-size:.7rem;line-height:1.3}.call-slot-tooltip-issue-line{font-size:.7rem;line-height:1.3}.call-slot-tooltip-issue-line.error{color:var(--color-error)}.call-slot-tooltip-issue-line.warning{color:var(--color-warning)}.call-slot-tooltip-issue-line.acknowledged{opacity:.45;text-decoration:line-through}.call-slot-tooltip-hint{color:var(--text-muted);margin-top:2px;font-size:.6rem;font-style:italic}.call-slot-acknowledged{opacity:.5}.date-tooltip-divider{background:var(--border-subtle);height:1px;margin:3px 0}.call-slot-dropdown{z-index:100;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);width:240px;box-shadow:var(--shadow-lg);margin-top:var(--space-1);position:absolute;top:100%;right:0}.call-slot-dropdown-input{width:100%;padding:var(--space-2)var(--space-3);border:none;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated);border-radius:var(--radius-md)var(--radius-md)0 0;font-size:.875rem}.call-slot-dropdown-input:focus{background:var(--bg-surface);outline:none}.call-slot-dropdown-list{max-height:200px;overflow-y:auto}.call-slot-dropdown-item{padding:var(--space-2)var(--space-3);cursor:pointer;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border-subtle);font-size:.875rem;display:flex}.call-slot-dropdown-item:last-child{border-bottom:none}.call-slot-dropdown-item:hover{background:var(--bg-hover)}.call-slot-dropdown-item-selected,.call-slot-dropdown-item-selected:hover{background:var(--color-coral-light)}.call-slot-dropdown-item-keyboard-selected{background:var(--bg-hover);outline:2px solid var(--color-primary);outline-offset:-2px}.call-slot-dropdown-item-keyboard-selected:not(.call-slot-dropdown-item-selected){background:#3b82f61a}.call-slot-dropdown-clear{border-bottom:1px solid var(--border-default)}.call-slot-dropdown-clear:hover{background:#ef44441a}.call-slot-dropdown-name{flex:1}.call-slot-dropdown-pgy{color:var(--text-muted);background:var(--bg-overlay);border-radius:var(--radius-sm);padding:2px 6px;font-size:.75rem}.call-slot-dropdown-calls{color:var(--text-muted);font-size:.75rem}.call-slot-dropdown-empty{padding:var(--space-3);color:var(--text-muted);text-align:center;font-size:.875rem}.call-summary{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.call-summary-header{width:100%;padding:var(--space-3)var(--space-4);cursor:pointer;color:var(--text-primary);font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;transition:background var(--duration-fast)var(--ease-out);background:0 0;border:none;justify-content:space-between;align-items:center;font-size:.8125rem;font-weight:600;display:flex}.call-summary-header:hover{background:var(--bg-hover)}.call-summary-header h3{align-items:center;gap:var(--space-2);font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;margin:0;display:flex}.call-summary-toggle{color:var(--text-muted);transition:transform var(--duration-fast)var(--ease-out);font-size:.625rem;display:inline-block}.call-summary.collapsed .call-summary-toggle{transform:rotate(-90deg)}.call-summary-content{padding:var(--space-4)}.call-summary-stats{gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-md);grid-template-columns:repeat(3,1fr);display:grid}.call-summary-stat{text-align:center}.call-summary-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--space-1);font-size:.6875rem}.call-summary-stat-value{font-family:var(--font-display);color:var(--text-primary);font-size:1.25rem;font-weight:600}.call-summary-table{border-collapse:collapse;width:100%;font-size:.8125rem}.call-summary-table th{padding:var(--space-2);text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border-default);text-transform:uppercase;letter-spacing:.05em;font-size:.6875rem;font-weight:600}.call-summary-table th:not(:first-child){text-align:center}.call-summary-table td{padding:var(--space-2);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}.call-summary-table td:not(:first-child){text-align:center;font-family:var(--font-mono);font-size:.8125rem}.call-summary-table tr:last-child td{border-bottom:none}.call-summary-table tr:hover td{background:var(--bg-overlay)}.call-summary-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.call-count-high{color:var(--color-error);font-weight:600}.call-count-low{color:var(--color-success);font-weight:600}.call-count-normal{color:var(--text-primary)}.call-summary-legend{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:.75rem}.call-summary-legend strong{color:var(--text-secondary)}.call-summary-empty{text-align:center;padding:var(--space-6);color:var(--text-muted)}.call-summary-pgy-group{margin-bottom:var(--space-2)}.call-summary-pgy-header{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-1);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--duration-fast)var(--ease-out);-webkit-user-select:none;user-select:none;display:flex}.call-summary-pgy-header:hover{background:var(--bg-overlay)}.call-summary-pgy-chevron{color:var(--text-muted);transition:transform var(--duration-fast)var(--ease-out);font-size:.625rem}.call-summary-pgy-chevron.collapsed{transform:rotate(-90deg)}.call-summary-pgy-label{font-family:var(--font-display);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.call-summary-pgy-count{color:var(--text-muted);font-size:.6875rem}.call-summary-divider{align-items:center;gap:var(--space-3);margin-top:var(--space-4);margin-bottom:var(--space-3);display:flex}.call-summary-divider:before,.call-summary-divider:after{content:"";background:var(--border-subtle);flex:1;height:1px}.call-summary-divider span{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;font-size:.6875rem}.call-summary-table-offservice{opacity:.85}.call-summary-table-offservice .off-service-badge{margin-left:var(--space-2);background:var(--color-info-light);color:var(--color-info);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;font-size:.625rem;font-weight:600}.service-grid-notice{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-info-light);border-radius:var(--radius-md);margin-bottom:var(--space-4);border:1px solid #60a5fa4d;display:flex}.service-grid-notice p{color:var(--text-secondary);margin:0;font-size:.9375rem}.service-grid-notice a{color:var(--color-info);font-weight:600}.service-grid-notice a:hover{text-decoration:underline}.service-grid-description{color:var(--text-muted);margin-bottom:var(--space-4);font-size:.875rem}.service-section{margin-bottom:var(--space-6)}.service-section-header{align-items:center;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:2px solid var(--border-default);margin-bottom:var(--space-3);display:flex}.service-section-header h3{color:var(--text-primary);align-items:center;gap:var(--space-2);margin:0;font-size:1rem;font-weight:600;display:flex}.service-color-dot{border-radius:var(--radius-sm);flex-shrink:0;width:14px;height:14px}.service-night-float-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--color-info);background:var(--color-info-light);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600}.service-section-count{color:var(--text-muted);margin-left:auto;font-size:.8125rem;font-weight:400}.service-table{border-collapse:collapse;width:100%}.service-table th{padding:var(--space-2)var(--space-3);text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);font-size:.75rem;font-weight:600}.service-table td{padding:var(--space-2)var(--space-3);border-bottom:1px solid var(--border-subtle)}.service-table tr:last-child td{border-bottom:none}.service-table tr:hover td{background:var(--bg-overlay)}.service-resident-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.vacation-date-badge{letter-spacing:.02em;color:var(--color-warning);white-space:nowrap;background:#fbbf241a;border:1px solid #fbbf2440;border-radius:3px;align-items:center;padding:1px 6px;font-size:.625rem;font-weight:600;display:inline-flex}.resident-color-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.resident-name{color:var(--text-primary);font-size:.9375rem}.resident-pgy-badge{color:var(--text-muted);background:var(--bg-elevated);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);font-size:.75rem}.off-service-badge{color:var(--warning-text,#b45309);background:var(--warning-bg,#fef3c7);border-radius:var(--radius-sm);text-transform:uppercase;padding:.1rem .35rem;font-size:.65rem;font-weight:600}.cross-coverage-badge{color:#7c3aed;border-radius:var(--radius-sm);text-transform:uppercase;background:#ede9fe;padding:.1rem .35rem;font-size:.65rem;font-weight:600}.cross-coverage-dates{color:var(--text-muted);margin-left:.25rem;font-size:.7rem;font-style:italic}.cross-coverage-count{color:#7c3aed;font-size:.75rem;font-weight:500}.home-institution-label{color:var(--text-muted);font-size:.75rem;font-style:italic}.service-empty-message{color:var(--text-muted);padding:var(--space-3);font-size:.875rem;font-style:italic}.unassigned-section .service-section-header{border-color:#f871714d}.unassigned-section .service-section-header h3{color:var(--text-muted)}.service-grid-empty{text-align:center;padding:var(--space-10);color:var(--text-muted)}.schedule-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.schedule-header-title{align-items:center;gap:var(--space-3);display:flex}.schedule-header-title h1{margin:0}.schedule-header-info p{color:var(--text-muted);margin:var(--space-1)0 0}.sab-icon-btn{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast)var(--ease-out),color var(--duration-fast)var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.sab-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.schedule-header-actions{align-items:center;gap:var(--space-3);display:flex}.sab{gap:var(--space-3);flex-direction:column;flex:1;max-width:100%;display:flex}.sab-title-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.sab-status{align-items:center;display:flex}.sab-primary{flex-shrink:0}.sab-badge{padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);font-family:var(--font-body);letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.sab-badge--published{background:var(--color-success-light);color:var(--color-success);border-color:color-mix(in oklab,var(--color-success)20%,transparent)}.sab-badge--draft{background:var(--color-warning-light);color:var(--color-warning);border-color:color-mix(in oklab,var(--color-warning)20%,transparent)}.sab-badge--info{background:var(--color-info-light);color:var(--color-info);border-color:color-mix(in oklab,var(--color-info)20%,transparent)}.sab-toolbar{align-items:stretch;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.sab-toolbar-group{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);align-items:center;gap:2px;padding:3px;display:inline-flex}.sab-toolbar-group>.btn{white-space:nowrap;min-height:2.125rem;padding:var(--space-2)var(--space-4);border-radius:calc(var(--radius-md) - 3px);color:var(--text-secondary);transition:background var(--duration-fast)var(--ease-out),color var(--duration-fast)var(--ease-out),box-shadow var(--duration-fast)var(--ease-out);background:0 0;border:none;font-size:.8125rem}.sab-toolbar-group>.btn:hover:not(:disabled),.sab-toolbar-group>.btn-secondary{background:var(--bg-elevated);color:var(--text-primary)}.sab-toolbar-group>.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:#0000}.sab-toolbar-group>.btn-primary{background:var(--color-coral);color:#fff;font-weight:600}.sab-toolbar-group>.btn-primary:hover:not(:disabled){background:var(--color-coral-hover);box-shadow:0 2px 8px color-mix(in oklab,var(--color-coral)30%,transparent)}.sab-toolbar-group>.btn-ghost{color:var(--text-muted);background:0 0}.sab-toolbar-group>.btn-ghost:hover:not(:disabled){background:color-mix(in oklab,var(--color-warning)10%,transparent);color:var(--color-warning)}.sab-icon-spin{animation:1s linear infinite spin}@media (max-width:960px){.schedule-header{align-items:stretch}.sab{width:100%}.sab-title-row{flex-wrap:wrap}.sab-toolbar{justify-content:flex-start}}.mb-0{margin-bottom:0}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.pt-4{padding-top:var(--space-4)}.p-4{padding:var(--space-4)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.font-semibold{font-weight:600}.font-medium{font-weight:500}.font-normal{font-weight:400}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.whitespace-nowrap{white-space:nowrap}.italic{font-style:italic}.w-full{width:100%}.form-narrow{max-width:320px}.form-narrow-lg{max-width:400px}.form-narrow-sm{max-width:150px}.form-narrow-xs{max-width:120px}.form-narrow-md{max-width:280px}.badge-secondary{background:var(--bg-overlay);color:var(--text-muted)}.color-input{border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;width:50px;height:36px;padding:0}.color-input-text{width:100px}.pgy-stepper-grid{gap:var(--space-3);flex-wrap:wrap;display:flex}.pgy-stepper{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.pgy-stepper-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.pgy-stepper-controls{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);align-items:center;gap:0;display:flex;overflow:hidden}.pgy-stepper-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--duration-fast)var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.125rem;font-weight:500;display:flex}.pgy-stepper-btn:hover:not(:disabled){background:var(--color-coral-light);color:var(--color-coral)}.pgy-stepper-btn:active:not(:disabled){transform:scale(.95)}.pgy-stepper-btn:disabled{opacity:.3;cursor:not-allowed}.pgy-stepper-value{text-align:center;min-width:28px;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:600}.pgy-stepper-value-zero{color:var(--text-muted)}.day-picker{gap:var(--space-2);flex-wrap:wrap;display:flex}.day-picker-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);width:48px;height:40px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast)var(--ease-out);justify-content:center;align-items:center;font-size:.8125rem;font-weight:500;display:flex}.day-picker-btn:hover{border-color:var(--color-coral);color:var(--color-coral)}.day-picker-btn-active{background:var(--color-coral);border-color:var(--color-coral);color:var(--bg-base)}.day-picker-btn-active:hover{background:var(--color-coral-hover);border-color:var(--color-coral-hover);color:var(--bg-base)}.day-picker-actions{gap:var(--space-2);margin-top:var(--space-3);display:flex}.checkbox-inline{align-items:center;gap:var(--space-2);cursor:pointer;font-weight:400;display:flex}.checkbox-inline input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-coral);cursor:pointer}.checkbox-inline span{color:var(--text-primary)}.pgy-picker{gap:var(--space-2);flex-wrap:wrap;display:flex}.pgy-picker-btn{padding:var(--space-2)var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast)var(--ease-out);justify-content:center;align-items:center;font-size:.8125rem;font-weight:500;display:flex}.pgy-picker-btn:hover{border-color:var(--color-coral);color:var(--color-coral)}.pgy-picker-btn-active{background:var(--color-coral);border-color:var(--color-coral);color:var(--bg-base)}.pgy-picker-btn-active:hover{background:var(--color-coral-hover);border-color:var(--color-coral-hover);color:var(--bg-base)}.alert-dismiss{top:var(--space-2);right:var(--space-2);color:inherit;cursor:pointer;opacity:.7;transition:opacity var(--duration-fast)var(--ease-out);background:0 0;border:none;font-size:1.25rem;position:absolute}.alert-dismiss:hover{opacity:1}.alert{position:relative}.stats-bar{gap:var(--space-6);padding:var(--space-4)var(--space-5);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--space-4);display:flex}.stat{gap:var(--space-1);flex-direction:column;display:flex}.stat-value{font-size:1.5rem;font-weight:700;font-family:var(--font-display);color:var(--text-primary)}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.actions-bar{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.actions-left{gap:var(--space-3);display:flex}.filters-bar{gap:var(--space-4);padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.filters-bar .form-group{margin:0}.filters-bar select{min-width:180px}.shifts-by-date{gap:var(--space-4);flex-direction:column;display:flex}.shift-date-header{font-family:var(--font-display);color:var(--text-primary);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);font-size:1rem;font-weight:600}.shifts-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.shift-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--duration-fast)var(--ease-out);position:relative;overflow:hidden}.shift-card:hover{border-color:var(--border-default)}.shift-card-assigned{border-left:3px solid var(--color-success)}.shift-card-unassigned{border-left:3px solid var(--color-warning)}.shift-card-header{padding:var(--space-2)var(--space-3);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.shift-location{padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;font-size:.75rem;font-weight:600}.shift-time{color:var(--text-muted);font-size:.75rem}.shift-card-body{padding:var(--space-3)}.shift-resident-select{width:100%;padding:var(--space-2);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem}.shift-resident-select:focus{border-color:var(--color-coral);outline:none}.shift-resident{padding:var(--space-2);border-radius:var(--radius-sm);text-align:center;font-size:.875rem;display:block}.shift-delete-btn{top:var(--space-1);right:var(--space-1);width:20px;height:20px;color:var(--text-muted);cursor:pointer;opacity:0;transition:all var(--duration-fast)var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;font-size:1rem;display:flex;position:absolute}.shift-card:hover .shift-delete-btn{opacity:1}.shift-delete-btn:hover{color:var(--color-error)}.page-header-content{flex:1}.page-header{align-items:flex-start;gap:var(--space-4);display:flex}.checkbox-group{gap:var(--space-2);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.checkbox-group .checkbox-label{padding:var(--space-2)var(--space-3);background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);transition:all var(--duration-fast)var(--ease-out)}.checkbox-group .checkbox-label:hover{border-color:var(--color-coral);background:var(--bg-overlay)}.checkbox-group .checkbox-label:has(input:checked){background:var(--color-coral-light);border-color:var(--color-coral);color:var(--text-primary)}.row-inactive{opacity:.5;background:var(--bg-elevated)}.row-inactive:hover{opacity:.7}.actions-cell{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.actions-cell .btn{white-space:nowrap}.rules-table td:first-child{color:var(--text-primary);font-weight:500}.rules-table td:nth-child(2){color:var(--text-secondary);max-width:300px}.rule-type-badge{align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.8125rem;font-weight:500;display:inline-flex}.rule-form-section{margin-top:var(--space-6)}.rule-form-section h3{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.rule-type-fields{padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);margin-top:var(--space-4)}.form-group small.text-muted{margin-top:var(--space-1);font-size:.8125rem;line-height:1.4}.rules-assistant{flex-direction:column;height:500px;max-height:70vh;display:flex}.rules-assistant-messages{padding:var(--space-4);gap:var(--space-4);background:var(--bg-base);border-radius:var(--radius-md);margin-bottom:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.rules-assistant-message{gap:var(--space-3);display:flex}.rules-assistant-message.user{flex-direction:row-reverse}.message-avatar{border-radius:var(--radius-full);background:var(--bg-elevated);width:32px;height:32px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.rules-assistant-message.user .message-avatar{background:var(--color-coral-light);color:var(--color-coral)}.message-content{max-width:80%;padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);background:var(--bg-elevated)}.rules-assistant-message.user .message-content{background:var(--color-coral-light);border:1px solid #ff6b6b33}.message-content p{white-space:pre-wrap;color:var(--text-primary);font-size:var(--text-sm);margin:0;line-height:1.5}.typing-indicator{color:var(--text-muted);animation:1.5s ease-in-out infinite pulse}.rule-suggestion-card{margin-top:var(--space-3);padding:var(--space-3);background:var(--bg-overlay);border-radius:var(--radius-md);border:1px solid var(--border-default)}.rule-suggestion-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.rule-suggestion-header strong{color:var(--text-primary)}.rule-type-badge{font-size:var(--text-xs);border-radius:var(--radius-full);background:var(--bg-hover);color:var(--text-secondary);font-family:var(--font-mono);padding:2px 8px}.rule-suggestion-description{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-2)}.rule-suggestion-config{background:var(--bg-base);border-radius:var(--radius-sm);padding:var(--space-2);margin-bottom:var(--space-3);overflow-x:auto}.rule-suggestion-config code{font-size:var(--text-xs);color:var(--text-secondary);white-space:pre;font-family:var(--font-mono)}.rule-suggestion-actions{gap:var(--space-2);display:flex}.rule-suggestions-container{gap:var(--space-2);flex-direction:column;display:flex}.rule-suggestions-header{margin-top:var(--space-3);padding:var(--space-2)var(--space-3);background:var(--bg-hover);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex}.rule-suggestions-header .text-muted{font-size:var(--text-sm)}.rule-suggestion-card.saved{opacity:.7;border-color:var(--color-success)}.rule-suggestion-card.saved .rule-suggestion-header .badge-success{margin-left:auto}.rules-assistant-input{gap:var(--space-2);align-items:flex-end;display:flex}.rules-assistant-input textarea{resize:none;padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary);font-size:var(--text-sm);transition:border-color var(--duration-fast);flex:1;font-family:inherit}.rules-assistant-input textarea:focus{border-color:var(--color-coral);outline:none}.rules-assistant-input textarea::placeholder{color:var(--text-muted)}.rules-assistant-input button{padding:var(--space-3);border-radius:var(--radius-md)}.call-coverage-config{margin-top:var(--space-3);padding:var(--space-5);background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-default);gap:var(--space-5);flex-direction:column;display:flex}.call-coverage-config .form-group{margin-bottom:0}.call-coverage-config .form-group>label:first-child{color:var(--text-secondary);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem;font-weight:600;display:block}.day-picker{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.day-btn{min-width:44px;padding:var(--space-2)var(--space-3);font-size:.8125rem;font-weight:600;font-family:var(--font-display);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast)var(--ease-out)}.day-btn:hover{border-color:var(--color-coral);color:var(--text-primary);background:var(--bg-overlay)}.day-btn.active{background:var(--color-coral);color:var(--text-inverse);border-color:var(--color-coral)}.day-btn.active:hover{background:var(--color-coral-hover);border-color:var(--color-coral-hover)}.day-presets{gap:var(--space-2);flex-wrap:wrap;display:flex}.preset-btn{padding:var(--space-1)var(--space-3);text-transform:uppercase;letter-spacing:.05em;font-size:.6875rem;font-weight:600;font-family:var(--font-display);border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;transition:all var(--duration-fast)var(--ease-out)}.preset-btn:hover{border-color:var(--color-coral);color:var(--text-primary);background:var(--bg-overlay)}.coverage-radio-group{gap:var(--space-2);flex-direction:column;display:flex}.coverage-option{align-items:flex-start;gap:var(--space-3);cursor:pointer;padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-default);transition:all var(--duration-fast)var(--ease-out);display:flex}.coverage-option:hover{border-color:var(--border-hover);background:var(--bg-overlay)}.coverage-option.selected{border-color:var(--color-coral);background:var(--color-coral-light)}.coverage-option input[type=radio]{accent-color:var(--color-coral);flex-shrink:0;width:16px;height:16px;margin-top:2px}.coverage-option .option-content{gap:var(--space-1);flex-direction:column;display:flex}.coverage-option .option-title{color:var(--text-primary);font-size:.875rem;font-weight:600}.coverage-option .option-desc{color:var(--text-muted);font-size:.75rem;line-height:1.4}.role-checkboxes-grid{margin-top:var(--space-3);padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.role-checkbox{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast)var(--ease-out);color:var(--text-secondary);font-size:.8125rem;display:flex}.role-checkbox:hover{border-color:var(--color-coral);background:var(--bg-overlay)}.role-checkbox.checked{border-color:var(--color-coral);background:var(--color-coral-light);color:var(--text-primary)}.role-checkbox input[type=checkbox]{accent-color:var(--color-coral);width:14px;height:14px}.form-help-text{color:var(--text-muted);margin-bottom:var(--space-3);font-size:.75rem}.form-warning{color:var(--color-warning);margin-top:var(--space-2);font-size:.75rem}.service-calendar{--sc-border:var(--border-subtle);--sc-bg:var(--bg-surface);--sc-grid-line:#ffffff0a;--sc-weekend-bg:#00000026;--sc-off-bg:#34d3994d;--sc-timeoff-stripe:repeating-linear-gradient(-45deg,transparent,transparent 3px,#ffffff0d 3px,#ffffff0d 6px);--sc-call-color:var(--color-coral);background:var(--sc-bg);border:1px solid var(--sc-border);border-radius:var(--radius-lg);padding:var(--space-4);position:relative}.sc-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--sc-grid-line);justify-content:space-between;align-items:center;display:flex}.sc-nav{align-items:center;gap:var(--space-1);display:flex}.sc-nav-btn{border:1px solid var(--sc-border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .12s ease-out;display:flex}.sc-nav-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.sc-today-btn{padding:var(--space-1)var(--space-3);border:1px solid var(--sc-border);border-radius:var(--radius-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;font-size:.75rem;font-weight:500;transition:all .12s ease-out}.sc-today-btn:hover{background:var(--color-coral);border-color:var(--color-coral);color:#fff}.sc-month-title{color:var(--text-primary);letter-spacing:.02em;margin:0;font-family:JetBrains Mono,SF Mono,Monaco,monospace;font-size:1.1rem;font-weight:600}.sc-grid-wrapper{flex-direction:column;display:flex}.sc-weekdays{border-bottom:2px solid var(--sc-grid-line);margin-bottom:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.sc-weekday{color:var(--text-muted);text-align:center;padding:var(--space-2)0;letter-spacing:.1em;font-family:JetBrains Mono,SF Mono,Monaco,monospace;font-size:.65rem;font-weight:600}.sc-weekday.weekend{color:#ffffff4d}.sc-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.sc-day{aspect-ratio:1;background:var(--bg-elevated);border:1px solid var(--sc-grid-line);border-radius:var(--radius-xs);cursor:default;flex-direction:column;justify-content:center;align-items:center;min-height:44px;transition:all .1s ease-out;display:flex;position:relative;overflow:hidden}.sc-day.empty{cursor:default;background:0 0;border-color:#0000}.sc-day.weekend{background:var(--sc-weekend-bg)}.sc-day.off{background:var(--sc-off-bg);border:2px solid #34d39999}.sc-day.time-off{background:var(--sc-off-bg);background-image:var(--sc-timeoff-stripe);border:2px solid #34d39999}.sc-day.block-start{border-left:2px solid #ff6b6b59}.sc-day:not(.empty):hover{z-index:2;transform:scale(1.02);box-shadow:0 4px 12px #0000004d}.sc-day-number{color:var(--text-primary);font-family:JetBrains Mono,SF Mono,Monaco,monospace;font-size:.85rem;font-weight:500;line-height:1}.sc-day.weekend .sc-day-number{color:var(--text-muted)}.sc-day.today .sc-day-number{color:var(--color-coral);font-weight:700}.sc-service-code{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;max-width:90%;margin-top:2px;font-family:JetBrains Mono,SF Mono,Monaco,monospace;font-size:.55rem;font-weight:600;overflow:hidden}.sc-off-label{color:#fff6;letter-spacing:.1em;margin-top:2px;font-family:JetBrains Mono,SF Mono,Monaco,monospace;font-size:.55rem;font-weight:600}.sc-call-indicator{background:var(--sc-call-color);width:8px;height:8px;box-shadow:0 0 6px var(--sc-call-color);border-radius:50%;animation:2s ease-in-out infinite callPulse;position:absolute;top:4px;right:4px}@keyframes callPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.sc-tooltip{bottom:calc(100% + var(--space-2));background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3);min-width:180px;box-shadow:var(--shadow-lg);z-index:100;animation:.15s ease-out tooltipFade;position:absolute;left:50%;transform:translate(-50%)}@keyframes tooltipFade{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sc-tooltip-block{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-1);font-size:.65rem;font-weight:600}.sc-tooltip-date{color:var(--text-primary);margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);font-family:JetBrains Mono,SF Mono,Monaco,monospace;font-size:.75rem;font-weight:600}.sc-tooltip-service{align-items:center;gap:var(--space-2);color:var(--text-primary);margin-bottom:var(--space-1);font-size:.8rem;display:flex}.sc-tooltip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sc-tooltip-calls{margin-top:var(--space-2)}.sc-tooltip-call{align-items:center;gap:var(--space-2);color:var(--text-muted);padding:2px 0;font-size:.75rem;display:flex}.sc-tooltip-call-dot{background:var(--color-coral);border-radius:50%;flex-shrink:0;width:6px;height:6px}.sc-tooltip-timeoff{color:var(--text-muted);margin-top:var(--space-1);font-size:.75rem;font-style:italic}.sc-tooltip-empty{color:var(--text-muted);font-size:.75rem;font-style:italic}.sc-legend{gap:var(--space-4);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--sc-grid-line);flex-wrap:wrap;display:flex}.sc-legend-item{align-items:center;gap:var(--space-2);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;display:flex}.sc-legend-swatch{border-radius:var(--radius-xs);border:1px solid var(--border-subtle);width:16px;height:16px}.sc-legend-swatch.off-swatch{background:var(--sc-off-bg);border:2px solid #34d39999}.sc-legend-swatch.call-swatch{justify-content:center;align-items:center;display:flex;position:relative}.sc-legend-call-dot{background:var(--color-coral);border-radius:50%;width:6px;height:6px}.sc-legend-swatch.timeoff-swatch{background:var(--sc-off-bg);background-image:var(--sc-timeoff-stripe)}.sc-legend-swatch.block-start-swatch{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-left:2px solid #ff6b6b59}@media (max-width:640px){.service-calendar{padding:var(--space-3)}.sc-header{gap:var(--space-3);flex-direction:column;align-items:stretch}.sc-nav{justify-content:center}.sc-month-title{text-align:center;font-size:1rem}.sc-day{min-height:36px}.sc-day-number{font-size:.75rem}.sc-service-code,.sc-off-label{display:none}.sc-call-indicator{width:6px;height:6px;top:3px;right:3px}.sc-tooltip{display:none}.sc-legend{gap:var(--space-3)}.sc-legend-item{font-size:.65rem}}.academic-year-selector{z-index:1;align-items:center;display:inline-flex;position:relative}.academic-year-selector.dropdown-open{z-index:1000}.academic-year-selector:has(.academic-year-dropdown){z-index:1000}.academic-year-selector.loading{color:var(--text-muted);align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);font-size:.85rem;display:flex}.academic-year-trigger{align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-primary);cursor:pointer;transition:all var(--duration-fast)var(--ease-out);background:0 0;font-size:.875rem;font-weight:500;display:flex}.academic-year-trigger:hover{background:var(--bg-elevated);border-color:var(--border-default)}.academic-year-trigger:focus{border-color:var(--color-coral);box-shadow:0 0 0 3px var(--color-coral-light);outline:none}.academic-year-trigger svg:first-child{color:var(--text-muted);flex-shrink:0}.academic-year-name{white-space:nowrap;font-family:var(--font-display);letter-spacing:-.01em}.academic-year-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;margin-left:var(--space-1);align-items:center;gap:4px;padding:3px 8px;font-size:.65rem;font-weight:600;display:inline-flex}.academic-year-badge.current{background:var(--color-success);color:var(--bg-base)}.academic-year-badge.past{background:var(--color-warning-light);color:var(--color-warning)}.academic-year-trigger .chevron{transition:transform var(--duration-fast)var(--ease-out);color:var(--text-muted);margin-left:var(--space-1)}.academic-year-trigger .chevron.open{transform:rotate(180deg)}.academic-year-dropdown{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);min-width:240px;box-shadow:var(--shadow-lg);z-index:100;animation:dropdownFadeIn .15s var(--ease-out);position:absolute;top:calc(100% + 6px);left:0;overflow:hidden}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.academic-year-option{width:100%;padding:var(--space-3)var(--space-4);border:none;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);text-align:left;cursor:pointer;transition:all var(--duration-fast)var(--ease-out);background:0 0;justify-content:space-between;align-items:center;font-size:.9rem;font-weight:500;display:flex;position:relative}.academic-year-option:last-child{border-bottom:none}.academic-year-option:hover{background:var(--bg-hover)}.academic-year-option.selected{background:var(--color-coral-light)}.academic-year-option.selected:before{content:"";background:var(--color-coral);width:3px;position:absolute;top:0;bottom:0;left:0}.academic-year-option .year-name{font-family:var(--font-display);flex:1}.academic-year-option .year-badges{gap:var(--space-2);display:flex}.academic-year-empty{padding:var(--space-4);color:var(--text-muted);text-align:center;font-size:.85rem}@media (max-width:640px){.academic-year-trigger{padding:var(--space-2)var(--space-3);gap:var(--space-2);font-size:.8rem}.academic-year-badge{padding:2px 6px;font-size:.6rem}.academic-year-dropdown{min-width:200px;left:auto;right:0}}.transition-wizard{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:var(--space-6);max-width:700px;margin:0 auto}.wizard-steps{margin-bottom:var(--space-8);justify-content:space-between;display:flex;position:relative}.wizard-steps:before{content:"";background:var(--border-default);z-index:0;height:2px;position:absolute;top:14px;left:10%;right:10%}.wizard-step{align-items:center;gap:var(--space-2);z-index:1;flex-direction:column;display:flex;position:relative}.wizard-step-number{background:var(--bg-elevated);border:2px solid var(--border-default);width:28px;height:28px;color:var(--text-muted);transition:all var(--duration-normal)var(--ease-out);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.wizard-step.active .wizard-step-number{background:var(--color-coral);border-color:var(--color-coral);color:#fff}.wizard-step.completed .wizard-step-number{background:var(--color-success);border-color:var(--color-success);color:#fff}.wizard-step-label{color:var(--text-muted);transition:color var(--duration-normal)var(--ease-out);font-size:.75rem;font-weight:500}.wizard-step.active .wizard-step-label{color:var(--text-primary)}.wizard-step.completed .wizard-step-label{color:var(--color-success)}.wizard-content{padding:var(--space-4)0}.wizard-content h3{margin-bottom:var(--space-2);color:var(--text-primary);font-size:1.25rem}.wizard-content>p{margin-bottom:var(--space-6)}.current-year-display{background:var(--bg-elevated);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-subtle);color:var(--text-primary);font-weight:500}.transition-stats{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.stat-card{background:var(--bg-elevated);border-radius:var(--radius-md);padding:var(--space-4);align-items:center;gap:var(--space-2);border:1px solid var(--border-subtle);flex-direction:column;display:flex}.stat-card svg{color:var(--color-coral)}.stat-card.warning svg{color:var(--color-warning)}.stat-value{color:var(--text-primary);font-size:2rem;font-weight:700;font-family:var(--font-display)}.stat-label{color:var(--text-muted);font-size:.85rem;font-weight:500}.transition-section{background:var(--bg-elevated);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--border-subtle)}.transition-section.warning{background:#fbbf240d;border-color:#fbbf244d}.transition-section h4{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--text-primary);font-size:.95rem;display:flex}.transition-section-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:flex-start;display:flex}.transition-section-header h4{margin-bottom:0}.transition-select-actions{gap:var(--space-2);display:flex}.transition-select-actions .btn-link{color:var(--color-coral);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.transition-select-actions .btn-link:hover{color:var(--color-coral-hover)}.transition-section h4 svg{color:var(--color-coral)}.transition-section.warning h4 svg{color:var(--color-warning)}.transition-list{gap:var(--space-2);flex-direction:column;max-height:250px;display:flex;overflow-y:auto}.transition-item{padding:var(--space-2)var(--space-3);background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.transition-item.selectable{cursor:pointer;transition:all var(--duration-fast)var(--ease-out)}.transition-item.selectable:hover{background:var(--bg-hover);border-color:var(--border-hover)}.transition-item.selectable input[type=checkbox]{width:16px;height:16px;margin-right:var(--space-3);accent-color:var(--color-coral);cursor:pointer}.transition-item .name{color:var(--text-primary);font-weight:500}.transition-item .change{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:.85rem;display:flex}.transition-item .change svg{color:var(--color-coral)}.confirm-warning{text-align:center;margin-bottom:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:#fbbf241a;border:1px solid #fbbf244d}.confirm-warning svg{color:var(--color-warning);margin-bottom:var(--space-2)}.confirm-warning h3{color:var(--color-warning)}.confirm-summary{background:var(--bg-elevated);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--border-subtle)}.summary-item{padding:var(--space-2)0;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.summary-item:last-child{border-bottom:none}.summary-item span{color:var(--text-primary);font-weight:600}.summary-item.warning span{color:var(--color-warning)}.complete-success{text-align:center;padding:var(--space-8)var(--space-4)}.success-icon{background:var(--color-success);width:64px;height:64px;margin:0 auto var(--space-4);animation:successPop .4s var(--ease-spring);border-radius:50%;justify-content:center;align-items:center;display:flex}.success-icon svg{color:#fff}@keyframes successPop{0%{transform:scale(0)}to{transform:scale(1)}}.complete-success h3{color:var(--color-success);margin-bottom:var(--space-2)}.wizard-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);display:flex}.wizard-actions .btn{align-items:center;gap:var(--space-2);display:flex}@media (max-width:640px){.transition-wizard{padding:var(--space-4);border-radius:var(--radius-md)}.wizard-steps{margin-bottom:var(--space-6)}.wizard-step-label{display:none}.transition-stats{grid-template-columns:1fr}.wizard-actions{flex-direction:column}.wizard-actions .btn{justify-content:center;width:100%}}.transition-intro{max-width:700px}.current-year-info{padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.year-name-display{align-items:center;gap:var(--space-3);color:var(--text-primary);font-size:1.25rem;font-weight:600;display:flex}.year-name-display svg{color:var(--color-coral)}.transition-features{margin:0;padding:0;list-style:none}.transition-features li{align-items:center;gap:var(--space-3);padding:var(--space-2)0;color:var(--text-secondary);display:flex}.transition-features li:before{content:"";background:var(--color-coral);border-radius:50%;flex-shrink:0;width:6px;height:6px}.no-future-years{padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-md);border:1px dashed var(--border-default);text-align:center}.academic-years-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.academic-year-card{background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-subtle);padding:var(--space-4);transition:all var(--duration-fast)var(--ease-out)}.academic-year-card.current{border-color:var(--color-success);background:#4ade800d}.academic-year-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.academic-year-header h3{margin:0;font-size:1.1rem}.academic-year-header .badge{align-items:center;gap:var(--space-1);display:flex}.academic-year-dates{color:var(--text-muted);margin-bottom:var(--space-3);font-size:.9rem}.academic-year-actions{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);display:flex}.billing-status-row{gap:var(--space-2);padding:var(--space-4)0;border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-4);flex-direction:column;display:flex}.billing-status-info{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.billing-status-badge{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);border-radius:var(--radius-full);background:var(--color-success);color:#fff;font-size:.875rem;font-weight:600;display:inline-flex}.billing-days-remaining{color:var(--text-secondary);font-size:.875rem}.billing-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.subscription-banner{padding:var(--space-3)var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.subscription-banner-info{background:var(--color-info-light);border-color:var(--color-info)}.subscription-banner-warning{background:var(--color-warning-light);border-color:var(--color-warning)}.subscription-banner-danger{background:var(--color-error-light);border-color:var(--color-error)}.subscription-banner-content{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.subscription-banner-content svg{flex-shrink:0}.subscription-banner-link{color:var(--color-primary);text-underline-offset:2px;font-weight:500;text-decoration:underline}.subscription-banner-link:hover{color:var(--color-coral-hover)}.subscription-banner-dismiss{color:var(--text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--duration-fast)var(--ease-out);background:0 0;border:none}.subscription-banner-dismiss:hover{color:var(--text-primary);background:var(--bg-hover)}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.8624a701.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.8e66b869.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.f6ed4c33.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.1bbdebe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.8624a701.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.8e66b869.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.f6ed4c33.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.1bbdebe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.8624a701.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.8e66b869.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.f6ed4c33.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.1bbdebe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.8624a701.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.8e66b869.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.f6ed4c33.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.1bbdebe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_12218062-module__eW1koW__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_12218062-module__eW1koW__variable{--font-display:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.8624a701.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.8e66b869.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.f6ed4c33.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.1bbdebe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.8624a701.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.8e66b869.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.f6ed4c33.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.1bbdebe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.8624a701.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.8e66b869.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.f6ed4c33.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.1bbdebe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.8624a701.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.8e66b869.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.f6ed4c33.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.1bbdebe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_cc1f2980-module__2zCWXa__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_cc1f2980-module__2zCWXa__variable{--font-display:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_2d0dd12e-module__YyYQtq__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_2d0dd12e-module__YyYQtq__variable{--font-body:"DM Sans","DM Sans Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_8abcc3bc-module__GxMHDG__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_8abcc3bc-module__GxMHDG__variable{--font-body:"DM Sans","DM Sans Fallback"}
/*# sourceMappingURL=f7df49add45343b2.css.map*/