@import"https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,700&display=swap";.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}:root{--bg: #eff3f2;--surface: #ffffff;--surface-soft: #f7faf9;--ink: #152f38;--ink-soft: #4d6872;--brand: #163f4c;--brand-strong: #0f313c;--accent: #be6f30;--danger: #b33636;--success: #1e7b58;--line: #d6dfdc;--radius: 14px;--shadow: 0 12px 28px rgb(11 35 43 / 10%);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--font-small: .875rem;--font-body: 1rem;--control-height: 2.75rem;--icon-size: 1.25rem;--checkbox-size: 1.125rem;--row-height: 3.5rem;--radius-control: 10px}*{box-sizing:border-box}body{margin:0;font-size:var(--font-body);line-height:1.5;font-family:Archivo,sans-serif;color:var(--ink);background:radial-gradient(circle at 10% 0%,#d9eae0 0%,transparent 35%),radial-gradient(circle at 90% 100%,#d8e3ef 0%,transparent 30%),var(--bg)}h1,h2,h3,h4{margin:0;font-family:Fraunces,serif;letter-spacing:.01em;line-height:1.25;overflow-wrap:anywhere}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.125rem}h4{font-size:var(--font-body)}small{font-size:var(--font-small)}p{margin:0}input,select,button,textarea{font:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-width:0;height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);background:#fff;color:var(--ink)}textarea{min-height:7rem;height:auto;resize:vertical}input[type=checkbox],input[type=radio]{width:var(--checkbox-size);height:var(--checkbox-size);flex:0 0 var(--checkbox-size);margin:0;accent-color:var(--brand);vertical-align:middle}button:focus-visible,a:focus-visible,input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:3px solid #7b9dad;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:none;border-color:#7b9dad;box-shadow:0 0 0 3px #7b9dad29}label{display:grid;gap:var(--space-2);min-width:0;font-size:var(--font-small);color:var(--ink-soft)}label input,label select,label textarea{font-size:var(--font-body)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.date-picker-field{position:relative}.date-picker-trigger{width:100%;justify-content:flex-start;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--ink);padding:var(--space-2) var(--space-3);font-weight:400}.date-picker-popover{position:absolute;z-index:30;top:calc(100% + .4rem);left:0;width:max-content;max-width:min(95vw,24rem);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow)}.date-picker-popover .rdp{--rdp-accent-color: var(--brand);--rdp-accent-background-color: #e9efed;margin:0}.date-picker-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-2)}.date-time-picker-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:end}.date-time-picker-field input[type=time]{width:7.5rem}.deletion-card{display:grid;gap:var(--space-3);border-color:#e6bbbb}button,.sidebar a{min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-small);font-weight:600;line-height:1.5}.button-primary,.button-secondary,.button-danger{border:1px solid transparent;border-radius:var(--radius-control);padding:var(--space-2) var(--space-4);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.button-primary:hover,.button-secondary:hover,.button-danger:hover{transform:translateY(-1px)}.button-primary{background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;box-shadow:0 6px 18px #163f4c33}.button-secondary{background:#e9efed;color:var(--ink)}.button-danger{background:#f5dfdf;color:#7a2525}.button-primary:disabled,.button-secondary:disabled,.button-danger:disabled{opacity:.66;cursor:not-allowed;transform:none;box-shadow:none}.login-wrapper{min-height:100vh;display:grid;place-items:center;padding:var(--space-4)}.login-card{width:min(460px,100%);border-radius:var(--radius);background:linear-gradient(160deg,#14343f,#2d6157);color:#f3f8f4;box-shadow:0 20px 44px #0a222747;padding:var(--space-6)}.login-card p{margin-top:var(--space-2);margin-bottom:var(--space-5);color:#d4e7dd}.login-card form{display:grid;gap:var(--space-3)}.login-card input{background:#f0f4f1}.login-card label{color:#d4e7dd}.login-card .error-text{color:#ffd0d0}.login-card .auth-link{display:inline-block;margin:12px 16px 0 0;padding:0;border:0;background:transparent;color:#d4e7dd;font:inherit;text-decoration:underline;cursor:pointer}.admin-tabs,.admin-toolbar,.admin-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.admin-tabs{margin:1rem 0}.admin-toolbar{margin:.75rem 0}.admin-toolbar label{flex:1;min-width:200px}.admin-actions{min-width:210px}.admin-detail{display:block;color:var(--ink-soft);margin-top:.25rem}.admin-dialog{width:min(620px,94vw);max-height:90vh;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;color:var(--ink);background:var(--surface)}.admin-dialog::backdrop{background:#0000008c}.admin-dialog .admin-toolbar{justify-content:space-between;align-items:flex-start}.admin-dialog .admin-toolbar h3{flex:1}.admin-form{display:grid;gap:1rem}.admin-audit-detail{display:block;max-width:400px;white-space:pre-wrap;overflow-wrap:anywhere}.impersonation-banner{position:sticky;top:0;z-index:100;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center;background:#fff0bc;color:#483000;padding:.75rem 1.5rem;border-bottom:3px solid #bb7c00}.impersonation-banner p{font-size:.875rem}.login-card .auth-link:focus-visible{outline:2px solid #d4e7dd;outline-offset:4px}.auth-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-4)}.auth-switch-button{border:1px solid rgb(255 255 255 / 40%);border-radius:var(--radius-control);background:transparent;color:#d4e7dd;padding:var(--space-2) var(--space-3);cursor:pointer}.auth-switch-button.active{border-color:#f8fbf9;background:#f8fbf9;color:#12333d;font-weight:600}.auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{background:linear-gradient(180deg,#123541,#0e2f38);color:#f1f5f4;padding:var(--space-5);display:grid;grid-template-rows:auto 1fr;gap:var(--space-4);box-shadow:inset -1px 0 #ffffff12}.sidebar nav{display:grid;gap:var(--space-2);align-content:start}.sidebar a{color:#d6e5df;text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);justify-content:flex-start}.sidebar a.active-link,.sidebar a:hover{background:#ffffff1f;color:#fff}.content{min-width:0;padding:var(--space-5);display:grid;grid-template-rows:auto 1fr;gap:var(--space-4)}.topbar{width:min(1240px,100%);margin-inline:auto;gap:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--space-4);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.topbar p{margin-top:var(--space-1);color:var(--ink-soft);font-size:var(--font-small);overflow-wrap:anywhere}.topbar>div{min-width:0}.topbar>button{flex-shrink:0}.content-inner{min-width:0;width:min(1240px,100%);margin:0 auto}.page{display:grid;gap:var(--space-4);align-content:start}.card{container-type:inline-size;min-width:0;align-content:start;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--space-4);display:grid;gap:var(--space-4);box-shadow:var(--shadow)}.card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.nested-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-soft);padding:var(--space-4);display:grid;gap:var(--space-3)}.kpi-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.kpi{min-width:0;align-content:start;border-radius:var(--radius);background:linear-gradient(145deg,#f8fcfa,#eaf1ef);border:1px solid #d6e0dc;padding:var(--space-4);display:grid;gap:var(--space-1)}.kpi strong{font-size:1.5rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.kpi h3{font-family:Archivo,sans-serif;font-size:var(--font-small);font-weight:500;color:var(--ink-soft)}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.form-grid{display:grid;gap:var(--space-3);align-items:end;align-content:start}.form-grid>*{min-width:0}.three-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.four-cols{grid-template-columns:repeat(4,minmax(0,1fr))}.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:center}.table-wrap{min-width:0;max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-control)}.table{width:100%;border-collapse:collapse;font-size:var(--font-small);line-height:1.5;font-variant-numeric:tabular-nums;min-width:700px}.table th,.table td{height:var(--row-height);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.table th{height:var(--control-height);background:var(--surface-soft);color:var(--ink-soft);font-weight:600}.table.compact{min-width:520px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--surface-soft)}.table .actions{flex-wrap:nowrap}.table button{white-space:nowrap}.actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.list{margin:0;padding:0;list-style:none;display:grid;gap:0;font-size:var(--font-small)}.list li{border-bottom:1px solid var(--line);min-height:var(--row-height);padding:var(--space-3) 0;display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;flex-wrap:wrap}.list li:last-child{border-bottom:0}.list li>span{min-width:0;flex:1 1 8rem;overflow-wrap:anywhere}.list strong{font-variant-numeric:tabular-nums}.warning-list li{color:var(--accent)}.month-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2)}.checkbox-inline{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-height)}.modal-overlay{position:fixed;inset:0;z-index:100;background:#111f248f;display:grid;place-items:center;padding:var(--space-4)}.modal-card{width:min(560px,100%);max-height:calc(100dvh - 2rem);grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;display:grid;gap:var(--space-2);box-shadow:0 20px 42px #0a232c47}.modal-header{gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-content{padding:var(--space-4);overflow-y:auto;min-height:0}.icon-button{border:0;background:#e9efed;cursor:pointer;width:var(--control-height);height:var(--control-height);flex:0 0 var(--control-height);padding:0;border-radius:var(--radius-control)}.icon-button:hover{background:#e9efed}.icon{width:var(--icon-size);height:var(--icon-size);flex:0 0 var(--icon-size);display:block}.error-text{color:var(--danger)}.success-text{color:var(--success)}@media(max-width:1200px){.shell{grid-template-columns:1fr}.sidebar{box-shadow:none}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:920px){.kpi-grid,.grid-two,.three-cols,.four-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-grid{grid-template-columns:1fr}}@media(max-width:720px){.kpi-grid,.grid-two,.three-cols,.four-cols{grid-template-columns:1fr}.login-card{padding:var(--space-5)}.content{padding:var(--space-3)}.topbar{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){button{transition:none!important}}@container (max-width: 600px){.three-cols,.four-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (max-width: 440px){.three-cols,.four-cols{grid-template-columns:1fr}}
