@font-face{font-family:Poppins;src:url("fonts/poppins-300.8d91ec1ca2d8.woff2") format('woff2');font-weight:300;font-display:swap}@font-face{font-family:Poppins;src:url("fonts/poppins-400.9212f6f9860f.woff2") format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url("fonts/poppins-500.a09f2fccfee3.woff2") format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Poppins;src:url("fonts/poppins-600.72993dddf88a.woff2") format('woff2');font-weight:600;font-display:swap}
:root{--ink:#171717;--muted:#686868;--line:#dededb;--paper:#f7f7f5}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.7 Poppins,Arial,sans-serif}a{color:inherit;text-underline-offset:4px}header{background:white;padding:25px 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:22px;text-decoration:none}.brand img{width:86px;height:45px;object-fit:contain}.brand span{border-left:1px solid var(--line);padding-left:22px}.brand strong{font-size:14px;letter-spacing:.08em;font-weight:500}.brand small{font-size:9px;letter-spacing:.15em}small{display:block;color:var(--muted);font-size:11px}nav{display:flex;gap:30px;padding:16px 5vw;border-bottom:1px solid var(--line);background:white;flex-wrap:wrap}nav a{font-size:12px;text-decoration:none}nav a:hover{text-decoration:underline}main{max-width:1440px;margin:auto;padding:48px 5vw 80px;min-height:72vh}h1{font-size:clamp(30px,4vw,48px);line-height:1.2;letter-spacing:-.045em;font-weight:300;margin:8px 0 20px}h2{font-weight:500;font-size:18px;margin:0 0 18px}h3{font-weight:500;font-size:16px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:500;margin:0 0 15px}.muted,.fine{color:var(--muted)}.fine{font-size:11px}.lead{font-size:16px;max-width:680px;color:var(--muted)}.heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}.panel{background:white;border:1px solid var(--line);padding:28px;margin-bottom:24px;min-width:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0}.stats article{background:white;border:1px solid var(--line);padding:24px}.stats span{font-size:12px}.stats strong{display:block;font-size:42px;font-weight:300;line-height:1.5}.columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.login{display:grid;grid-template-columns:1.2fr 1fr;gap:9vw;max-width:1120px;margin:9vh auto;align-items:center}.login h1{font-size:clamp(42px,5vw,70px)}.login .panel{padding:40px}label{display:block;font-size:12px;font-weight:500}input,select,textarea{display:block;width:100%;padding:11px 12px;margin-top:6px;border:1px solid #bcbcbc;border-radius:0;background:white;color:var(--ink);font:inherit;font-size:13px}input[type=checkbox]{display:inline-block;width:auto;margin-right:8px}button,.button{display:inline-block;background:var(--ink);color:white;padding:12px 20px;border:1px solid var(--ink);font:inherit;font-size:12px;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#404040}.secondary{background:white;color:var(--ink)}.secondary:hover{background:#eee}.quiet{background:none;color:var(--muted);border:0;padding:0}form p{margin:0 0 18px}.filters{display:flex;gap:16px;align-items:end;margin:24px 0}.filters label:first-child{flex:1}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}td,th{padding:16px 14px;border-bottom:1px solid var(--line)}td{font-size:12px}td:first-child,th:first-child{padding-left:0}.description{min-width:220px;max-width:400px}.badge{display:inline-block;font-size:10px;padding:5px 9px;background:#ededeb;border:1px solid #ddd;white-space:nowrap}.empty{text-align:center;color:var(--muted);padding:48px 20px}.pagination{display:flex;gap:25px;font-size:12px}.pagination span{margin-right:auto}dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px}dt{color:var(--muted)}dd{margin:0}.photos{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}.photos a{width:140px}.photos img{width:140px;height:110px;object-fit:cover}.actions{display:flex;gap:12px;margin-top:18px}.event{padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.event strong{font-weight:500}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.notice{border-left:3px solid #333;padding:14px;background:#eaeae7;margin-bottom:24px}.error,.errorlist{font-size:12px;font-weight:500}.errorlist{border-left:2px solid #333;padding:10px 25px}footer{border-top:1px solid var(--line);padding:24px 5vw;font-size:10px;letter-spacing:.07em;color:var(--muted);display:flex;justify-content:space-between}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #444;outline-offset:3px}@media(max-width:800px){.stats{grid-template-columns:repeat(2,1fr)}.columns,.login{grid-template-columns:1fr}.login{margin:20px auto;gap:35px}.filters{flex-wrap:wrap}.filters label{flex:1;min-width:170px}.heading{align-items:flex-start;flex-wrap:wrap}.brand strong{font-size:11px}.brand small{font-size:7px}.brand{gap:12px}.brand span{padding-left:12px}.brand img{width:65px}main{padding-top:30px}.panel{padding:20px}nav{gap:20px}}@media(max-width:420px){.stats{gap:8px}.stats article{padding:15px}.stats strong{font-size:34px}.login .panel{padding:25px}footer{display:block}.actions{flex-wrap:wrap}}

/* Accessible Excel drag-and-drop intake; the native file input remains usable. */
.drop-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:235px;padding:30px 20px;border:1px dashed #9b9b96;background:#fafaf8;text-align:center;cursor:pointer;transition:background .15s,border-color .15s}
.drop-zone svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.5;margin-bottom:8px}
.drop-zone strong{font-size:15px;font-weight:500}.drop-zone>span{color:var(--muted);font-size:12px}.browse-link{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.drop-zone:hover,.drop-zone.is-dragging{background:#eeeee9;border-color:#171717}.drop-zone.is-dragging{border-style:solid;outline:2px solid #171717;outline-offset:3px}
.drop-zone:focus-within{outline:2px solid #444;outline-offset:4px}.drop-zone input[type=file]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.selected-file{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:#f3f3f0;border:1px solid var(--line);margin-top:16px}.selected-file[hidden]{display:none}.selected-file>div{min-width:0}.selected-file strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.selected-file button{padding:7px 10px;font-size:11px;flex-shrink:0}
.upload-feedback{font-size:12px;margin:12px 0!important}.upload-feedback:empty{display:none}.upload-feedback.is-error{border-left:2px solid #171717;padding:10px 12px;background:#f0f0ed}button:disabled{opacity:.6;cursor:wait}
@media(prefers-reduced-motion:reduce){.drop-zone{transition:none}}@media(max-width:420px){.drop-zone{min-height:215px;padding:22px 14px}.drop-zone strong{font-size:14px}}

.import-columns{align-items:start}.upload-actions{margin-top:24px}.import-empty{text-align:center;padding:56px 24px;color:var(--muted)}.import-empty svg{width:48px;height:48px;stroke:#777;stroke-width:1.25;fill:none;margin-bottom:18px}.import-empty h2{color:var(--ink);margin-bottom:10px}.import-empty p{font-size:12px;max-width:300px;margin:auto}.result-filename{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.import-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.import-totals strong{display:block;font-size:32px;font-weight:300}.import-totals span{font-size:10px;color:var(--muted)}.import-issues{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.import-issues summary{font-size:12px;cursor:pointer}.issue-list{max-height:350px;overflow:auto;margin-top:12px}.issue-list td{overflow-wrap:anywhere}.import-history-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-top:1px solid var(--line);font-size:12px}.import-history-row>div{min-width:0}.import-history-row strong{font-weight:500;overflow-wrap:anywhere}.history-counts{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.import-result .actions{flex-wrap:wrap}@media(max-width:600px){.import-history-row{align-items:flex-start;flex-direction:column;gap:10px}.import-totals strong{font-size:28px}.import-empty{padding:30px 12px}}

.account{text-align:right}.metric{display:block;background:white;border:1px solid var(--line);padding:24px;text-decoration:none}.metric:hover,.task-card:hover{border-color:#333}.metric strong{display:block;font-size:42px;font-weight:300}.queue-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.queue-grid a,.task-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px;border:1px solid var(--line);background:white;text-decoration:none}.actions{margin:24px 0;flex-wrap:wrap}.task-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.task-card{background:white;border:1px solid var(--line);padding:24px;text-decoration:none}.task-card h2{margin-top:16px}.task-card>strong{display:block;margin-top:18px;font-size:12px}.form-page{max-width:760px;margin-top:24px}.form-page h1{font-size:32px}.task-row{border-width:0 0 1px;padding-left:0}.task-row>div{min-width:0}.task-row span{font-size:12px}.filters{flex-wrap:wrap}.filters label{min-width:140px}.form-page details{margin-bottom:24px}summary{cursor:pointer}.notice h3{margin-top:0}input[type=checkbox]{accent-color:#171717}input[type=checkbox]+label{display:inline}.upload-feedback[data-feedback]{white-space:pre-line}#id_working_days{display:flex;gap:12px;flex-wrap:wrap}#id_working_days label{display:flex;gap:6px;align-items:center}
@media(max-width:650px){.task-grid,.queue-grid{grid-template-columns:1fr}.metric strong{font-size:34px}.task-row{align-items:flex-start;flex-direction:column;gap:8px}.form-page{max-width:100%}.account small{max-width:100px;overflow-wrap:anywhere}}
@media print{header,nav,footer,form,.actions,.button,button{display:none!important}body{background:white}.panel{break-inside:avoid}main{padding:0;max-width:none}details{display:block}details>*{display:block!important}}

/* Role-specific work surfaces; colour is reserved for appointment urgency. */
.icon{width:18px;height:18px;display:inline-block;flex-shrink:0;vertical-align:-4px;fill:none;stroke:currentColor}.button .icon,button .icon{width:16px;height:16px;margin-right:5px}a .icon:last-child{margin-left:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.work-heading{margin-bottom:24px}.work-heading h1{font-size:38px;font-weight:400;margin-bottom:10px}.work-heading .muted{margin:0}.queue-tabs{padding:0;background:transparent;gap:6px;border:0;flex-wrap:wrap;margin:0 0 20px}.queue-tabs a{padding:10px 14px;border:1px solid var(--line);background:#fff;border-radius:6px;font-size:12px;text-decoration:none}.queue-tabs a[aria-current=page]{background:#171717;color:white;border-color:#171717}.queue-tabs span{display:inline-block;margin-left:8px;opacity:.7}.queue-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.queue-tools form{display:flex;gap:7px;max-width:480px;flex:1}.queue-tools input{margin:0;border-radius:5px;min-width:0}.queue-tools button{border-radius:5px;padding:9px 13px}.refresh-link{font-size:12px;text-decoration:none;white-space:nowrap}.work-list{display:grid;gap:16px;margin-bottom:24px}.work-card{border:1px solid #d7d7d2;background:white;border-radius:8px;min-width:0;overflow:hidden}.work-card h2{font-size:20px;line-height:1.4;margin:9px 0 10px}.work-card h2 a{text-decoration:none}.work-card h2 a:hover{text-decoration:underline}.card-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.kicker{font-size:12px;display:inline-flex;gap:7px;align-items:center}.ref{color:#71716c;font-size:11px;margin-left:7px}.brief{font-size:13px;color:#62625d;max-width:750px;margin:0 0 12px}.card-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px}.card-actions .button,.card-actions button{border-radius:5px;padding:10px 16px}.text-action{font-size:12px;text-decoration:none}.text-action:hover{text-decoration:underline}.field-card{display:grid;grid-template-columns:215px 1fr;border-left:5px solid var(--urgency,#a7aaa7)}.schedule-column{padding:24px;background:#fafaf8;border-right:1px solid var(--line)}.schedule-day{font-size:12px;display:flex;align-items:center;gap:8px}.schedule-time{font-size:28px;font-weight:500;display:block;margin-top:12px;line-height:1.4;white-space:nowrap;letter-spacing:-.7px}.schedule-time span{font-size:18px;font-weight:400}.time-zone{font-size:10px;color:var(--muted);display:block;margin:3px 0 13px}.relative-time{font-size:12px;font-weight:500;color:var(--urgency-text,#555);display:block}.schedule-column>.muted,.proposal-time{font-size:12px;margin-top:15px}.work-summary{padding:24px;min-width:0}.urgency-future{--urgency:#a6b5b9;--urgency-text:#425a61}.urgency-soon{--urgency:#b08b25;--urgency-text:#80621b}.urgency-imminent{--urgency:#c56a25;--urgency-text:#98450d}.urgency-live{--urgency:#388368;--urgency-text:#28614c}.urgency-overdue{--urgency:#bb4a43;--urgency-text:#a22e28}.urgency-paused,.urgency-inactive,.urgency-unscheduled{--urgency:#a4a4a0;--urgency-text:#60605c}.blocker-note{padding:10px 12px;background:#f0f0ed;font-size:12px;margin:12px 0}.next-action{font-size:12px;border-left:2px solid #999;padding-left:12px;margin:12px 0}.schedule-legend{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;font-size:10px;margin:24px 0;color:#666}.legend-dot{height:9px;width:9px;display:inline-block;border-radius:50%}.legend-dot.soon{background:#b08b25}.legend-dot.imminent{background:#c56a25}.legend-dot.live{background:#388368}.legend-dot.overdue{background:#bb4a43}.review-card{display:grid;grid-template-columns:280px 1fr}.review-evidence{background:#efefeb;padding:16px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px;align-items:stretch}.review-evidence a{display:block;text-decoration:none;background:white;border:1px solid #deded9;border-radius:5px;overflow:hidden}.review-evidence img{display:block;width:100%;height:175px;object-fit:contain;background:#fafaf8}.review-evidence a>span{font-size:10px;display:block;padding:9px 12px;border-top:1px solid var(--line)}.review-evidence a .icon{width:14px;height:14px}.review-summary{padding:24px;min-width:0}.review-facts{display:flex;gap:9px 20px;flex-wrap:wrap;font-size:11px;color:#666;margin:13px 0}.review-facts .icon{width:15px;height:15px}.visit-brief{font-size:13px;margin:15px 0;overflow-wrap:anywhere}.rework-marker{font-size:11px;color:#666;display:block;margin-bottom:12px}.quick-review{border-top:1px solid var(--line);margin-top:16px;margin-bottom:16px;padding-top:12px}.quick-review summary{font-size:12px;font-weight:500;list-style:none}.quick-review summary::-webkit-details-marker{display:none}.quick-review summary:after{content:'';float:right;width:7px;height:7px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);margin:5px}.quick-review[open] summary:after{transform:rotate(225deg)}.quick-review label{margin-top:15px}.quick-review label .muted{display:block;font-weight:400;font-size:10px}.quick-review textarea{border-radius:5px}.quick-review .card-actions{margin-top:12px}.missing-photo{padding:30px 10px;color:var(--muted);text-align:center;font-size:12px}.planning-card,.closure-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.planning-card .work-summary{flex:1}.planning-actions{padding:24px;display:flex;flex-direction:column;gap:15px;align-items:flex-start}.meta-line,.status-line{display:flex;align-items:center;gap:9px 18px;flex-wrap:wrap;font-size:12px;color:#62625d;margin:8px 0}.meta-line strong{font-weight:500}.closure-card{padding:24px}.evidence-viewer{border:0;border-radius:8px;padding:20px;background:#fff;width:min(1050px,95vw);max-height:92vh}.evidence-viewer::backdrop{background:#000a}.evidence-viewer form{display:flex;justify-content:flex-end;margin-bottom:14px}.evidence-viewer img{display:block;max-width:100%;max-height:70vh;margin:auto;object-fit:contain}.evidence-viewer p{font-size:12px;margin-bottom:0}.evidence-viewer button{border-radius:5px}.submission-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.submission-layout .form-page{margin-top:0}.current-evidence .photos a{width:100%;}.current-evidence .photos img{width:100%;height:280px;object-fit:contain;background:#f3f3ef}.compact-history{background:white;border:1px solid var(--line);border-radius:6px;padding:20px;margin-top:24px}.compact-history summary{font-size:13px;font-weight:500}.next-slot{margin-bottom:24px}.task-top h1{font-size:34px}.nav-icon{display:flex;align-items:center;gap:7px}.nav-icon .icon{width:16px;height:16px}.main-nav a[aria-current=page]{font-weight:500;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:10px}.main-nav{gap:25px}.badge{border-radius:4px}.panel{border-radius:6px}.form-page input,.form-page select,.form-page textarea{border-radius:4px}
@media(max-width:850px){.field-card{grid-template-columns:180px 1fr}.schedule-column,.work-summary,.review-summary{padding:19px}.review-card{grid-template-columns:220px 1fr}.review-evidence img{height:155px}.planning-card{gap:0}.planning-actions{padding:18px}.submission-layout{grid-template-columns:1fr}}
@media(max-width:600px){.field-card,.review-card{grid-template-columns:1fr}.schedule-column{border-right:0;border-bottom:1px solid var(--line);padding:14px 18px;display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center}.schedule-time{font-size:24px;margin:0;grid-column:2;grid-row:1 / 3}.schedule-time span{font-size:15px}.schedule-day{font-size:11px}.time-zone{margin:0}.relative-time{margin-top:6px;grid-column:1 / -1}.schedule-column>.muted,.proposal-time{grid-column:1 / -1;margin:5px 0}.work-summary,.review-summary{padding:18px}.work-card h2{font-size:19px}.queue-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.queue-tabs a{white-space:nowrap;padding:9px 12px}.queue-tools{gap:10px}.refresh-link{font-size:0}.refresh-link .icon{width:20px;height:20px}.work-heading .button{padding:9px 12px}.work-heading{gap:12px}.work-heading h1{font-size:32px}.review-evidence{border-right:0;border-bottom:1px solid var(--line);padding:12px;flex-direction:row;overflow-x:auto}.review-evidence a{min-width:200px;flex:1}.review-evidence img{height:160px}.planning-card,.closure-card{flex-direction:column;align-items:stretch;gap:0}.planning-actions{padding-top:0;flex-direction:row;flex-wrap:wrap;align-items:center}.card-actions{gap:12px}.quick-review button{font-size:11px;padding:10px 12px}.review-facts{gap:8px 13px}.closure-card .button{align-self:flex-start;margin-top:14px}.schedule-legend .muted{width:100%}.task-top h1{font-size:27px}.main-nav{gap:18px}.nav-icon{font-size:11px}}
.import-progress{margin:1.5rem 0;padding:1.2rem;background:#f6f6f6;border-radius:8px}.progress-heading{display:flex;justify-content:space-between;gap:1rem}.import-progress progress{display:block;width:100%;height:12px;margin:1rem 0;accent-color:#202020;border:0;border-radius:8px;overflow:hidden}.import-progress progress::-webkit-progress-bar{background:#ddd}.import-progress progress::-webkit-progress-value{background:#202020;transition:width .3s}.import-progress progress::-moz-progress-bar{background:#202020}.import-progress p{font-size:.85rem;margin:.5rem 0}

/* Keyboard bypass for repeated navigation; visible when focused. */
.table-wrap:focus-visible{outline:2px solid #444;outline-offset:3px}
.skip-link{position:absolute;top:8px;left:5vw;z-index:10;padding:10px 16px;background:var(--ink);color:white;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
