:root{color-scheme:dark;font-family:system-ui,sans-serif;background:#111519;color:#e9eef0}*{box-sizing:border-box}body{margin:0}main{max-width:760px;margin:10vh auto;padding:32px}.login{max-width:480px;background:#1b2229;border:1px solid #33404b;border-radius:16px}h1{font-size:30px;line-height:1.2}p{color:#b4c1c9;line-height:1.6}.label{color:#91ddbd;font-size:12px;letter-spacing:2px}label{display:block;margin:22px 0 8px}input,button{font:inherit;min-height:48px;width:100%;padding:12px;border-radius:8px;border:1px solid #506371}input{display:block;margin-top:8px;background:#11191e;color:#eef6fb}button{margin-top:24px;background:#91ddbd;color:#10231b;font-weight:700;cursor:pointer}input:focus-visible,button:focus-visible{outline:3px solid #b1e9fd;outline-offset:3px}.error{padding:12px;background:#462829;color:#ffd9d9;border-radius:8px}@media(max-width:600px){main,.login{margin:16px;padding:24px}h1{font-size:26px}}
a{color:#a4e5ce;text-underline-offset:4px}select{display:block;width:100%;min-height:48px;margin-top:8px;padding:12px;border:1px solid #506371;border-radius:8px;background:#11191e;color:#eef6fb;font:inherit}select:focus-visible,a:focus-visible{outline:3px solid #b1e9fd;outline-offset:3px}.workspace{max-width:1200px;margin:0 auto;padding:32px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:56px;padding-bottom:24px;border-bottom:1px solid #34434d}.brand{font-size:24px;font-weight:800;text-decoration:none;letter-spacing:3px}.brand span{display:block;font-size:9px;letter-spacing:2px;color:#b4c1c9}nav{display:flex;gap:24px}nav a{min-height:44px;display:inline-flex;align-items:center}.panel{padding:24px;background:#1b2229;border:1px solid #33404b;border-radius:12px;margin-bottom:20px}.narrow{max-width:550px;margin:0 auto}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}.cards .panel{margin:0}.forms{margin-top:32px}.form-grid,.balance{display:flex;gap:24px}.form-grid>label{flex:1}.balance strong{display:block;font-size:26px;color:#e9eef0}.hint{font-size:13px;color:#afbec7}.badge{display:inline-block;font-size:12px;padding:4px 10px;border:1px solid #617788;border-radius:20px;color:#c5d8e7}.resource{border-top:1px solid #34434d;margin-top:20px}li{line-height:1.8}.compact{max-width:300px}.button{display:inline-block;min-height:44px;padding:12px 18px;border:1px solid #a4e5ce;border-radius:8px;text-decoration:none}@media(max-width:650px){.workspace{padding:16px;margin:0}.topbar{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:24px}nav{gap:16px}.form-grid,.balance{flex-direction:column;gap:0}.panel{padding:20px}.cards{grid-template-columns:1fr}}
.team{margin-top:32px}.team-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #34434d;padding-bottom:12px}.team-row button{margin-top:0}.check{display:flex;align-items:center;gap:12px;min-height:44px;margin:0}.check input{width:22px;min-height:22px;margin:0}fieldset{border:1px solid #506371;border-radius:8px;margin-top:24px;padding:16px}@media(max-width:650px){.team-row{align-items:flex-start;flex-direction:column}}
.plan-toolbar{display:flex;gap:16px;align-items:end;margin-bottom:24px}.plan-toolbar>*{flex:1}.plan-toolbar button{margin-bottom:8px}.plan-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;border-bottom:1px solid #506371;padding:12px 0 20px}.plan-row label{margin:0}.plan-row .check{align-self:end;min-height:48px}.secondary{background:#23353c;color:#c1ebdb;width:auto;margin-top:12px}.plan-day{margin-bottom:24px;background:#1b2229}.plan-day legend{font-weight:700;padding:8px}.plan-preview{margin-top:24px;border-color:#91ddbd}.plan-history{margin-top:32px}.table-scroll{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;text-align:left}caption{text-align:left;font-weight:700;margin:16px 0}th,td{padding:12px;border-bottom:1px solid #506371;white-space:nowrap}.shortage{background:#462829}.plan-editor small{overflow-wrap:anywhere}@media(max-width:650px){.plan-toolbar{display:block}.plan-row{grid-template-columns:1fr 1fr}.plan-row .check{grid-column:1/-1}}
.staff-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:24px}.staff-layout aside{align-self:start}.assignment-card{padding:16px 0;border-bottom:1px solid #506371}summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}summary:focus-visible{outline:3px solid #b1e9fd}form[aria-busy=true] button{opacity:.65;cursor:wait}.staff-warnings .error{margin:8px 0}.staff-layout input[type=color]{padding:4px}@media(max-width:750px){.staff-layout{display:block}}
.calendar-page{max-width:1500px}.calendar-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.calendar-heading h1{margin:8px 0}.calendar-heading p{margin:8px 0}.calendar-actions{display:flex;gap:12px;flex-wrap:wrap}.calendar-navigation{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:20px 0}.calendar-navigation nav{gap:8px;flex-wrap:wrap}.button.selected{background:#91ddbd;color:#10231b;font-weight:700}.calendar-filters{padding:8px 20px}.calendar-filter-fields{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;align-items:end;gap:14px;padding-bottom:16px}.calendar-filter-fields label{margin:8px 0 0}.calendar-filter-fields button{margin:0}.calendar-metrics{display:flex;gap:36px;flex-wrap:wrap;padding:12px 0}.calendar-metrics>div{display:flex;flex-direction:column;gap:5px}.calendar-metrics span,.calendar-metrics small{color:#b4c1c9}.calendar-metrics strong{font-size:23px}.calendar-day-tools{display:flex;align-items:center;justify-content:space-between;gap:16px}.calendar-legend{font-size:13px}.legend-shortage{color:#ffb5aa}.legend-surplus{color:#93bdff}.calendar-scroll{max-height:76vh;min-height:280px;overflow:auto;border:1px solid #43515e;border-radius:12px;background:#172027;isolation:isolate}.calendar-scroll:focus-visible{outline:3px solid #b1e9fd}.calendar-track{display:flex;align-items:stretch;min-width:max-content}.calendar-time-column{width:92px;flex:0 0 92px;position:sticky;left:0;z-index:5;background:#1b2730;border-right:1px solid #52626d}.calendar-role-column{flex-shrink:0;border-right:1px solid #42505d}.calendar-column-heading{height:52px;position:sticky;top:0;z-index:4;margin:0;padding:16px 12px;background:#24333e;border-bottom:2px solid var(--role-color,#617788);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-time-column .calendar-column-heading{z-index:6}.cal-axis{position:relative}.calendar-tick{position:absolute;left:8px;font-size:13px;line-height:1.2}.calendar-tick small{display:block;font-size:10px;color:#9cadb8}.calendar-rule{position:absolute;left:0;right:0;border-top:1px solid #30414d}.calendar-coverage{position:absolute;left:0;width:28px;text-align:center;font-size:11px;line-height:22px;overflow:hidden}.is-shortage{background:#67322e;color:#ffe4dd}.is-surplus{background:#274667;color:#d2e5ff}.is-covered{background:#214136;color:#b0dfc1}.calendar-card{position:absolute;display:block;padding:4px 6px;overflow:hidden;border:1px solid #566979;border-left:3px solid var(--role-color);border-radius:5px;background:#2a3a47;color:#f5f7f9;text-decoration:none;line-height:1.3;font-size:12px;z-index:1}.calendar-card-name{display:flex;align-items:center;gap:5px;white-space:nowrap}.calendar-card-name strong{overflow:hidden;text-overflow:ellipsis}.calendar-card-time,.calendar-card small{display:block;margin-top:3px}.avatar-initial{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#496070;color:#fff;font-size:11px}.calendar-card:focus-visible,.calendar-card:hover{min-height:76px;z-index:8;overflow:visible;box-shadow:0 6px 18px #0008;outline:2px solid #b1e9fd}.calendar-card.is-neighbor{border-style:dashed;background:#22343d}.calendar-details{margin-top:20px}.calendar-overview{display:grid;gap:12px}.calendar-month{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.calendar-day-summary{padding:14px;background:#1b252d;border:1px solid #43515e;border-radius:10px;min-width:0}.calendar-day-summary h2{font-size:21px;margin:0 0 12px}.calendar-day-summary h2 small{font-size:12px;color:#aebfc9}.calendar-day-summary p{font-size:13px;line-height:1.4}.calendar-day-summary ul{font-size:12px;padding-left:18px}.calendar-day-summary.has-shortage{border-top:3px solid #df9b88}.calendar-day-summary.is-unconfigured{border-style:dashed}.calendar-open-day{display:inline-flex;align-items:center;min-height:44px;font-size:12px}.calendar-weekday{text-align:center;color:#bbcbd5;padding:10px}.day-deficit strong{color:#ffd0c4}.day-hours{color:#bed3e0}@media(max-width:750px){.calendar-heading{align-items:flex-start;flex-direction:column}.calendar-actions .button{font-size:13px}.calendar-filter-fields{grid-template-columns:1fr 1fr}.calendar-filter-fields button{grid-column:1/-1}.calendar-page .topbar{margin-bottom:16px}.calendar-metrics{gap:16px}.calendar-metrics strong{font-size:19px}.calendar-day-tools h2{font-size:18px}.calendar-scroll{max-height:78dvh;min-height:420px}.calendar-time-column{width:76px;flex-basis:76px}.calendar-week{grid-template-columns:1fr}.calendar-month{gap:4px}.calendar-month .calendar-day-summary{padding:6px;min-height:142px}.calendar-month .calendar-day-summary h2{font-size:18px}.calendar-month h2 small{display:none}.calendar-month .day-deficit span{display:none}.calendar-month .calendar-day-summary p{font-size:10px;overflow-wrap:anywhere}.calendar-month .calendar-open-day{font-size:10px}.calendar-month .calendar-day-summary h2 a{display:inline-flex;min-height:44px;align-items:center}.calendar-filter-explanation{font-size:12px}}

.calendar-overview-scroll{overflow-x:auto}.calendar-overview-scroll:focus-visible{outline:3px solid #b1e9fd}@media(max-width:750px){.calendar-month{min-width:770px;gap:8px}.calendar-month .calendar-day-summary{padding:10px}.calendar-month .calendar-day-summary p,.calendar-month .calendar-open-day{font-size:12px;overflow-wrap:normal}.calendar-month .day-deficit span{display:inline}.calendar-month h2 small{display:inline}}
.booking-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:24px}.booking-layout>section{align-self:start}.booking-match{border-top:1px solid #506371;padding:8px 0}.booking-match button{margin-top:0}textarea{display:block;width:100%;min-height:100px;padding:12px;background:#11191e;color:#eef6fb;border:1px solid #506371;border-radius:8px;font:inherit}textarea:focus-visible{outline:3px solid #b1e9fd}@media(max-width:750px){.booking-layout{display:block}}
.table-calendar-day{margin-top:32px}.table-calendar-column{width:240px}.table-calendar-block{position:absolute;left:4px;right:4px;padding:4px 8px;overflow:hidden;line-height:1.35;font-size:12px;border-radius:5px;text-decoration:none}.table-calendar-block strong,.table-calendar-block span,.table-calendar-block small{display:block}.table-booked{background:#29435a;color:#e9f4ff;border:1px solid #7ca6c9;z-index:2}.table-free{background:#193c30;color:#b1edcd;border:1px solid #3c755c;z-index:1}.table-closed{background:repeating-linear-gradient(135deg,#433838,#433838 8px,#302b2b 8px,#302b2b 16px);color:#efcecb;z-index:1}.table-overcapacity{border:2px solid #eab77d}.table-calendar-block:focus-visible,.table-calendar-block:hover{min-height:76px;z-index:6;overflow:visible;outline:3px solid #b1e9fd}.table-calendar-column .calendar-column-heading{z-index:7}

.billing-quote dt{font-size:14px;color:#b4c1c9;line-height:1.5}.billing-quote dd{margin:4px 0 18px;font-weight:600;line-height:1.5}.billing-quote dd[data-testid="activation-amount"]{font-size:26px;color:#91ddbd}

.directory-scroll{overflow:auto;max-width:100%}.directory-scroll:focus-visible{outline:3px solid #b1e9fd}.directory-table{width:100%;border-collapse:collapse}.directory-table td{white-space:normal;min-width:150px;max-width:360px;overflow-wrap:anywhere;vertical-align:top}.directory-table td:first-child{min-width:240px}
