/* Whitefield's compact staff planner. Shared availability has no private fields. */
:root{--primary:#176c70;--primary-dark:#105458;--soft:#eaf4f3;--paper:#f5f7f8;--ink:#182f3b;--muted:#627580;--line:#e1e8eb;--sidebar:216px}
.sidebar{background:#132d3a;border:0;padding-top:26px}
.sidebar .brand,.sidebar .brand:hover{color:#fff}.sidebar .brand small{color:#b7cbd3}
.brand-mark{background:#efbb52;color:#132d3a;box-shadow:none}
.sidebar .workspace-label,.sidebar .nav-section{color:#93adb8}
.sidebar nav>a,.sidebar .help-link{color:#c2d2d9}
.sidebar nav>a:hover{background:#203f4d;color:#fff}
.sidebar nav>a.active{background:#254b57;color:#fff;box-shadow:inset 3px 0 #efbb52;border-radius:5px}
.sidebar .user-card{border-color:#35505c;color:#fff}.sidebar .user-card small{color:#b7cbd3}.sidebar .icon-button{color:#c2d2d9}
.sidebar .user-card>.avatar{background:#dceceb;color:#176c70}
.topbar{height:66px}.app-layout main{padding:28px 30px;max-width:1800px}
h1{font-size:28px;letter-spacing:-.8px}.eyebrow{color:#637a86;letter-spacing:1.3px}
.panel,.metric{border-radius:10px;box-shadow:0 2px 3px #102e3b03}.metric.accent{background:#eaf4f3;border-color:#c8dfdd}
.overview-planner{padding:0}.overview-planner>.panel-heading{padding:22px 24px 18px;margin:0}
.calendar-toolbar{background:#edf5f4;border-bottom:1px solid #d9e8e6;border-radius:10px 10px 0 0;margin-bottom:0}
.calendar-filters{padding-top:16px}.calendar-person{background:#fff;border:1px solid var(--line);border-radius:9px}
.planner-scroll{overflow:auto;max-width:100%;border-top:1px solid var(--line)}
.planner-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:780px;margin:0}
.planner-table th,.planner-table td{padding:10px 5px;border-bottom:1px solid var(--line);border-right:1px solid #eef1f3;vertical-align:middle;text-align:center;white-space:normal}
.planner-table thead th{background:#fcfdfd;color:var(--muted);font-size:11px;font-weight:500;padding:12px 4px;text-transform:none;letter-spacing:0}
.planner-table thead th>strong{display:inline-grid;place-items:center;width:29px;height:29px;font-size:16px;color:var(--ink);margin:0 5px}
.planner-table thead th>small{font-size:10px}.planner-table thead .is-today>strong{background:var(--primary);color:#fff;border-radius:50%}
.planner-table .planner-name{width:180px;text-align:left;padding:16px;position:sticky;left:0;background:#fff;z-index:1;border-right:1px solid var(--line)}
.planner-name small{display:block;color:var(--muted);font-weight:400;font-size:11px;margin-top:2px}
.planner-identity{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;overflow-wrap:anywhere;line-height:1.5}
.planner-identity .avatar{width:31px;height:31px}.planner-table td{height:105px}.planner-table .is-off{background:#f3f5f6}.planner-table td.is-today{box-shadow:inset 0 2px #176c70}
.planner-table tbody th{text-transform:none;letter-spacing:0;color:var(--ink)}
button.planner-slot:hover,button.planner-event:hover{background:#eaf4f3;color:var(--ink)}
.planner-table tbody tr:last-child>*{border-bottom:0}.planner-table tbody tr:hover{background:transparent}
button.planner-event,button.planner-slot,button.agenda-event,button.agenda-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;white-space:normal;font-weight:500;line-height:1.4;border-radius:6px;padding:8px 4px;gap:3px;min-height:64px}
button.planner-event{background:color-mix(in srgb,var(--person-colour) 10%,white);color:var(--ink);border:1px solid color-mix(in srgb,var(--person-colour) 35%,white);border-left:3px solid var(--person-colour);font-size:11px;margin:3px 0}
button.planner-event.pending{border-style:dashed;background:repeating-linear-gradient(135deg,#fff,#fff 5px,#f2f5f6 5px,#f2f5f6 10px)}
.planner-event small{font-size:10px}.planner-event .event-status{font-size:9px;color:#4c6572}
button.planner-slot{background:transparent;border:1px solid transparent;color:var(--muted);font-size:10px;font-weight:400}
.planner-slot small{font-size:10px}.planner-event:hover,.planner-slot:hover{outline:2px solid var(--primary);outline-offset:-2px}
.planner-table.long-planner{min-width:1900px}.long-planner .planner-name{width:170px}
.planner-agenda{display:none}.calendar-footer .legend-dot{background:var(--primary)}.calendar-footer .pending-dot{background:#fff;border:1px dashed var(--primary)}
.calendar-footer{font-size:11px}.balance-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}
.balance-strip .metric>strong{font-size:25px}.balance-strip .metric:first-child{border-top:3px solid var(--primary)}
.request-effect{background:var(--soft);padding:16px;border-radius:8px;margin-top:16px}.request-effect strong{display:block;font-size:15px;margin-bottom:4px}.request-effect p{font-size:12px;margin:0}
.request-summary .total{margin-top:16px}.day-detail-row a{display:block;margin-top:6px}.day-dialog{max-height:85vh;overflow:auto}
:focus-visible{outline:3px solid #b17b13;outline-offset:3px}.planner-scroll:focus-visible{outline-offset:-3px}
@media(min-width:761px) and (max-width:1150px){.app-layout main{padding:24px 20px}.planner-table{min-width:710px}.planner-table .planner-name{width:150px}.planner-table thead th>small{display:none}.planner-table thead th>strong{margin:0 3px}.planner-identity{font-size:11px}.planner-identity .avatar{display:none}}
@media(max-width:760px){.app-layout main{padding:22px 16px}.topbar{height:62px;padding:0 16px}h1{font-size:25px}.overview-planner>.panel-heading{padding:18px 16px;align-items:flex-start}.overview-planner>.panel-heading h2{font-size:16px}.overview-planner>.panel-heading .button{font-size:10px;padding:7px;white-space:normal;text-align:center;flex-shrink:0;max-width:96px}.planner-scroll{display:none}.planner-agenda{display:block;border-top:1px solid var(--line)}.agenda-day{display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.agenda-day:last-child{border:0}.agenda-day.is-today{background:#f1f8f7}.agenda-date{display:flex;flex-direction:column;color:var(--muted);font-size:11px;line-height:1.4}.agenda-date strong{font-size:21px;color:var(--ink)}.agenda-date small{color:var(--primary);font-weight:600;margin-top:4px}.agenda-events{min-width:0;display:flex;flex-direction:column;gap:8px}button.agenda-event{flex-direction:row;justify-content:flex-start;align-items:flex-start;text-align:left;gap:9px;background:#fff;color:var(--ink);border:1px solid var(--line);padding:10px;min-height:50px}button.agenda-event.pending{border-style:dashed}.agenda-event>span:last-child{min-width:0}.agenda-event strong,.agenda-event small{display:block;overflow-wrap:anywhere}.agenda-event small{font-size:10px;color:var(--muted);margin-top:3px}button.agenda-empty{font-size:11px;align-items:flex-start;text-align:left;background:transparent;color:var(--muted);border:0;min-height:44px;font-weight:400}.agenda-empty span{color:var(--primary);font-size:10px}.balance-strip{grid-template-columns:1fr;gap:10px}.balance-strip .metric{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:16px}.balance-strip .metric strong{grid-column:2;grid-row:1/3;align-self:center;margin:0;font-size:23px}.balance-strip .metric small{grid-column:1}.calendar-toolbar{border-radius:10px 10px 0 0}.day-detail-row .badge{margin-left:0}.people-strip{gap:8px}.calendar-person{flex-basis:180px}.segmented{max-width:100%;flex-wrap:wrap}}
