.control-toolbar,.control-filters,.control-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.control-toolbar{margin:12px 0 20px}.control-toolbar label,.control-filters label,.control-panel-body form label,.control-dialog label{display:grid;gap:7px;font-size:13px;color:var(--muted,#95a5b8)}.control-toolbar span{font-size:12px;color:#95a5b8}.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.control-grid>.control-panel{grid-column:span var(--control-span,1);min-width:0;position:relative;display:flex;flex-direction:column;height:var(--control-height,auto);max-height:none;overflow:hidden}.control-wide{--control-span:2}.control-panel>.panel-head{flex:0 0 auto;gap:10px}.control-panel-body{padding:16px;min-height:0;overflow:auto;overscroll-behavior:contain}.control-collapsed{height:auto!important}.control-collapsed>.control-panel-body{display:none}.control-collapse{margin-left:auto;min-width:36px;min-height:36px}.control-filters{margin-bottom:14px}.control-filters input[type=search]{flex:1;min-width:150px}.control-issue,.control-health,.control-reply{border:1px solid #304052;border-radius:10px;padding:14px;margin:10px 0;background:#0e151e}.control-issue h3{font-size:16px;margin:6px 0}.control-issue p,.control-reply p,.control-pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.control-issue>small{color:#f7ab31;font-size:10px;letter-spacing:1px;text-transform:uppercase}.control-meta{font-size:12px;color:#94a7bf;line-height:1.7;margin-bottom:10px}.control-check{padding:9px 11px;margin:6px 0;font-size:12px;line-height:1.5;border-left:3px solid #3c9f77;background:#101c1b}.control-check.warn{border-color:#f2ac38;background:#252016}.control-check button{margin-left:8px;font-size:12px}.control-error{color:#ffaaa8;padding:12px;background:#28171e;border:1px solid #7e414b;border-radius:8px}.control-health>div{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.control-health p{font-size:13px;line-height:1.5}.control-health small{color:#8fa4bb;line-height:1.7}.control-health.ok{border-color:#2e6b53}.control-health.failed,.control-health.unavailable{border-color:#8a4650}.control-health.degraded{border-color:#8a6b35}.control-badge{display:inline-block;font-size:11px;border:1px solid #465267;border-radius:6px;padding:5px 8px;white-space:normal}.control-ticket{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:12px;margin:8px 0;padding:14px;white-space:normal}.control-ticket>span:first-child{display:grid;gap:7px}.control-ticket small{font-size:11px;color:#97aac1}.control-crews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.control-crews h3{color:#ffb437}.control-leg{padding:14px 0;border-top:1px solid #334151;line-height:1.7;font-size:13px}.control-leg p{color:#92a6be;margin:5px 0;overflow-wrap:anywhere}.control-leg small{color:#ffb437}.control-plan-state{color:#f9b239;font-size:12px;font-weight:700;letter-spacing:.5px}.control-attribution{display:block;margin-top:15px;color:#8499b2;font-size:10px}.control-panel-body form{display:grid;gap:16px}.control-panel-body input,.control-panel-body textarea,.control-panel-body select,.control-dialog input,.control-dialog textarea,.control-dialog select{width:100%;min-width:0;box-sizing:border-box}.control-panel-body form button{justify-self:start}.control-dialog{width:min(760px,calc(100vw - 32px));height:auto;max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:0;margin:auto;background:#101720;color:#edf2f8;border:1px solid #445366;border-radius:14px;overflow:hidden}.control-dialog[open]{display:flex;flex-direction:column}.control-dialog-head,.control-dialog-foot{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex:0 0 auto;border-bottom:1px solid #344151}.control-dialog-head h2{font-size:19px;margin:0}.control-dialog-body{padding:20px;overflow-y:auto;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.control-dialog-body form{display:grid;gap:14px}.control-dialog-foot{border-top:1px solid #344151;border-bottom:0;justify-content:flex-end}.control-reply small{display:block;margin-top:6px;color:#9badc4}.control-dialog button{min-height:44px}.control-layout-buttons,.control-resize{display:none}.control-arranging .control-layout-buttons{display:flex;gap:4px}.control-layout-buttons button{padding:4px 7px;font-size:10px;min-height:30px}.control-arranging>.control-panel{outline:1px dashed #dca734}.control-arranging .panel-head{cursor:grab;flex-wrap:wrap}.control-arranging .control-resize{display:block;position:absolute;bottom:0;right:0;padding:1px 5px;border:0;background:#ad7e20;color:#fff;cursor:ns-resize;touch-action:none}.control-grid .email-table-wrap{max-height:none}.control-grid .email-safety{margin-top:10px}
@media(min-width:1800px){.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-issue{padding:16px 20px}}
.crew-rosters,.control-crews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.crew-rosters>section,.control-crews>section{min-width:0}.crew-rosters>section{padding:14px;border:1px solid #344151;border-radius:10px}.crew-rosters h3{margin:0 0 12px;color:#ffb437}.crew-tech-picks{display:flex;flex-wrap:wrap;gap:8px}.crew-tech-picks label{display:flex;align-items:center;gap:7px;border:1px solid #344151;border-radius:7px;padding:8px;min-height:44px;font-size:14px;color:#edf2f8;cursor:pointer}.crew-tech-picks input[type=checkbox]{width:18px;min-width:18px;height:18px;margin:0;accent-color:#ffb437}.crew-tech-picks label:has(input:checked){background:#45351b;border-color:#ffb437}.crew-rosters small{display:block;margin-top:12px;color:#95a5b8;line-height:1.5}.crew-add-tech{margin:16px 0}.crew-job-choices>summary,.crew-job-editor summary{cursor:pointer;padding:12px 0;min-height:44px;font-size:14px}.crew-job-editor{border-top:1px solid #344151;padding:14px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,320px);gap:12px;align-items:center}.crew-job-editor>details{grid-column:1/-1}.crew-job-editor p{overflow-wrap:anywhere;color:#95a5b8;font-size:14px}.crew-job-editor>label{display:grid;gap:8px;font-size:14px}.crew-job-editor select{min-height:44px;font-size:16px;white-space:normal}.crew-add-tech input{min-height:44px;font-size:16px}#crewDraftStatus{overflow-wrap:anywhere}#crewSavedPlan{margin-top:20px}.control-crews .control-leg{font-size:14px;overflow-wrap:anywhere}
@media(max-width:1000px){.crew-rosters,.control-crews{grid-template-columns:minmax(0,1fr)}.crew-job-editor{grid-template-columns:minmax(0,1fr)}}
.crew-job-routing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.crew-job-routing label{display:grid;gap:8px;font-size:14px}.control-primary-applicator{display:inline-block;margin:4px 0 7px;padding:5px 8px;border:1px solid #d8952c;border-radius:6px;background:#3a260f;color:#ffd077;font:800 10px/1.3 var(--mono,monospace);letter-spacing:.05em}@media(max-width:600px){.crew-job-routing{grid-template-columns:minmax(0,1fr)}}
/* Native Safari date/month controls must fit their track, not paint into the adjacent button. */
.control-toolbar>label{flex:0 1 240px;min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}
.control-toolbar>label>input{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-top:0;min-height:44px;-webkit-appearance:none;appearance:none}
.control-toolbar input::-webkit-date-and-time-value{min-width:0;text-align:left}
.control-toolbar>button{flex:0 0 auto;align-self:flex-end;min-height:44px;white-space:normal}
.control-toolbar>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px),(hover:none) and (pointer:coarse){.control-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}.control-toolbar>label,.control-toolbar>span{grid-column:1/-1;width:100%}.control-toolbar>label{font-size:14px}.control-toolbar>label>input{font-size:16px}.control-toolbar>button{width:100%;min-width:0;align-self:end}.control-toolbar>span{line-height:1.5}}
@media(max-width:760px){.control-grid,.control-crews{grid-template-columns:minmax(0,1fr)}.control-grid>.control-panel{grid-column:1;height:auto!important}.control-panel-body{padding:12px;overflow:visible}.control-toolbar{align-items:stretch}.control-toolbar>*{max-width:100%}.control-filters{display:grid;grid-template-columns:1fr;align-items:stretch}.control-filters>*{width:100%;min-width:0}.control-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.control-actions button{min-height:44px;white-space:normal}.control-ticket{align-items:start;flex-direction:column}.control-layout-buttons [data-width],.control-layout-buttons [data-height],.control-resize{display:none!important}.control-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto}.control-dialog-head,.control-dialog-foot{padding:12px}.control-dialog-body{padding:14px}.control-dialog input,.control-dialog textarea,.control-dialog select,.control-panel-body input,.control-panel-body textarea,.control-panel-body select{font-size:16px}.control-dialog-foot button{width:100%}.control-panel>.panel-head{padding:14px;align-items:center}.control-panel-body .email-table-wrap{overflow-x:auto}}

/* Master Control panel scrollers hand boundary gestures back to the page. */
.control-panel,.control-panel *{overscroll-behavior-y:auto}

/* Owner-only, browser-local scheduling logic sandbox. */
.scheduling-lab-panel{--control-span:2}.scheduling-lab-body{display:grid;gap:16px}.lab-assurance{display:flex;align-items:center;gap:14px;padding:13px 16px;border:1px solid #2f7b50;border-radius:9px;background:#10241a}.lab-assurance strong{flex:0 0 auto;color:#72d99c;font:800 10px Consolas,monospace;letter-spacing:1px}.lab-assurance span{color:#b9d8c5;font-size:11px;line-height:1.45}.lab-intro{display:flex;align-items:end;justify-content:space-between;gap:16px}.lab-intro h3,.lab-card h3{margin:0}.lab-intro p{margin:5px 0 0;color:#95a5b8;line-height:1.5}.lab-intro>span{color:#f7b34d;font:700 10px Consolas,monospace;white-space:nowrap}.lab-builder-grid{display:grid;grid-template-columns:minmax(520px,1.35fr) minmax(300px,.65fr);gap:16px}.lab-card{min-width:0;border:1px solid #304052;border-radius:10px;background:#0e151e}.lab-card-head{grid-column:1/-1;padding-bottom:12px;border-bottom:1px solid #263544}.lab-card-head small{color:#f7b34d;font:700 9px Consolas,monospace;letter-spacing:1px}.lab-card-head h3{margin-top:5px}.lab-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:16px}.lab-form .wide{grid-column:1/-1}.lab-form label,.lab-control-grid label{display:grid;gap:6px;color:#95a5b8;font-size:12px}.lab-fixed-tech{opacity:.68}.lab-estimate{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.lab-estimate>div{padding:11px;border:1px solid #2a3743;border-radius:8px;background:#0a1118}.lab-estimate small,.lab-estimate strong{display:block}.lab-estimate small{color:#95a5b8;font:700 8px Consolas,monospace;letter-spacing:.6px}.lab-estimate strong{margin-top:6px;font-size:13px}.lab-estimate>div:last-of-type strong,.lab-book-time{color:#72d99c}.lab-estimate>p,.lab-estimate>span{grid-column:1/-1;margin:0;color:#8997a6;font-size:10px;line-height:1.45}.lab-actions{display:flex;gap:8px}.lab-controls{padding:16px}.lab-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lab-fixed-rules{display:grid;margin:12px 0 0;padding:0}.lab-fixed-rules>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #263544}.lab-fixed-rules dt{color:#95a5b8;font-size:11px}.lab-fixed-rules dd{margin:0;text-align:right;font-size:11px}.lab-control-note{margin:14px 0 0;padding:11px;border-left:3px solid #f7b34d;background:#17140e;color:#c7b484;font-size:10px;line-height:1.5}.lab-plan{overflow:hidden}.lab-plan-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.lab-plan-summary{display:flex;flex-wrap:wrap;padding:12px 16px}.lab-plan-summary span{padding:6px 16px;border-left:1px solid #304052;color:#95a5b8;font-size:10px}.lab-plan-summary span:first-child{padding-left:0;border-left:0}.lab-plan-summary b{display:block;color:#edf2f8;font-size:13px}.lab-table{min-width:1050px}.lab-table td{vertical-align:top}.lab-table td b,.lab-table td small{display:block}.lab-table td small{margin-top:4px;color:#95a5b8;font-size:9px;line-height:1.35}.lab-book-time,.lab-unscheduled{font:700 10px Consolas,monospace;white-space:nowrap}.lab-unscheduled{color:#ff8e92}.lab-row-actions{display:flex;gap:4px}.lab-row-actions button{min-width:28px;padding:5px}.lab-timeline{display:grid;gap:12px;padding:16px;border-top:1px solid #304052}.lab-timeline>article{display:grid;grid-template-columns:115px 1fr;gap:12px}.lab-timeline header{display:grid;align-content:center;gap:4px}.lab-timeline header b{color:#f7b34d;font:700 10px Consolas,monospace}.lab-timeline header span{color:#95a5b8;font-size:9px}.lab-timeline article>div{position:relative;min-height:64px;border:1px solid #273441;border-radius:7px;background:repeating-linear-gradient(90deg,#0e151c,#0e151c calc(2.777% - 1px),#27313b 2.777%)}.lab-timeline section{position:absolute;left:var(--lab-start);width:max(var(--lab-width),5%);top:7px;min-height:38px;overflow:hidden;padding:6px;border-left:3px solid #53d4d0;border-radius:5px;background:#17303a}.lab-timeline section:nth-child(even){top:31px;background:#222b3b;border-left-color:#70a8ff}.lab-timeline section b,.lab-timeline section span,.lab-timeline section small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.lab-timeline section b{color:#aeeeed;font-family:Consolas,monospace}.lab-timeline section small{color:#a3b4c1;font-size:8px}.lab-reference>summary{cursor:pointer;padding:14px 16px;border:1px solid #304052;border-radius:9px;color:#f7b34d;font-weight:700}.lab-reference[open]>summary{border-radius:9px 9px 0 0}.lab-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #304052;border-top:0;border-radius:0 0 9px 9px}.lab-reference-grid article{padding:14px}.lab-reference-grid p,.lab-reference-grid li{color:#b8c2cc;font-size:11px;line-height:1.55}.lab-reference-grid ul{padding-left:18px}
@media(max-width:1100px){.lab-builder-grid{grid-template-columns:1fr}.lab-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.lab-assurance,.lab-intro{align-items:flex-start;flex-direction:column}.lab-intro>span{white-space:normal}.lab-form,.lab-control-grid{grid-template-columns:1fr}.lab-form .wide{grid-column:1}.lab-estimate{grid-template-columns:1fr 1fr}.lab-reference-grid{grid-template-columns:1fr}.lab-timeline>article{grid-template-columns:1fr}}
.control-health>button{margin-top:12px;min-height:42px;width:100%}
.control-console-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid #405067;border-radius:8px;color:#edf2f8;text-decoration:none}.control-period{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.control-period .active{background:#eeb310;color:#151005;border-color:#eeb310}.control-activity{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px 0;border-top:1px solid #2c3949}.control-activity:first-child{border-top:0}.control-activity>div{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}.control-activity p{margin:0;line-height:1.45}.control-activity small{color:#91a5bd;overflow-wrap:anywhere}.control-activity time{font-size:11px;color:#8296ad;text-align:right}@media(max-width:760px){.control-console-link{width:100%;grid-column:1/-1}.control-activity{grid-template-columns:1fr}.control-activity time{text-align:left}}
.control-testing-badge{display:inline-flex;vertical-align:middle;margin-left:8px;padding:3px 6px;border:1px solid #d99a2b;border-radius:5px;color:#ffc45a;font:800 10px/1 var(--mono,monospace);letter-spacing:.08em}.incomplete-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.incomplete-toolbar .control-period{margin:0}.incomplete-card{margin:12px 0;padding:16px;border:1px solid #34465a;border-left:4px solid #eeb310;border-radius:12px;background:#0d151e}.incomplete-card.return_overdue{border-left-color:#ff6878;background:#1c1218}.incomplete-card.completed,.incomplete-card.no_return_needed{border-left-color:#45b986}.incomplete-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.incomplete-card-head h3{margin:5px 0 0;font-size:18px}.incomplete-card-head small,.incomplete-remaining small,.incomplete-return small,.incomplete-source small{display:block;color:#f5b23e;font:800 11px/1.3 var(--mono,monospace);letter-spacing:.08em}.incomplete-card-head>span{color:#9db0c6;font-size:13px;text-align:right}.incomplete-address{color:#9db0c6}.incomplete-remaining{display:grid;gap:7px;margin:13px 0;padding:12px;border:1px solid #3b4d60;border-radius:9px;background:#09111a}.incomplete-remaining strong{font-size:15px;line-height:1.45}.incomplete-return,.incomplete-source{display:grid;gap:6px;margin:12px 0;padding:12px;border:1px solid #32765d;border-radius:9px;background:#0b1b18}.incomplete-return span,.incomplete-source span{color:#a8b8ca}.incomplete-closure{padding:10px 12px;border-left:3px solid #45b986;background:#0b1b18}.incomplete-event-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.incomplete-event-picker button{min-height:44px}.incomplete-check{display:flex!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px!important;color:#edf2f8!important}.incomplete-check input{width:20px!important;min-width:20px;height:20px;accent-color:#eeb310}.incomplete-linker{margin-top:22px;padding-top:18px;border-top:1px solid #364558}.incomplete-linker>label{display:grid;gap:7px;margin:13px 0;color:#95a5b8;font-size:13px}.incomplete-history{margin-top:20px}.incomplete-history summary{cursor:pointer;min-height:44px;padding:12px 0}.incomplete-history p{padding:10px 0;border-top:1px solid #2e3a49;font-size:13px;line-height:1.5}.incomplete-history span{color:#9eb0c4}.incomplete-dialog .control-dialog-body{font-size:15px}
@media(max-width:760px){.incomplete-toolbar{display:grid}.incomplete-toolbar>button{width:100%}.incomplete-toolbar .control-period{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.incomplete-toolbar .control-period button{min-width:0;white-space:normal}.incomplete-card{padding:13px}.incomplete-card-head{display:grid}.incomplete-card-head>span{text-align:left}.incomplete-event-picker{grid-template-columns:minmax(0,1fr)}.incomplete-event-picker button{width:100%}}
