.fitter-app { max-width:1100px; margin:auto; color:#172b43; font-family:system-ui,-apple-system,'Segoe UI',sans-serif; font-size:16px; line-height:1.45; }
.fitter-app *, .fitter-app *::before, .fitter-app *::after { box-sizing:border-box; }
.fitter-app h1,.fitter-app h2,.fitter-app h3,.fitter-app p { margin:0; }
.fitter-app button,.fitter-app select,.fitter-app textarea { font:inherit; color:inherit; }
.fitter-app button { min-height:44px; padding:9px 14px; background:white; border:1px solid #bdccd9; border-radius:9px; cursor:pointer; touch-action:manipulation; font-weight:650; }
.fitter-app button:disabled { opacity:.5; cursor:default; }
.fitter-app :focus-visible { outline:3px solid #3077be; outline-offset:2px; }
.fitter-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; }
.fitter-header h1 { font-size:28px; letter-spacing:-.5px; }
.fitter-header p,.fitter-sync,.fitter-bay-summary,.fitter-help { color:#50657a; font-size:14px; }
.fitter-header nav,.fitter-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.fitter-toolbar { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:16px; background:#fff; border:1px solid #cfdbe5; border-radius:12px; }
.fitter-toolbar label { display:grid; gap:6px; font-weight:650; min-width:240px; max-width:100%; }
.fitter-app select { min-height:48px; width:100%; padding:8px 12px; border:1px solid #b5c7d7; border-radius:8px; background:#fff; }
.fitter-notice,.fitter-warning { padding:12px 14px; background:#fff6df; border:1px solid #e4c987; border-radius:9px; margin:12px 0 !important; overflow-wrap:anywhere; }
.fitter-notice { background:#edf4ff; border-color:#bcd2f0; }
.fitter-bay-summary { padding:12px 2px; }
.fitter-layout { display:block; }
.fitter-kicker { font-size:13px; font-weight:700; color:#48687d; }
.fitter-time { font-size:13px; color:#50657a; }
.fitter-work { min-width:0; background:#fff; border:1px solid #cfdbe5; border-radius:14px; padding:20px; }
.fitter-job-heading { display:grid; gap:9px; margin-bottom:16px; overflow-wrap:anywhere; }
.fitter-job-heading h2 { font-size:26px; }
.fitter-job-heading h2 span { display:inline-block; font-size:16px; font-weight:500; color:#536980; }
.fitter-job-heading>p:last-child { font-size:14px; color:#536980; }
.fitter-timer { display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:10px; align-items:center; padding:12px 14px; border:1px solid #c9d5df; border-radius:10px; background:#f2f5f8; }
.fitter-timer-dot { width:10px; height:10px; border-radius:50%; background:#7c8996; }
.fitter-timer strong { display:block; font-size:16px; line-height:1.25; }
.fitter-timer small { display:block; margin-top:3px; font-size:12px; line-height:1.35; color:#516374; }
.fitter-timer output { font-size:26px; line-height:1.1; font-weight:750; font-variant-numeric:tabular-nums; white-space:nowrap; }
.fitter-timer.is-running { background:#eaf8ef; border-color:#8abb9e; color:#145c37; }
.fitter-timer.is-running .fitter-timer-dot { background:#1b9757; box-shadow:0 0 0 4px #ccebd8; }
.fitter-timer.is-paused,.fitter-timer.is-pending { background:#fff7e4; border-color:#dfc781; color:#6b4a08; }
.fitter-timer.is-paused .fitter-timer-dot,.fitter-timer.is-pending .fitter-timer-dot { background:#b3810e; }
.fitter-timer.is-unconfirmed { background:#fff3e9; border-color:#dcb99b; color:#795135; }
.fitter-actions { margin:16px 0; }
.fitter-actions p { font-size:14px; color:#536980; }
.fitter-app .fitter-primary { color:white; background:#236d50; border-color:#236d50; }
.fitter-work h3 { font-size:18px; margin:20px 0 12px; }
.fitter-lines { display:grid; gap:10px; }
.fitter-line { min-width:0; background:#f8fafc; border:1px solid #cfdbe5; border-radius:11px; padding:14px; }
.fitter-line.is-done { background:#edf8f2; border-color:#9ccab6; }
.fitter-line-check { display:flex; align-items:flex-start; gap:12px; min-height:44px; cursor:pointer; }
.fitter-line-check input { flex:0 0 25px; width:25px; height:25px; margin:2px 0; accent-color:#237757; }
.fitter-line-check>span { min-width:0; display:grid; gap:5px; }
.fitter-line-check strong { font-size:18px; line-height:1.35; overflow-wrap:anywhere; }
.fitter-line-check small { font-size:14px; color:#50657a; }
.fitter-source-note { font-size:14px; white-space:pre-wrap; overflow-wrap:anywhere; padding:10px 0 0 37px; }
.fitter-notes { margin:8px 0 0 37px; }
.fitter-app summary { cursor:pointer; min-height:32px; padding:4px 0; font-size:14px; font-weight:600; }
.fitter-app textarea { display:block; width:100%; resize:vertical; min-height:70px; padding:10px; margin:6px 0; border:1px solid #b5c7d7; border-radius:8px; }
.fitter-notes label,.fitter-notes small { display:block; font-size:13px; color:#536980; }
.fitter-other { margin-top:20px; }
.fitter-other>.fitter-line { margin-top:8px; opacity:.85; }
.fitter-help { margin-top:20px !important; }
.fitter-handover { padding:16px; margin:12px 0; border:1px solid #91bba6; border-radius:10px; background:#edf8f2; color:#19573f; font-weight:650; overflow-wrap:anywhere; scroll-margin-top:16px; }
.fitter-finish { margin-top:24px; border:1px solid #bdd3c7; border-radius:12px; overflow:hidden; }
.fitter-finish-action { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:18px; background:#edf8f2; }
.fitter-work .fitter-finish h3 { margin:0 0 5px; }
.fitter-finish p { font-size:14px; color:#50657a; }
.fitter-finish-action>div { flex:1 1 220px; }
.fitter-finish-action>button { min-height:48px; max-width:100%; }
.fitter-next { display:grid; gap:5px; padding:18px; background:#f6f8fa; overflow-wrap:anywhere; }
.fitter-next>strong { font-size:22px; }
.fitter-next small,.fitter-later-job small { color:#536980; font-size:14px; }
.fitter-next p { margin-top:5px; }
.fitter-upcoming { padding:10px 18px; border-top:1px solid #d6e0e8; }
.fitter-later-job { display:grid; gap:4px; padding:12px 0; border-top:1px solid #e0e6ec; overflow-wrap:anywhere; }
.fitter-active-jobs { margin:0 0 12px; padding:10px 14px; border:1px solid #cfdbe5; border-radius:9px; background:white; }
.fitter-active-jobs button { margin:6px 8px 0 0; text-align:left; }
.fitter-job-heading { scroll-margin-top:16px; }
.fitter-stop-panel { display:grid; gap:10px; padding:16px; background:#fff6df; border:1px solid #e4c987; border-radius:10px; }
.fitter-empty { padding:30px 18px; text-align:center; color:#536980; background:#f5f8fb; border-radius:12px; }
.fitter-progress { position:relative; display:block; min-width:0; height:28px; overflow:hidden; border-radius:7px; background:#e4ede8; }
.fitter-progress>span { position:absolute; inset:0 auto 0 0; background:#59b987; }
.fitter-progress>b { position:relative; display:block; text-align:center; padding:4px 6px; font-size:13px; color:#103d2a; white-space:nowrap; }
.fitter-progress.is-compact { position:absolute; bottom:2px; left:3px; right:3px; height:5px; border-radius:3px; pointer-events:none; }
/* Reserve a separate strip below lifecycle controls, without increasing pill height. */
.workshop-plan-chip:has(>.fitter-progress) > .workshop-plan-lifecycle-actions { bottom:16px; }
.workshop-plan-chip:has(>.fitter-progress) > .workshop-plan-main { height:calc(100% - 38px); }
.workshop-plan-chip > .fitter-progress.is-compact { bottom:3px; right:12px; height:10px; z-index:14; }
.workshop-plan-chip > .fitter-progress.is-compact::after { content:attr(aria-valuenow) '%'; position:absolute; inset:0; text-align:center; font-size:9px; font-weight:800; line-height:10px; color:#103d2a; }
.control-board-timeline-job:has(>.fitter-progress) { padding-bottom:7px; }
@media(max-width:1180px) {
 body[data-current-view="fitters"] .sidebar,body[data-current-view="fitters"] .main>.topbar { display:none !important; }
 body[data-current-view="fitters"] .app-shell { grid-template-columns:minmax(0,1fr) !important; min-width:0 !important; }
 body[data-current-view="fitters"] .main { min-width:0 !important; width:100% !important; padding:12px !important; margin:0 !important; }
 body[data-current-view="fitters"] { min-width:0; }
 .fitter-work { padding:16px; }
}
@media(max-width:700px) {
 .fitter-layout { display:block; }
 .fitter-header { gap:10px; padding:8px 0 14px; }
 .fitter-header h1 { font-size:25px; }
 .fitter-header nav { width:100%; }
 .fitter-header nav button { flex:1; }
 .fitter-toolbar label { width:100%; min-width:0; }
 .fitter-work { padding:14px; }
 .fitter-line { padding:12px; }
 .fitter-notes { margin-left:0; }
 .fitter-line-check strong { font-size:18px; }
 .fitter-progress>b { font-size:12px; }
 .fitter-timer { padding:10px; column-gap:9px; }
 .fitter-timer output { font-size:24px; }
 .fitter-timer small { grid-column:2/-1; }
 .fitter-finish-action>button { width:100%; }
}
@media(max-width:400px) { .fitter-timer { grid-template-columns:10px minmax(0,1fr); } .fitter-timer output { grid-column:2; } }

@media(max-width:500px){html.pdc-qc-phone .qc-phone-header{flex-wrap:wrap;}html.pdc-qc-phone .qc-phone-header-actions{flex-wrap:wrap;}}
/* Fitter accounts have one destination. The server independently denies all
   other operational endpoints; this also prevents stale/hash navigation flashes. */
body.fitter-only .nav > :not([data-view="fitters"]),
body.fitter-only .view:not(#fitters),
body.fitter-only #hosting-security-warning { display: none !important; }

/* Conversion parent and section checklists */
.conversion h4{margin:0 0 8px;font-size:1.1rem}.conversion-section{border:1px solid #ccd5df;border-radius:8px;margin:8px 0;padding:12px}.conversion-section.is-done{border-color:#23834b;background:#f1faf4}.conversion summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px}.conversion summary span{flex:1}.conversion-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.conversion-form{display:grid;gap:10px;margin:12px 0}.conversion-form label{display:grid;gap:5px}.conversion-form input,.conversion-form select,.conversion-form textarea{font:inherit;max-width:100%;padding:8px;border:1px solid #aab7c5;border-radius:5px;box-sizing:border-box}.conversion-form input[type=checkbox]{width:auto}.conversion-form button{justify-self:start;padding:10px 16px}.conversion-planning{margin-top:16px}.conversion-form small{color:#526375}.conversion-section summary b{white-space:nowrap}

