/* AcroITSolutions WORKDESK Portal — 2026 visual refresh. Presentation-only overrides. */
:root{color-scheme:light;--bg:#f4f7fb;--panel:#fff;--ink:#152440;--muted:#64748b;--border:#e7edf5;--accent:#365fe0;--soft:#edf3ff;--shadow:0 3px 18px rgba(34,56,97,.035),0 18px 50px rgba(40,60,100,.025);font-family:Inter,"Segoe UI",ui-sans-serif,system-ui,sans-serif}
body{font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button{transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a7bbff;outline-offset:2px}
.layout{align-items:stretch}
.sidebar{width:264px;padding:25px 15px 20px;background:var(--panel);box-shadow:2px 0 18px rgba(35,55,90,.015);z-index:20}
.brand{padding:0 12px 26px;gap:12px}
.brandmark{width:44px;height:44px;flex:0 0 44px;border-radius:13px;background:linear-gradient(135deg,#315ce4,#6484ef);font-size:22px;box-shadow:0 9px 18px rgba(57,95,223,.18)}
.brand strong{font-size:15px;letter-spacing:-.35px;line-height:1.3}
.brand small{font-size:11px;letter-spacing:.12px}
.navtitle{padding:8px 13px 11px;font-weight:800;letter-spacing:1.25px}
.nav{gap:4px}
.nav button{min-height:43px;padding:10px 14px;font-size:13px;font-weight:600;color:#65758d;border-radius:11px;position:relative}
.nav button .ico{font-size:17px;width:23px;line-height:1}
.nav button.active{color:#3057c8;background:#eaf0ff}
.nav button.active:before{content:"";width:3px;height:22px;position:absolute;left:0;top:calc(50% - 11px);background:#365fe0;border-radius:0 4px 4px 0}
.nav button:hover:not(.active){background:#f6f8fc;color:#1e355b;transform:translateX(2px)}
.sidefoot{padding:19px 10px 0}
.userline{padding:8px 5px}
.userline b{font-size:12.5px}
.avatar{background:#eaf0ff;color:#3c5bb9;border:1px solid #dce6ff;width:39px;height:39px}
.main{background:var(--bg)}
.topbar{height:74px;padding:0 34px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;box-shadow:0 1px 5px rgba(20,45,80,.018)}
.topbar .right{gap:9px}
.topbar .tag{color:#237557;background:#edf9f3;border-color:#def2e7;font-weight:650}
.topbar .muted{font-size:12px}
.topbar b{color:var(--ink);font-size:12px}
.content{padding:33px 35px 54px;max-width:1500px}
.heading{margin-bottom:22px}
.heading h1{font-size:clamp(23px,2vw,29px);font-weight:800;letter-spacing:-.85px;line-height:1.25}
.heading p{font-size:13px;line-height:1.6;margin-top:4px}
.panel,.stat,.column{border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}
.panel{padding:22px}
.panelhead{margin-bottom:14px}
.panelhead h2,.panel h2{font-size:15px;font-weight:750;letter-spacing:-.25px}
.stat{padding:20px 20px 19px;min-height:142px;position:relative;overflow:hidden}
.stat .sico{width:39px;height:39px;padding:0;display:grid;place-items:center;font-size:18px;color:#4266cf;background:#eef3ff}
.stat strong{font-size:30px;letter-spacing:-1.1px;margin:15px 0 1px}
.stat small{font-size:12px}
.stat .srow small{font-weight:650}
.grid4{gap:14px}
.two{margin-top:16px;gap:16px;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr)}
.btn,.small-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;font-weight:700;padding:10px 15px;min-height:39px}
.btn.primary{background:#365fe0;border-color:#365fe0;box-shadow:0 3px 9px rgba(55,93,216,.13)}
.btn.primary:hover{background:#2b4fc6;border-color:#2b4fc6;box-shadow:0 5px 15px rgba(55,93,216,.2);transform:translateY(-1px)}
.btn:hover:not(.primary){border-color:#d2dcf0}
.btn:active{transform:translateY(0)}
.table{white-space:normal;min-width:710px}
.table th{font-size:10px;letter-spacing:.75px;padding:13px 14px;background:#f8faff}
.table td{vertical-align:middle;padding:14px}
.table tbody tr{transition:background-color .12s ease}
.table td strong{font-size:12px;font-weight:750}
.table td small{font-size:11px}
.pill{font-size:10.5px;letter-spacing:.1px;font-weight:750;padding:6px 10px}
.filters{gap:10px;margin-bottom:18px}
.search,.sel,.field,.form-layout input,.form-layout textarea,.form-layout select{border-color:#dfe6f0;border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}
.search:focus,.sel:focus,.field:focus,.form-layout input:focus,.form-layout textarea:focus,.form-layout select:focus{border-color:#7190ef;box-shadow:0 0 0 3px rgba(55,95,220,.09);outline:none}
.search{width:325px}
.form-layout{gap:17px 18px}
.form-layout label{margin-bottom:7px;color:#42536d;letter-spacing:.05px}
.form-layout input,.form-layout textarea,.form-layout select{min-height:44px}
.form-layout textarea{resize:vertical}
.kanban{gap:13px;grid-template-columns:repeat(6,minmax(230px,1fr));padding-bottom:15px}
.column{box-shadow:none;padding:13px;background:#f0f4fa;border-color:#e5ebf4}
.coltitle{font-size:11px;letter-spacing:.15px;gap:6px;align-items:center}
.deal{border-radius:11px;padding:15px;box-shadow:0 3px 10px rgba(35,55,90,.025)}
.deal strong{line-height:1.4}
.notice,.feedback{border-radius:11px;line-height:1.55}
.notice{border:1px solid #dce6fe;background:#f0f5ff}
.feedback{margin:0 0 15px}
.authscreen{background:radial-gradient(ellipse at 52% 15%,#e7edff 0,#f5f7fc 48%,#f8faff 100%)}
.authcard{padding:35px;box-shadow:0 24px 70px rgba(36,66,129,.1);border:1px solid #e0e8f7;border-radius:20px}
.authcard h2{font-size:23px;letter-spacing:-.6px;margin:12px 0 6px}
.authcard label{font-size:12px;color:#42536d;font-weight:700}
.authcard .brand{padding-bottom:18px}
.modalback{backdrop-filter:blur(3px);animation:fadein .16s ease}
.modal{box-shadow:0 30px 90px rgba(9,25,57,.18);border:1px solid #e6ebf3}
.modal h2{font-size:21px;letter-spacing:-.5px}
.timeline .event{line-height:1.45}
.bartrack{background:#edf1f8}
.barfill{background:linear-gradient(90deg,#466ade,#8ba4f8)}
#app{animation:contentin .16s ease-out}
#notice:empty{display:none}
#staffTable{overflow:auto}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes contentin{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.two{grid-template-columns:1fr}.content{padding:24px}.topbar{padding:0 23px}}
@media(max-width:720px){
 .sidebar{width:min(290px,84vw);padding:22px 13px;box-shadow:18px 0 55px rgba(12,24,48,.21)}
 .sidebar.open{display:flex}
 .topbar{height:64px;padding:0 14px}
 .topbar .right{gap:5px}
 .topbar .right .btn{font-size:11px;padding:7px 9px;min-height:34px}
 .content{padding:20px 13px 34px}
 .heading{gap:12px;margin-bottom:17px}
 .heading h1{font-size:23px}
 .heading p{font-size:12px}
 .grid4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .stat{min-height:120px;padding:14px}
 .stat strong{font-size:26px;margin:12px 0 0}
 .stat .sico{width:32px;height:32px;font-size:15px}
 .panel{padding:16px}
 .two{gap:13px}
 .filters .search{width:100%}
 .search,.sel{min-width:0}
 .kanban{grid-template-columns:repeat(6,minmax(220px,1fr))}
 .form-layout{grid-template-columns:1fr;gap:14px}
 .form-layout .span2{grid-column:auto}
 .authcard{padding:25px}
 .modal{padding:19px;border-radius:15px}
}
@media(max-width:390px){.topbar .tag{display:none}.topbar .right .btn{padding:7px}.heading h1{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.nav-backdrop{display:none}
@media(max-width:720px){.nav-backdrop:not(.hide){display:block;position:fixed;inset:0;background:rgba(16,28,49,.48);z-index:19;backdrop-filter:blur(2px)}}

/* Compact, table-first workbench */
.content{max-width:none;padding:23px 26px 40px}
.heading{margin-bottom:14px}
.heading h1{font-size:24px}
.heading p{font-size:12px}
.compact-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:13px}
.compact-kpi{display:flex;align-items:baseline;gap:11px;padding:11px 15px;background:var(--panel);border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow);white-space:nowrap}
.compact-kpi strong{font-size:23px;font-weight:800;letter-spacing:-.6px}
.compact-kpi span{font-size:11px;color:var(--muted);font-weight:650}
.compact-kpi{cursor:pointer;text-align:left;color:var(--ink);min-height:52px}
.compact-kpi:hover{border-color:#b8c8f6;background:#f7f9ff}
.compact-kpi[aria-pressed="true"]{background:#edf3ff;border-color:#9fb7f4;box-shadow:inset 0 0 0 1px #c6d5f9}
.spec-label{font-size:10px;font-weight:750;color:var(--muted);display:block;line-height:1.25}
.dense-table .external-owner{padding:5px 7px;background:#eef6fb;border-radius:6px;color:#355b77;overflow-wrap:anywhere}
.workbench-toolbar .filters{flex-wrap:wrap}.workbench-toolbar .search{flex:1 1 260px;min-width:0}
@media(max-width:720px){#clearJobFilters{grid-column:1/-1}.workbench-toolbar .btn,.workbench-toolbar .sel{min-height:44px}}
.jobs-panel{padding:14px 15px}
.workbench-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.workbench-toolbar .filters{margin-bottom:12px;flex:1}
.workbench-toolbar .search{width:min(480px,100%)}
.result-count{font-size:11px;white-space:nowrap;padding-bottom:12px}
.workspace-grid{overflow-x:auto;max-width:100%;border:1px solid var(--border);border-radius:10px}
.dense-table{min-width:1460px;width:100%;table-layout:fixed;white-space:normal}
.dense-table th,.dense-table td{padding:10px 11px;border-bottom:1px solid var(--border);font-size:11.5px;line-height:1.45;vertical-align:top;overflow-wrap:anywhere}
.dense-table th{position:sticky;top:0;z-index:1;font-size:10px;white-space:nowrap;background:var(--bg)}
.dense-table th:nth-child(1){width:115px}
.dense-table th:nth-child(2){width:170px}
.dense-table th:nth-child(3){width:175px}
.dense-table th:nth-child(4){width:165px}
.dense-table th:nth-child(5){width:180px}
.dense-table th:nth-child(6){width:152px}
.dense-table th:nth-child(7){width:70px}
.dense-table th:nth-child(8){width:105px}
.dense-table th:nth-child(9){width:220px}
.dense-table td strong{font-size:11.5px}
.dense-table td small{font-size:10px;line-height:1.5;margin-top:3px}
.dense-table .fault-cell,.dense-table .spec-cell{max-width:190px}
.dense-table .activity-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.inline-stage{max-width:100%;width:100%;background:var(--panel);border:1px solid var(--border);border-radius:7px;color:var(--ink);padding:7px 5px;font:600 11px inherit;font-size:11px}
.quick-actions{display:flex;gap:5px;margin-top:7px}
.quick-actions .small-btn{font-size:10px;min-height:28px;padding:4px 8px}
.overdue{color:#c26928!important}
.intake-panel{padding:18px 20px}
.intake-section-title{font-size:12px;font-weight:800;letter-spacing:.25px;border-bottom:1px solid var(--border);padding:0 0 8px;margin:7px 0 12px}
.intake-section-title:not(:first-child){margin-top:17px}
.intake-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px 14px}
.intake-field{display:flex;flex-direction:column;gap:5px;min-width:0;font-weight:650;font-size:11px;color:var(--muted)}
.intake-field input,.intake-field select,.intake-field textarea{width:100%;min-height:37px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--ink);font-size:12px}
.intake-field textarea{min-height:64px;resize:vertical}
.intake-wide{grid-column:1/-1}
.intake-actions{margin-top:17px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.intake-actions .muted{font-size:11px}
@media(max-width:1100px){.intake-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.content{padding:18px 12px}.compact-kpis{gap:7px}.compact-kpi{padding:10px 9px;gap:8px}.compact-kpi strong{font-size:21px}.compact-kpi span{white-space:normal;line-height:1.15}.jobs-panel{padding:10px}.workbench-toolbar{flex-wrap:wrap}.result-count{padding:0 0 8px}.intake-grid{grid-template-columns:1fr}.intake-panel{padding:15px}.intake-field{grid-column:auto}.dense-table{min-width:1380px}}

/* Inline job workspace: keep repair context on the same screen. */
.dense-table .expanded-row td{padding:0;background:var(--bg);border-bottom:2px solid var(--border)}
.inline-job-detail{padding:17px 19px;background:var(--panel);box-shadow:inset 0 1px 0 var(--border)}
.inline-detail-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.inline-detail-title strong{font-size:13px;letter-spacing:-.1px}
.inline-detail-grid{display:grid;grid-template-columns:minmax(210px,1fr) minmax(260px,1.05fr) minmax(310px,1.25fr);gap:20px}
.inline-detail-grid>div{min-width:0}
.inline-detail-grid p{font-size:12px;color:var(--ink);margin:5px 0 13px;overflow-wrap:anywhere}
.inline-detail-grid .muted{font-size:11px}
.inline-note-label{display:block;font-size:11px;font-weight:750;margin-bottom:6px}
.inline-detail-grid textarea{min-height:88px;font-size:12px;display:block;margin-bottom:8px}
.inline-detail-grid .btn{padding:8px 13px;min-height:33px;font-size:11px}
.inline-history{max-height:260px;overflow:auto;margin-top:10px;padding-left:9px;border-left:2px solid var(--border)}
.inline-history .event{margin-bottom:11px}
.inline-history .event:before{left:-15px;width:7px;height:7px}
.inline-history .event strong{font-size:11px}
.inline-history .event p{font-size:11px;line-height:1.45;margin:4px 0}
@media(max-width:1000px){.inline-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-history-col{grid-column:1/-1}}
@media(max-width:650px){.inline-detail-grid{grid-template-columns:1fr}.inline-history-col{grid-column:auto}.inline-job-detail{padding:14px}}

/* Workshop operations controls: compact priority + technician ownership */
.dense-table{min-width:1580px}
.dense-table th:nth-child(6){width:150px}
.dense-table th:nth-child(7){width:95px}
.dense-table th:nth-child(8){width:65px}
.dense-table th:nth-child(9){width:150px}
.dense-table th:nth-child(10){width:215px}
.inline-priority,.inline-assignee{display:block;width:100%;max-width:100%;background:var(--panel);border:1px solid var(--border);color:var(--ink);font-size:11px;padding:7px 5px;border-radius:7px}
.priority-pill{display:inline-block;border-radius:999px;padding:4px 8px;font-size:10px;text-transform:capitalize}
.priority-urgent{background:#fff0f1;color:#b8293d;border-color:#f3cbd0;font-weight:800}
.priority-high{background:#fff4e6;color:#9e5d12;border-color:#f8deb6;font-weight:750}
.priority-normal{background:var(--panel);color:var(--ink)}
.priority-low{background:#edf7f4;color:#367b64}
.inline-detail-title{flex-wrap:wrap}


/* One light workspace, stable navigation, and responsive repair cards. */
#app,.modalback{animation:none}
.sidebar{width:210px;padding:22px 10px}.nav button{padding:10px;font-size:12px}.brand{padding:0 8px 22px;gap:8px}.brand strong{font-size:14px}.brandmark{width:34px;height:34px;flex-basis:34px}
.content{padding:20px 16px 36px}.topbar{padding:0 18px;height:64px}.dense-table{min-width:1000px;table-layout:fixed}
.dense-table th:nth-child(1){width:10%}.dense-table th:nth-child(2){width:12%}.dense-table th:nth-child(3){width:13%}.dense-table th:nth-child(4){width:12%}.dense-table th:nth-child(5){width:14%}.dense-table th:nth-child(6){width:17%}.dense-table th:nth-child(7){width:22%}
.dense-table th,.dense-table td{padding:10px 8px}.inline-assignee,.inline-priority{margin-top:5px}.latest-note{padding-top:6px;color:var(--ink)}.test-badge{display:inline-block;background:#edf2ff;color:#3157b0;border-radius:5px;padding:1px 5px;margin-left:4px;font-size:10px}.test-option{display:flex;align-items:center;gap:8px;margin-bottom:15px;font-size:12px;color:var(--muted)}
.kanban{contain:layout style;align-items:start}.deal .btn{margin-top:10px;width:100%;font-size:12px}.nav button:hover:not(.active){transform:none}.inline-detail-grid{grid-template-columns:1fr 1fr 1.2fr}
.workspace-grid{max-height:calc(100vh - 265px);overflow:auto}.dense-table thead{position:sticky;top:0;z-index:2}.inline-job-detail{max-width:100%}
@media(max-width:1100px) and (min-width:721px){.sidebar{width:190px}.content{padding:16px 12px}.compact-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-kpi{gap:7px;padding:9px}}
@media(max-width:720px){
 .sidebar{width:min(280px,85vw)}.brandmark{width:38px;height:38px;flex-basis:38px}.content{padding:16px 12px}.topbar{padding:0 12px}.topbar .right .btn{min-height:40px}
 .heading .actions,.heading .actions .btn{width:100%}.compact-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench-toolbar .filters{display:grid;grid-template-columns:1fr auto;width:100%}.workbench-toolbar .search{grid-column:1/-1}.workbench-toolbar .sel{width:100%}
 .workspace-grid{overflow:visible;border:0;max-height:none}.dense-table{min-width:0;width:100%;display:block}.dense-table thead{display:none}.dense-table tbody{display:block}.dense-table .job-row{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:12px;padding:6px;margin-bottom:12px;background:var(--panel);gap:0 8px}
 .dense-table .job-row td{display:block;border:0;padding:7px;min-width:0;width:auto}.job-row td:before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);font-weight:700;margin-bottom:4px}.job-row td:nth-child(5),.job-row td:nth-child(7){grid-column:1/-1}.dense-table .activity-cell,.dense-table .fault-cell{max-width:none;white-space:normal;overflow:visible}.quick-actions .small-btn{min-height:40px;font-size:12px}.inline-stage,.inline-assignee,.inline-priority{min-height:40px;font-size:12px}.dense-table .expanded-row,.dense-table .expanded-row td{display:block;width:100%}.inline-detail-grid{display:grid;grid-template-columns:1fr}.inline-history-col{grid-column:auto}.inline-job-detail{padding:12px}.intake-field input,.intake-field select,.intake-field textarea{font-size:16px;min-height:44px}.intake-actions .btn{min-height:44px}
 .kanban{display:flex;overflow-x:auto;scroll-snap-type:x proximity;max-width:100%}.kanban .column{flex:0 0 min(280px,85vw);scroll-snap-align:start}.panel,.main,.column{min-width:0}.tablewrap{max-width:100%}
}

.mobiletop{display:none}
@media(max-width:720px){.mobiletop{display:inline-flex}}

/* Portal identity: distinct company wordmark, product line and subtle Portal badge. */
.brand.company-brand{flex-direction:column;align-items:flex-start;gap:17px;padding-bottom:24px}
.company-brand .brand-copy{display:flex;flex-direction:column;gap:7px;max-width:100%;min-width:0}
.brand-organisation,.portal-organisation{display:block;color:#192d4a;font-size:17px;line-height:1.2;font-weight:750;letter-spacing:-.6px;white-space:nowrap}
.brand-it{color:var(--accent)}
.company-brand .company-logo{display:block;width:166px;max-width:100%;height:auto;object-fit:contain;flex:none}
.brand-product,.portal-location{display:flex;align-items:center;gap:8px;min-width:0}
.company-brand .brand-product strong{font-size:12px;line-height:1.4;letter-spacing:1.6px;font-weight:750;color:#55667f;white-space:nowrap}
.portal-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:3px 8px;border:1px solid #dce6f7;border-radius:999px;background:#f1f5fc;color:#45659c;font-size:10px;font-weight:650;line-height:1.2;letter-spacing:.15px}
.authcard .brand-login{align-items:center;text-align:center;margin-bottom:8px;padding:0 0 22px}
.authcard .brand-copy{align-items:center;gap:10px}
.authcard .brand-organisation{font-size:26px;letter-spacing:-1px}
.authcard .brand-product{gap:10px}
.authcard .brand-product strong{font-size:13px;letter-spacing:2.4px}
.authcard .portal-badge{font-size:11px;padding:4px 10px}
.authcard .brand-login .company-logo{width:236px}
.topbar-context{display:flex;align-items:center;gap:10px;min-width:0}
.portal-context{display:flex;align-items:center;gap:20px;min-width:0}
.portal-identity{display:flex;flex-direction:column;gap:5px;flex-shrink:0}
.portal-organisation{font-size:16px;letter-spacing:-.5px}
.portal-location{gap:7px}
.portal-location>strong{font-size:9px;font-weight:750;line-height:1.3;letter-spacing:1.7px;color:#64748b;white-space:nowrap}
.portal-location .portal-badge{padding:2px 7px;font-size:9px}
.portal-breadcrumb{display:block;border-left:1px solid var(--border);padding:8px 0 8px 20px;line-height:1.4}
.topbar .portal-breadcrumb b{font-size:12px;font-weight:550;color:#64748b}
.topbar .right{flex-shrink:0}
@media(max-width:1100px){.portal-context{gap:14px}.portal-breadcrumb{padding-left:14px}.portal-organisation{font-size:15px}}
@media(max-width:720px){.sidebar .company-logo{width:180px}.authcard .brand-login .company-logo{width:218px}.topbar{gap:8px;padding:0 12px}.portal-breadcrumb{display:none}.portal-organisation{font-size:15px}.authcard .brand-organisation{font-size:23px}.authcard .brand-product strong{font-size:12px;letter-spacing:2px}}


/* Soft, consistent repair status colors. Text labels remain visible at every stage. */
.stage-tone{--stage-bg:#f1f5f9;--stage-ink:#475569;--stage-border:#d6e0eb;background-color:var(--stage-bg);color:var(--stage-ink);border-color:var(--stage-border);font-weight:700}
.stage-booking_in{--stage-bg:#edf4ff;--stage-ink:#28559a;--stage-border:#c8dbf8}
.stage-diagnosis{--stage-bg:#f4efff;--stage-ink:#68429b;--stage-border:#ded0f4}
.stage-quote_pending{--stage-bg:#fff8e5;--stage-ink:#875a10;--stage-border:#f0dea6}
.stage-parts_sourcing{--stage-bg:#fff1e8;--stage-ink:#965225;--stage-border:#f3d3bc}
.stage-in_progress{--stage-bg:#eafafc;--stage-ink:#216b7a;--stage-border:#bfe4eb}
.stage-quality_control{--stage-bg:#eef0ff;--stage-ink:#4b519b;--stage-border:#d1d6f7}
.stage-ready_for_pickup{--stage-bg:#eafaf4;--stage-ink:#206c57;--stage-border:#bee5d6}
.stage-delivered{--stage-bg:#edf8ea;--stage-ink:#426b2b;--stage-border:#cae3bc}
.stage-cancelled{--stage-bg:#fff0f2;--stage-ink:#9d3c50;--stage-border:#f0cbd3}
.inline-stage.stage-tone{border-left:3px solid var(--stage-ink)}
.pill.stage-tone{border:1px solid var(--stage-border)}
.btn.stage-tone:hover{background-color:var(--stage-bg);border-color:var(--stage-ink)}

/* Status evidence stays beside the repair, without a browser prompt. */
.stage-confirmation{padding:16px 18px;background:var(--panel)}
.stage-confirmation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.stage-confirmation h3{font-size:14px;margin:0;color:var(--ink)}
.stage-confirmation form{display:flex;flex-direction:column;align-items:stretch;gap:0}
.stage-confirmation label{display:block;font-size:12px;font-weight:750;color:var(--ink)}
.stage-confirmation .muted{font-size:12px;margin:4px 0 8px}
.stage-confirmation textarea{display:block;resize:vertical;min-height:80px;font-size:13px}
.stage-confirmation .feedback{margin:8px 0 0;font-size:12px}
.stage-confirmation-actions{display:flex;flex-direction:row;justify-content:flex-end;flex-wrap:wrap;gap:10px;min-width:0;border-top:1px solid var(--border);padding-top:16px;margin-top:16px}
@media(max-width:720px){.stage-confirmation{padding:14px}.stage-confirmation form{grid-template-columns:1fr;gap:12px}.stage-confirmation textarea{font-size:16px}.stage-confirmation-actions .btn{min-height:44px}}


/* Staff creation and password reset use the same light workspace. */
.staff-editor{padding:18px;margin:0 0 18px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}
.staff-editor h2{margin:0 0 6px}.staff-editor>p{margin:0 0 16px}
.staff-editor .form-layout{max-width:850px}.staff-editor small{display:block;margin-top:5px;font-size:11px}
.staff-active{align-self:center}.staff-active label{display:flex;gap:8px;align-items:center;margin:0}.staff-active input{width:18px;min-height:18px}
.staff-row-actions{display:flex;gap:7px;flex-wrap:wrap}.staff-row-actions .btn{padding:8px 11px;font-size:12px}
.booking-permission{display:flex;gap:7px;align-items:center;font-size:12px;white-space:nowrap}.booking-permission input{width:18px;height:18px;min-height:18px}
@media(max-width:720px){.staff-editor{padding:14px}.staff-editor input{font-size:16px}.staff-row-actions .btn{min-height:44px}}

.email-preview-body{min-height:210px;resize:vertical;font-size:13px;line-height:1.6;margin:8px 0 14px}
#assignmentMailPreview .test-option{align-items:flex-start;max-width:800px}#assignmentMailPreview .test-option input{margin-top:4px;flex-shrink:0}
@media(max-width:720px){.email-preview-body{font-size:16px}}

.external-job{padding:20px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}
.external-job:first-child{padding-top:0}.external-job:last-child{border-bottom:0;padding-bottom:0}
.external-job-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.external-job-heading h2{margin:0;font-size:16px}
.external-device{font-weight:650;margin:8px 0}.external-fault{margin:8px 0 18px}
.external-job-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.external-job-grid h3,.external-job-grid label{font-size:13px;font-weight:750;margin:0 0 8px;display:block}
.external-job-grid form>.muted{font-size:12px;margin:0 0 8px}.external-job-grid textarea{display:block;resize:vertical;margin-bottom:10px}
.external-history{max-height:320px;overflow:auto}.external-history .event{padding:9px 0}.external-history .event p{white-space:pre-wrap;margin:5px 0}
.external-job-grid .feedback{font-size:12px;margin-bottom:0}
@media(max-width:720px){.external-job-grid{grid-template-columns:1fr;gap:18px}.external-job-grid textarea{font-size:16px}.external-job-grid .btn{min-height:44px}}

/* Reversible CRO archive: reasons and confirmation stay within the portal. */
.quick-actions{flex-wrap:wrap}
.archive-action{color:#5e6d83}
.archive-editor{margin-bottom:18px;scroll-margin-top:82px;border-color:#d3def4;background:#fafcff}
.archive-editor h2{margin:0 0 6px}
.archive-editor p{margin:5px 0 12px}
.archive-editor label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}
.archive-editor textarea{margin-bottom:12px;min-height:86px;resize:vertical}
.archive-editor .feedback{margin-top:12px}
.archive-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.archive-toolbar label{font-size:12px;font-weight:700}
.archive-toolbar .search{flex:1;min-width:180px}
.archive-record{padding-bottom:7px;color:#596b84}
.archive-delete-action{color:#aa3449;border-color:#edd2d9;background:#fff9fa}
.archive-delete-editor{border-color:#eccbd3;background:#fffafb}
.archive-delete-editor input{margin-bottom:5px}
.delete-field-help{font-size:12px;color:var(--muted);margin:0 0 14px!important}
.delete-field-help.is-valid{color:#247451}
.stage-awaiting_customer{background:#fff5e5!important;color:#84580d!important;border-color:#f0dfb8!important}
.stage-on_hold{background:#f1eef9!important;color:#655083!important;border-color:#ddd5ec!important}
.status-guidance{max-width:220px;white-space:normal;line-height:1.45;font-size:10px!important}
.workflow-modal{width:min(980px,96vw);max-width:980px}
.workflow-steps{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:18px 0}
.workflow-steps li{padding:6px 9px;background:#f4f6fa;border:1px solid #e3e8f0;border-radius:7px;font-size:11px;color:#62718a}
.workflow-steps li.current{background:#eaf0ff;border-color:#a8bcee;color:#2e52a7;font-weight:750}
.workflow-status .mini-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.workflow-section,.workflow-note{border-top:1px solid var(--border);padding:18px 0;margin-top:16px}
.workflow-section h3{margin-top:0}.workflow-note textarea{margin:9px 0;resize:vertical}
.workflow-section .form-layout label,.handover-fields label{display:block;font-size:12px;font-weight:650}
.workflow-section .field,.handover-fields .field{margin:5px 0 10px}
.workflow-section .actions{margin-top:12px}
.qc-checklist{margin:0 0 16px;padding:12px;border:1px solid #d9e3f3;border-radius:9px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qc-checklist legend{font-weight:750;font-size:13px;padding:0 5px}
.qc-checklist label{display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:0}
.qc-checklist select{width:100%;min-width:0}
.handover-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.handover-fields .checkline{grid-column:1/-1;display:flex;align-items:center;gap:9px;font-weight:500}
.checkline input{width:18px;height:18px;flex-shrink:0}
.parts-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.part-card{border:1px solid var(--border);border-radius:10px;padding:12px;overflow-wrap:anywhere}
.part-card strong{display:block;margin-bottom:8px}.part-card p{font-size:12px;white-space:pre-wrap}
.part-editor{padding:16px;border:1px solid #d7e1f3;border-radius:10px;background:#fafcff;margin-bottom:14px}
.part-editor h4{margin:0}.part-editor label{min-width:0}.part-editor input,.part-editor select,.part-editor textarea{min-width:0;max-width:100%}
.external-status-control{max-width:100%;margin:12px 0}.external-status-control>.inline-stage{max-width:350px}
.workflow-modal .stage-change-row{margin-top:14px}.workflow-modal .stage-confirmation{background:#f8faff}
.timeline .event p{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:720px){.workflow-modal{width:100%;max-height:94dvh;padding:17px}.qc-checklist,.handover-fields{grid-template-columns:1fr}.workflow-modal input,.workflow-modal select,.workflow-modal textarea,.stage-confirmation input,.stage-confirmation select{font-size:16px}.workflow-modal button,.stage-confirmation button{min-height:44px}.workflow-steps{gap:5px}.workflow-steps li{font-size:10px}.parts-list{grid-template-columns:1fr}.external-status-control>.inline-stage{width:100%;max-width:100%}}
.archive-delete-copy{color:#934052;font-size:12px;line-height:1.6}
.btn.delete-confirm{background:#b63850;color:#fff;border-color:#b63850}
.btn.delete-confirm:hover{background:#9e2c42;border-color:#9e2c42}
@media(max-width:720px){.archive-toolbar{align-items:stretch}.archive-toolbar label{width:100%}.archive-toolbar .search{min-width:0;width:100%;flex-basis:100%}.archive-toolbar .btn,.archive-editor .btn{min-height:44px}.archive-editor textarea,.archive-delete-editor input{font-size:16px}}

.repair-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 0 0;flex-wrap:wrap}.repair-pagination span{font-size:12px;color:var(--muted);margin-right:auto}.repair-pagination button{min-height:44px}

/* Dashboard and CRO actions: clear hierarchy, steady controls and comfortable spacing. */
.ui-icon{display:inline-block;width:17px;height:17px;flex:0 0 17px;vertical-align:middle}
.btn,.small-btn{border-color:#cfd9e8;min-height:42px;font-size:12px;line-height:1.4;gap:8px}
.small-btn{min-height:40px;padding:9px 12px;color:#344660;background:#fff;font-weight:700}
.btn:not(.primary):not(.delete-confirm):hover,.small-btn:hover{background:#eef3fc;border-color:#aebfdb;color:#203b65;transform:none}
.btn.primary:hover{transform:none}
.btn:focus-visible,.small-btn:focus-visible,.compact-kpi:focus-visible{outline:3px solid #95b0ff;outline-offset:3px;box-shadow:0 0 0 1px #fff}
.btn:active,.small-btn:active{box-shadow:inset 0 1px 3px #1d33521c}
.btn:disabled,.small-btn:disabled{cursor:not-allowed;box-shadow:none}
.btn[aria-busy="true"],.small-btn[aria-busy="true"]{cursor:progress;opacity:1}
.heading{align-items:center;gap:18px;margin-bottom:18px}
.heading .actions .btn{min-height:44px;padding:11px 17px;gap:9px}
.compact-kpis{gap:12px;margin-bottom:18px}
.compact-kpi{display:grid;grid-template-columns:auto minmax(0,1fr) 27px;align-items:center;gap:12px;min-height:72px;padding:12px 15px;border:1px solid #d9e2ef;border-radius:12px;background:#fff;box-shadow:0 2px 6px #20345204;text-align:left;white-space:normal}
.compact-kpi .kpi-value{font-size:25px;line-height:1.1;letter-spacing:-.65px;color:#1b3150;min-width:26px}
.compact-kpi .kpi-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.compact-kpi .kpi-label{font-size:12px;line-height:1.35;font-weight:750;color:#34465f}
.compact-kpi .kpi-hint{font-size:10.5px;line-height:1.3;color:#67758a;font-weight:500}
.compact-kpi .kpi-affordance{display:grid;place-items:center;width:27px;height:27px;border:1px solid #dbe4f1;border-radius:8px;background:#f7f9fd;color:#5a6d89}
.compact-kpi .kpi-affordance .ui-icon{width:15px;height:15px;flex-basis:15px}
.compact-kpi:hover{background:#f8faff;border-color:#a7bce5;box-shadow:0 3px 10px #2747750a}
.compact-kpi[aria-pressed="true"]{background:#eef4ff;border-color:#8faeea;box-shadow:inset 3px 0 #365fe0}
.compact-kpi[aria-pressed="true"] .kpi-label,.compact-kpi[aria-pressed="true"] .kpi-value{color:#284eac}
.compact-kpi[aria-pressed="true"] .kpi-hint{color:#3b5c9b}
.compact-kpi[aria-pressed="true"] .kpi-affordance{color:#fff;background:#365fe0;border-color:#365fe0}
.jobs-panel{padding:18px;border-color:#dfe6f0;border-radius:14px}
.workbench-toolbar{display:block}
.workbench-toolbar .filters.repair-filters{display:grid;grid-template-columns:minmax(210px,1fr) minmax(190px,230px) auto;align-items:end;gap:14px;margin:0}
.repair-filters>label{display:flex;flex-direction:column;gap:6px;min-width:0}
.field-caption{font-size:11px;font-weight:750;color:#53637b;line-height:1.4}
.search-control{display:block;position:relative;min-width:0}
.search-control>.ui-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#63748e;pointer-events:none}
.workbench-toolbar .repair-filters .search{width:100%;max-width:none;padding:11px 12px 11px 38px;min-height:44px;font-size:12px;background:#fff;border-color:#cfd9e8}
.workbench-toolbar .repair-filters .sel{width:100%;min-width:0;min-height:44px;padding:11px 12px;font-size:12px;border-color:#cfd9e8}
.filter-actions{display:flex;align-items:center;gap:9px}
.filter-actions .btn{min-height:44px;padding:10px 13px;white-space:nowrap}
.repair-list-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0 12px}
.repair-list-summary>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.active-repair-filter{font-size:11px;line-height:1.5;font-weight:750;color:#3b5380;background:#f1f5fc;border:1px solid #e0e7f3;border-radius:6px;padding:4px 8px}
.repair-list-summary .result-count{font-size:11px;color:#53637b;padding:0}
.list-sort-hint{font-size:10.5px;color:#68788e}
.workspace-grid{border-color:#dfe6f0;border-radius:10px;max-height:max(320px,calc(100dvh - 470px));scroll-padding-top:48px;scrollbar-gutter:stable}
.dense-table{min-width:1040px}
.dense-table th:nth-child(1){width:9%}.dense-table th:nth-child(2){width:12%}.dense-table th:nth-child(3){width:13%}.dense-table th:nth-child(4){width:12%}.dense-table th:nth-child(5){width:13%}.dense-table th:nth-child(6){width:18%}.dense-table th:nth-child(7){width:23%}
.dense-table th{padding:13px 12px;font-size:10px;letter-spacing:.45px;color:#586b87;background:#f5f8fc;border-bottom-color:#dce4f0}
.dense-table .job-row td{padding:14px 12px;font-size:12px;line-height:1.5;border-bottom-color:#e3e9f2}
.dense-table .job-row td strong{font-size:12px;line-height:1.45}
.dense-table .job-row td small{font-size:11px;color:#5f7088;line-height:1.45;margin-top:5px}
.dense-table .job-row:nth-of-type(even){background:#fbfcfe}
.dense-table .job-row:hover,.dense-table .job-row:focus-within{background:#f5f8fe}
.dense-table .job-row.is-expanded{background:#f0f5ff;box-shadow:inset 3px 0 #7797e4}
.dense-table .spec-cell>div{display:grid;grid-template-columns:54px minmax(0,1fr);gap:6px;margin-bottom:7px;align-items:start}
.dense-table .spec-label{display:inline;font-size:10px;line-height:1.5;color:#5f7088;padding-top:1px}
.dense-table .spec-cell>div:last-child{margin-bottom:0}
.inline-stage,.inline-assignee,.inline-priority{min-height:40px;border-color:#cfd9e8;border-radius:8px;padding:8px;font-size:11.5px;line-height:1.35;cursor:pointer}
.inline-stage{font-weight:750}
.cro-owner-field{display:flex;flex-direction:column;gap:5px;margin-top:10px;min-width:0}
.control-caption{font-size:10px;color:#5d6f88;font-weight:650;line-height:1.35}
.cro-owner-field .inline-assignee{margin:0}
.cro-priority-field{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:9px}
.cro-priority-field .inline-priority{width:auto;min-width:90px;margin:0;min-height:35px;padding:6px 8px}
.cro-priority-field .priority-pill{margin:0}
.dense-table .status-guidance{font-size:10.5px!important;line-height:1.45;color:#5b6e88!important;margin-top:6px}
.activity-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#34445d;line-height:1.5}
.latest-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-top:7px;color:#4b5d76;font-size:11.5px}
.dense-table .activity-time{display:flex;align-items:center;gap:5px;font-size:10.5px!important;color:#61738d!important;margin-top:8px!important}
.activity-time .ui-icon{width:13px;height:13px;flex-basis:13px;color:#76859b}
.quick-actions.cro-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e2e9f3}
.quick-actions.cro-actions .cro-action{display:flex;align-items:center;justify-content:center;min-width:0;min-height:40px;padding:9px 7px;gap:6px;font-size:12px;font-weight:750;line-height:1.3;border-radius:8px;white-space:normal;text-align:center;border-color:#cdd9eb;color:#354e73;background:#fff}
.cro-action .ui-icon{width:15px;height:15px;flex-basis:15px}
.quick-actions.cro-actions .cro-action:hover{background:#edf3ff;border-color:#9fb7e0;color:#254780}
.quick-actions.cro-actions .cro-action-primary{background:#3157cd;border-color:#3157cd;color:#fff;box-shadow:0 2px 4px #24449f12}
.quick-actions.cro-actions .cro-action-primary:hover{background:#2749b8;border-color:#2749b8;color:#fff}
.quick-actions.cro-actions .cro-action-selected{background:#eaf1ff;border-color:#a9bee7;color:#2d4fa1}
.quick-actions.cro-actions .cro-action-muted{background:#f7f9fc;color:#526581;border-color:#d8e1ee}
.quick-actions.cro-actions .cro-action-danger{background:#fff6f7;color:#a3354d;border-color:#eccbd4}
.quick-actions.cro-actions .cro-action-danger:hover{background:#ffedf1;border-color:#d9a6b4}
.dense-table .archive-record{padding-bottom:12px;border-bottom:1px solid #e4eaf2;margin-bottom:10px}
.inline-job-detail{padding:18px;border-left:3px solid #7c9de9;scroll-margin-top:52px}
.inline-detail-title{gap:10px;margin-bottom:16px}
.inline-detail-title>strong{flex:1 1 240px;margin-right:auto;font-size:14px}
.inline-detail-title .small-btn{min-height:40px}
.inline-detail-grid{gap:16px}
.inline-detail-grid>div{padding:14px;background:#f9fbff;border:1px solid #e2e9f4;border-radius:10px}
.inline-detail-grid .inline-note-label{font-size:12px;margin-bottom:9px}
.inline-detail-grid textarea{font-size:13px;min-height:108px;padding:11px;line-height:1.55}
.inline-detail-grid .btn{min-height:42px;padding:10px 15px;font-size:12px}
.inline-history{padding:0 8px 0 11px;margin-top:12px}
.inline-history .event{margin-bottom:14px}
.inline-history .event strong,.inline-history .event p{font-size:11.5px}
.stage-confirmation{padding:20px;border-top:1px solid #dce6f5;background:#f8faff}
.stage-confirmation-heading{gap:12px;margin-bottom:18px;align-items:flex-start}
.stage-confirmation h3{font-size:15px;line-height:1.4}
.stage-confirmation form>label{margin-bottom:6px}
.stage-confirmation form>.muted{margin:0 0 12px;line-height:1.6;color:#536783}
.stage-confirmation textarea{width:100%;min-height:104px;padding:12px;font-size:13px;line-height:1.6}
.stage-confirmation-actions .btn{min-height:44px;padding:11px 17px}
.stage-confirmation .qc-checklist{min-width:0;width:100%;margin-bottom:20px;padding:15px;gap:14px;background:#fff}
.qc-checklist label span{line-height:1.5}
.stage-confirmation .handover-fields{min-width:0;width:100%;margin-bottom:18px;gap:12px 16px}
.workflow-modal{padding:24px;scroll-padding-top:86px}
.workflow-modal>.detailtop:first-child{position:sticky;top:0;z-index:4;background:#fff;border-bottom:1px solid #e0e7f1;margin:-24px -24px 16px;padding:16px 24px;gap:14px}
.workflow-modal>.detailtop:first-child h2{margin:0;min-width:0;line-height:1.4}
.workflow-modal>.detailtop:first-child .btn{min-height:42px;flex-shrink:0}
.workflow-status .mini-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:12px;background:#f6f9ff;border:1px solid #e1e8f4;border-radius:10px;margin:12px 0}
.workflow-status .mini-actions .small-btn{width:100%;min-height:40px;font-size:11.5px;padding:9px 10px}
.workflow-note .btn,.workflow-section .btn{min-height:42px}
.workflow-section .actions{gap:10px;margin-top:15px}
@media(max-width:1100px){.compact-kpi{gap:8px;padding:12px 11px}.compact-kpi .kpi-value{font-size:23px}.compact-kpi .kpi-label{font-size:11px}.compact-kpi .kpi-hint{font-size:10px}.compact-kpi .kpi-affordance{width:24px;height:24px}}
@media(max-width:1000px) and (min-width:721px){.workbench-toolbar .filters.repair-filters{grid-template-columns:minmax(0,1fr) auto;gap:12px}.repair-filters .repair-search{grid-column:1/-1}}
@media(max-width:720px){
 .content{padding:18px 12px 28px}.heading{margin-bottom:16px;gap:13px}.heading .actions .btn{min-height:46px}
 .compact-kpis{gap:9px;margin-bottom:16px}.compact-kpi{grid-template-columns:auto minmax(0,1fr) 24px;gap:8px;padding:12px 10px;min-height:76px}.compact-kpi .kpi-value{font-size:23px;min-width:20px}.compact-kpi .kpi-label{font-size:11px}.compact-kpi .kpi-hint{font-size:9.5px}
 .jobs-panel{padding:12px;background:transparent;border-color:transparent;box-shadow:none}
 .workbench-toolbar .filters.repair-filters{grid-template-columns:minmax(0,1fr);gap:12px}.repair-filters .repair-search,.repair-filters .repair-stage-filter{grid-column:1/-1}.filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.filter-actions .btn{width:100%;min-height:44px}.workbench-toolbar .repair-filters .search,.workbench-toolbar .repair-filters .sel{font-size:16px;min-height:46px}
 .repair-list-summary{gap:8px;margin:16px 0 12px}.repair-list-summary .result-count{padding:0}.list-sort-hint{font-size:10px}
 .workspace-grid{max-height:none;border:0;overflow:visible;scrollbar-gutter:auto}.dense-table{min-width:0}
 .dense-table .job-row{padding:10px;border-radius:13px;gap:6px 8px;margin-bottom:14px;border:1px solid #d6e0ed;box-shadow:0 3px 12px #21365005;background:#fff}
 .dense-table .job-row:nth-of-type(even){background:#fff}.dense-table .job-row td{padding:9px 7px;font-size:12px}.dense-table .job-row td strong{font-size:13px}.job-row td:before{font-size:10px;color:#5d6f87;letter-spacing:.2px;margin-bottom:6px}
 .job-row td:nth-child(6){grid-column:1/-1;border-top:1px solid #e5ebf4;padding-top:14px}.job-row td:nth-child(7){border-top:1px solid #e5ebf4;padding-top:14px}
 .cro-owner-field{margin-top:12px}.inline-stage,.inline-assignee,.inline-priority{min-height:44px;font-size:16px;padding:10px}.cro-priority-field{margin-top:12px}.cro-priority-field .inline-priority{min-height:44px;font-size:14px;min-width:115px}
 .quick-actions.cro-actions{gap:10px;margin-top:14px;padding-top:14px}.quick-actions.cro-actions .cro-action{min-height:46px;font-size:12px;padding:12px 9px;gap:8px}.cro-action .ui-icon{width:17px;height:17px;flex-basis:17px}
 .inline-job-detail{padding:14px;border-radius:11px;margin-bottom:14px}.inline-detail-title>strong{flex-basis:100%;font-size:13px}.inline-detail-title .small-btn{min-height:44px;flex:1}.inline-detail-grid{gap:12px}.inline-detail-grid>div{padding:13px}.inline-detail-grid textarea{font-size:16px}.inline-detail-grid .btn{min-height:44px;width:100%}
 .stage-confirmation{padding:16px}.stage-confirmation-heading{gap:12px;margin-bottom:16px}.stage-confirmation-actions{display:flex;flex-direction:column;gap:10px;padding-top:15px;margin-top:15px}.stage-confirmation-actions .btn{width:100%;min-height:46px;font-size:13px}.stage-confirmation textarea{font-size:16px}.stage-confirmation .qc-checklist{grid-template-columns:minmax(0,1fr);padding:12px;gap:13px}
 .workflow-modal{padding:16px;max-height:94dvh}.workflow-modal>.detailtop:first-child{top:0;margin:-16px -16px 16px;padding:14px 16px}.workflow-modal>.detailtop:first-child h2{font-size:17px}.workflow-modal>.detailtop:first-child .btn{min-height:44px;padding:10px 12px}.workflow-status .mini-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.workflow-status .mini-actions .small-btn{min-height:46px;font-size:11px;padding:10px 7px}.workflow-note .btn,.workflow-section .btn{min-height:44px}
}
@media(max-width:380px){.compact-kpi{grid-template-columns:auto minmax(0,1fr);gap:8px}.compact-kpi .kpi-affordance{display:none}.compact-kpi .kpi-label{font-size:11px}.list-sort-hint{width:100%}.quick-actions.cro-actions .cro-action{font-size:11.5px}}

/* Keep the company logo in navigation and the full portal title in the header. */
/* Compact shell: navigation first, identity and staff controls in the footer. */
.sidebar{height:100vh;height:100dvh;min-height:0;padding-top:16px;padding-bottom:16px}
.sidebar>.nav{flex:1;min-height:0;overflow-y:auto;padding-bottom:14px}
.sidebar>.sidefoot{flex-shrink:0;display:flex;flex-direction:column;gap:12px;margin-top:auto;padding:14px 6px 0}
.sidebar .sidefoot .brand.sidebar-logo{align-items:flex-start;gap:0;padding:0}
.sidebar .sidefoot .company-logo{width:132px;max-width:100%;height:auto}
.sidefoot .userline{gap:10px;padding:0;min-width:0}
.sidefoot .userline>div:last-child{min-width:0;overflow-wrap:anywhere}
.sidefoot .avatar{width:34px;height:34px;flex:0 0 34px}
.sidebar-signout{width:100%;justify-content:flex-start;gap:9px;min-height:40px;padding:9px 12px;font-size:12px;background:#fff;border-color:#dce5f0;color:#52657e;box-shadow:none}
.sidebar-signout:hover{background:#f5f8fc;border-color:#b9c9df;color:#223d60}
.topbar{min-height:52px;height:auto;padding:8px 18px;gap:12px}
.topbar-context{flex:1;min-width:0}
.portal-context{flex:1;justify-content:flex-start;gap:0}
.portal-identity{flex-direction:row;align-items:center;gap:12px;min-width:0}
.portal-organisation{font-size:20px;font-weight:750;line-height:1.25;letter-spacing:-.55px;color:#1a2e4c}
.portal-location{gap:7px;padding-left:12px;border-left:1px solid #dfe6f1}
.portal-location>strong{font-size:10px;font-weight:750;letter-spacing:1.3px;color:#4a6081;line-height:1.4}
.portal-location .portal-badge{padding:3px 8px;font-size:9px;letter-spacing:.1px}
.content{padding:14px 16px 24px}
.heading{margin-bottom:16px}
@media(min-width:721px){.workspace-grid{max-height:max(320px,calc(100dvh - 430px))}}
@media(max-width:1100px) and (min-width:721px){.content{padding:14px 12px 24px}.portal-organisation{font-size:19px}}
@media(max-width:720px){
 .sidebar{padding:16px 12px max(16px,env(safe-area-inset-bottom))}
 .sidebar .sidefoot .company-logo{width:132px}
 .sidebar-signout{min-height:44px}
 .topbar{min-height:60px;gap:10px;padding:8px 12px}
 .topbar-context{gap:10px}
 .portal-identity{flex-direction:column;align-items:flex-start;gap:3px}
 .portal-organisation{font-size:18px;letter-spacing:-.45px}
 .portal-location{padding-left:0;border-left:0}
 .portal-location>strong{font-size:9px;letter-spacing:1.3px}
 .portal-location .portal-badge{padding:2px 7px}
 .topbar-context>#menuBtn{min-height:44px;padding:10px 11px;flex-shrink:0}
 .content{padding:14px 12px 24px}
}
@media(max-width:380px){.topbar{padding-left:10px;padding-right:10px}.topbar-context{gap:8px}.portal-organisation{font-size:17px;letter-spacing:-.5px}}

/* Booking presets keep common intake details quick and exact values available. */
.booking-preset-hint{margin:0 0 17px;padding:12px 14px;border:1px solid #dce6f6;border-radius:9px;background:#f5f8ff;font-size:12px;line-height:1.6;color:#526987}
.booking-preset-hint b{font-weight:700;color:#344e75}
.intake-field.booking-preset-field{justify-content:flex-start}
.booking-preset-field>label{font-size:11px;font-weight:650;line-height:1.4}
.booking-preset-field select{cursor:pointer}
.booking-preset-field .preset-custom-label{margin-top:5px;font-size:10.5px;color:#526987}
.booking-preset-field .preset-custom{background:#f8faff;border-color:#b7c9ea}
.booking-preset-field [hidden]{display:none!important}
.booking-accessory-picks{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 5px}
.booking-pick{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 12px;border:1px solid #cfdbea;border-radius:8px;background:#fff;color:#3b5275;font-size:11px;line-height:1.4;font-weight:650}
.booking-pick:hover{background:#f0f5ff;border-color:#9bb4df}
.booking-pick[aria-pressed="true"]{background:#eaf1ff;color:#2c50ae;border-color:#89a7e5;box-shadow:inset 0 0 0 1px #bdd0f5}
.booking-pick[aria-pressed="true"]::before{content:'✓';font-weight:800}
.booking-pick:focus-visible{outline:3px solid #a7bbff;outline-offset:2px}
.booking-field-hint{font-size:10.5px;line-height:1.5;color:#62748d;font-weight:500}
.booking-picker-feedback:empty{display:none}
.booking-picker-feedback{margin:3px 0 0;color:#3c5b8a;font-size:11px;line-height:1.5;font-weight:500}
#bookForm[aria-busy="true"]{cursor:progress}
@media(max-width:720px){.booking-preset-hint{padding:11px 12px;font-size:11px}.booking-pick{min-height:44px;font-size:12px;padding:10px 13px}.booking-accessory-picks{gap:9px}.booking-preset-field select,.booking-preset-field .preset-custom{min-height:44px;font-size:16px}.booking-field-hint{font-size:11px}}

/* Authentication startup feedback. */
.authcard [hidden]{display:none!important}
#reloadPortal{margin-top:12px}

/* Compact dashboard counters leave more room for repair records. */
.compact-kpis{gap:8px;margin-bottom:10px}
.compact-kpi{min-height:44px;padding:7px 12px;gap:9px;grid-template-columns:auto minmax(0,1fr) 22px;border-radius:9px}
.compact-kpi .kpi-value{font-size:19px;min-width:19px}
.compact-kpi .kpi-label{font-size:11px}
.compact-kpi .kpi-hint{display:none}
.compact-kpi .kpi-affordance{width:22px;height:22px;border-radius:6px}
@media(max-width:720px){.compact-kpis{gap:7px;margin-bottom:10px}.compact-kpi{min-height:44px;padding:7px 9px}.compact-kpi .kpi-value{font-size:19px}.compact-kpi .kpi-label{font-size:11px}}

@media(min-width:721px){.workspace-grid{max-height:max(320px,calc(100dvh - 330px))}}

.screen-reader-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Dashboard uses available height rather than an estimated table-height subtraction. */
@media(min-width:721px){
 .main:has(.repair-workspace){height:100dvh;display:flex;flex-direction:column;overflow:hidden}
 .main:has(.repair-workspace)>.topbar{position:relative;flex-shrink:0}
 .content:has(.repair-workspace){flex:1;min-height:0;display:flex;flex-direction:column;width:100%;margin:0;padding-bottom:12px}
 .content:has(.repair-workspace)>#notice{flex-shrink:0}
 #app.repair-workspace{flex:1;min-height:0;display:flex;flex-direction:column}
 .repair-workspace>.compact-kpis{flex-shrink:0}
 .repair-workspace>.jobs-panel{flex:1;min-height:0;display:flex;flex-direction:column;margin-bottom:0}
 .repair-workspace .workbench-toolbar{flex-shrink:0;margin-bottom:10px}
 .repair-workspace [data-repair-page="jobs"]{flex:1;min-height:0;display:flex;flex-direction:column}
 .repair-workspace .workspace-grid{flex:1;min-height:0;max-height:none;overflow:auto;isolation:isolate}
 .repair-workspace .repair-pagination{flex-shrink:0}
}

.compact-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.repair-text-preview summary{cursor:pointer;list-style:none;line-height:1.5}.repair-text-preview summary span{color:#315cd3;font-weight:650;white-space:nowrap}.repair-text-preview[open] summary{font-size:0}.repair-text-preview[open] summary span{font-size:11px}.repair-text-preview[open] summary span::after{content:' / less'}.repair-text-preview>div{white-space:pre-wrap;margin-top:5px}
.customer-match-list{display:flex;flex-direction:column;gap:5px}.customer-match-list:empty{display:none}.customer-match-list button{text-align:left;white-space:normal;min-height:40px}.existing-customer-field{grid-column:1/-1}.collection-summary p{margin:6px 0}
@media(max-width:720px){.compact-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

.repair-next-step{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;border:1px solid #d3e1fa;border-radius:10px;background:#f2f6ff;margin:12px 0}.repair-next-step h3{font-size:15px;margin:3px 0 6px}.repair-next-step p{margin:0;line-height:1.55;color:#4e617b;font-size:12px}.repair-next-step>.btn{flex-shrink:0;min-height:44px}.guide-caption{font-size:10px;font-weight:750;color:#395fba;text-transform:uppercase;letter-spacing:.7px}.workflow-steps li small{display:block;font-size:10px;color:#66788f;margin-top:3px}.daily-workshop-guide{padding-left:22px;max-width:780px;line-height:1.65}.daily-workshop-guide li{margin-bottom:7px}
@media(max-width:720px){.repair-next-step{align-items:stretch;flex-direction:column;gap:12px}.repair-next-step>.btn{width:100%}}

/* Clearly separated CRO records, visible before hover. */
.dense-table tbody .job-row{background:#fff}
.dense-table tbody .job-row.row-band{background:#f3f7fd}
.dense-table tbody .job-row>td{background:inherit;border-bottom:3px solid #d5e0ef;transition:background-color .14s ease}
.dense-table tbody .job-row>td:first-child{box-shadow:inset 3px 0 #b7cae7}
.dense-table tbody .job-row:hover,.dense-table tbody .job-row:focus-within{background:#e7f0ff}
.dense-table tbody .job-row:hover>td:first-child,.dense-table tbody .job-row:focus-within>td:first-child{box-shadow:inset 3px 0 #4775d8}
.dense-table tbody .job-row.is-expanded{background:#eaf2ff}
@media(max-width:720px){
 .dense-table tbody .job-row{border:1px solid #cbd9ed;border-left:4px solid #adc3e5;margin-bottom:14px;box-shadow:0 2px 7px #233b6008}
 .dense-table tbody .job-row>td{background:transparent;border-bottom:0}
 .dense-table tbody .job-row>td:first-child,.dense-table tbody .job-row:hover>td:first-child,.dense-table tbody .job-row:focus-within>td:first-child{box-shadow:none}
 .dense-table tbody .job-row:focus-within{border-color:#779ce0}
}
@media(prefers-reduced-motion:reduce){.dense-table tbody .job-row>td{transition:none}}
/* Clear, aligned intake sections with optional details tucked away. */
.intake-panel{max-width:1240px;margin:0 auto;padding:24px}
#bookForm [hidden]{display:none!important}
.booking-section{padding:0 0 23px;margin-bottom:23px;border-bottom:1px solid var(--border)}
.booking-section h2{display:flex;align-items:center;gap:9px;margin:0 0 17px;font-size:15px;letter-spacing:-.15px}
.booking-section h2>span{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:var(--soft);color:var(--accent);font-size:12px}
#bookForm .intake-grid{align-items:start;gap:16px 20px}
#bookForm .booking-three{grid-template-columns:repeat(3,minmax(0,1fr))}
#bookForm .booking-two{grid-template-columns:repeat(2,minmax(0,1fr))}
#bookForm .intake-field{gap:7px;min-width:0}
#bookForm .intake-field>span,#bookForm .intake-field>label,.existing-customer-field>label{font-size:12px;font-weight:650;line-height:1.4;color:var(--ink)}
#bookForm :is(input:not([type="hidden"]),select){min-height:44px;padding:10px 12px;border-radius:9px}
#bookForm textarea[name="fault"]{min-height:100px;resize:vertical}
.existing-customer-field{padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;margin-bottom:17px}
.customer-search-line{display:flex;align-items:center;gap:10px;margin-top:8px}
.customer-search-line>input{flex:1;min-width:0}
#newCustomerEntry{flex:0 0 auto;width:auto;min-height:44px;white-space:nowrap;padding:9px 13px}
.booking-optional{padding:14px 16px;border:1px solid var(--border);border-radius:10px;margin:12px 0;background:var(--panel)}
.booking-optional>summary{font-weight:700;font-size:13px;cursor:pointer;min-height:28px;line-height:1.6}
.booking-optional>summary>span{font-size:11px;color:var(--muted);font-weight:500;margin-left:8px}
.booking-optional[open]>summary{margin-bottom:17px}
.booking-help{font-size:12px;color:var(--muted);margin:0 0 15px}
#bookForm .intake-actions{margin-top:22px;border-top:1px solid var(--border);padding-top:18px;gap:12px}
@media(max-width:900px){#bookForm .booking-three{grid-template-columns:repeat(2,minmax(0,1fr))}.intake-panel{padding:20px}}
@media(max-width:600px){#bookForm .booking-three,#bookForm .booking-two{grid-template-columns:1fr}.intake-panel{padding:16px}.booking-section{padding-bottom:19px;margin-bottom:19px}.customer-search-line{flex-wrap:wrap}.customer-search-line>input{flex-basis:100%}.booking-optional>summary>span{display:block;margin-left:17px}.booking-optional{padding:12px}.intake-actions>.btn{flex:1;min-height:46px}}
@media(min-width:901px){.booking-section:nth-of-type(2) .intake-field:has(input[name="serial"]){grid-column:span 2}}
/* A calm repair workspace: aligned ownership controls and three everyday actions. */
.repair-workspace .jobs-panel{padding:16px}
.repair-workspace .workbench-toolbar{padding:0 0 12px}
.dense-table .job-row>td{vertical-align:top;padding:16px 12px;font-size:12px;line-height:1.6}
.cro-assignment-fields{display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:start;gap:10px;margin-top:10px}
.cro-assignment-fields .cro-owner-field,.cro-assignment-fields .cro-priority-field{margin:0;display:flex;flex-direction:column;align-items:stretch;gap:5px}
.cro-assignment-fields :is(.inline-assignee,.inline-priority){width:100%;min-width:0;min-height:40px;margin:0;padding:8px;font-size:11.5px}
.cro-assignment-fields .control-caption{min-height:14px}
.quick-actions.cro-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px;padding-top:10px}
.quick-actions.cro-actions .cro-action{min-height:40px;font-size:11px;padding:8px 6px;font-weight:650;gap:5px}
.cro-more-actions{grid-column:1/-1}
.cro-more-actions>summary{cursor:pointer;font-size:11px;font-weight:650;color:var(--muted);padding:7px 0;min-height:30px;width:fit-content}
.cro-more-actions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:4px 0 0}
.dense-table .activity-summary,.dense-table .latest-note{display:block;overflow:visible;-webkit-line-clamp:unset;font-size:12px;line-height:1.6;color:#34445d}
.dense-table .activity-time{margin-top:7px!important}
@media(min-width:1001px){.dense-table th:nth-child(1){width:9%}.dense-table th:nth-child(2){width:10%}.dense-table th:nth-child(3){width:13%}.dense-table th:nth-child(4){width:12%}.dense-table th:nth-child(5){width:13%}.dense-table th:nth-child(6){width:19%}.dense-table th:nth-child(7){width:24%}}
@media(max-width:1000px){
 .repair-workspace .jobs-panel{padding:10px}
 .dense-table{display:block;min-width:0;width:100%}.dense-table thead{display:none}.dense-table tbody{display:block}
 .dense-table tbody .job-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding:14px;margin-bottom:14px;border:1px solid var(--border);border-left:4px solid #92afd8;border-radius:12px}
 .dense-table tbody .job-row>td{display:block;padding:0;min-width:0;width:auto;border:0;background:transparent}
 .dense-table tbody .job-row>td:before{content:attr(data-label);display:block;font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.3px;margin-bottom:5px}
 .dense-table tbody .job-row>td:first-child{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:10px;box-shadow:none}
 .dense-table tbody .job-row>td:first-child:before{display:none}.dense-table tbody .job-row>td:first-child small{margin-left:auto;margin-top:0}
 .dense-table tbody .job-row>:is(td:nth-child(4),td:nth-child(5),td:nth-child(6),td:nth-child(7)){grid-column:1/-1}
 .dense-table tbody .job-row>td.spec-cell{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .dense-table tbody .job-row>td.spec-cell:before{grid-column:1/-1;margin-bottom:0}
 .dense-table .spec-cell>div{display:flex;flex-direction:column;gap:2px;margin:0}
 .dense-table .job-row>td:nth-child(6),.dense-table .job-row>td:nth-child(7){border-top:1px solid var(--border);padding-top:12px}
 .dense-table .job-row:hover>td:first-child,.dense-table .job-row:focus-within>td:first-child{box-shadow:none}
 .cro-assignment-fields{grid-template-columns:minmax(0,1fr) minmax(90px,120px)}
 .quick-actions.cro-actions .cro-action{min-height:44px;font-size:12px}
 .cro-more-actions>summary{min-height:40px;padding:10px 0}
 .dense-table .expanded-row,.dense-table .expanded-row>td{display:block;width:100%}
 .workbench-toolbar .filters.repair-filters{grid-template-columns:1fr;gap:10px}.repair-filters .repair-search,.repair-filters .repair-stage-filter{grid-column:1/-1}
 .filter-actions{display:grid;grid-template-columns:1fr 1fr}.filter-actions .btn{width:100%}
}
/* Compact desktop rows: controls and a short, useful note determine row height. */
@media(min-width:1001px){
 .dense-table .job-row>td{padding:10px 10px;line-height:1.45}
 .dense-table .spec-cell>div{margin-bottom:4px}
 .dense-table .inline-stage{min-height:34px;padding:6px 8px}
 .cro-assignment-fields{gap:7px;margin-top:6px;grid-template-columns:minmax(0,1fr) 76px}
 .cro-assignment-fields :is(.inline-assignee,.inline-priority){min-height:34px;padding:6px;font-size:11px}
 .cro-assignment-fields .control-caption{font-size:9px;min-height:12px}
 .quick-actions.cro-actions{grid-template-columns:1fr 1fr .5fr;align-items:start;gap:5px;margin-top:7px;padding-top:7px}
 .quick-actions.cro-actions .cro-action{min-height:34px;padding:6px 4px;font-size:10.5px;gap:4px}
 .cro-more-actions{grid-column:auto}
 .cro-more-actions>summary{min-height:34px;padding:7px 3px;font-size:10.5px;line-height:1.5}
 .cro-more-actions[open]{grid-column:1/-1}
 .cro-more-actions[open]>div{grid-template-columns:repeat(3,minmax(0,1fr))}
 .dense-table .activity-summary{font-size:11.5px;line-height:1.45}
 .dense-table .activity-time{font-size:10px!important;margin-top:4px!important}
 .dense-table .repair-text-preview summary{line-height:1.45}
}
/* Customer records: readable contact grouping rather than wide sparse columns. */
.customers-panel{max-width:1240px;margin:0 auto;padding:20px}
.customers-toolbar{display:flex;align-items:end;gap:14px;margin-bottom:16px}
.customers-toolbar .customer-history-search{display:grid;gap:7px;width:min(520px,100%);margin:0;font-size:12px;font-weight:650}
.customers-table{width:100%;min-width:0;table-layout:fixed}
.customers-table th:nth-child(1){width:34%}.customers-table th:nth-child(2){width:36%}.customers-table th:nth-child(3){width:10%}.customers-table th:nth-child(4){width:20%}
.customers-table :is(th,td){padding:11px 14px;vertical-align:middle}
.customers-table th{font-size:10px;letter-spacing:.5px}
.customers-table td{font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.customers-table tbody tr:nth-child(even){background:var(--bg)}
.customers-table tbody tr:hover,.customers-table tbody tr:focus-within{background:var(--soft)}
.customer-contact>span{display:block;margin:2px 0}
.customer-cro-count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:28px;padding:3px 8px;border-radius:8px;background:var(--soft);color:var(--accent);font-weight:750}
.customers-table .btn{min-height:38px;padding:8px 13px;white-space:nowrap;font-size:12px}
.customers-table :is(td,th):last-child{text-align:right}
@media(max-width:700px){
 .customers-panel{padding:14px}.customers-toolbar .customer-history-search{width:100%}
 .customers-table,.customers-table tbody{display:block}.customers-table thead{display:none}
 .customers-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;border:1px solid var(--border);border-radius:10px;padding:13px;margin-bottom:10px}
 .customers-table td{display:block;padding:0;border:0}
 .customers-table td:nth-child(1){grid-column:1;grid-row:1}
 .customers-table td:nth-child(2){grid-column:1;grid-row:2}
 .customers-table td:nth-child(3){grid-column:1;grid-row:3;display:flex;align-items:center;gap:8px}
 .customers-table td:nth-child(3):before{content:'CROs';font-size:11px;color:var(--muted)}
 .customers-table td:nth-child(4){grid-column:2;grid-row:1 / span 3;align-self:center}
 .customers-table .btn{min-height:44px;padding:10px}.customer-cro-count{min-height:25px}
}

/* Sidebar footer: shared edges and compact, consistent control spacing. */
.sidebar>.sidefoot{gap:14px;padding:16px 6px 0}
.sidebar .sidefoot .brand.sidebar-logo{justify-content:center;align-items:center;width:100%}
.sidebar .sidefoot .company-logo{display:block;width:132px;max-width:100%;margin:0 auto}
.sidebar .sidefoot .userline{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;width:100%}
.sidebar .sidefoot #staffName{display:block;font-size:12px;line-height:1.45;font-weight:700}
.sidebar .sidefoot #staffRole{margin-top:3px;font-size:11px;line-height:1.4}
.sidebar .sidefoot .theme-choice{display:grid;grid-template-columns:minmax(0,1fr) 94px;align-items:center;gap:8px;width:100%;margin:0;padding-top:12px;border-top:1px solid var(--border)}
.sidebar .sidefoot .theme-choice select{width:100%;max-width:none;min-width:0;min-height:40px;padding:8px;font-size:12px}
.sidebar .sidefoot .sidebar-signout{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;margin:0;gap:8px}
@media(max-width:720px){.sidebar .sidefoot .theme-choice select{min-height:44px;font-size:16px}.sidebar .sidefoot .sidebar-signout{min-height:44px}}

/* Put notes/actions first; keep ownership controls compact at the far right. */
@media(min-width:1001px){
 .dense-table th:nth-child(6){width:32%}.dense-table th:nth-child(7){width:11%}
 .dense-table .job-row>td[data-label="Status"]{font-size:11px}
 .dense-table .job-row>td[data-label="Status"] .inline-stage{min-height:32px;padding:6px 8px;font-size:11px}
 .dense-table .job-row>td[data-label="Status"] .cro-assignment-fields{gap:5px;margin-top:5px;grid-template-columns:minmax(0,1fr) 66px}
 .dense-table .job-row>td[data-label="Status"] :is(.inline-assignee,.inline-priority){min-height:32px;padding:5px;font-size:10.5px}
}

.workflow-ownership{margin:16px 0;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}
.workflow-ownership h3{margin:0 0 10px;font-size:13px}
.workflow-ownership .cro-assignment-fields{margin:0;grid-template-columns:minmax(0,1fr) 110px}
.workflow-ownership .control-caption{font-size:11px;color:var(--muted)}
@media(max-width:480px){.workflow-ownership .cro-assignment-fields{grid-template-columns:minmax(0,1fr)}.workflow-ownership select{min-height:44px}}

/* Primary Activity action aligns with the status control at the top of each CRO. */
.dense-table .activity-cell>.quick-actions.cro-actions{grid-template-columns:minmax(0,160px) auto;justify-content:start;align-items:start;margin:0 0 8px;padding:0;border-top:0;gap:7px}
.dense-table .activity-cell>.cro-actions .cro-more-actions{grid-column:auto}
.dense-table .activity-cell>.cro-actions .cro-more-actions[open]{grid-column:1/-1}
@media(max-width:1000px){.dense-table .activity-cell>.quick-actions.cro-actions{grid-template-columns:minmax(0,180px) auto}.dense-table .activity-cell>.cro-actions .cro-more-actions>summary{min-height:44px}}

.staff-role-guide{margin:14px 0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}
.staff-role-guide summary{font-weight:700;cursor:pointer}.staff-role-guide p{font-size:12px;line-height:1.6;margin:10px 0 0}
#staffTable .table{white-space:normal}#staffTable td{vertical-align:top}#staffTable .sel{width:100%;min-width:155px}
.staff-role-hint{display:block;max-width:260px;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.45}
.staff-access-toggle{display:flex;align-items:center;gap:7px;min-height:44px;cursor:pointer;white-space:nowrap}.staff-access-toggle input{width:17px;height:17px;accent-color:var(--accent)}

/* Keep All CROs beside search; the top shortcuts focus on workshop outcomes. */
.compact-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.workbench-toolbar .filters.repair-filters{grid-template-columns:minmax(210px,1fr) 145px minmax(170px,210px) auto}
.repair-all-shortcut .compact-kpis{display:block;margin:0}
.repair-all-shortcut .compact-kpi{width:100%;min-height:44px;padding:8px 10px;margin:0}
@media(max-width:1100px){.workbench-toolbar .filters.repair-filters{grid-template-columns:minmax(0,1fr) 145px}.repair-filters .repair-search{grid-column:auto}.repair-stage-filter,.filter-actions{grid-row:2}}
@media(max-width:600px){.compact-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench-toolbar .filters.repair-filters{grid-template-columns:minmax(0,1fr) 125px;gap:10px}.repair-all-shortcut .compact-kpi{min-height:44px}.repair-filters .filter-actions{flex-wrap:wrap;justify-content:flex-end}.repair-all-shortcut .kpi-affordance{display:none}}

/* Compact workshop identity and technical login theme. */
#loginScreen{background:radial-gradient(ellipse at 20% 15%,#395fdf14,transparent 55%),linear-gradient(#395fdf05 1px,transparent 1px),linear-gradient(90deg,#395fdf05 1px,transparent 1px),var(--bg);background-size:auto,32px 32px,32px 32px,auto;padding:24px 16px}
#loginScreen .authcard{width:min(480px,100%);padding:30px;border-radius:22px;border-color:var(--border);background:var(--panel)}
#loginScreen .brand-login{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;margin:0;padding:0 0 20px}
#loginScreen .brand-login .company-logo{width:112px;height:auto;margin:0;border-radius:4px}
.login-identity{white-space:nowrap;font-size:clamp(13px,3.6vw,19px);font-weight:750;letter-spacing:-.5px;line-height:1.4;color:var(--ink)}
.login-workdesk{font-size:.74em;letter-spacing:1.1px;font-weight:650;padding-left:9px;margin-left:6px;border-left:1px solid var(--border);color:var(--muted)}
.login-repair-theme{display:flex;align-items:center;gap:14px;padding:12px 14px;margin:0 0 24px;border:1px solid var(--border);border-radius:12px;background:var(--soft);color:var(--accent)}
.login-repair-theme svg{width:82px;height:56px;flex-shrink:0}.login-repair-theme strong{display:block;font-size:13px;font-weight:650}.login-repair-theme span{display:block;font-size:11px;margin-top:5px;color:var(--muted)}
#loginScreen .authcard h2{font-size:22px;margin-top:0}#loginScreen .authcard .theme-choice{margin:18px 0 0}
@media(max-width:380px){#loginScreen .authcard{padding:22px}.login-repair-theme{gap:9px;padding:10px}.login-repair-theme svg{width:60px}.login-repair-theme strong{font-size:12px}.login-workdesk{padding-left:6px;margin-left:3px;letter-spacing:.6px}}

/* Technical sign-in window: visual workshop panel and focused form. */
#loginScreen{background:radial-gradient(ellipse at 10% 10%,#3a72f51c,transparent 48%),radial-gradient(ellipse at 90% 90%,#23a5bc13,transparent 45%),var(--bg)}
#loginScreen .authcard{width:min(900px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px 32px;padding:30px;border-radius:24px;box-shadow:0 22px 70px #102a5514}
#loginScreen .brand-login{grid-column:1/-1;flex-direction:row;align-items:center;gap:20px;padding:0 0 22px;border-bottom:1px solid var(--border)}
#loginScreen .brand-login .company-logo{width:100px}.login-identity{font-size:19px}
#loginScreen .login-repair-theme{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:20px;padding:26px;margin:0;min-width:0;min-height:400px;border:1px solid #32588a;border-radius:18px;background:radial-gradient(ellipse at 90% 0%,#286a9a70,transparent 65%),linear-gradient(145deg,#122b50,#0a1830);color:#b3d0ff;overflow:hidden}
#loginScreen .login-repair-theme .login-tech-label{font-size:9px;letter-spacing:2.1px;font-weight:700;color:#9fbde2;margin:0}
#loginScreen .login-repair-theme svg{width:100%;height:auto;max-height:220px;flex:none}
#loginScreen .login-tech-copy strong{color:#f4f8ff;font-size:28px;line-height:1.18;font-weight:650;letter-spacing:-.8px}
#loginScreen .login-tech-copy span{color:#b3c8e5;font-size:12px;line-height:1.5;margin-top:12px}
.login-form-panel{min-width:0;align-self:center;padding:8px 0}
#loginScreen .login-form-panel h2{font-size:26px;letter-spacing:-.8px;margin:0 0 8px}
#loginScreen .login-form-panel>p{font-size:12px;line-height:1.6;margin-bottom:22px}
#loginScreen #loginForm .field{min-height:46px;border-radius:10px;background:var(--bg);border-color:var(--border);padding:12px;transition:border-color .15s,box-shadow .15s}
#loginScreen #loginForm .field:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3965df18}
#loginScreen #loginForm>.btn{min-height:46px;border-radius:10px;background:linear-gradient(110deg,#315de6,#4478ee);border:0;box-shadow:0 5px 14px #315de625;font-size:13px}
#loginScreen .login-form-panel .theme-choice{border-top:1px solid var(--border);padding-top:16px;margin-top:22px}
@media(max-width:680px){#loginScreen .authcard{width:min(460px,100%);grid-template-columns:minmax(0,1fr);gap:20px;padding:24px}#loginScreen .brand-login{gap:14px;padding-bottom:18px;flex-direction:column;align-items:flex-start}.login-identity{font-size:clamp(13px,3.6vw,18px)}#loginScreen .login-repair-theme{min-height:0;display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;padding:16px;align-items:center}#loginScreen .login-tech-label{display:none}#loginScreen .login-repair-theme svg{width:100px}#loginScreen .login-tech-copy strong{font-size:20px}#loginScreen .login-tech-copy span{font-size:10px;margin-top:8px}.login-form-panel{padding:0}}
