.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;-webkit-appearance:none;-moz-appearance:none;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{font-family:IBM Plex Sans,Segoe UI,sans-serif;color:#1f2a37;background:radial-gradient(circle at top left,rgba(45,88,214,.1),transparent 32%),linear-gradient(180deg,#f7faff,#eef3fb);line-height:1.5;font-weight:400;--paper: rgba(255, 255, 255, .92);--paper-strong: #ffffff;--paper-soft: #f8fbff;--border: rgba(115, 138, 176, .2);--accent: #2d58d6;--accent-dark: #1f45b8;--accent-soft: #eaf0ff;--ink-soft: #6b7a90;--shadow: 0 18px 45px rgba(44, 74, 140, .1);--success-soft: rgba(47, 180, 99, .14);--success-border: rgba(47, 180, 99, .3);--success-ink: #1f7d46;--warning-soft: rgba(184, 106, 33, .14);--warning-border: rgba(184, 106, 33, .28);--warning-ink: #9a561a;--danger-soft: rgba(207, 75, 75, .12);--danger-border: rgba(207, 75, 75, .24);--danger-ink: #b13939}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(45,88,214,.1),transparent 32%),linear-gradient(180deg,#f7faff,#eef3fb)}#root{min-height:100vh}button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:999px;padding:.8rem 1.2rem;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;cursor:pointer;box-shadow:0 10px 24px #2d58d638}.button-icon{width:1rem;height:1rem;flex:0 0 auto}button:disabled{cursor:default;opacity:.6}input,select,textarea{width:100%;margin-top:.35rem;padding:.85rem 1rem;border-radius:14px;border:1px solid var(--border);background:#fffffff5;color:inherit}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:3rem}input:focus,select:focus,textarea:focus{outline:0;border-color:#2d58d673;box-shadow:0 0 0 4px #2d58d61f}input[type=checkbox]{width:auto;margin-top:0}label{display:block;color:var(--ink-soft)}ul{margin:0;padding-left:1.2rem}.app-shell{display:grid;grid-template-columns:280px 1fr;height:100vh;overflow:hidden}.mobile-topbar,.sidebar-backdrop{display:none}.mobile-topbar{align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(115,138,176,.14);background:#f7faffdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-topbar-copy{display:grid;gap:.1rem}.mobile-topbar-copy strong{font-size:1rem;line-height:1.2}.mobile-topbar .eyebrow{margin-bottom:0}.menu-trigger{width:3rem;height:3rem;padding:0;border-radius:16px;box-shadow:0 10px 24px #2d58d629}.sidebar{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:2rem;background:linear-gradient(180deg,#315ed9,#4553d0 52%,#614dc5);color:#f7faff;overflow:hidden;box-shadow:inset -1px 0 #ffffff14}.sidebar:before,.sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sidebar:before{background:radial-gradient(circle at top right,rgba(255,214,160,.18),transparent 30%),radial-gradient(circle at 18% 82%,rgba(173,197,255,.12),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.08),transparent 42%)}.sidebar:after{opacity:1;background:radial-gradient(rgba(255,255,255,.2) 1px,transparent 1.2px),linear-gradient(180deg,rgba(255,255,255,.08),transparent 38%,transparent 72%,rgba(32,42,96,.08));background-size:24px 24px,auto;background-position:0 0,0 0;-webkit-mask-image:radial-gradient(circle at 30% 22%,rgba(0,0,0,.95),rgba(0,0,0,.68) 36%,transparent 78%),linear-gradient(180deg,#000000e6,#00000052);mask-image:radial-gradient(circle at 30% 22%,rgba(0,0,0,.95),rgba(0,0,0,.68) 36%,transparent 78%),linear-gradient(180deg,#000000e6,#00000052);-webkit-mask-composite:source-in;mask-composite:intersect}.sidebar>*{position:relative;z-index:1}.sidebar h1{margin:.25rem 0 0;font-size:1.8rem}.sidebar-header,.sidebar-nav,.sidebar-footer{display:grid}.sidebar-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.sidebar-header{gap:.35rem}.sidebar .sidebar-eyebrow{color:#ffeccfeb}.sidebar-nav{gap:.45rem;margin-top:2rem}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:16px;border:1px solid transparent;background:#324fb2f0;color:#f7faffdb;text-decoration:none;-webkit-tap-highlight-color:transparent}.nav-link-icon{width:1rem;height:1rem;flex:0 0 auto}.nav-link:hover,.nav-link:active{background:#4a66c6fa;color:#fff}.nav-link:focus{outline:none}.nav-link:focus-visible{outline:2px solid rgba(255,236,207,.72);outline-offset:2px}.nav-link.active{background:linear-gradient(135deg,#ffe4bcf0,#efb76df5);color:#2c1d11;box-shadow:0 12px 30px #162a6e38;border:1px solid rgba(255,223,178,.3)}.nav-link.active:active{background:linear-gradient(135deg,#ffe4bcf0,#efb76df5)}.sidebar-footer{gap:.85rem;color:#f7faffc2}.content{padding:2rem;overflow-y:auto;min-width:0}.user-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.05rem;border-radius:18px;border:1px solid rgba(255,228,187,.2);background:linear-gradient(180deg,#fff4e21f,#ffffff14);box-shadow:inset 0 1px #fff8ec1f}.user-card-name,.user-card-role{margin:0}.user-card-name{color:#fff;font-weight:600}.user-card-role{margin-top:.2rem;color:#ffe9cccc;font-size:.92rem}.settings-link{display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:14px;color:#fff3e0eb;background:#ffeed61a;border:1px solid rgba(255,223,178,.18);text-decoration:none;transition:background-color .14s ease,color .14s ease,transform .14s ease}.settings-link:hover,.settings-link.active{background:#ffe7c733;color:#fff}.settings-icon{width:1.15rem;height:1.15rem}.sidebar-logout{width:100%;justify-content:center;background:linear-gradient(135deg,#ffd7a4,#efb76d);color:#47301d;box-shadow:0 12px 24px #39240c2e}.sidebar-logout:hover{background:linear-gradient(135deg,#ffdfb5,#f4c27f)}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--ink-soft)}.eyebrow+h1,.eyebrow+h2,.eyebrow+h3{margin-top:.15rem}.card{background:var(--paper);border:1px solid var(--border);border-radius:24px;padding:1.5rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.narrow-card{max-width:540px}.grid{display:grid;gap:1rem}.align-start{align-items:start}.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.stat-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.stat-card-copy{display:grid}.stat-card span{color:var(--ink-soft)}.stat-card-icon{width:1.35rem;height:1.35rem;color:var(--accent);flex:0 0 auto}.stat-card strong{display:block;margin-top:.5rem;font-size:2.4rem;line-height:1}.stack-lg,.stack-md,.stack-sm{display:grid}.stack-lg{gap:1.5rem}.stack-md{gap:1rem}.stack-sm{gap:.85rem}.toolbar-row,.action-row,.checkbox-row,.filter-row{display:flex;gap:.75rem;align-items:center}.toolbar-row{justify-content:space-between}.action-row{justify-content:flex-end;flex-wrap:wrap}.action-row input,.action-row select{width:auto;min-width:220px;margin-top:0}.toolbar-row.compact{justify-content:flex-end}.list-grid,.slot-list{display:grid;gap:.75rem}.list-item,.slot-item{display:grid;justify-items:start;border-radius:18px;background:var(--paper-soft);color:inherit;border:1px solid var(--border)}.list-item.active,.slot-item.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.filter-row{flex-wrap:wrap}.filter-chip{background:var(--paper-strong);color:inherit;border:1px solid var(--border);box-shadow:0 6px 18px #2c4a8c0f}.filter-chip.active{background:var(--accent-soft);border-color:#2d58d63d;color:var(--accent-dark);box-shadow:inset 0 0 0 1px #2d58d61f}.muted-block,.muted-text{color:var(--ink-soft)}.notice-banner{margin-bottom:1rem;padding:1rem 1.2rem;border-radius:16px;border:1px solid rgba(45,88,214,.18);background:#eaf0fff5;color:var(--accent-dark)}.code-inline{display:block;overflow-x:auto;padding:.85rem 1rem;border-radius:14px;background:#203252;color:#f7faff}.ghost-button{background:#fffffff0;color:inherit;border:1px solid var(--border);box-shadow:none}.text-action{padding:0;border:0;border-radius:0;background:transparent;color:var(--accent-dark);box-shadow:none;font-weight:500}.text-action:hover:not(:disabled){text-decoration:underline}.inline-actions{display:inline-flex;align-items:center;gap:.75rem;flex-wrap:wrap}.danger-button{background:linear-gradient(135deg,#d95a5a,#b13939);color:#fff;box-shadow:0 10px 24px #b1393938}.danger-button:hover:not(:disabled){background:linear-gradient(135deg,#df6666,#bc4343)}.calendar-card{padding:1rem;overflow:hidden}.calendar-card .fc{--fc-border-color: rgba(115, 138, 176, .2);--fc-button-bg-color: var(--accent);--fc-button-border-color: var(--accent);--fc-button-hover-bg-color: var(--accent-dark);--fc-button-hover-border-color: var(--accent-dark);--fc-button-active-bg-color: var(--accent-dark);--fc-button-active-border-color: var(--accent-dark);--fc-page-bg-color: transparent;--fc-neutral-bg-color: rgba(255, 255, 255, .7);--fc-today-bg-color: rgba(45, 88, 214, .08)}.calendar-card .fc-toolbar-title{font-size:1.1rem}.calendar-card .fc-col-header-cell-cushion,.calendar-card .fc-timegrid-slot-label-cushion,.calendar-card .fc-timegrid-axis-cushion{color:#5a6880;text-decoration:none}.calendar-card .fc-timegrid-now-indicator-line{border-top-width:2px;margin-top:-1px}.calendar-card .fc-timegrid-now-indicator-arrow{margin-top:-5px;margin-left:-5px;width:10px;height:10px;border:0;border-radius:999px;background:var(--fc-now-indicator-color)}.calendar-card .fc-timegrid-event-harness{margin-inline:2px}.calendar-card .fc-event{border-radius:14px;border:0;padding:.2rem .1rem;cursor:pointer}.calendar-card .fc-event.is-available{background:#2fb46342;box-shadow:inset 0 0 0 1px #1f7d4657;color:var(--success-ink)}.calendar-card .fc-event.is-available .fc-event-main,.calendar-card .fc-event.is-available strong{color:var(--success-ink)}.calendar-card .fc-event.is-booked{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff}.fc-event-body{display:grid;gap:.2rem;padding:.3rem .45rem;font-size:.8rem;line-height:1.25}.fc-event-body span{opacity:.9}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.5rem;background:#1b2a4d57;z-index:30}.modal-card{width:min(100%,520px);max-height:calc(100vh - 3rem);overflow:auto;background:#fff}.confirm-dialog{width:min(100%,460px)}.confirm-dialog-badge{display:inline-flex;width:fit-content;align-items:center;padding:.4rem .75rem;border-radius:999px;background:var(--warning-soft);color:var(--warning-ink);box-shadow:inset 0 0 0 1px var(--warning-border);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.confirm-dialog-title{margin:0}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{gap:1.5rem}.stats-grid{grid-template-columns:1fr}.calendar-card .fc-toolbar{gap:.75rem;align-items:flex-start}.calendar-card .fc-toolbar.fc-header-toolbar{flex-direction:column}}.table-wrap{overflow-x:auto}.picker-field,.time-combobox{position:relative}.picker-input-shell{position:relative;display:flex;align-items:center;gap:.65rem;margin-top:.35rem;padding:0 .2rem 0 .95rem;border-radius:14px;border:1px solid var(--border);background:#fff}.picker-input-shell:focus-within{border-color:#2d58d673;box-shadow:0 0 0 4px #2d58d61f}.picker-input-shell input{margin-top:0;padding:.85rem 0;border:0;background:transparent;box-shadow:none}.picker-input-shell input:focus{box-shadow:none}.picker-leading-icon{width:1rem;height:1rem;color:var(--ink-soft);flex:0 0 auto}.picker-trigger{width:2.75rem;height:2.75rem;display:grid;place-items:center;padding:0;border-radius:12px;background:transparent;color:var(--ink-soft);box-shadow:none;flex:0 0 auto}.picker-trigger:hover{background:var(--accent-soft);color:var(--accent)}.picker-popover{z-index:20;width:max-content;max-width:100%;padding:.85rem;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.calendar-popover .rdp-root{--rdp-accent-color: var(--accent);--rdp-accent-background-color: var(--accent-soft);--rdp-dropdown-gap: .35rem;--rdp-months-gap: .35rem;--rdp-nav_button-width: 2rem;--rdp-nav_button-height: 2rem;margin:0}.calendar-popover .rdp-months{justify-content:center}.calendar-popover table,.calendar-popover th,.calendar-popover td{padding:0;border:0;border-bottom:0}.calendar-popover .rdp-month_grid{border-collapse:separate;border-spacing:0}.calendar-popover .rdp-weekday{padding:.1rem 0;font-size:.82rem}.calendar-popover .rdp-caption{padding:0 0 .5rem}.calendar-popover .rdp-dropdowns{gap:.5rem}.calendar-popover .rdp-month_caption{font-weight:400}.calendar-popover .rdp-caption_label{font-weight:600}.calendar-popover .rdp-dropdown,.calendar-popover .rdp-dropdown option{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}.calendar-popover .rdp-button_previous,.calendar-popover .rdp-button_next{border-radius:10px;background:#fff;box-shadow:none}.calendar-popover .rdp-chevron{fill:var(--accent)}.calendar-popover .rdp-day_button{border:1px solid transparent;border-radius:10px;background:transparent;box-shadow:none}.calendar-popover .rdp-day_button:hover{background:transparent;color:var(--accent)}.calendar-popover .rdp-outside{color:#6b7a907a}.calendar-popover .rdp-outside .rdp-day_button:hover{color:#2d58d6b3}.calendar-popover .rdp-selected .rdp-day_button{border-color:#2d58d638;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff}.time-combobox{display:block;width:100%}.customer-combobox{display:block;width:100%;position:relative}.time-popover,.customer-popover{position:absolute;top:calc(100% + .5rem);left:0;right:0;z-index:25;box-sizing:border-box;padding:.35rem;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.time-listbox{display:grid;gap:.25rem;max-height:240px;overflow-y:auto;outline:none}.customer-listbox{display:grid;gap:.2rem;max-height:260px;overflow-y:auto;outline:none}.time-option,.time-empty-state{padding:.8rem .95rem;border-radius:12px}.customer-option,.customer-empty-state{padding:.6rem .8rem;border-radius:12px}.time-option{width:100%;cursor:pointer;text-align:left;background:transparent;box-shadow:none;color:inherit}.customer-option{width:100%;cursor:pointer;display:block;text-align:left;background:transparent;box-shadow:none;color:inherit}.time-option[data-focused],.time-option:hover{background:var(--accent-soft);color:var(--accent)}.customer-option[data-focused]{background:var(--accent-soft)}.time-option[data-selected]{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff}.time-empty-state{color:var(--ink-soft)}.customer-option-row{display:flex;align-items:baseline;gap:.55rem;min-width:0}.customer-empty-state{color:var(--ink-soft)}.customer-option-name{font-weight:600;color:#1f2a37;flex:0 1 auto;min-width:0}.customer-option-meta{font-size:.84rem;color:var(--ink-soft);flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-option[data-focused] .customer-option-name,.customer-option:hover .customer-option-name,.customer-option[data-focused] .customer-option-meta,.customer-option:hover .customer-option-meta{color:var(--accent)}.two-up{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{text-align:left;padding:.85rem .5rem;border-bottom:1px solid var(--border);vertical-align:top}.interactive-row{cursor:pointer}.interactive-row:hover{background:#2d58d60f}.drawer-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;justify-content:flex-end}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;padding:0;background:#1b2a4d47;opacity:0;animation:backdrop-fade-in .22s ease forwards}.drawer-panel{position:relative;width:min(100%,640px);height:100vh;padding:1.5rem;overflow-y:auto;background:radial-gradient(circle at top right,rgba(45,88,214,.09),transparent 28%),#f8fbff;box-shadow:-24px 0 60px #2c4a8c24;transform:translate(100%);opacity:.98;animation:drawer-slide-in .32s cubic-bezier(.22,1,.36,1) forwards}.drawer-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.drawer-header h3{margin:.25rem 0 0}.drawer-body,.drawer-actions{display:grid;gap:1rem}.drawer-actions{grid-template-columns:repeat(2,minmax(0,max-content))}.login-shell,.screen-center{display:grid;place-items:center;min-height:100vh;padding:1.5rem}.login-card{width:min(100%,420px);display:grid;gap:1.1rem;padding:2rem}.login-card .eyebrow{margin-bottom:0}.login-card h1{margin:0;font-size:2rem;line-height:1.1}.login-form{display:grid;gap:.95rem}.login-actions{display:grid;gap:.85rem}.error-text{color:var(--danger-ink)}.small-text{font-size:.85rem}@keyframes drawer-slide-in{0%{transform:translate(100%);opacity:.98}to{transform:translate(0);opacity:1}}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:860px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto;min-height:100vh;overflow:visible}.mobile-topbar{position:sticky;top:0;z-index:35;display:flex}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;border:0;padding:0;background:#1b2a4d57;opacity:0;pointer-events:none;transition:opacity .22s ease}.sidebar-backdrop.is-open{opacity:1;pointer-events:auto}.stats-grid,.two-up{grid-template-columns:1fr}.toolbar-row{flex-direction:column;align-items:stretch}.drawer-panel{width:100%;padding:1.25rem}.drawer-actions{grid-template-columns:1fr}.sidebar{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;height:100dvh;width:100%;gap:1.5rem;overflow-y:auto;padding-top:max(1.25rem,env(safe-area-inset-top));padding-bottom:max(1.25rem,env(safe-area-inset-bottom));transform:translateY(calc(-100% - 1.5rem));opacity:0;visibility:hidden;transition:transform .36s cubic-bezier(.22,1,.36,1),opacity .22s ease,visibility 0ms linear .36s;box-shadow:0 24px 60px #12214d38}.sidebar.is-open{transform:translateY(0);opacity:1;visibility:visible;transition:transform .36s cubic-bezier(.22,1,.36,1),opacity .22s ease,visibility 0ms linear 0ms}.content{overflow:visible;padding:1.25rem}}
