:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#19303d;background:#f2f5f5;font-synthesis:none;--ink:#19303d;--teal:#087f7b;--line:#dde6e6;--muted:#637984;--navy:#102735}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #5cc7bb;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}.topbar{height:82px;background:var(--navy);display:flex;justify-content:space-between;align-items:center;padding:0 max(5vw,24px);color:white}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;font-size:16px;letter-spacing:.08em;font-weight:750}.brand small{display:block;color:#91adaf;font-size:10px;letter-spacing:.24em;margin-top:5px}.brandmark{height:40px;width:42px;border:1px solid #44606a;border-radius:11px;display:flex;align-items:center;justify-content:center;letter-spacing:-.1em;font-size:22px}.brandmark span{color:#4dc2b5}.userbar{display:flex;align-items:center;gap:10px;font-size:13px}.avatar{width:31px;height:31px;background:#294653;border-radius:50%;display:grid;place-items:center}.userbar .text-button{color:#b5c9cc;margin-left:10px}main{max-width:1500px;margin:0 auto;padding:42px max(3.7vw,24px) 60px}.eyebrow,.small-label{font-size:10px;font-weight:750;letter-spacing:.14em;color:var(--teal)}.eyebrow{margin-bottom:12px}h1{font-size:29px;font-weight:650;letter-spacing:-.035em;line-height:1.2}h2{font-size:17px;font-weight:650;letter-spacing:-.02em}h3{font-size:19px;font-weight:650;letter-spacing:-.02em}p{line-height:1.6;color:var(--muted);font-size:14px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:29px}.page-heading p:last-child{margin-top:9px}.date{font-size:12px;color:var(--muted);white-space:nowrap;padding-bottom:3px}.card{background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 4px 17px #17374105}.workspace-grid{display:grid;grid-template-columns:minmax(360px,1.55fr) minmax(310px,1fr);align-items:start;gap:24px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 26px 19px}.count{font-size:11px;background:#e9f3f1;color:#33716b;border-radius:6px;padding:5px 8px;font-weight:700}.filters{padding:0 26px 20px;display:grid;grid-template-columns:1fr 1.25fr;gap:15px}label{display:grid;gap:8px;font-size:12px;font-weight:600;color:#4b636e}input,select{width:100%;padding:12px 13px;color:var(--ink);background:#fbfcfc;border:1px solid #d5dfe1;border-radius:9px;font-size:14px;min-height:44px}input::placeholder{color:#81929a}select{appearance:auto}.list-caption{padding:12px 26px;background:#f7f9f9;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:10px;color:#6b818a;line-height:1.5}.text-button{background:transparent;border:0;padding:4px 0;color:var(--teal);font-size:11px;white-space:nowrap;font-weight:600}.house-list{min-height:355px;max-height:580px;overflow:auto;padding:8px}.house{width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:11px;padding:17px 17px;display:grid;grid-template-columns:1fr auto;gap:7px 14px;position:relative}.house+.house:before{content:"";position:absolute;left:18px;right:18px;top:-1px;border-top:1px solid #edf1f1}.house:hover{background:#f5f9f8}.house.active{background:#eef8f5;border-color:#b5d9d0}.house.active:before,.house.active+.house:before{display:none}.house strong{font-size:14px;font-weight:650}.house .customer{font-size:12px;color:var(--muted);grid-column:1}.house .nvt{font-size:10px;color:#718792;align-self:center;grid-column:2;grid-row:1}.house .tags{display:flex;gap:6px;grid-column:1/-1;flex-wrap:wrap;margin-top:3px}.tag{font-size:10px;border-radius:5px;background:#eef2f3;color:#627a86;padding:4px 6px}.tag.priority{background:#e2f2ea;color:#28775c}.tag.hold{background:#fff3d7;color:#967029}.tag.locked{background:#f8e8e5;color:#975249}.empty{padding:70px 32px;text-align:center;font-size:14px;color:var(--muted);line-height:1.7}.phone-card{overflow:hidden}.status-badge{display:flex;align-items:center;gap:6px;background:#f2f5f5;padding:6px 8px;border-radius:6px;color:#6c818a;font-size:10px;white-space:nowrap}.status-badge i{width:6px;height:6px;background:#a4b3b8;border-radius:50%}.status-badge.ready{background:#eaf5ef;color:#347654}.status-badge.ready i{background:#2ba36c}.status-badge.busy{background:#fff2d9;color:#977332}.status-badge.busy i{background:#c99d35}#phone-setup{margin:0 24px 22px;padding:23px 20px;background:#f1f7f5;border:1px solid #e2eeea;border-radius:12px;text-align:center}.phone-symbol{margin:0 auto 13px;display:grid;place-items:center;height:43px;width:43px;background:white;color:var(--teal);font-size:25px;border-radius:50%}#phone-setup h3{font-size:17px}#phone-setup p{font-size:12px;margin:8px 0 17px}#phone-setup small{display:block;color:#7b8c91;font-size:10px;margin-top:11px}.button{border:0;border-radius:9px;padding:13px 16px;min-height:45px;font-size:13px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:14px}.primary{background:var(--teal);color:white}.primary:hover:not(:disabled){background:#066e6b}#connect{width:100%}#phone-ready{margin:0 26px 18px;display:flex;justify-content:space-between;gap:15px}.ready-copy{font-size:11px;color:#53856e}.selected-house{padding:24px 26px;border-top:1px solid var(--line)}.selected-house h3{margin-top:12px;font-size:22px;line-height:1.3}.selected-house p{margin-top:6px;font-size:12px}.selected-meta{display:flex;align-items:center;justify-content:space-between}.priority{font-size:10px;font-weight:600;color:#28775c}.person{display:flex;align-items:center;gap:12px;padding:21px 0 20px}.person-icon{font-size:26px;color:#6f9d94}.person strong{display:block;font-size:13px;font-weight:600}.person span:last-child{display:block;font-size:12px;color:var(--muted);margin-top:5px}.call-button{background:var(--teal);color:white;width:100%;margin-top:14px}.call-controls{display:flex;gap:9px;padding:0 26px 24px}.call-controls .button{flex:1}.secondary{background:#eaf0f1;color:#36505c}.secondary[aria-pressed=true]{background:#fff1d4;color:#8c681e}.danger{background:#b74949;color:white}.notice{background:#fff5df;color:#88703b;border-radius:7px;padding:10px 12px;line-height:1.5}.call-progress{display:flex;justify-content:space-between;align-items:center;padding:15px 0 3px;font-size:12px;color:var(--teal)}.call-progress strong{font-variant-numeric:tabular-nums;font-size:19px}.incoming{padding:20px 26px;border-top:1px solid var(--line)}.incoming p{margin:8px 0 16px}.incoming .call-controls{padding:0}.tip{display:flex;gap:13px;padding:22px 17px;color:#6b8b87}.tip p{font-size:11px}.tip strong{display:block;color:#4f6b74;font-size:11px;margin-bottom:4px}.error{font-size:12px;background:#fff0ed;color:#a44338;padding:12px 14px;border-radius:8px;line-height:1.6}#phone-error{margin:0 24px 24px}.login-layout{min-height:70vh;display:grid;grid-template-columns:1.3fr 1fr;gap:11%;align-items:center;max-width:1070px;margin:auto}.intro h1{font-size:49px;line-height:1.12;margin:21px 0 25px}.intro>p:not(.eyebrow){font-size:16px;max-width:430px}.intro-line{display:flex;gap:12px;align-items:center;font-size:11px;color:#79908f;margin-top:43px}.intro-line span{height:3px;width:35px;background:#a4cbc2}.login-card{padding:35px}.login-card h2{margin:14px 0 9px;font-size:25px}.login-card>p{font-size:12px;margin-bottom:27px}.login-card label{display:block;margin-top:18px;margin-bottom:8px}.login-card .button{width:100%;justify-content:space-between;margin-top:25px}.login-card .error{margin:18px 0 0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;box-shadow:0 6px 30px #10273525;border-radius:10px;padding:14px 21px;font-size:13px;max-width:90vw;z-index:10}@media(max-width:950px){main{padding:30px 24px}.page-heading h1{font-size:25px}.date{display:none}.workspace-grid{grid-template-columns:minmax(310px,1.2fr) minmax(290px,1fr);gap:16px}.panel-title,.selected-house{padding-left:20px;padding-right:20px}.filters{padding-left:20px;padding-right:20px;grid-template-columns:1fr}.list-caption{padding-left:20px;padding-right:20px}.list-caption>span{display:none}.login-layout{gap:6%}.intro h1{font-size:39px}.login-card{padding:26px}}@media(max-width:700px){.topbar{height:71px;padding:0 19px}.brand{font-size:13px}.brandmark{height:35px;width:36px;font-size:19px}.userbar{font-size:11px;gap:7px}.userbar .text-button{margin-left:2px;font-size:10px}.avatar{display:none}main{padding:25px 16px 50px}.page-heading{margin-bottom:22px}.page-heading h1{font-size:25px;max-width:330px}.page-heading p:last-child{font-size:12px}.eyebrow{font-size:9px}.workspace-grid{display:flex;flex-direction:column;gap:18px}.contacts-panel,.phone-column{width:100%}.phone-column{order:0}.contacts-panel{order:1}.phone-card{border-radius:14px}.phone-card .panel-title{padding:18px 20px 15px}#phone-setup{padding:16px;margin:0 18px 18px;display:grid;grid-template-columns:1fr auto;text-align:left;gap:6px 12px}.phone-symbol{display:none}#phone-setup h3{font-size:15px}#phone-setup p{font-size:11px;margin:0;grid-column:1;grid-row:2}#connect{grid-column:2;grid-row:1/3;align-self:center;width:auto;font-size:11px;padding:11px}#phone-setup small{grid-column:1/-1;font-size:9px;margin-top:4px}.selected-house{padding:19px 20px}#selected-empty h3{font-size:17px}#selected-empty p{margin-top:7px}.tip{display:none}.filters{grid-template-columns:.9fr 1.1fr;gap:10px}.house-list{max-height:470px;min-height:170px}.panel-title{padding:19px 20px}.house{padding:15px 11px}.login-layout{display:block;min-height:0}.intro{margin:20px 9px 32px}.intro h1{font-size:36px;margin:17px 0}.intro>p:not(.eyebrow){font-size:13px}.intro-line{display:none}.login-card{padding:25px}.login-card h2{font-size:23px}.person{padding:15px 0}.status-badge{font-size:9px}.call-controls{padding:0 20px 20px}}@media(prefers-reduced-motion:no-preference){.button,.house{transition:background .15s,opacity .15s}}

.test-call-form{padding:18px 26px 22px;border-top:1px solid var(--line)}.test-call-row{display:flex;gap:8px;margin-top:9px}.test-call-row input{min-width:0;flex:1}.test-call-row .button{flex-shrink:0;font-size:11px;padding:12px}#call-progress{padding:16px 26px;gap:12px}#call-state{overflow-wrap:anywhere}@media(max-width:700px){.test-call-form{padding:18px 20px}#call-progress{padding:15px 20px}.test-call-row{flex-wrap:wrap}.test-call-row input{flex-basis:150px;font-size:16px}}
/* NVT work queue and touch-friendly result controls, using Cockpit status colours. */
textarea{font:inherit;resize:vertical;width:100%;padding:12px;border:1px solid #d5dfe1;border-radius:9px;background:#fbfcfc;min-height:90px;font-size:14px;color:var(--ink)}summary{cursor:pointer;font-size:13px;font-weight:600;padding:13px 0;min-height:44px;color:#36505c}details>ol{padding-left:20px;font-size:13px;line-height:1.6;color:#4b636e}details li+li{margin-top:9px}.heading-actions{display:flex;align-items:center;gap:16px}.customer-workflow{padding:0 26px 22px;border-top:1px solid var(--line)}.customer-workflow details{border-bottom:1px solid var(--line)}#history p{font-size:11px;padding:6px 0}#save-note{min-height:40px}.outcomes{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:20px}.outcome{border:1px solid transparent;border-radius:10px;font-size:15px;font-weight:700;min-height:57px;padding:12px}.scheduled{color:#1d63b9;background:#dfeeff;border-color:#2f7de1}.cancelled{color:#9b3935;background:#fde2df;border-color:#d9534f}.clarification{color:#634aa0;background:#ece5fb;border-color:#8b6fc9}.not-reached{color:#79600d;background:#fff1b8;border-color:#e8c547}.workflow-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:17px}.workflow-footer .text-button{min-height:45px;font-size:13px}#next-house{padding:12px 15px;border-radius:9px;background:#102735;color:white}.proposal,.sms-panel{background:#f3f8f7;border:1px solid #dce8e4;border-radius:12px;padding:18px;margin-top:16px}.proposal h3,.sms-panel h3{font-size:16px;line-height:1.4;margin:8px 0}.proposal p,.sms-panel p{font-size:12px}.proposal label,.sms-panel label{margin-top:13px}.proposal small{display:block;font-size:11px;color:var(--muted);margin-top:7px}.proposal-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px}.proposal-actions .text-button{min-height:44px}.sms-panel{margin:0 20px 20px}.sms-panel textarea{margin-top:10px}.test-details{padding:0 26px;border-top:1px solid var(--line)}.test-details .test-call-form{padding:8px 0 18px;border:0}.nvt-wrap{border-bottom:1px solid #edf1f1}.nvt-tile{background:white;border:0;border-radius:10px;padding:16px;width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:15px}.nvt-tile:hover{background:#f5f9f8}.nvt-copy{display:grid;gap:7px}.nvt-copy strong{font-size:16px}.nvt-copy small{color:var(--muted);font-size:11px}.locked-copy{color:#975249!important}.nvt-ring{position:relative;width:60px;height:60px;display:grid;place-items:center;flex-shrink:0}.nvt-ring svg{position:absolute;width:60px;height:60px;inset:0}.nvt-ring strong{font-size:20px}.ring-track{stroke:#e3e9ed}.ring-fill{stroke:#2f7de1}.nvt-ring.near .ring-fill{stroke:#e2a334}.nvt-ring.done .ring-fill{stroke:#2ca66f}.report-link{display:block;font-size:12px;padding:0 16px 15px;color:var(--teal)}.house{border-left:4px solid #98a6b3;background:#f7f9fb;margin:5px 0}.house.active{outline:2px solid var(--teal);outline-offset:-2px}.house .status-label{grid-column:2;grid-row:1/3;align-self:center}.house:before{display:none}.house.status-built,.house.status-external{border-left-color:#2ca66f;background:#f2fbf7}.house.status-scheduled{border-left-color:#2f7de1;background:#f2f7ff}.house.status-not_reached,.house.status-contacted{border-left-color:#e8c547;background:#fffbed}.house.status-clarification{border-left-color:#8b6fc9;background:#f8f5ff}.house.status-cancelled{border-left-color:#d9534f;background:#fff4f3}.house.status-consent_pending,.house.status-consent_refused,.house.status-blocked{border-left-color:#e2a334;background:#fffaf0}.status-built .status-label,.status-external .status-label{background:#dcf5ea;color:#157151}.status-scheduled .status-label{background:#dfeeff;color:#1d63b9}.status-not_reached .status-label{background:#fff1b8;color:#79600d}.status-clarification .status-label{background:#ece5fb;color:#634aa0}.status-cancelled .status-label{background:#fde2df;color:#9b3935}dialog{border:1px solid var(--line);border-radius:18px;max-width:calc(100vw - 28px);width:1350px;max-height:92dvh;padding:24px;color:var(--ink);box-shadow:0 20px 100px #10273540}dialog::backdrop{background:#10273599}.week-top,.week-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.week-top p{margin-top:5px}.week-toolbar{justify-content:center;margin:20px 0 10px}.week-toolbar strong{font-size:14px}.week-help{font-size:12px;margin:10px 0}.week-scroll{overflow:auto;max-height:65dvh;border:1px solid var(--line);border-radius:10px}.week-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:1390px;font-size:12px}.week-table th,.week-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;vertical-align:top;width:180px}.week-table th:first-child{width:130px;position:sticky;left:0;z-index:2;background:#f2f6f5}.week-table thead th{position:sticky;top:0;background:#102735;color:white;z-index:3;padding:14px 10px}.week-table thead th:first-child{z-index:4;background:#102735}.week-table td select{font-size:11px;padding:8px 5px;min-height:40px;background:#f4f8f7}.deployment{display:block;min-height:40px;font-size:12px;padding-top:8px}.window-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#637984;margin:10px 0 7px}.slot{width:100%;min-height:54px;text-align:left;border-radius:7px;border:1px solid #e8c547;background:#fffbed;padding:8px;margin-bottom:6px;font-size:12px;color:#79600d}.slot small{display:block;font-size:10px;margin-top:3px;line-height:1.4}.slot.booked{background:#dfeeff;border-color:#a8c9f3;color:#1d63b9;opacity:1}.slot.free:disabled{background:#f1f4f5;border-color:#e1e7e8;color:#81929a;opacity:.7}.slot.free:not(:disabled):hover{background:#fff1b8}.unassigned-row{padding:10px 0;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);font-size:12px}.unassigned-row span{flex:1}.unassigned-row select{max-width:230px}#unassigned h3{font-size:15px;margin-top:20px}#unassigned p{font-size:12px;margin:6px 0}.customer-workflow .error{margin-top:12px}.selected-house.status-built{border-top-color:#2ca66f}@media(max-width:700px){.heading-actions{align-self:flex-start}.heading-actions .button{font-size:11px;padding:10px}.customer-workflow{padding:0 20px 18px}.test-details{padding:0 20px}.outcome{min-height:60px}.workflow-footer .text-button{font-size:12px}textarea,input[type=time]{font-size:16px}dialog{max-width:100vw;width:100vw;max-height:100dvh;height:100dvh;border:0;border-radius:0;padding:17px}.week-table th:first-child{width:95px}.week-table{width:1355px}.week-toolbar strong{font-size:12px}.week-scroll{max-height:68dvh}.unassigned-row{flex-wrap:wrap}.unassigned-row span{flex-basis:100%}.sms-panel{margin:0 16px 18px}.page-heading{align-items:center;gap:8px}.page-heading h1{font-size:22px}}@media(prefers-reduced-motion:no-preference){.slot.free:not(:disabled){animation:slot-glow 2.8s ease-in-out infinite}@keyframes slot-glow{50%{box-shadow:0 0 0 2px #e8c54760}}}
/* Mobile: all three teams and Monday to Friday, with progress rings per window. */
.mobile-week{display:none}.slot-detail-dialog{width:440px;max-width:calc(100vw - 24px);height:auto;max-height:85dvh;border:1px solid var(--line);border-radius:18px;padding:22px}.slot-detail-dialog .week-top h2{font-size:18px}.slot-detail-dialog .week-top .button{padding:10px;font-size:12px}.slot-detail-dialog .slot-detail-team{margin-top:18px;font-weight:650;color:var(--ink)}.slot-detail-dialog h3{margin:18px 0 5px;font-size:21px;overflow-wrap:anywhere}.slot-detail-dialog>.button{margin-top:22px;width:100%}.slot-detail-dialog>.error{margin-top:12px}.slot-detail-dialog>label{margin-top:18px}.window-detail-slots{display:grid;gap:8px;margin-top:18px;--progress:#c75650;--progress-wash:#fff6f5}.window-detail-slots.partial{--progress:#c9851b;--progress-wash:#fff8eb}.window-detail-slots.full{--progress:#20966a;--progress-wash:#edf9f3}.window-detail-slot{display:flex;align-items:center;gap:12px;padding:9px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:10px;text-align:left;font-size:14px;min-height:56px}.detail-ring{width:36px;height:36px;flex-shrink:0;border:2px solid var(--progress);border-radius:50%;display:grid;place-items:center;background:var(--progress-wash);color:var(--progress);font-size:22px}.window-detail-slot.filled .detail-ring{background:var(--progress);color:white;font-size:18px;font-weight:750}
@media(max-width:700px),(max-width:1100px) and (orientation:landscape) and (max-height:600px) and (pointer:coarse){
 #week-dialog{padding:12px max(10px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));overflow-y:auto}
 #week-dialog .week-top{gap:8px}#week-dialog .week-top>div{min-width:0}#week-dialog .week-top h2{font-size:18px}#week-context{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 115px)}
 #week-dialog .week-top>.button{font-size:11px;padding:10px;min-height:44px}#week-dialog .week-toolbar{margin:9px 0 8px;justify-content:space-between;gap:7px}#week-dialog .week-toolbar>.button{padding:9px 13px;min-height:44px}#week-dialog .week-toolbar strong{font-size:11px;text-align:center;line-height:1.4}
 #week-dialog .week-help,#week-dialog .week-table{display:none}#week-grid{max-height:none;overflow:visible;border:0;border-radius:0}.mobile-week{display:block}.mobile-week-days,.mobile-window-row{display:grid;grid-template-columns:29px repeat(5,minmax(0,1fr));gap:2px}.mobile-week-days{padding:0 5px;margin-bottom:6px}
 .mobile-week-day{color:var(--muted);min-height:34px;padding:2px 0;display:grid;place-items:center;gap:1px;border-radius:6px}.mobile-week-day span{font-size:10px}.mobile-week-day strong{font-size:14px;color:var(--ink)}.mobile-week-day.today{background:#e1eeeb}
 .mobile-team-list{display:grid;gap:8px}.mobile-team{border:1px solid var(--line);border-radius:10px;background:#fff;padding:7px 4px 5px}.mobile-team-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px;margin:0 5px 5px}.mobile-team-heading h3{font-size:13px;line-height:1.2;flex-shrink:0}.mobile-project{font-size:10px;color:var(--muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-team-windows{display:grid;gap:2px}.mobile-window-time{display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--muted);gap:3px}.mobile-window-time strong{font-size:9px}.mobile-window-time span{font-size:7px;white-space:nowrap}
 .mobile-window{--progress:#c75650;--progress-wash:#fff6f5;border:0;background:var(--progress-wash);border-radius:6px;padding:5px 0 3px;min-width:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;touch-action:manipulation}.mobile-window.partial{--progress:#c9851b;--progress-wash:#fff8eb}.mobile-window.full{--progress:#20966a;--progress-wash:#edf9f3}.mobile-window.unavailable{--progress:#a5b2b7;--progress-wash:#f3f5f6}.mini-rings{display:flex;gap:2px;align-items:center;justify-content:center}.mini-ring{width:12px;height:12px;border:1.5px solid var(--progress);border-radius:50%;background:white;color:white;display:grid;place-items:center;font-size:8px;font-weight:850;line-height:1}.mini-ring.filled{background:var(--progress)}.mini-ring.selected{box-shadow:0 0 0 1.5px var(--ink)}.mobile-window-count{font-size:9px;font-weight:700;line-height:1;color:var(--progress)}.mobile-window:focus-visible{outline:2px solid var(--navy);outline-offset:0}
 .week-progress-legend{display:flex;justify-content:space-between;gap:6px;margin:11px 3px 7px;font-size:10px;color:var(--muted)}.week-progress-legend span{display:flex;align-items:center;gap:5px}.week-progress-legend span:before{content:'';width:7px;height:7px;border-radius:50%;background:#c75650}.week-progress-legend .partial:before{background:#c9851b}.week-progress-legend .full:before{background:#20966a}.mobile-ring-help{font-size:10px;text-align:center;color:var(--muted)}
 .slot-detail-dialog{max-width:calc(100vw - 24px);width:440px;height:auto;max-height:85dvh;border:1px solid var(--line);border-radius:18px;padding:20px}
}
@media(max-width:350px){.mobile-week-days,.mobile-window-row{grid-template-columns:24px repeat(5,minmax(0,1fr));gap:1px}.mini-ring{width:10px;height:10px}.mini-rings{gap:1px}.week-progress-legend{font-size:9px}.mobile-team-heading h3{font-size:12px}}
/* Avoid the shared empty-list spacing on zero-booking progress indicators. */
.week-progress-legend>span{padding:0}.window-detail-slots{padding:0;text-align:left}
@media(min-width:701px) and (max-width:1100px) and (orientation:landscape) and (max-height:600px) and (pointer:coarse){
 #week-dialog{padding:6px max(10px,env(safe-area-inset-right)) 6px max(10px,env(safe-area-inset-left));height:100dvh;max-height:100dvh;width:100vw;max-width:100vw;border:0;border-radius:0}
 #week-dialog .week-top{height:36px;min-height:36px}#week-dialog .week-top h2{font-size:16px}#week-dialog #week-context{display:none}#week-dialog .week-top>.button{min-height:32px;padding:6px 12px}
 #week-dialog .week-toolbar{position:absolute;top:6px;left:145px;right:110px;margin:0;height:36px;justify-content:center;gap:16px}#week-dialog .week-toolbar>.button{min-height:32px;padding:6px 13px}#week-dialog .week-toolbar strong{font-size:12px}
 .mobile-week-days{min-height:23px;margin-bottom:3px}.mobile-week-day{min-height:23px;display:flex;justify-content:center;gap:6px;padding:0}.mobile-week-day span{font-size:11px}.mobile-week-day strong{font-size:13px}
 .mobile-team-list{gap:4px}.mobile-team{padding:3px 4px}.mobile-team-heading{min-height:16px;margin:0 5px 2px}.mobile-team-heading h3{font-size:12px}.mobile-project{font-size:10px}.mobile-team-windows{gap:1px}
 .mobile-window{min-height:32px;flex-direction:row;gap:9px;padding:2px}.mini-rings{gap:4px}.mini-ring{width:18px;height:18px;font-size:12px}.mobile-window-count{font-size:11px}.mobile-window-time{gap:1px}.mobile-window-time strong{font-size:9px}.mobile-window-time span{font-size:7px}
 .week-progress-legend{justify-content:center;gap:24px;margin:5px 0 0;font-size:9px}.mobile-ring-help{display:none}
}
