: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;--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}*,: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:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #f871714d}.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-with-sidebar{gap:var(--space-6);display:flex}.layout-main{flex:1;min-width:0}.layout-sidebar{flex-shrink:0;width:300px}.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}.layout-with-sidebar{flex-direction:column}.layout-sidebar{width:100%}.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-container{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-surface);overflow-x:auto}.call-grid-table{border-collapse:collapse;table-layout:fixed;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;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.call-grid-table th:first-child{text-align:left;z-index:2;width:75px;min-width:75px;position:sticky;left:0}.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{color:var(--color-info);background:#60a5fa1a;font-weight:600}.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}.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);min-width:70px;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-loading{color:var(--text-muted);font-size:.75rem}.call-slot-container{position:relative}.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{padding:var(--space-4);background:var(--bg-elevated);cursor:pointer;transition:background var(--duration-fast)var(--ease-out);justify-content:space-between;align-items:center;display:flex}.call-summary-header:hover{background:var(--bg-hover)}.call-summary-header h3{color:var(--text-primary);margin:0;font-size:.9375rem;font-weight:600}.call-summary-toggle{color:var(--text-muted);transition:transform var(--duration-fast)var(--ease-out);font-size:1rem}.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-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);display: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-info h1{margin-bottom:var(--space-2)}.schedule-header-info p{color:var(--text-muted);margin:0}.validation-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.validation-card .btn{width:100%;margin-bottom:var(--space-3)}.validation-results{font-size:.875rem}.validation-error-item{color:var(--color-error)}.validation-warning-item{color:var(--color-warning)}.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}.schedule-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.schedule-header-actions{align-items:center;gap:var(--space-3);display:flex}.validation-card{padding:var(--space-4)}.validation-card .btn{width:100%}.validation-results{margin-top:var(--space-3)}.validation-results ul{margin:var(--space-1)0;padding-left:var(--space-5)}.validation-results li{margin-bottom:var(--space-1)}.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}.vacation-requests-page{gap:var(--space-4);flex-direction:column;display:flex}.vacation-requests-layout{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (max-width:1024px){.vacation-requests-layout{grid-template-columns:1fr}}.vacation-requests-column{gap:var(--space-4);flex-direction:column;display:flex}.vacation-requests-empty{padding:var(--space-6);text-align:center;color:var(--text-secondary);background:var(--bg-muted);border-radius:var(--radius-md)}.vacation-requests-empty p{margin:0}.vacation-requests-list{gap:var(--space-4);flex-direction:column;display:flex}.vacation-requests-group{gap:var(--space-2);flex-direction:column;display:flex}.group-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);margin:0;font-size:.75rem;font-weight:600}.group-header.pending{color:var(--color-warning)}.group-header.approved{color:var(--color-success)}.group-header.other{color:var(--text-muted)}.vacation-request-item{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);display:flex}.vacation-request-item.clickable{cursor:pointer;transition:border-color .15s}.vacation-request-item.clickable:hover{border-color:var(--color-coral)}.vacation-request-main{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.vacation-request-resident,.vacation-request-dates{align-items:center;gap:var(--space-2);display:flex}.date-range{color:var(--text-primary);font-weight:500}.days-count{background:var(--bg-muted);border-radius:var(--radius-sm);color:var(--text-secondary);padding:2px 6px;font-size:.75rem}.vacation-request-modified{color:var(--text-secondary);font-size:.75rem}.modified-label{margin-right:var(--space-1)}.original-dates{text-decoration:line-through}.vacation-request-reason{color:var(--text-secondary);font-size:.875rem;font-style:italic}.vacation-request-status{align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.status-badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.pending{color:var(--color-warning);background:#fbbf2426}.status-badge.approved{background:var(--color-success-light);color:var(--color-success)}.status-badge.rejected{color:var(--color-error);background:#ef44441a}.status-badge.cancelled{background:var(--bg-muted);color:var(--text-muted)}.reviewed-by{color:var(--text-muted);font-size:.7rem}.review-note{color:var(--text-secondary);font-size:.7rem;font-style:italic}.cancel-btn{flex-shrink:0}.type-badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.type-badge.vacation{color:var(--color-primary);background:#6366f11a}.type-badge.no-call{color:#ec4899;background:#ec48991a}.waived-badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;color:#10b981;background:#10b98126;padding:2px 8px;font-size:.65rem;font-weight:600;display:inline-block}.vacation-review-modal{z-index:1000;padding:var(--space-4);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.vacation-review-content{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-default);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.vacation-review-header{padding:var(--space-4);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.vacation-review-header h3{color:var(--text-primary);margin:0;font-size:1.125rem}.vacation-review-header .close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.vacation-review-header .close-btn:hover{color:var(--text-primary)}.vacation-review-details{padding:var(--space-4);gap:var(--space-3);border-bottom:1px solid var(--border-subtle);flex-direction:column;display:flex}.resident-info{align-items:center;gap:var(--space-2);font-size:1rem;display:flex}.request-dates,.request-reason{gap:var(--space-1);flex-direction:column;display:flex}.date-label,.reason-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.date-value{align-items:center;gap:var(--space-2);display:flex}.days-badge{background:var(--color-coral-light);color:var(--color-coral);border-radius:var(--radius-sm);padding:2px 6px;font-size:.75rem}.request-submitted{color:var(--text-muted);font-size:.75rem}.vacation-conflicts-warning{margin:var(--space-4);padding:var(--space-3);border:1px solid var(--color-warning);border-radius:var(--radius-md);background:#fbbf241a}.conflicts-header{align-items:center;gap:var(--space-2);color:var(--color-warning);margin-bottom:var(--space-2);font-weight:600;display:flex}.conflicts-header .warning-icon{background:var(--color-warning);width:20px;height:20px;color:var(--bg-surface);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.conflicts-list{padding-left:var(--space-4);color:var(--text-secondary);margin:0;font-size:.875rem}.conflicts-list li{margin-bottom:var(--space-1)}.vacation-review-approve-section,.vacation-review-reject-section{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.modify-dates-toggle{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text-secondary);font-size:.875rem;display:flex}.modify-dates-toggle input{accent-color:var(--color-coral)}.modified-dates-inputs{gap:var(--space-3);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;display:grid}.days-change{color:var(--color-coral);text-align:center;grid-column:1/-1;font-size:.875rem}.vacation-review-actions{gap:var(--space-2);display:flex}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{background:#dc2626}.swap-requests-page{width:100%}.swap-requests-layout{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (max-width:900px){.swap-requests-layout{grid-template-columns:1fr}}.swap-requests-column{gap:var(--space-4);flex-direction:column;display:flex}.swap-requests-empty{padding:var(--space-6);text-align:center;color:var(--text-secondary);background:var(--bg-muted);border-radius:var(--radius-md)}.swap-requests-empty p{margin:0}.swap-requests-list{gap:var(--space-3);flex-direction:column;display:flex}.swap-requests-group{gap:var(--space-2);flex-direction:column;display:flex}.swap-requests-group .group-header{text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2)0;border-bottom:1px solid var(--border-subtle);margin:0;font-size:.8rem;font-weight:600}.swap-requests-group .group-header.pending{color:var(--color-warning)}.swap-requests-group .group-header.pending-chief{color:var(--color-primary)}.swap-requests-group .group-header.approved{color:var(--color-success)}.swap-requests-group .group-header.other{color:var(--text-muted)}.swap-request-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.swap-request-item.outgoing{border-left:3px solid var(--color-primary)}.swap-request-item.incoming{border-left:3px solid var(--color-coral)}.swap-request-main{gap:var(--space-2);flex-direction:column;flex:1;min-width:200px;display:flex}.swap-slots-preview{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.swap-slot-card{min-width:120px;padding:var(--space-2);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex:1}.swap-slot-resident{align-items:center;gap:var(--space-1);margin-bottom:var(--space-1);font-size:.8rem;display:flex}.swap-slot-date{font-size:.9rem;font-weight:600}.swap-slot-role{color:var(--text-secondary);font-size:.8rem}.swap-slot-open,.swap-slot-pending{align-items:center;gap:var(--space-1);padding:var(--space-2);flex-direction:column;display:flex}.swap-slot-open .open-label{color:var(--color-primary);font-weight:600}.swap-slot-open .open-desc{color:var(--text-muted);font-size:.75rem}.swap-slot-pending .pending-label{color:var(--text-muted);font-size:.75rem;font-style:italic}.swap-arrow{color:var(--text-muted);justify-content:center;align-items:center;display:flex}.swap-request-note{color:var(--text-secondary);padding:var(--space-2);background:var(--bg-muted);border-radius:var(--radius-sm);font-size:.85rem;font-style:italic}.swap-request-status{align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.swap-request-actions{gap:var(--space-2);flex-shrink:0;display:flex}.status-badge.pending-chief{color:var(--color-primary);background:#6366f126}.open-badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;color:#10b981;background:#10b98126;padding:2px 8px;font-size:.65rem;font-weight:600;display:inline-block}.swap-preview{align-items:stretch;gap:var(--space-3);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-md);margin-bottom:var(--space-4);display:flex}.swap-preview-slot{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.swap-preview-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem}.swap-preview-details{padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.swap-preview-placeholder{padding:var(--space-3);background:var(--bg-muted);border:2px dashed var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);text-align:center;font-style:italic}.swap-note{padding:var(--space-3);background:var(--bg-muted);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:.875rem}.swap-comparison{align-items:stretch;gap:var(--space-4);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-md);margin-bottom:var(--space-4);display:flex}.swap-comparison-side{gap:var(--space-3);flex-direction:column;flex:1;display:flex}.swap-comparison-arrow{color:var(--color-primary);justify-content:center;align-items:center;display:flex}.swap-comparison-slot{padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.swap-comparison-slot .slot-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--space-1);font-size:.7rem}.swap-comparison-slot .slot-date{font-size:1rem;font-weight:600}.swap-comparison-slot .slot-role{color:var(--text-secondary);font-size:.85rem}.swap-comparison-slot .slot-block{color:var(--text-muted);margin-top:var(--space-1);font-size:.75rem}.swap-after-preview{padding:var(--space-3);background:var(--color-success-light);border:1px solid var(--color-success);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.swap-after-preview h4{text-transform:uppercase;letter-spacing:.05em;color:var(--color-success);margin:0 0 var(--space-2)0;font-size:.8rem}.swap-after-grid{gap:var(--space-2);flex-direction:column;display:flex}.swap-after-item{align-items:center;gap:var(--space-2);font-size:.875rem;display:flex}.swap-after-item .will-have{color:var(--text-muted)}.swap-after-item .slot-info{font-weight:500}.resident-badge{align-items:center;gap:var(--space-2);display:flex}.resident-color-dot.large{width:12px;height:12px}.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.today{box-shadow:inset 0 0 0 2px var(--color-coral)}.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-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)}@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{align-items:center;display:inline-flex;position:relative}.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)}.cl-footer,.cl-cardFooter{box-shadow:none!important;background:0 0!important;border:none!important}.cl-footerActionText{margin-right:5px!important}.cl-footerActionLink{margin-left:3px!important}.cl-footerPages a[href*=privacy],.cl-footerPages a[href*=terms],.cl-footerPagesLink:not(:first-child){margin-left:auto!important}.cl-footerPages a[href*=terms]{margin-left:16px!important}.cl-footerPages a[href*=clerk],.cl-footerPages [class*=powered],a[href*=clerk\.com],[class*=poweredBy]{align-items:center!important;gap:6px!important;display:inline-flex!important}
@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=e86b575257f28611.css.map*/