:root{--bg:#f6f8fc;--panel:#fff;--panel-soft:#f9fbff;--text:#172033;--muted:#72809a;--line:#e6ebf3;--brand:#4f7cff;--brand-dark:#315fe8;--brand-soft:#edf3ff;--success:#12b981;--warning:#f59e0b;--danger:#ef4444;--shadow:0 18px 45px #18274b14;--shadow-soft:0 8px 24px #18274b0f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{color:var(--text);background:linear-gradient(135deg,#f7f9ff 0%,#eef3fb 100%);margin:0}button,input,select,textarea{font:inherit}.app{background:var(--bg);min-height:100vh;display:flex}.sidebar{color:#fff;background:linear-gradient(#151b2d 0%,#101421 100%);flex-direction:column;flex:0 0 245px;width:245px;min-height:100vh;padding:22px 18px;display:flex;box-shadow:8px 0 28px #0a0f1e2e}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.logo{color:#fff;background:linear-gradient(135deg,#4f7cff,#75b8ff);border-radius:14px;place-items:center;width:44px;height:44px;font-weight:800;display:grid;box-shadow:0 10px 22px #4f7cff59}.brand b{letter-spacing:.2px;font-size:18px;display:block}.brand small{color:#9da8bd;font-size:12px}.nav{flex-direction:column;gap:7px;display:flex}.nav button{color:#c8d0df;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:11px;padding:12px 13px;transition:all .18s;display:flex}.nav button:hover{color:#fff;background:#ffffff14}.nav button.active{color:#fff;box-shadow:inset 3px 0 0 var(--brand);background:#4f7cff33}.sidebar-footer{color:#8f9bb0;border-top:1px solid #ffffff14;margin-top:auto;padding:14px 10px;font-size:12px}.main{flex:1;min-width:0;padding:30px 34px;overflow:auto}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.page-title h1{letter-spacing:-.8px;margin:0;font-size:34px;line-height:1.05}.page-title p{color:var(--muted);margin:7px 0 0}.actions{align-items:center;gap:12px;display:flex}.search{border:1px solid var(--line);width:330px;max-width:38vw;box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;align-items:center;gap:9px;padding:12px 15px;display:flex}.search input{width:100%;color:var(--text);background:0 0;border:0;outline:0}.primary{cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--brand),#78a7ff);border:0;border-radius:16px;padding:12px 18px;font-weight:700;transition:all .15s;box-shadow:0 14px 26px #4f7cff47}.primary:hover{transform:translateY(-1px);box-shadow:0 18px 34px #4f7cff59}.secondary{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:14px;padding:10px 14px}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px;display:grid}.card{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border:1px solid #e6ebf3e6;border-radius:26px;padding:22px}.stat{min-height:132px;position:relative;overflow:hidden}.stat:after{content:"";background:var(--brand-soft);border-radius:999px;width:110px;height:110px;position:absolute;top:-35px;right:-30px}.stat small{color:var(--muted);font-weight:650}.stat strong{letter-spacing:-.8px;margin:9px 0 4px;font-size:35px;display:block}.stat span{color:var(--muted);font-size:13px}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:28px;margin-bottom:22px;padding:22px}.panel-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel h2{letter-spacing:-.3px;margin:0;font-size:20px}.recent-jobs{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.job-card{border:1px solid var(--line);cursor:pointer;background:linear-gradient(#fff 0%,#f9fbff 100%);border-radius:20px;padding:16px;transition:all .16s}.job-card:hover{border-color:#b8c9ff;transform:translateY(-2px);box-shadow:0 12px 28px #4f7cff1f}.job-card.active{border-color:var(--brand);box-shadow:0 14px 28px #4f7cff24}.job-code{background:var(--brand-soft);color:var(--brand-dark);border-radius:999px;margin-bottom:10px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.job-title{margin-bottom:6px;font-weight:800}.job-meta{color:var(--muted);font-size:13px;line-height:1.45}.badge{color:#4253c7;background:#eef2ff;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}.badge.production{color:#047857;background:#ecfdf5}.badge.design{color:#c2410c;background:#fff7ed}.badge.permit{color:#a16207;background:#fefce8}.badge.install{color:#1d4ed8;background:#eff6ff}.badge.completed{color:#15803d;background:#f0fdf4}.split{grid-template-columns:340px 1fr;gap:20px;display:grid}.list{flex-direction:column;gap:12px;display:flex}.detail{min-height:420px}.detail h2{letter-spacing:-.6px;margin-bottom:4px;font-size:28px}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0;display:grid}.detail-item{border:1px solid var(--line);background:var(--panel-soft);border-radius:18px;padding:14px}.detail-item small{color:var(--muted);margin-bottom:6px;display:block}.detail-item strong{font-size:16px}.workflow{flex-wrap:wrap;gap:9px;margin:14px 0 22px;display:flex}.workflow button{border:1px solid var(--line);color:#536079;cursor:pointer;background:#fff;border-radius:999px;padding:9px 12px}.workflow button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form input,.form select,.form textarea{border:1px solid var(--line);background:#fff;border-radius:16px;outline:0;width:100%;padding:12px 13px}.form textarea{resize:vertical;grid-column:1/-1;min-height:95px}.form-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.modal-backdrop{z-index:50;background:#0f172a6b;place-items:center;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:28px;width:min(720px,92vw);padding:24px;box-shadow:0 30px 80px #0f172a47}.modal-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-head h2{margin:0}.empty{color:var(--muted);text-align:center;border:1px dashed #cdd6e6;border-radius:22px;padding:30px}.table{border-collapse:separate;border-spacing:0 10px;width:100%}.table td,.table th{text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;padding:14px}.table td:first-child,.table th:first-child{border-left:1px solid var(--line);border-radius:16px 0 0 16px}.table td:last-child,.table th:last-child{border-right:1px solid var(--line);border-radius:0 16px 16px 0}@media (width<=1000px){.sidebar{flex-basis:86px;width:86px}.brand b,.brand small,.nav span,.sidebar-footer span{display:none}.nav button{justify-content:center}.grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}@media (width<=700px){.app{display:block}.sidebar{flex-direction:row;align-items:center;width:100%;min-height:auto;padding:12px;overflow:auto}.brand{margin:0 10px 0 0}.nav{flex-direction:row}.sidebar-footer{display:none}.main{padding:18px}.topbar{display:block}.actions{margin-top:14px}.search{width:100%;max-width:none}.grid,.form,.detail-grid{grid-template-columns:1fr}}@media (width<=1100px){.dashboard-layout,.snapshot-grid{grid-template-columns:1fr}}.dashboard-layout{grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:22px;margin-bottom:22px;display:grid}.snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.mini-panel{border:1px solid var(--line);background:linear-gradient(#fff,#f9fbff);border-radius:22px;min-height:245px;padding:16px}.mini-title{align-items:center;gap:9px;margin-bottom:14px;display:flex}.mini-title svg{color:var(--brand)}.mini-job{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:16px;width:100%;margin-bottom:10px;padding:12px;transition:all .15s}.mini-job:hover{border-color:#b8c9ff;transform:translateY(-1px)}.mini-job span{color:var(--brand-dark);font-size:12px;font-weight:800;display:block}.mini-job b{color:var(--text);margin:4px 0;display:block}.mini-job small{color:var(--muted)}.status-bars{flex-direction:column;gap:13px;display:flex}.status-row-top{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;display:flex}.status-row-top b{color:var(--text)}.bar{background:#eef2f8;border-radius:999px;height:9px;overflow:hidden}.bar div{background:linear-gradient(90deg,var(--brand),#8bb6ff);border-radius:999px;height:100%}@media (width<=1100px){.dashboard-layout,.snapshot-grid{grid-template-columns:1fr}}.priority{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.priority-low{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.priority-normal{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.priority-high{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.priority-urgent{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.contact-card{border:1px solid var(--line);background:var(--panel-soft);border-radius:20px;margin:10px 0 22px;padding:15px}.contact-card p{color:var(--muted);align-items:center;gap:8px;margin:7px 0;display:flex}.form textarea[name=address]{min-height:70px}.job-modal{width:min(900px,94vw);max-height:88vh;overflow:auto}.job-form{display:block}.form-section{border:1px solid var(--line);background:linear-gradient(#fff,#fbfdff);border-radius:22px;margin-bottom:14px;padding:16px}.form-section h3{margin:0 0 12px;font-size:16px}.form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.form-grid label{color:var(--muted);flex-direction:column;gap:7px;font-size:13px;font-weight:800;display:flex}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{color:var(--text);font-weight:500}.sticky-actions{border-top:1px solid var(--line);background:#fff;padding-top:14px;position:sticky;bottom:0}@media (width<=700px){.form-grid{grid-template-columns:1fr}}.kanban-wrap{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:28px;padding:22px}.kanban-col.drop-active{border-color:var(--brand);background:#eef4ff;box-shadow:inset 0 0 0 2px #4f7cff38}.kanban-card{-webkit-user-select:none;user-select:none}.kanban-card.dragging{opacity:.45;transform:scale(.98)}.drop-placeholder{color:#72809a;text-align:center;background:#f8fbff;border:2px dashed #c7d2fe;border-radius:18px;padding:24px 12px;font-size:13px}.kanban-meta{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;font-size:12px;display:flex}.kanban-page{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:28px;padding:22px}.kanban-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.kanban-toolbar h2{letter-spacing:-.4px;margin:0;font-size:24px}.kanban-toolbar p{color:var(--muted);margin:6px 0 0}.kanban-board{scroll-snap-type:x proximity;grid-auto-columns:310px;grid-auto-flow:column;gap:16px;padding:4px 4px 18px;display:grid;overflow:auto hidden}.kanban-column{border:1px solid var(--line);scroll-snap-align:start;background:#f8fbff;border-radius:24px;min-height:610px;padding:14px;transition:all .16s}.kanban-column.drop-active{border-color:var(--brand);background:#edf4ff;box-shadow:inset 0 0 0 2px #4f7cff33}.kanban-column-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:4px 4px 12px;display:flex}.kanban-column-header b{font-size:15px;display:block}.kanban-column-header small{color:var(--muted);margin-top:3px;display:block}.kanban-column-header span{border:1px solid var(--line);width:30px;height:30px;color:var(--text);background:#fff;border-radius:999px;place-items:center;font-size:12px;font-weight:900;display:grid}.kanban-column-body{flex-direction:column;gap:12px;min-height:520px;display:flex}.workflow-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);cursor:grab;background:#fff;border-radius:20px;padding:15px;transition:all .15s}.workflow-card:hover{border-color:#b8c9ff;transform:translateY(-2px);box-shadow:0 16px 30px #18274b1a}.workflow-card:active{cursor:grabbing}.workflow-card.dragging{opacity:.45;transform:scale(.98)}.workflow-card-top,.workflow-card-meta,.workflow-card-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.workflow-card h3{margin:12px 0 4px;font-size:16px;line-height:1.25}.workflow-card p{color:var(--muted);margin:0;font-size:13px}.workflow-card-meta{border-top:1px solid var(--line);color:var(--muted);margin-top:13px;padding-top:11px;font-size:12px}.workflow-card-footer{color:#8b97ad;margin-top:9px;font-size:11px}.kanban-empty{color:#72809a;text-align:center;background:#fff;border:2px dashed #c7d2fe;border-radius:20px;place-items:center;min-height:120px;padding:16px;font-size:13px;display:grid}.status-new-lead .kanban-column-header{border-top:4px solid #60a5fa}.status-bidding .kanban-column-header{border-top:4px solid #a78bfa}.status-design .kanban-column-header{border-top:4px solid #f59e0b}.status-client-approval .kanban-column-header{border-top:4px solid #ec4899}.status-permit .kanban-column-header{border-top:4px solid #eab308}.status-production .kanban-column-header{border-top:4px solid #14b8a6}.status-install-scheduled .kanban-column-header{border-top:4px solid #3b82f6}.status-installed .kanban-column-header{border-top:4px solid #22c55e}.status-completed .kanban-column-header{border-top:4px solid #16a34a}.status-on-hold .kanban-column-header{border-top:4px solid #64748b}@media (width<=700px){.kanban-board{grid-auto-columns:86vw}}.drawer-backdrop{z-index:80;background:#0f172a61;justify-content:flex-end;display:flex;position:fixed;inset:0}.project-drawer{background:#fff;width:min(520px,94vw);height:100vh;padding:24px;animation:.18s ease-out drawerIn;overflow:auto;box-shadow:-28px 0 70px #0f172a40}@keyframes drawerIn{0%{opacity:.65;transform:translate(26px)}to{opacity:1;transform:translate(0)}}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;display:flex}.drawer-head h2{letter-spacing:-.6px;margin:10px 0 4px;font-size:28px}.drawer-head p{color:var(--muted);margin:0}.drawer-actions{gap:10px;margin:18px 0;display:flex}.drawer-section{border:1px solid var(--line);background:linear-gradient(#fff,#fbfdff);border-radius:22px;margin-bottom:14px;padding:16px}.drawer-section h3{margin:0 0 12px;font-size:16px}.drawer-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.drawer-workflow{margin:0}.drawer-notes{color:var(--muted);white-space:pre-wrap;line-height:1.55}.drawer-todo{flex-wrap:wrap;gap:8px;display:flex}.drawer-todo span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}@media (width<=700px){.drawer-grid{grid-template-columns:1fr}}.production-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.production-step{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:18px;align-items:center;gap:12px;padding:14px;transition:all .16s;display:flex}.production-step:hover{border-color:#a5b4fc;transform:translateY(-1px)}.production-step.done{background:#effcf5;border-color:#86efac}.checkmark{border:2px solid #d1d5db;border-radius:999px;flex-shrink:0;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.production-step.done .checkmark{color:#fff;background:#22c55e;border-color:#22c55e}.production-step b{font-size:13px;display:block}.production-step small{color:var(--muted)}@media (width<=700px){.production-grid{grid-template-columns:1fr}}.employee-details{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:16px;display:grid}.employee-details p{color:var(--text);margin:0;font-size:13px;line-height:1.5}.employee-details strong{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.status-pill{border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.status-pill.active{color:#065f46;background:#d1fae9}.status-pill.inactive{color:#991b1b;background:#fee2e2}.status-pill.pending{color:#1d4ed8;background:#e0f2fe}.filter-row label{flex-direction:column;gap:8px;display:flex}.checkbox-label{align-items:center;gap:10px;font-weight:700;display:flex}.checkbox-label input{width:auto;margin:0}.employees-page{display:block}.employee-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.employee-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:24px;padding:18px}.employee-top{align-items:center;gap:13px;margin-bottom:14px;display:flex}.employee-avatar{background:linear-gradient(135deg,var(--brand),#82b1ff);color:#fff;border-radius:16px;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.employee-top h3{margin:0 0 3px}.employee-top p{color:var(--muted);margin:0}.employee-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;font-size:13px;display:flex}.review-box{border:1px solid var(--line);background:#f8fbff;border-radius:18px;margin-top:13px;padding:13px}.review-box.soft{background:#fff}.review-box small{color:var(--muted);margin-bottom:6px;font-weight:800;display:block}.review-box p{color:var(--text);margin:0;font-size:13px;line-height:1.45}.employee-actions{border-top:1px solid var(--line);gap:10px;margin-top:14px;padding-top:14px;display:flex}.employee-actions button{flex:1}.danger-button{color:#dc2626;cursor:pointer;background:#fff5f5;border:1px solid #fecaca;border-radius:14px;padding:10px 12px;font-weight:800}.employee-modal{width:min(760px,94vw);max-height:88vh;overflow:auto}.employee-form textarea{min-height:90px}.employee-form select,.employee-form input,.employee-form textarea{width:100%}.hours-preview{border:1px solid var(--line);background:#fff;border-radius:18px;justify-content:space-between;align-items:center;margin-top:14px;padding:14px;display:flex}.hours-preview span{color:var(--muted);font-weight:800}.hours-preview strong{color:var(--brand-dark);font-size:26px}@media (width<=1000px){.timesheet-layout,.lookup-grid{grid-template-columns:1fr}}@media (width<=1100px){.timesheet-layout,.summary-layout,.lookup-grid{grid-template-columns:1fr}}.timesheet-layout{grid-template-columns:1.25fr .9fr;gap:22px;display:grid}.timesheet-form{display:block}.job-lookup{background:#f8fbff;border:1px dashed #cbd5e1;border-radius:20px;margin-top:14px;padding:16px}.job-lookup.found{background:#eff6ff;border-style:solid;border-color:#bfdbfe}.job-lookup.missing{color:#b91c1c;background:#fff5f5;border-color:#fecaca}.job-lookup h3{margin:8px 0 3px}.job-lookup p{color:var(--muted);margin:0}.lookup-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px;display:grid}.time-entry-list{flex-direction:column;gap:12px;max-height:700px;display:flex;overflow:auto}.time-entry-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:20px;padding:15px}.time-entry-card h3{margin:10px 0 4px}.time-entry-card p{color:var(--muted);margin:0}.time-entry-meta{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:10px;margin:12px 0 7px;padding-top:10px;font-size:12px;display:flex}.wa-label{color:var(--brand-dark);margin-bottom:10px;font-weight:800;display:block}.time-notes{background:#f8fbff;border-radius:14px;padding:10px;line-height:1.45;margin-bottom:12px!important}.discrepancy-box{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;flex-direction:column;gap:6px;margin-bottom:12px;padding:10px;font-size:12px;font-weight:800;display:flex}.clean-box{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;margin-bottom:12px;padding:10px;font-size:12px;font-weight:800}.summary-layout{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:22px;display:grid}.summary-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.summary-row:last-child{border-bottom:0}.summary-row b{display:block}.summary-row small{color:var(--muted);margin-top:4px;display:block}.summary-row strong{white-space:nowrap;color:var(--brand-dark)}@media (width<=1100px){.timesheet-layout,.summary-layout,.lookup-grid{grid-template-columns:1fr}}.lookup-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.status-pill{border:1px solid var(--line);color:var(--brand-dark);white-space:nowrap;background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.hours-preview-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:18px;flex-direction:column;justify-content:center;padding:13px;display:flex}.hours-preview-box span{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:800}.hours-preview-box strong{color:var(--brand-dark);font-size:18px}.suggestion-box{border:1px solid var(--line);background:#fff;border-radius:18px;margin-top:14px;padding:13px}.suggestion-box b{margin-bottom:10px;display:block}.suggestion-box div{flex-wrap:wrap;gap:8px;display:flex}.suggestion-box span{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.job-lookup.enhanced .lookup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=900px){.lookup-head{flex-direction:column}.job-lookup.enhanced .lookup-grid{grid-template-columns:1fr}}.active-timer-banner{box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid #bfdbfe;border-radius:24px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 22px;padding:18px;display:flex}.active-timer-banner span{color:#1d4ed8;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:900}.active-timer-banner h2{color:var(--brand-dark);margin:6px 0;font-size:34px}.active-timer-banner p{color:var(--muted);margin:0}.timer-actions,.timer-form-actions{flex-wrap:wrap;gap:10px;display:flex}.timer-start{color:#15803d;cursor:pointer;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;padding:11px 14px;font-weight:900}.timer-start:disabled{opacity:.55;cursor:not-allowed}@media (width<=800px){.active-timer-banner{flex-direction:column;align-items:flex-start}}.clock-panel{margin-bottom:22px}.clock-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.clock-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:22px;padding:16px}.clock-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.clock-card h3{margin:0 0 4px}.clock-card p{color:var(--muted);margin:0}.overtime-pill{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}.clock-times{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px;display:grid}.clock-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;display:grid}.clock-summary div{border:1px solid var(--line);background:#f8fbff;border-radius:14px;padding:10px}.clock-summary span{color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:800;display:block}.clock-summary b{color:var(--brand-dark)}.clock-actions{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.clock-actions button{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #dbeafe;border-radius:13px;padding:9px;font-weight:900}@media (width<=800px){.clock-times,.clock-summary,.clock-actions{grid-template-columns:1fr}}.production-panel{overflow:hidden}.production-columns{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;padding-bottom:12px;display:grid;overflow:hidden}.production-column{border:1px solid var(--line);background:#f8fafc;border-radius:18px;min-height:160px;padding:12px;overflow:hidden}.column-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.column-header h3{margin:0;font-size:15px}.column-header span{color:#2563eb;background:#dbeafe;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:900}.column-body{flex-direction:column;gap:10px;max-height:calc(100vh - 360px);display:flex;overflow:hidden}.production-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:12px;padding:10px;font-size:13px}.production-card.has-alert{background:#fffaf5;border-color:#fed7aa}.production-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.production-title{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;margin:0 0 4px;padding:0;font-size:14px;font-weight:800;display:block}.production-title:hover{color:var(--brand)}.priority{border-radius:999px;padding:4px 9px;font-size:11px;font-weight:900}.priority.high{color:#dc2626;background:#fee2e2}.priority.normal{color:#2563eb;background:#dbeafe}.priority.low{color:#15803d;background:#dcfce7}.production-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.production-info-grid.compact{gap:6px;margin-top:6px}.production-hours{color:#2563eb;background:#eff6ff;border-radius:10px;margin-top:8px;padding:6px 8px;font-size:13px;font-weight:800}.production-team{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:12px;overflow:hidden}.production-team.compact{white-space:normal;overflow-wrap:anywhere;font-size:12px}.production-alert{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;margin-top:10px;padding:9px;font-size:12px;font-weight:900}.production-empty{justify-content:center;align-items:center;min-height:120px;display:flex}.view-more{color:var(--brand-dark);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700}@media (width<=1100px){.production-columns{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (width<=700px){.production-columns{grid-template-columns:1fr}.production-card{font-size:13px}}.stage-actions{display:none}.stage-actions button:disabled{opacity:.45;cursor:not-allowed}.ops-layout{grid-template-columns:1.35fr .85fr;gap:22px;display:grid}.ops-overview-grid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:20px}.ops-alert-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.ops-alert-card{border:1px solid var(--line);background:#fffffff2;border-radius:24px;flex-direction:column;gap:12px;padding:20px;transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;box-shadow:0 18px 45px #0f172a0f}.ops-alert-card:hover{border-color:#4f6cff3d;transform:translateY(-3px);box-shadow:0 24px 48px #0f172a17}.alert-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.alert-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:.45rem .85rem;font-size:.72rem;font-weight:800}.alert-badge.alert-critical{color:#b91c1c;background:#fee2e2}.alert-badge.alert-warning{color:#92400e;background:#fef3c7}.alert-badge.alert-info{color:#1d4ed8;background:#dbeafe}.payroll-panel{box-sizing:border-box;width:100%;overflow:hidden}.payroll-intel-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));place-items:start stretch;gap:14px;width:100%;display:grid;overflow:hidden}.payroll-intel-card{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-soft);word-break:break-word;overflow-wrap:anywhere;white-space:normal;background:#fff;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex;overflow:hidden}.payroll-intel-card.needs-review{background:#fffbeb;border-color:#facc15}.payroll-intel-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.payroll-intel-header h3{margin:0;font-size:1rem}.payroll-intel-header small{color:var(--muted)}.status-pill{color:#1d4ed8;background:#eff6ff;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .65rem;font-size:11px;font-weight:700;display:inline-flex}.payroll-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.payroll-metrics div{box-sizing:border-box;background:#3b82f60a;border-radius:12px;min-width:0;padding:8px 10px}.payroll-metrics span{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.payroll-metrics strong{font-size:14px;line-height:1.1;display:block}.health-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:6px;display:grid}.health-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:22px;padding:18px}.health-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.health-score{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;display:flex}.health-score strong{font-size:1.6rem}.health-meter{background:var(--line);border-radius:999px;height:10px;margin-bottom:14px;overflow:hidden}.health-meter div{background:linear-gradient(90deg,#4f79ff,#7c3aed);height:100%}.health-meta{color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px;font-size:.88rem;display:grid}.health-meta span{background:#3b82f614;border-radius:999px;padding:10px 12px}.clean-box{color:#166534;background:#ecfdf5;border-radius:18px;padding:12px 14px;font-weight:700}@media (width<=1024px){.ops-layout{grid-template-columns:1fr}.ops-overview-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (width<=680px){.ops-overview-grid,.payroll-metrics{grid-template-columns:1fr}}.health-critical{background:#fff7f7;border-color:#fecaca}.health-at-risk{background:#fffaf5;border-color:#fed7aa}.health-watch{background:#f8fbff;border-color:#bfdbfe}.health-card-top{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.health-card h3{margin:8px 0 3px}.health-card p{color:var(--muted);margin:0}.health-pill{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.health-critical .health-pill{color:#dc2626;background:#fee2e2}.health-at-risk .health-pill{color:#c2410c;background:#fff7ed}.health-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.ops-alerts{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.ops-alert{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.ops-alert.critical{color:#dc2626;background:#fee2e2;border-color:#fecaca}.ops-alert.warning{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.ops-alert.info{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.ops-alerts.compact{margin:8px 0 0}.ops-side-list{flex-direction:column;gap:12px;display:flex}.ops-side-list h3{margin:8px 0 0}.ops-mini-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px}.ops-mini-card b,.ops-mini-card small{display:block}.ops-mini-card small{color:var(--muted);margin-top:4px}@media (width<=1100px){.ops-layout{grid-template-columns:1fr}.health-metrics{grid-template-columns:1fr 1fr}}@media (width<=700px){.health-metrics{grid-template-columns:1fr}}.scheduler-layout{grid-template-columns:360px 1fr;gap:22px;display:grid}.unscheduled-list{flex-direction:column;gap:14px;max-height:780px;display:flex;overflow:auto}.schedule-job-card,.scheduled-mini-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:20px;padding:14px}.schedule-job-card h3{margin:10px 0 4px}.schedule-job-card p{color:var(--muted);margin:0}.schedule-meta{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;display:grid}.full-button{justify-content:center;width:100%;margin-top:12px}.schedule-board{grid-template-columns:140px repeat(5,minmax(210px,1fr));gap:10px;display:grid;overflow:auto}.schedule-day-header,.crew-name{border:1px solid var(--line);background:#f8fbff;border-radius:16px;padding:12px;font-weight:900}.crew-name{color:var(--brand-dark)}.schedule-cell{border:1px solid var(--line);background:#fff;border-radius:18px;min-height:190px;padding:10px}.schedule-cell.capacity-risk{background:#fff7ed;border-color:#fed7aa}.capacity-line{color:var(--muted);justify-content:space-between;gap:8px;margin-bottom:10px;font-size:12px;display:flex}.capacity-line b{color:#c2410c}.scheduled-mini-card{box-shadow:none;margin-bottom:9px;padding:11px}.scheduled-mini-card b,.scheduled-mini-card small{margin-top:5px;display:block}.scheduled-mini-card small{color:var(--muted)}.mini-actions{gap:6px;margin-top:9px;display:flex}.mini-actions button{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;flex:1;padding:7px;font-weight:900}.labor-forecast{border:1px solid var(--line);background:#f8fbff;border-radius:14px;margin-top:12px;padding:10px}.labor-forecast div:first-child{justify-content:space-between;gap:10px;font-size:12px;display:flex}.labor-forecast span{color:var(--muted);font-weight:800}.labor-bar{background:#eef2f8;border-radius:999px;height:8px;margin:8px 0;overflow:hidden}.labor-bar div{background:linear-gradient(90deg,#4f7cff,#8bb6ff);height:100%}.labor-forecast small{color:var(--muted)}.labor-forecast.small{padding:8px}@media (width<=1200px){.scheduler-layout{grid-template-columns:1fr}.schedule-board{grid-template-columns:120px repeat(5,210px)}}.dispatch-layout{grid-template-columns:1.2fr .8fr;gap:22px;display:grid}.dispatch-job-list,.crew-status-list{flex-direction:column;gap:16px;display:flex}.dispatch-job-card,.crew-status-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:22px;padding:18px}.dispatch-job-card h3,.crew-status-card h3{margin:10px 0 4px}.dispatch-job-card p,.crew-status-card p{color:var(--muted);margin:0}.dispatch-grid{grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;display:grid}.install-complete-box{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;flex-direction:column;gap:4px;padding:12px;display:flex}.install-layout{box-sizing:border-box;grid-template-columns:1.25fr .75fr;gap:18px;width:100%;display:grid}.install-list{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;width:100%;display:grid}.install-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:18px;flex-direction:column;gap:8px;min-width:0;padding:16px;display:flex;overflow:hidden;box-shadow:0 12px 30px #0f172a0f}.install-card:hover{transform:translateY(-4px);box-shadow:0 22px 42px #0f172a14}.install-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.install-card h3{margin:2px 0 0;font-size:16px;line-height:1.15}.install-card p{color:var(--muted);margin:0;font-size:13px}.install-meta{flex-flow:wrap;align-items:center;gap:10px;display:flex}.install-meta span{color:var(--muted);font-size:11px}.install-meta b{font-size:14px}.install-board{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;width:100%;display:grid;overflow:hidden}.install-bucket{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;min-width:0;padding:12px;overflow:hidden}.install-bucket-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.install-bucket .mini-job{border:1px solid var(--line);text-align:left;background:linear-gradient(#fff,#fbfdff);border-radius:12px;min-width:0;padding:10px;display:block;overflow:hidden}.install-bucket .mini-job span{color:var(--brand-dark);font-weight:800;display:block}.install-bucket .mini-job b{color:var(--text);margin:6px 0;font-size:14px;display:block}.install-bucket .mini-job small{color:var(--muted);font-size:12px}.install-bucket .mini-job:hover{transform:translateY(-2px)}.install-bucket p.job-meta{color:var(--muted);font-size:13px}.install-panel{box-sizing:border-box;width:100%;overflow:hidden}.status-badge{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.priority-badge{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.priority-badge.normal{color:#1d4ed8;background:#eff6ff}.priority-badge.high{color:#dc2626;background:#fee2e2}.status-badge.install-scheduled{color:#1d4ed8;background:#eff6ff}.status-badge.installed{color:#047857;background:#ecfdf5}@media (width<=1000px){.install-layout{grid-template-columns:1fr}.install-list,.install-board{grid-template-columns:repeat(2,minmax(220px,1fr))}}.accounts-page{gap:20px;display:grid}.accounts-top-grid{grid-template-columns:repeat(5,minmax(180px,1fr));gap:18px}.accounts-panel{overflow:hidden}.print-invoice-document{border:1px solid var(--line);box-shadow:var(--shadow-soft);color:var(--text);background:#fff;border-radius:20px;padding:20px}.print-invoice-document h2{margin:0 0 8px;font-size:18px}.print-invoice-document p{color:var(--muted);margin:0}.print-invoice-document table{border-collapse:collapse;width:100%;margin-top:14px}.print-invoice-document table th,.print-invoice-document table td{border-bottom:1px solid #e2e8f0;padding:10px 0}.print-invoice-document table th{color:var(--muted);font-weight:700}.print-invoice-document strong{font-weight:700}.print-invoice-document.template-classic{background:#f8fafc;border-color:#cbd5e1}.print-invoice-document.template-classic .panel-head{border-bottom:1px solid #e2e8f0;margin-bottom:16px;padding-bottom:16px}.print-invoice-document.template-classic .badge{color:#1d4ed8;background:#eff6ff}.print-invoice-document.template-modern{background:#eef2ff;border-color:#c7d2fe;font-family:Inter,system-ui,sans-serif}.print-invoice-document.template-modern .panel-head{border-bottom:1px solid #c7d2fe;margin-bottom:18px;padding-bottom:18px}.print-invoice-document.template-modern .badge{color:#fff;background:#4338ca}.print-invoice-document.template-compact{background:#fff;border-color:#e2e8f0;font-size:14px}.print-invoice-document.template-compact .panel-head{border-bottom:1px solid #e2e8f0;margin-bottom:12px;padding-bottom:12px}.print-invoice-document.template-compact .badge{color:#334155;background:#f1f5f9}.print-invoice-document.template-service{background:#f0fdf4;border-color:#d1fae5}.print-invoice-document.template-service .panel-head{border-bottom:1px solid #d1fae5;margin-bottom:18px;padding-bottom:18px}.print-invoice-document.template-service .badge{color:#047857;background:#d1fae5}.print-invoice-document.template-signshop{background:#fff7ed;border-color:#fde4cf}.print-invoice-document.template-signshop .panel-head{border-bottom:1px solid #fcd9c7;margin-bottom:18px;padding-bottom:18px}.print-invoice-document.template-signshop .badge{color:#b45309;background:#fee7d0}@media print{body{color:#000!important;background:#fff!important}.sidebar,.topbar,.panel:not(.print-invoice-document),.accounts-tabs,.accounts-card,.transaction-row,.install-card,.install-bucket,.install-panel,.install-list,.install-board,.crew-header{display:none!important}.print-invoice-document{width:auto!important;box-shadow:none!important;border:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important}.print-invoice-document table th,.print-invoice-document table td{border-color:#d1d5db!important}.print-invoice-document *{color:#000!important}}.accounts-tabs{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.accounts-tab{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:14px;padding:10px 14px;font-weight:700;transition:all .18s}.accounts-tab.active{color:var(--brand-dark);background:#4f7cff1a;border-color:#4f7cff59}.accounts-tab-panel{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.accounts-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:20px;flex-direction:column;gap:10px;min-width:0;padding:18px;display:flex;overflow:hidden}.accounts-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.accounts-card h3{margin:0;font-size:15px;line-height:1.2}.accounts-card p{color:var(--muted);margin:0;font-size:13px}.accounts-card-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;display:flex}.invoice-line-items-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.line-items-list{gap:12px;display:grid}.line-item-row{grid-template-columns:minmax(160px,1fr) 90px 90px 90px 110px 80px;align-items:flex-end;gap:12px;display:grid}.line-item-row label{flex-direction:column;gap:6px;display:flex}.line-item-row input{width:100%;min-width:0}.line-item-amount{border:1px solid var(--line);background:#f8fafc;border-radius:16px;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;display:flex}.line-item-amount small{color:var(--muted);font-size:12px}.line-item-amount strong{font-size:14px}.invoice-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:18px;display:grid}.invoice-summary-grid div{border:1px solid var(--line);background:#f8fafc;border-radius:16px;padding:14px}.invoice-summary-grid small{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.invoice-summary-grid strong{font-size:16px}.secondary.small{padding:.75rem 1rem;font-size:12px}.accounts-transactions-panel{overflow:hidden}.transactions-list{gap:12px;display:grid}.transaction-row{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:16px;display:flex}.transaction-row strong{display:block}.transaction-row p{color:var(--muted);margin:4px 0 0;font-size:13px}.transaction-credit{color:#047857}.transaction-debit{color:#b91c1c}@media (width<=1100px){.accounts-top-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (width<=700px){.accounts-top-grid,.accounts-tab-panel{grid-template-columns:1fr}.transaction-row{flex-direction:column;align-items:flex-start}.line-item-row{grid-template-columns:1fr}}@media (width<=680px){.install-list,.install-board{grid-template-columns:1fr}.install-card{border-radius:14px;padding:12px}}.crew-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.crew-status-pill{border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900}.status-working{color:#166534;background:#dcfce7}.status-driving{color:#1d4ed8;background:#dbeafe}.status-idle{color:#374151;background:#f3f4f6}.truck-box{border:1px solid var(--line);background:#f8fbff;border-radius:14px;margin-top:14px;padding:12px}@media (width<=1100px){.dispatch-layout{grid-template-columns:1fr}}.dispatch-empty{text-align:center;justify-content:center;align-items:center;min-height:220px;display:flex}.status-complete{color:#166534;background:#dcfce7}.truck-box small{color:var(--muted);margin-top:6px;display:block}.assign-modal{width:min(760px,92vw);max-width:760px}.assign-preview{border:1px solid var(--line);background:#f8fbff;border-radius:18px;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0;padding:14px;display:grid}@media (width<=800px){.assign-preview{grid-template-columns:1fr}}.payroll-main-panel{margin-bottom:22px}.payroll-table{flex-direction:column;gap:8px;display:flex}.payroll-row{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:1.4fr repeat(4,.7fr) .9fr 1.2fr;align-items:center;gap:12px;padding:12px;display:grid}.payroll-header{color:var(--muted);background:#f8fbff;font-size:12px;font-weight:900}.payroll-row small{color:var(--muted);margin-top:4px;display:block}.payroll-status{color:#1d4ed8;background:#eff6ff;border-radius:999px;justify-content:center;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.status-approved .payroll-status,.status-ready .payroll-status{color:#166534;background:#dcfce7}.status-needs-review .payroll-status,.status-clock-gap .payroll-status,.status-missing-codes .payroll-status,.status-needs-fix .payroll-status{color:#c2410c;background:#fff7ed}.status-overtime .payroll-status{color:#b91c1c;background:#fee2e2}.payroll-actions{gap:8px;display:flex}.payroll-actions button{color:#166534;cursor:pointer;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:8px 10px;font-weight:900}.payroll-actions .needs-fix{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.payroll-card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.payroll-detail-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:22px;padding:16px}.payroll-detail-card h3{margin:0 0 4px}.payroll-detail-card p{color:var(--muted);margin:0}.payroll-mini-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0;display:grid}.payroll-detail-card h4{margin:14px 0 8px}.payroll-breakdown{flex-direction:column;gap:8px;display:flex}.payroll-breakdown div{border:1px solid var(--line);background:#f8fbff;border-radius:12px;justify-content:space-between;gap:10px;padding:9px 10px;display:flex}.payroll-breakdown small{color:var(--muted)}@media (width<=1100px){.payroll-row{grid-template-columns:1fr}}.payroll-period-bar{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:24px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;padding:18px;display:flex}.payroll-period-bar h2{margin:0 0 6px}.period-actions{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.period-actions label{color:var(--muted);font-size:12px;font-weight:900}.period-actions input{border:1px solid var(--line);border-radius:12px;margin-top:6px;padding:10px;display:block}.locked-pill{color:#fff;background:#111827;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900}.payroll-engine-table .payroll-row{grid-template-columns:1.4fr .8fr .75fr .65fr .9fr .9fr 1.2fr}.rate-input{border:1px solid var(--line);background:#f8fbff;border-radius:12px;align-items:center;gap:5px;padding:6px 8px;font-weight:900;display:flex}.rate-input input{background:0 0;border:0;outline:0;width:70px;font-weight:900}.payroll-actions button:disabled,.rate-input input:disabled{opacity:.5;cursor:not-allowed}.status-locked .payroll-status{color:#fff;background:#111827}@media (width<=1100px){.payroll-period-bar{flex-direction:column;align-items:flex-start}.payroll-engine-table .payroll-row{grid-template-columns:1fr}}.supabase-status{border:1px solid var(--line);border-radius:999px;margin-top:8px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.supabase-status.connected{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.supabase-status.offline{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.project-detail-actions{flex-wrap:wrap;gap:10px;display:flex}.dashboard-hero{gap:20px;margin-bottom:24px;display:grid}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.dashboard-header .eyebrow{color:var(--brand);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800;display:inline-block}.dashboard-header h1{letter-spacing:-.4px;margin:0;font-size:2.1rem}.dashboard-header .subhead{max-width:660px;color:var(--muted);margin:10px 0 0;line-height:1.6}.dashboard-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;display:grid}.dashboard-section{margin-bottom:22px}.dashboard-section-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.dashboard-section-header h2{margin:0}.overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.section-card{background:#fbfdff;border:1px solid #94a3b829;border-radius:24px;flex-direction:column;justify-content:space-between;min-height:148px;padding:20px;display:flex;box-shadow:0 16px 38px #0f172a0d}.section-card .card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-card .card-head span{color:var(--muted);font-size:13px}.section-card .card-head strong{color:var(--text);font-size:2rem;line-height:1}.status-summary-body{gap:18px;display:grid}.status-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.status-chip{background:#f8fafc;border:1px solid #94a3b824;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.status-chip span{color:var(--muted);font-size:13px}.status-chip strong{color:var(--text)}@media (width<=1280px){.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=980px){.dashboard-layout,.snapshot-grid{grid-template-columns:1fr}.dashboard-kpis,.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.dashboard-kpis,.overview-grid{grid-template-columns:1fr}}.login-shell{background:linear-gradient(135deg,#f8fbff,#eef4ff);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{border:1px solid var(--line);width:min(430px,92vw);box-shadow:var(--shadow-soft);background:#fff;border-radius:28px;flex-direction:column;gap:14px;padding:28px;display:flex}.login-card h1{margin:0}.login-card p{color:var(--muted);margin:0 0 8px}.login-card label{color:var(--muted);font-size:12px;font-weight:900}.login-card input{box-sizing:border-box;border:1px solid var(--line);border-radius:14px;width:100%;margin-top:6px;padding:12px}.big-logo{width:54px;height:54px;font-size:24px}.logout-btn{justify-content:center;width:100%;margin-top:10px}.unauthorized{text-align:center;padding:50px!important}.dashboard-modern{flex-direction:column;gap:22px;display:flex}.dashboard-hero{color:#fff;box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#102a68,#315bff);border-radius:28px;justify-content:space-between;align-items:center;gap:18px;padding:28px;display:flex}.dashboard-hero h2{margin:6px 0;font-size:32px}.dashboard-hero p{color:#dbe7ff;margin:0}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#bfdbfe;font-size:12px;font-weight:900}.kpi-grid-modern{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;display:grid}.dashboard-layout-modern{grid-template-columns:1.2fr .8fr;gap:22px;display:grid}.modern-panel{border-radius:26px!important}.ops-mini-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.snapshot-stack{flex-direction:column;gap:16px;display:flex}.mini-list-card{border:1px solid var(--line);background:#f8fbff;border-radius:20px;padding:14px}.mini-list-card h3{margin:0 0 12px}.mini-job-row{border:0;border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:14px;grid-template-columns:.8fr 1.3fr .9fr;align-items:center;gap:8px;width:100%;margin-bottom:8px;padding:10px;display:grid}.mini-job-row span{color:var(--brand);font-weight:900}.mini-job-row b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mini-job-row em{color:var(--muted);font-size:12px;font-style:normal}.status-progress-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.status-progress{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px}.status-progress div:first-child{justify-content:space-between;font-weight:900;display:flex}.progress-track{background:#eef2f8;border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.progress-track i{background:linear-gradient(90deg,#4f7cff,#8bb6ff);height:100%;display:block}.production-stage-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.production-stage-card{border:1px solid var(--line);background:#f8fbff;border-radius:22px;padding:14px}.stage-card-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.stage-card-head h3{margin:0}.stage-card-head span{color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:4px 10px;font-weight:900}.stage-card-list{flex-direction:column;gap:10px;display:flex}.production-compact-job{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:16px;padding:12px}.production-compact-job div{justify-content:space-between;gap:8px;display:flex}.production-compact-job b{color:var(--brand)}.production-compact-job span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:900;overflow:hidden}.production-compact-job small{color:var(--muted);margin-top:6px;display:block}.production-compact-job em{color:#1d4ed8;background:#eff6ff;border-radius:999px;margin-top:8px;padding:4px 8px;font-size:12px;font-style:normal;font-weight:900;display:inline-flex}.view-more{color:var(--muted);text-align:center;padding:8px;font-weight:900}.dispatch-simple-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.dispatch-simple-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:22px;padding:16px}.dispatch-simple-card h3{margin:12px 0}.dispatch-info-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dispatch-empty{grid-column:1/-1;justify-content:center;align-items:center;min-height:180px;display:flex}@media (width<=1000px){.dashboard-layout-modern,.ops-mini-grid{grid-template-columns:1fr}.dashboard-hero{flex-direction:column;align-items:flex-start}.mini-job-row,.dispatch-info-grid{grid-template-columns:1fr}}.employee-management-panel{overflow:hidden}.employee-toolbar{grid-template-columns:2fr 1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.employee-toolbar label{color:var(--muted);font-size:12px;font-weight:900}.employee-toolbar input,.employee-toolbar select{box-sizing:border-box;border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;margin-top:6px;padding:11px 12px}.employee-management-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.employee-management-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:22px;padding:16px}.employee-management-card.inactive{opacity:.72;background:#f8fafc}.employee-card-main{align-items:center;gap:12px;display:flex}.employee-card-title{flex:1;min-width:0}.employee-card-title h3{margin:0 0 4px}.employee-card-title p{color:var(--muted);overflow-wrap:anywhere;margin:0}.employee-status{border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900}.employee-status.active{color:#166534;background:#dcfce7}.employee-status.inactive{color:#991b1b;background:#fee2e2}.employee-badges{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.employee-badges span{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}.employee-detail-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;display:grid}.switch-row{border:1px solid var(--line);background:#f8fbff;border-radius:14px;align-items:center;gap:10px;padding:11px 12px;display:flex!important}.switch-row input{width:auto!important;margin:0!important}.switch-row span{color:var(--text);font-weight:900}@media (width<=800px){.employee-toolbar,.employee-detail-grid{grid-template-columns:1fr}}.ops-modern-compact{gap:18px;padding-bottom:28px;display:grid}.ops-modern-hero.compact{color:#fff;background:linear-gradient(135deg,#0f172a,#1d4ed8 55%,#60a5fa);border-radius:28px;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex;box-shadow:0 22px 55px #2563eb38}.ops-modern-hero.compact h2{letter-spacing:-.04em;margin:6px 0;font-size:clamp(26px,3vw,42px)}.ops-modern-hero.compact p,.ops-modern-hero.compact .eyebrow{color:#ffffffd1}.ops-score-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#ffffff29;border:1px solid #ffffff47;border-radius:22px;min-width:150px;padding:18px}.ops-score-card small,.ops-score-card span{color:#ffffffd1;display:block}.ops-score-card strong{margin:4px 0;font-size:38px;line-height:1;display:block}.ops-kpi-strip{grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;display:grid}.ops-kpi-strip .stat{background:#ffffffeb;border-radius:22px;min-height:94px;box-shadow:0 12px 35px #0f172a14}.ops-compact-layout{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:start;gap:16px;display:grid}.ops-compact-layout.bottom{grid-template-columns:minmax(0,1fr) minmax(420px,.95fr)}.ops-panel{background:#fffffff0;border-radius:26px;overflow:hidden;box-shadow:0 18px 45px #0f172a14}.compact-head{border-bottom:1px solid #e2e8f0e6;padding-bottom:10px}.compact-list{gap:10px;display:grid}.ops-risk-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-risk-item{background:#fff;border:1px solid #e5e7eb;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.ops-risk-item.critical{background:linear-gradient(135deg,#fff,#fff1f2);border-color:#fecaca}.ops-risk-item.warning{background:linear-gradient(135deg,#fff,#fffbeb);border-color:#fde68a}.ops-risk-item.info{background:linear-gradient(135deg,#fff,#eff6ff);border-color:#bfdbfe}.ops-risk-item b,.ops-health-compact b,.ops-payroll-row b{color:#111827;font-size:14px;display:block}.ops-risk-item small,.ops-health-compact small,.ops-payroll-row small{color:#64748b;font-size:12px;display:block}.ops-risk-item strong{color:#991b1b;text-align:right;max-width:150px;font-size:12px}.ops-health-compact{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:14px}.ops-health-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.health-mini-score{text-align:right;min-width:74px}.health-mini-score strong{color:#0f172a;font-size:22px;display:block}.health-mini-score span{color:#64748b;font-size:11px}.ops-meter,.ops-stage-bar{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.ops-meter{margin:10px 0 6px}.ops-meter i,.ops-stage-bar i{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#22c55e);height:100%;display:block}.ops-health-compact.health-critical .ops-meter i,.ops-health-compact.health-delayed .ops-meter i{background:linear-gradient(90deg,#ef4444,#f97316)}.ops-health-compact.health-at-risk .ops-meter i,.ops-health-compact.health-watch .ops-meter i{background:linear-gradient(90deg,#f59e0b,#facc15)}.ops-health-compact p{color:#b45309;margin:0;font-size:12px}.ops-stage-compact{gap:12px;display:grid}.ops-stage-row{grid-template-columns:180px 1fr 44px;align-items:center;gap:12px;display:grid}.ops-stage-row b{font-size:13px;display:block}.ops-stage-row span,.ops-stage-row em{color:#64748b;font-size:12px;font-style:normal}.ops-payroll-summary{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.ops-payroll-summary div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:10px}.ops-payroll-summary small{color:#64748b;font-size:11px;display:block}.ops-payroll-summary b{margin-top:3px;font-size:18px;display:block}.ops-payroll-row{background:#fff;border:1px solid #e5e7eb;border-radius:16px;grid-template-columns:1fr 64px 64px 96px;align-items:center;gap:8px;padding:11px 12px;display:grid}.ops-payroll-row span,.ops-payroll-row strong{text-align:right;font-size:12px}.ops-payroll-row strong{color:#475569;background:#f1f5f9;border-radius:999px;padding:6px 8px}.ops-payroll-row.needs-review strong{color:#991b1b;background:#fee2e2}.ops-payroll-row.clean strong{color:#166534;background:#dcfce7}.ops-payroll-row.not-clocked strong{color:#64748b;background:#f1f5f9}@media (width<=1100px){.ops-modern-hero.compact,.ops-compact-layout,.ops-compact-layout.bottom{grid-template-columns:1fr;display:grid}.ops-modern-hero.compact{align-items:stretch}.ops-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-risk-list{grid-template-columns:1fr}}.dispatch-command-page{flex-direction:column;gap:18px;display:flex}.dispatch-hero-card{color:#fff;background:linear-gradient(135deg,#0f172a,#2563eb 58%,#38bdf8);border-radius:28px;justify-content:space-between;align-items:center;gap:20px;padding:26px;display:flex;position:relative;overflow:hidden;box-shadow:0 22px 45px #2563eb3d}.dispatch-hero-card:after{content:"";background:#ffffff29;border-radius:999px;width:260px;height:260px;position:absolute;top:-80px;right:-80px}.dispatch-hero-card h2{margin:8px 0 6px;font-size:34px}.dispatch-hero-card p{opacity:.88;margin:0}.dispatch-score{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff29;border-radius:22px;flex-direction:column;gap:4px;min-width:180px;padding:18px;display:flex;position:relative}.dispatch-score span,.dispatch-score small{opacity:.85}.dispatch-score strong{font-size:38px;line-height:1}.dispatch-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.dispatch-kpi-grid .stat{border:1px solid #2563eb14;box-shadow:0 14px 32px #0f172a0f}.dispatch-layout-modern{grid-template-columns:1.7fr .8fr;gap:18px;display:grid}.dispatch-layout-modern.lower{grid-template-columns:1fr 1fr}.dispatch-main-panel,.dispatch-side-panel,.dispatch-command-page .panel{border:1px solid #0f172a12;border-radius:24px;box-shadow:0 18px 38px #0f172a0f}.dispatch-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dispatch-job-card{background:linear-gradient(#fff,#f8fbff);border:1px solid #94a3b83d;border-radius:20px;padding:16px;box-shadow:0 10px 24px #0f172a0a}.dispatch-job-card.completed{background:linear-gradient(#f0fdf4,#fff)}.dispatch-job-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.dispatch-job-card h3{margin:0 0 4px;font-size:17px}.dispatch-job-card p{color:var(--muted);margin:0 0 12px}.dispatch-priority{text-transform:uppercase;color:#3730a3;background:#eef2ff;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.dispatch-priority.high,.dispatch-priority.urgent{color:#b91c1c;background:#fee2e2}.dispatch-priority.normal{color:#0e7490;background:#ecfeff}.dispatch-job-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dispatch-job-meta div{background:#f8fafc;border-radius:14px;padding:10px}.dispatch-job-meta span{color:var(--muted);font-size:11px;display:block}.dispatch-job-meta b{font-size:13px}.dispatch-address{color:#475569;background:#f1f5f9;border-radius:14px;margin-top:12px;padding:10px;font-size:12px}.dispatch-readiness-list{flex-direction:column;gap:12px;display:flex}.readiness-row{border:1px solid #94a3b840;border-radius:18px;flex-direction:column;gap:4px;padding:14px;display:flex}.readiness-row b{font-size:14px}.readiness-row span{color:var(--muted);font-size:12px}.readiness-row.warning{background:#fff7ed;border-color:#fed7aa}.readiness-row.clean{background:#f0fdf4;border-color:#bbf7d0}.crew-load-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.crew-load-card{background:#f8fafc;border:1px solid #94a3b833;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;display:grid}.crew-load-card span,.crew-load-card small{color:var(--muted);font-size:12px;display:block}.crew-load-card strong{color:#2563eb;font-size:24px}.crew-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#38bdf8);border-radius:14px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.dispatch-timeline{flex-direction:column;gap:10px;display:flex}.timeline-row{background:#f8fafc;border:1px solid #94a3b833;border-radius:16px;grid-template-columns:90px 1fr;align-items:center;gap:12px;padding:12px;display:grid}.timeline-row>span{color:#2563eb;font-weight:800}.timeline-row small{color:var(--muted);margin-top:3px;display:block}@media (width<=1100px){.dispatch-layout-modern,.dispatch-layout-modern.lower,.dispatch-card-grid,.dispatch-kpi-grid,.crew-load-grid{grid-template-columns:1fr}.dispatch-hero-card{flex-direction:column;align-items:flex-start}}.scheduler-modern-page{flex-direction:column;gap:18px;display:flex}.scheduler-hero-modern{color:#fff;background:linear-gradient(135deg,#111827,#2563eb 55%,#60a5fa);border-radius:26px;justify-content:space-between;align-items:center;padding:24px;display:flex;box-shadow:0 24px 55px #2563eb38}.scheduler-hero-modern h2{margin:6px 0;font-size:32px}.scheduler-hero-modern p{color:#ffffffd1;margin:0}.scheduler-hero-metrics{text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff29;border-radius:22px;min-width:150px;padding:18px}.scheduler-hero-metrics span{font-size:42px;font-weight:900;display:block}.scheduler-hero-metrics small{text-transform:uppercase;letter-spacing:.08em;color:#ffffffbf}.scheduler-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.scheduler-command-layout{grid-template-columns:1.6fr .8fr;gap:18px;display:grid}.scheduler-queue-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:520px;padding-right:4px;display:grid;overflow:auto}.scheduler-queue-card{border:1px solid var(--line);background:linear-gradient(#fff,#f8fafc);border-radius:20px;padding:16px;box-shadow:0 12px 30px #0f172a0f}.queue-card-top{justify-content:space-between;align-items:center;display:flex}.scheduler-queue-card h3{margin:10px 0 4px;font-size:16px}.scheduler-queue-card p{color:var(--muted);margin:0 0 10px}.queue-details{color:var(--muted);grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;font-size:12px;display:grid}.scheduler-progress div{justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.scheduler-progress i,.crew-load-row i{background:#e5e7eb;border-radius:999px;height:8px;display:block;overflow:hidden}.scheduler-progress em,.crew-load-row em{background:linear-gradient(90deg,#2563eb,#22c55e);border-radius:999px;height:100%;display:block}.crew-load-list{flex-direction:column;gap:12px;display:flex}.crew-load-row{border:1px solid var(--line);background:#f8fafc;border-radius:16px;grid-template-columns:1fr auto;gap:8px;padding:12px;display:grid}.crew-load-row span{color:var(--muted);font-size:12px;display:block}.crew-load-row i{grid-column:1/-1}.scheduler-alert-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:18px;margin-top:16px;padding:16px}.scheduler-alert-box h3{margin:0 0 8px}.scheduler-alert-box p{color:#334155;margin:6px 0}.scheduler-board-modern{overflow:auto}.modern-schedule-board{min-width:980px}.modern-crew-name{flex-direction:column;gap:2px;display:flex}.modern-crew-name small{color:var(--muted);font-size:11px;font-weight:500}.modern-schedule-cell{min-height:125px}.modern-scheduled-card{border-radius:14px;padding:10px}.open-slot{text-align:center;color:#94a3b8;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:18px 8px;font-size:12px;display:block}.schedule-red{background:#fff1f2!important;border-color:#fecaca!important}.schedule-yellow{background:#fffbeb!important;border-color:#fde68a!important}.schedule-blue{background:#eff6ff!important;border-color:#bfdbfe!important}.schedule-green{background:#f0fdf4!important;border-color:#bbf7d0!important}@media (width<=1100px){.scheduler-kpi-grid,.scheduler-command-layout,.scheduler-queue-list{grid-template-columns:1fr}.scheduler-hero-modern{flex-direction:column;align-items:flex-start}.scheduler-hero-metrics{width:100%}}.employee-command-page{gap:18px;display:grid}.employee-command-hero{color:#fff;background:radial-gradient(circle at 88% 18%,#ffffff57,#0000 0 120px),linear-gradient(135deg,#0f172a 0%,#2563eb 56%,#38bdf8 100%);border-radius:28px;justify-content:space-between;align-items:center;min-height:150px;padding:24px;display:flex;overflow:hidden;box-shadow:0 24px 60px #2563eb3d}.employee-command-hero h2{letter-spacing:-.04em;margin:8px 0;font-size:30px}.employee-command-hero p{color:#ffffffc7;margin:0}.employee-source-pill{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-align:right;background:#ffffff29;border:1px solid #ffffff3d;border-radius:22px;gap:4px;min-width:150px;padding:16px;display:grid}.employee-source-pill strong{font-size:30px;line-height:1}.employee-source-pill small,.employee-source-pill span{color:#ffffffc7}.employee-source-pill.offline{background:#fbbf2433}.employee-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.employee-command-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:18px;display:grid}.employee-directory-panel,.employee-access-panel{border:1px solid #94a3b82e;box-shadow:0 20px 52px #0f172a14}.employee-panel-head{gap:16px}.employee-toolbar.compact{grid-template-columns:1fr 180px 150px;gap:12px;margin:14px 0 16px;display:grid}.employee-toolbar.compact label{color:#64748b;gap:6px;font-size:12px;font-weight:700;display:grid}.employee-toolbar.compact input,.employee-toolbar.compact select{background:#fff;border:1px solid #e2e8f0;border-radius:14px;outline:none;min-height:42px;padding:0 12px}.employee-table-modern{gap:10px;display:grid}.employee-table-head,.employee-row-modern{grid-template-columns:minmax(250px,1.3fr) minmax(150px,.8fr) 150px 110px 160px;align-items:center;gap:12px;display:grid}.employee-table-head{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;padding:0 14px;font-size:11px;font-weight:800}.employee-row-modern{background:linear-gradient(#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:20px;padding:14px;transition:transform .16s,box-shadow .16s,border-color .16s}.employee-row-modern:hover{border-color:#bfdbfe;transform:translateY(-1px);box-shadow:0 18px 42px #0f172a14}.employee-row-modern.inactive{opacity:.62}.employee-identity{align-items:center;gap:12px;min-width:0;display:flex}.employee-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#60a5fa);border-radius:16px;flex:none;place-items:center;width:44px;height:44px;font-weight:900;display:grid;box-shadow:0 12px 26px #2563eb47}.employee-identity h3{color:#0f172a;margin:0 0 3px;font-size:15px}.employee-identity p,.employee-identity small,.employee-role-stack span,.employee-rate-stack span,.employee-access-stack small{color:#64748b;margin:0;font-size:12px}.employee-role-stack,.employee-rate-stack,.employee-access-stack{gap:4px;display:grid}.employee-role-stack b,.employee-rate-stack b{color:#0f172a;font-size:13px}.login-badge{letter-spacing:.01em;border-radius:999px;width:fit-content;padding:7px 10px;font-size:11px;font-weight:900}.login-badge.linked{color:#047857;background:#d1fae5}.login-badge.unmatched{color:#92400e;background:#fef3c7}.login-badge.missing{color:#64748b;background:#f1f5f9}.compact-actions{justify-content:flex-end;gap:8px;display:flex}.employee-access-panel{position:sticky;top:16px}.access-health-list{gap:10px;margin-top:12px;display:grid}.access-health-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;grid-template-columns:52px 1fr;align-items:center;gap:10px;padding:13px;display:grid}.access-health-row b{border-radius:14px;place-items:center;width:42px;height:42px;font-size:18px;display:grid}.access-health-row.clean b{color:#15803d;background:#dcfce7}.access-health-row.warning b{color:#b91c1c;background:#fee2e2}.access-health-row span{color:#475569;font-size:13px;font-weight:700}.role-match-list{gap:8px;margin-top:18px;display:grid}.role-match-list h3{margin:0 0 4px;font-size:14px}.role-match-row{border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:12px;padding:10px 0;font-size:12px;display:flex}.role-match-row span{color:#475569}.role-match-row b{color:#0f172a;text-align:right}@media (width<=1100px){.employee-command-layout{grid-template-columns:1fr}.employee-access-panel{position:static}.employee-table-head{display:none}.employee-row-modern{grid-template-columns:1fr}.compact-actions{justify-content:flex-start}}@media (width<=760px){.employee-command-hero{flex-direction:column;align-items:flex-start}.employee-source-pill{text-align:left;width:100%}.employee-kpi-grid,.employee-toolbar.compact{grid-template-columns:1fr}}.projects-command-page,.status-command-page{gap:18px;display:grid}.projects-hero-card,.status-hero-card{color:#fff;background:linear-gradient(135deg,#111827 0%,#2563eb 58%,#60a5fa 100%);border-radius:26px;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex;box-shadow:0 22px 50px #2563eb38}.projects-hero-card h2,.status-hero-card h2{letter-spacing:-.04em;margin:6px 0;font-size:28px}.projects-hero-card p,.status-hero-card p{color:#ffffffc7;margin:0}.project-hero-metric,.status-hero-metric{text-align:center;background:#ffffff24;border:1px solid #ffffff38;border-radius:22px;min-width:150px;padding:16px}.project-hero-metric span,.status-hero-metric span{color:#ffffffc2;font-size:12px;display:block}.project-hero-metric strong,.status-hero-metric strong{margin:8px 0;font-size:34px;line-height:1;display:block}.project-hero-metric small,.status-hero-metric small{color:#ffffffbf}.projects-kpi-grid,.status-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.projects-modern-layout{grid-template-columns:minmax(390px,.95fr) minmax(440px,1.25fr);align-items:start;gap:16px;display:grid}.projects-list-panel,.project-detail-modern{border:1px solid #94a3b82e;box-shadow:0 18px 45px #0f172a12}.projects-modern-list{gap:10px;max-height:68vh;padding-right:4px;display:grid;overflow:auto}.project-row-modern{text-align:left;cursor:pointer;background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b82e;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;gap:14px;width:100%;padding:14px;transition:all .18s;display:grid}.project-row-modern:hover,.project-row-modern.selected{border-color:#2563eb6b;transform:translateY(-1px);box-shadow:0 14px 28px #2563eb1f}.project-row-main{gap:4px;min-width:0;display:grid}.project-row-main b{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.project-row-main small{color:#64748b}.project-row-meta{justify-items:end;gap:6px;font-size:12px;display:grid}.project-row-meta em{color:#64748b;font-style:normal}.project-detail-hero{background:linear-gradient(135deg,#f8fafc,#eef6ff);border:1px solid #94a3b82e;border-radius:22px;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex}.project-detail-hero h2{letter-spacing:-.035em;margin:8px 0 4px;font-size:25px}.project-detail-hero p{color:#64748b;margin:0}.project-detail-grid-modern{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.project-site-card,.workflow-modern-block,.project-notes-modern{background:#fff;border:1px solid #94a3b829;border-radius:20px;margin-top:12px;padding:16px}.project-site-card h3,.workflow-modern-block h3,.project-notes-modern h3{margin:0 0 10px}.compact-head{margin-bottom:10px}.workflow-modern{gap:7px}.workflow-modern button{border-radius:999px;padding:8px 11px}.status-board-modern{grid-auto-columns:300px;grid-auto-flow:column;gap:14px;padding-bottom:12px;display:grid;overflow-x:auto}.status-column-modern{background:#f8fafceb;border:1px solid #94a3b833;border-radius:24px;min-height:520px;padding:12px;transition:all .18s}.status-column-modern.drop-active{background:#eff6ff;border-color:#3b82f6;box-shadow:0 18px 35px #3b82f624}.status-column-head-modern{border-bottom:1px solid #94a3b82e;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 10px 12px;display:flex}.status-column-head-modern b{color:#0f172a}.status-column-head-modern small{color:#64748b;margin-top:3px;display:block}.status-column-head-modern span{color:#0369a1;background:#e0f2fe;border-radius:12px;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.status-column-body-modern{gap:10px;display:grid}.status-job-card-modern{cursor:grab;background:#fff;border:1px solid #94a3b82e;border-radius:18px;padding:12px;transition:all .18s;box-shadow:0 10px 24px #0f172a0e}.status-job-card-modern:hover{transform:translateY(-2px);box-shadow:0 16px 30px #0f172a17}.status-job-card-modern.dragging{opacity:.5;transform:scale(.98)}.status-job-top-modern,.status-job-footer-modern{justify-content:space-between;align-items:center;gap:8px;display:flex}.status-job-card-modern h3{color:#0f172a;margin:10px 0 4px;font-size:14px}.status-job-card-modern p{color:#64748b;margin:0 0 10px;font-size:12px}.status-job-footer-modern span,.status-job-footer-modern b,.status-job-card-modern small{color:#64748b;font-size:11px}.status-empty-modern{color:#94a3b8;text-align:center;background:#fff;border:1px dashed #94a3b880;border-radius:16px;padding:22px}@media (width<=1100px){.projects-modern-layout{grid-template-columns:1fr}.projects-kpi-grid,.status-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.projects-os-page,.pipeline-command-page{flex-direction:column;gap:18px;display:flex}.projects-os-hero,.pipeline-hero{color:#fff;background:radial-gradient(circle at 88% 8%,#ffffff47,#0000 22%),linear-gradient(135deg,#101a3a 0%,#1747d8 58%,#2f7cff 100%);border-radius:28px;justify-content:space-between;align-items:center;padding:26px 30px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #1e57dc47}.projects-os-hero:after,.pipeline-hero:after{content:"";background:#ffffff1f;border-radius:999px;width:260px;height:260px;position:absolute;top:-100px;right:-70px}.projects-os-hero h2,.pipeline-hero h2{letter-spacing:-.04em;margin:8px 0 6px;font-size:30px}.projects-os-hero p,.pipeline-hero p{opacity:.82;margin:0}.projects-os-score,.pipeline-score{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#ffffff24;border:1px solid #fff3;border-radius:22px;min-width:160px;padding:18px}.projects-os-score span,.pipeline-score span{opacity:.78;font-size:12px;display:block}.projects-os-score strong,.pipeline-score strong{font-size:36px;line-height:1.1;display:block}.projects-os-score small,.pipeline-score small{opacity:.78}.projects-os-kpis,.pipeline-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.projects-os-grid{grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr);align-items:start;gap:16px;display:grid}.projects-os-list,.projects-os-detail,.pipeline-command-page .panel{border:1px solid #94a3b82e;border-radius:24px;box-shadow:0 18px 50px #0f172a0f}.projects-os-rows{flex-direction:column;gap:10px;max-height:68vh;padding-right:4px;display:flex;overflow:auto}.projects-os-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #94a3b82e;border-radius:18px;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:13px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.projects-os-row:hover,.projects-os-row.selected{border-color:#2563eb73;transform:translateY(-1px);box-shadow:0 14px 34px #2563eb1f}.project-os-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#60a5fa);border-radius:14px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.projects-os-main,.projects-os-meta{flex-direction:column;gap:3px;display:flex}.projects-os-main b{color:#0f172a}.projects-os-main small,.projects-os-meta em{color:#64748b;font-size:12px;font-style:normal}.projects-os-meta{align-items:flex-end}.status-chip{color:#3730a3;background:#eef2ff;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.projects-os-detail{padding:0;overflow:hidden}.projects-os-detail-hero{background:linear-gradient(135deg,#f8fafc,#eff6ff);border-bottom:1px solid #94a3b829;justify-content:space-between;align-items:flex-start;gap:12px;padding:24px;display:flex}.projects-os-detail-hero h2{letter-spacing:-.03em;margin:8px 0 4px;font-size:26px}.projects-os-detail>.project-detail-grid-modern,.projects-os-detail>.project-site-card,.projects-os-detail>.workflow-modern-block,.projects-os-detail>.project-notes-modern,.projects-os-detail>.project-health-widget{margin:18px}.project-health-widget{color:#fff;background:#0f172a;border-radius:18px;padding:16px}.project-health-widget div:first-child{justify-content:space-between;align-items:center;display:flex}.project-health-widget span{color:#cbd5e1;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.project-health-widget strong{font-size:28px}.project-health-bar{background:#ffffff29;border-radius:999px;height:9px;margin-top:12px;overflow:hidden}.project-health-bar i{border-radius:inherit;background:linear-gradient(90deg,#22c55e,#60a5fa);height:100%;display:block}.project-detail-grid-modern{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.project-site-card,.workflow-modern-block,.project-notes-modern{background:#fff;border:1px solid #94a3b829;border-radius:18px;padding:16px}.project-site-card h3,.project-notes-modern h3{margin:0 0 10px}.project-site-card p{color:#475569;align-items:center;gap:8px;margin:8px 0;display:flex}.workflow-modern{flex-wrap:wrap;gap:8px;display:flex}.workflow-modern button{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:9px 12px;font-weight:700}.workflow-modern button.active{color:#fff;background:#2563eb;border-color:#2563eb}.pipeline-insight-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.pipeline-insight-strip>div{background:#fff;border:1px solid #94a3b82e;border-radius:18px;padding:14px;box-shadow:0 10px 28px #0f172a0a}.pipeline-insight-strip span{color:#64748b;font-size:12px}.pipeline-board{grid-auto-columns:minmax(270px,1fr);grid-auto-flow:column;gap:14px;padding-bottom:12px;display:grid;overflow-x:auto}.pipeline-column{background:#f8fafce0;border:1px solid #94a3b82e;border-radius:22px;min-height:520px;padding:12px}.pipeline-column.drop-active{background:#eff6ff;outline:2px solid #2563eb73}.pipeline-column-head{justify-content:space-between;align-items:center;padding:4px 4px 12px;display:flex}.pipeline-column-head b{color:#0f172a;display:block}.pipeline-column-head small{color:#64748b}.pipeline-column-head span{color:#1d4ed8;background:#e0ecff;border-radius:999px;place-items:center;min-width:30px;height:30px;font-weight:800;display:grid}.pipeline-column-body{flex-direction:column;gap:10px;display:flex}.pipeline-job-card{cursor:grab;background:#fff;border:1px solid #94a3b829;border-radius:18px;padding:14px;transition:transform .16s,box-shadow .16s;box-shadow:0 10px 30px #0f172a0d}.pipeline-job-card:hover{transform:translateY(-2px);box-shadow:0 18px 45px #0f172a1a}.pipeline-job-card.overdue{background:linear-gradient(#fff,#fff7f7);border-color:#ef444459}.pipeline-job-card.dragging{opacity:.55}.pipeline-job-top,.pipeline-job-meta,.pipeline-job-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.pipeline-job-card h3{margin:10px 0 4px;font-size:15px}.pipeline-job-card p{color:#64748b;margin:0 0 12px;font-size:13px}.pipeline-job-meta{color:#475569;border-top:1px solid #f1f5f9;padding-top:10px;font-size:12px}.pipeline-job-foot{margin-top:8px}.pipeline-job-foot small{color:#64748b}.pipeline-job-foot em{color:#dc2626;background:#fee2e2;border-radius:999px;padding:3px 7px;font-size:10px;font-style:normal;font-weight:800}.pipeline-empty{text-align:center;color:#94a3b8;background:#ffffff8c;border:1px dashed #cbd5e1;border-radius:16px;padding:28px 10px}@media (width<=1200px){.projects-os-grid{grid-template-columns:1fr}.projects-os-kpis,.pipeline-kpis,.pipeline-insight-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.v3-hero,.clients-hero-card,.timesheets-hero-card,.reports-hero-card,.settings-hero-card{color:#fff;background:linear-gradient(135deg,#0f172a,#1d4ed8 58%,#06b6d4);border-radius:28px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:24px;display:flex;box-shadow:0 24px 60px #0f172a38}.v3-hero h2,.clients-hero-card h2,.timesheets-hero-card h2,.reports-hero-card h2,.settings-hero-card h2{letter-spacing:-.04em;color:#fff;margin:6px 0 8px;font-size:30px}.v3-hero p,.clients-hero-card p,.timesheets-hero-card p,.reports-hero-card p,.settings-hero-card p{color:#ffffffd1;margin:0}.glass-metric,.clients-hero-metric,.timesheet-live-metric,.reports-score,.settings-role-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:right;background:#ffffff26;border:1px solid #ffffff38;border-radius:24px;min-width:180px;padding:18px}.glass-metric span,.clients-hero-metric span,.timesheet-live-metric span,.reports-score span,.settings-role-card span{text-transform:uppercase;letter-spacing:.08em;color:#fffc;font-size:12px;font-weight:900;display:block}.glass-metric strong,.clients-hero-metric strong,.timesheet-live-metric strong,.reports-score strong,.settings-role-card strong{color:#fff;margin-top:4px;font-size:34px;display:block}.glass-metric small,.clients-hero-metric small,.timesheet-live-metric small,.reports-score small,.settings-role-card small{color:#fffc}.v3-kpis,.clients-kpi-grid,.timesheet-kpi-grid,.reports-kpi-grid,.settings-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.pipeline-insight-strip{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.pipeline-insight-strip div{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:20px;padding:14px 16px}.pipeline-insight-strip b{color:var(--text);font-size:13px;display:block}.pipeline-insight-strip span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.status-board-v3{grid-template-columns:repeat(5,minmax(260px,1fr));gap:14px;padding-bottom:10px;display:grid;overflow-x:auto}.v3-status-column{background:#f8fafc;border:1px solid #e5e7eb;border-radius:22px;min-width:260px;padding:12px}.v3-column-head{background:#fff;border-radius:18px;margin-bottom:10px;padding:12px}.v3-column-body{gap:10px;max-height:68vh;display:grid;overflow:auto}.v3-status-card{background:#fff;border:1px solid #edf2f7;border-radius:18px;padding:13px;box-shadow:0 8px 24px #0f172a0f}.v3-status-card h3{margin:9px 0 4px;font-size:14px}.v3-status-card p{color:var(--muted);margin:0 0 10px;font-size:12px}.v3-status-card.is-overdue{background:#fff7f7;border-color:#fecaca}.status-card-progress{background:#e5e7eb;border-radius:999px;height:7px;margin:8px 0;overflow:hidden}.status-card-progress i{background:linear-gradient(90deg,#38bdf8,#2563eb);border-radius:999px;height:100%;display:block}.clients-grid-modern{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.client-card-modern{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:24px;padding:18px}.client-card-modern.has-risk{background:#fff7f7;border-color:#fecaca}.client-card-head{align-items:center;gap:12px;display:flex}.client-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#06b6d4);border-radius:16px;place-items:center;width:46px;height:46px;font-weight:900;display:grid}.client-card-head h3{margin:0}.client-card-head p{color:var(--muted);margin:3px 0 0;font-size:12px}.client-risk-chip{color:#166534;background:#dcfce7;border-radius:999px;margin-left:auto;padding:6px 10px;font-size:11px;font-weight:900}.client-risk-chip.risk{color:#991b1b;background:#fee2e2}.client-stats-row{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;display:grid}.client-latest-job{background:#f8fafc;border-radius:18px;padding:13px}.client-latest-job span,.client-latest-job small{color:var(--muted);font-size:12px;display:block}.client-latest-job b{color:var(--text);margin:4px 0;display:block}.timesheet-layout-modern{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:16px;margin-bottom:16px;display:grid}.time-entry-form-modern{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.time-entry-form-modern label{color:var(--muted);font-size:12px;font-weight:900}.time-entry-form-modern input,.time-entry-form-modern select,.time-entry-form-modern textarea{box-sizing:border-box;border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;margin-top:6px;padding:11px}.time-entry-form-modern .full{grid-column:1/-1}.clock-list-modern{gap:10px;display:grid}.clock-card-modern{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:12px;display:grid}.clock-card-modern.active{background:#f0fdf4;border-color:#86efac}.clock-card-modern span{color:var(--muted);font-size:12px;display:block}.clock-actions{flex-wrap:wrap;gap:6px;display:flex}.clock-actions button{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:6px 9px;font-weight:900}.time-log-list-modern{gap:8px;display:grid}.time-log-row-modern{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:1fr 1.2fr auto auto;align-items:center;gap:12px;padding:11px;display:grid}.time-log-row-modern span{color:var(--muted);font-size:12px;display:block}.small-danger{padding:7px 10px!important}.reports-grid-modern{grid-template-columns:1.1fr .9fr;gap:16px;margin-bottom:16px;display:grid}.report-bars{gap:11px;display:grid}.report-bar-row div{justify-content:space-between;gap:12px;font-size:13px;display:flex}.report-bar-row i,.crew-load-row i{background:#e5e7eb;border-radius:999px;height:9px;margin-top:6px;display:block;overflow:hidden}.report-bar-row em,.crew-load-row em{background:linear-gradient(90deg,#60a5fa,#2563eb);border-radius:999px;height:100%;display:block}.type-mix-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.type-mix-grid article{border:1px solid var(--line);background:#f8fafc;border-radius:18px;padding:14px}.type-mix-grid b{font-size:24px;display:block}.type-mix-grid span{color:var(--muted);font-size:12px}.executive-summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.settings-grid-modern{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-card-modern{position:relative;overflow:hidden}.settings-icon{color:#1d4ed8;background:#eff6ff;border-radius:18px;place-items:center;width:48px;height:48px;margin-bottom:12px;font-weight:900;display:grid}.settings-card-modern h3{margin:0 0 8px}.settings-card-modern p{color:var(--muted);margin:0 0 14px}.settings-row{border-top:1px solid var(--line);justify-content:space-between;padding:10px 0;display:flex}.settings-row span{color:var(--muted)}.settings-pill-list{flex-wrap:wrap;gap:8px;display:flex}.settings-pill-list span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}@media (width<=1100px){.v3-kpis,.clients-kpi-grid,.timesheet-kpi-grid,.reports-kpi-grid,.settings-kpi-grid{grid-template-columns:repeat(2,1fr)}.timesheet-layout-modern,.reports-grid-modern,.settings-grid-modern{grid-template-columns:1fr}.status-board-v3{grid-template-columns:repeat(3,minmax(260px,1fr))}}@media (width<=700px){.v3-hero,.clients-hero-card,.timesheets-hero-card,.reports-hero-card,.settings-hero-card{flex-direction:column;align-items:flex-start}.glass-metric,.clients-hero-metric,.timesheet-live-metric,.reports-score,.settings-role-card{text-align:left;box-sizing:border-box;width:100%}.v3-kpis,.clients-kpi-grid,.timesheet-kpi-grid,.reports-kpi-grid,.settings-kpi-grid,.pipeline-insight-strip,.executive-summary-grid,.time-entry-form-modern,.clock-card-modern,.time-log-row-modern{grid-template-columns:1fr}.status-board-v3{grid-template-columns:1fr;overflow:visible}.clients-grid-modern{grid-template-columns:1fr}}.settings-control-page{gap:18px;display:grid}.settings-control-hero{color:#fff;background:linear-gradient(135deg,#111827,#2563eb 72%,#38bdf8);border-radius:24px;justify-content:space-between;align-items:stretch;gap:22px;padding:26px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #2563eb40}.settings-control-hero:after{content:"";background:#ffffff24;border-radius:999px;width:260px;height:260px;position:absolute;top:-90px;right:-80px}.settings-control-hero h2{letter-spacing:-.04em;margin:7px 0;font-size:28px}.settings-control-hero p{color:#ffffffd1;max-width:680px;margin:0}.settings-live-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1;background:#ffffff24;border:1px solid #ffffff2e;border-radius:22px;min-width:170px;padding:22px}.settings-live-card span,.settings-live-card small{color:#ffffffbf;font-size:12px;display:block}.settings-live-card strong{text-transform:capitalize;margin:7px 0;font-size:24px;display:block}.settings-control-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.settings-control-layout{grid-template-columns:1.08fr .92fr;gap:18px;display:grid}.settings-command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-command-card{text-align:left;cursor:pointer;color:#0f172a;background:linear-gradient(#fff,#f8fbff);border:1px solid #94a3b83d;border-radius:18px;gap:8px;padding:16px;transition:all .18s;display:grid}.settings-command-card:hover,.settings-command-card.active{border-color:#2563eb66;transform:translateY(-2px);box-shadow:0 16px 40px #0f172a17}.settings-command-card span{color:#2563eb;background:#eff6ff;border-radius:13px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.settings-command-card b{font-size:15px}.settings-command-card small{color:#64748b}.settings-detail-panel{align-content:start;gap:16px;display:grid}.settings-detail-top{justify-content:space-between;align-items:start;gap:16px;display:flex}.settings-detail-top h2{letter-spacing:-.03em;margin:6px 0}.settings-detail-top p{color:#64748b;margin:0}.settings-detail-rows{gap:10px;display:grid}.settings-detail-row{background:#f8fafc;border:1px solid #94a3b82e;border-radius:14px;justify-content:space-between;align-items:center;padding:13px 14px;display:flex}.settings-detail-row span{color:#64748b}.settings-detail-row b{color:#0f172a}.settings-stage-cloud{flex-wrap:wrap;gap:8px;display:flex}.settings-stage-cloud span{color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.settings-health-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.settings-health-warning,.settings-health-clean{border-radius:16px;gap:4px;padding:15px;display:grid}.settings-health-warning{color:#be123c;background:#fff1f2}.settings-health-clean{color:#047857;background:#ecfdf5}.settings-health-warning b,.settings-health-clean b{font-size:22px}.settings-action-bar{justify-content:space-between;align-items:center;gap:18px;display:flex}.settings-action-bar h3{margin:0 0 5px}.settings-action-bar p{color:#64748b;margin:0}.settings-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (width<=1100px){.settings-control-kpis,.settings-control-layout,.settings-command-grid{grid-template-columns:1fr}.settings-control-hero,.settings-action-bar,.settings-detail-top{flex-direction:column}}.qb-labor-page{flex-direction:column;gap:18px;display:flex}.qb-labor-hero{color:#fff;background:linear-gradient(135deg,#111827 0%,#1d4ed8 58%,#60a5fa 100%);border-radius:28px;justify-content:space-between;align-items:center;gap:20px;padding:28px 30px;display:flex;box-shadow:0 24px 70px #1e40af3d}.qb-labor-hero .eyebrow,.qb-labor-hero p,.qb-live-tile span,.qb-live-tile small{color:#ffffffc7}.qb-labor-hero h2{letter-spacing:-.04em;margin:8px 0 6px;font-size:28px}.qb-live-tile{text-align:right;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff1f;border:1px solid #fff3;border-radius:24px;min-width:170px;padding:20px}.qb-live-tile strong{margin:8px 0;font-size:34px;line-height:1;display:block}.qb-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.qb-entry-panel{border-radius:24px;padding:20px}.qb-entry-row{grid-template-columns:1.1fr 1.5fr 1.6fr .65fr .85fr 1.4fr auto;align-items:end;gap:10px;display:grid}.qb-entry-row label{color:#64748b;letter-spacing:.02em;font-size:11px;font-weight:700}.qb-entry-row select,.qb-entry-row input{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:100%;height:44px;margin-top:6px;padding:0 12px;font-weight:650}.qb-entry-row select:focus,.qb-entry-row input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 4px #3b82f61f}.qb-add-button{white-space:nowrap;border-radius:14px;height:44px}.qb-context-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.qb-context-strip div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px 14px}.qb-context-strip span{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800;display:block}.qb-context-strip b{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;display:block;overflow:hidden}.qb-main-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.8fr);gap:16px;display:grid}.qb-main-grid.lower{grid-template-columns:minmax(360px,.85fr) minmax(0,1.15fr)}.qb-group-bars{gap:12px;display:grid}.qb-group-row{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:14px;display:grid}.qb-group-row div{justify-content:space-between;gap:8px;font-size:13px;display:flex}.qb-group-row span{color:#64748b;font-weight:700}.qb-group-row i{background:#e2e8f0;border-radius:999px;height:11px;overflow:hidden}.qb-group-row em{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#60a5fa);height:100%;display:block}.group-production em{background:linear-gradient(90deg,#f97316,#fb923c)}.group-install em{background:linear-gradient(90deg,#16a34a,#4ade80)}.group-paint em{background:linear-gradient(90deg,#9333ea,#c084fc)}.group-misc em{background:linear-gradient(90deg,#64748b,#94a3b8)}.qb-code-chip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.qb-code-chip{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:12px}.qb-code-chip span{color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;display:inline-flex}.qb-code-chip b{color:#0f172a;margin:8px 0 4px;font-size:13px;display:block}.qb-code-chip em{color:#64748b;font-style:normal;font-weight:800}.qb-clock-list,.qb-labor-line-list,.qb-job-cost-list{gap:10px;display:grid}.qb-clock-row,.qb-labor-line,.qb-job-cost-row{background:#fff;border:1px solid #e2e8f0;border-radius:18px;align-items:center;gap:12px;padding:12px;display:grid}.qb-clock-row{grid-template-columns:42px minmax(0,1fr) 70px auto}.qb-clock-row.active{background:linear-gradient(135deg,#f0fdf4,#fff);border-color:#86efac}.qb-clock-row b,.qb-labor-line b,.qb-job-cost-row b{color:#0f172a;display:block}.qb-clock-row span,.qb-labor-line span,.qb-job-cost-row small{color:#64748b;font-size:12px;display:block}.qb-clock-actions{gap:6px;display:flex}.qb-clock-actions button{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:0;border-radius:999px;padding:7px 10px;font-weight:800}.qb-job-cost-row{grid-template-columns:minmax(0,1fr) 78px minmax(210px,.9fr)}.qb-mini-groups{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.qb-mini-groups em{color:#475569;background:#f1f5f9;border-radius:999px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:800}.qb-labor-line{grid-template-columns:1fr .9fr 1.1fr 70px auto}.qb-labor-line strong,.qb-job-cost-row strong,.qb-clock-row strong{color:#0f172a;font-size:14px}@media (width<=1180px){.qb-entry-row{grid-template-columns:repeat(3,minmax(0,1fr))}.qb-add-button{width:100%}.qb-main-grid,.qb-main-grid.lower{grid-template-columns:1fr}.qb-code-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.qb-labor-hero,.qb-context-strip,.qb-kpi-grid,.qb-entry-row,.qb-code-chip-grid{grid-template-columns:1fr;display:grid}.qb-clock-row,.qb-labor-line,.qb-job-cost-row,.qb-group-row{grid-template-columns:1fr}.qb-clock-actions,.qb-mini-groups{justify-content:flex-start}}.theme-control-center{gap:18px;margin-top:18px;display:grid}.theme-control-section{background:#ffffff8c;border:1px solid #94a3b838;border-radius:22px;padding:16px}.theme-control-section h3{color:#0f172a;margin:0 0 12px;font-size:15px}.theme-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.theme-choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-choice-grid button{text-align:left;cursor:pointer;background:#f8fafcd1;border:1px solid #94a3b83d;border-radius:18px;padding:14px;transition:all .18s}.theme-choice-grid button b{color:#0f172a;margin-bottom:4px;font-size:14px;display:block}.theme-choice-grid button small{color:#64748b;font-size:11px}.theme-choice-grid button:hover,.theme-choice-grid button.active{background:#dbeafecc;border-color:#2563eb85;transform:translateY(-1px);box-shadow:0 14px 30px #2563eb1f}.theme-toggle-row{background:#ffffff8c;border:1px solid #94a3b838;border-radius:22px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.theme-toggle-row b{color:#0f172a;margin-bottom:4px;font-size:14px;display:block}.theme-toggle-row span{color:#64748b;font-size:12px;display:block}.toggle-pill{color:#334155;cursor:pointer;background:#e2e8f0;border:0;border-radius:999px;min-width:90px;padding:10px 16px;font-weight:800}.toggle-pill.on{color:#fff;background:linear-gradient(135deg,#2563eb,#60a5fa);box-shadow:0 12px 28px #2563eb38}.accent-choice-row{align-items:center;gap:12px;display:flex}.accent-dot{cursor:pointer;border:3px solid #0000;border-radius:999px;width:34px;height:34px;box-shadow:0 12px 25px #0f172a26}.accent-dot.blue{background:linear-gradient(135deg,#2563eb,#60a5fa)}.accent-dot.green{background:linear-gradient(135deg,#059669,#34d399)}.accent-dot.purple{background:linear-gradient(135deg,#7c3aed,#c084fc)}.accent-dot.orange{background:linear-gradient(135deg,#ea580c,#fdba74)}.accent-dot.active{border-color:#fff;outline:3px solid #2563eb59}.theme-preview-card{color:#fff;background:linear-gradient(135deg, var(--theme-accent,#2563eb), #0f172a);border-radius:24px;padding:18px;box-shadow:0 22px 50px #0f172a38}.theme-preview-card h3{margin:6px 0;font-size:18px}.theme-preview-card p{color:#ffffffc7;margin:0 0 14px}html[data-accent-color=green]{--theme-accent:#059669}html[data-accent-color=purple]{--theme-accent:#7c3aed}html[data-accent-color=orange]{--theme-accent:#ea580c}html[data-accent-color=blue]{--theme-accent:#2563eb}html[data-accent-color=green] .primary{background:linear-gradient(135deg,#059669,#34d399)}html[data-accent-color=purple] .primary{background:linear-gradient(135deg,#7c3aed,#c084fc)}html[data-accent-color=orange] .primary{background:linear-gradient(135deg,#ea580c,#fdba74)}html[data-accent-color=blue] .primary{background:linear-gradient(135deg,#2563eb,#60a5fa)}html[data-ui-density=compact] .main{padding-top:20px}html[data-ui-density=compact] .card,html[data-ui-density=compact] .panel,html[data-ui-density=compact] .settings-command-card,html[data-ui-density=compact] .theme-control-section,html[data-ui-density=compact] .theme-toggle-row{padding:12px!important}html[data-ui-density=compact] .settings-control-page,html[data-ui-density=compact] .settings-control-layout,html[data-ui-density=compact] .settings-control-kpis{gap:12px!important}html[data-ui-density=compact] h2{font-size:20px}html[data-ui-density=compact] .job-meta,html[data-ui-density=compact] small{font-size:11px}html[data-rounded-mode=square] .card,html[data-rounded-mode=square] .panel,html[data-rounded-mode=square] .settings-control-hero,html[data-rounded-mode=square] .settings-command-card,html[data-rounded-mode=square] .settings-live-card,html[data-rounded-mode=square] .theme-control-section,html[data-rounded-mode=square] .theme-toggle-row,html[data-rounded-mode=square] .theme-preview-card{border-radius:12px!important}html[data-glass-mode=off] .card,html[data-glass-mode=off] .panel,html[data-glass-mode=off] .theme-control-section,html[data-glass-mode=off] .theme-toggle-row{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important}html[data-theme-mode=dark] body{color:#e2e8f0;background:#0f172a}html[data-theme-mode=dark] .main,html[data-theme-mode=dark] .app{background:linear-gradient(#111827,#0f172a)}html[data-theme-mode=dark] .panel,html[data-theme-mode=dark] .card,html[data-theme-mode=dark] .settings-command-card,html[data-theme-mode=dark] .theme-control-section,html[data-theme-mode=dark] .theme-toggle-row{color:#e2e8f0;background:#1e293bd1!important;border-color:#94a3b82e!important}html[data-theme-mode=dark] h1,html[data-theme-mode=dark] h2,html[data-theme-mode=dark] h3,html[data-theme-mode=dark] b,html[data-theme-mode=dark] strong,html[data-theme-mode=dark] .theme-choice-grid button b,html[data-theme-mode=dark] .theme-control-section h3,html[data-theme-mode=dark] .theme-toggle-row b{color:#f8fafc!important}html[data-theme-mode=dark] p,html[data-theme-mode=dark] small,html[data-theme-mode=dark] span,html[data-theme-mode=dark] .job-meta,html[data-theme-mode=dark] .theme-choice-grid button small,html[data-theme-mode=dark] .theme-toggle-row span{color:#cbd5e1}html[data-theme-mode=dark] input,html[data-theme-mode=dark] select,html[data-theme-mode=dark] textarea{color:#f8fafc!important;background:#0f172ac7!important;border-color:#94a3b83d!important}@media (width<=900px){.theme-choice-grid,.theme-choice-grid.two{grid-template-columns:1fr}.theme-toggle-row{flex-direction:column;align-items:flex-start}}.bids-command-page,.install-command-page{gap:18px;display:grid}.bids-hero-card,.install-hero-card-modern{color:#fff;background:linear-gradient(135deg,#111827 0%,#2563eb 70%,#38bdf8 100%);border-radius:24px;justify-content:space-between;align-items:center;gap:20px;padding:26px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 45px #2563eb38}.bids-hero-card:after,.install-hero-card-modern:after{content:"";background:#ffffff21;border-radius:999px;width:210px;height:210px;position:absolute;top:-48px;right:-44px}.bids-hero-card h2,.install-hero-card-modern h2{color:#fff;margin:6px 0;font-size:28px}.bids-hero-card p,.install-hero-card-modern p{color:#fffc;margin:0}.bid-hero-metric,.install-health-score{z-index:1;text-align:right;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff24;border:1px solid #fff3;border-radius:20px;min-width:170px;padding:18px;position:relative}.bid-hero-metric span,.install-health-score span,.bid-hero-metric small,.install-health-score small{color:#ffffffc7;display:block}.bid-hero-metric strong,.install-health-score strong{color:#fff;margin:4px 0;font-size:28px;display:block}.bids-kpi-grid,.install-kpi-grid-modern{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.bids-layout-modern,.install-modern-layout{grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:18px;display:grid}.bids-layout-modern.lower{grid-template-columns:1fr 1fr}.bid-card-grid,.install-schedule-grid-modern{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.bid-card-modern,.install-job-card-modern{background:linear-gradient(#fff,#f8fbff);border:1px solid #0f172a14;border-radius:20px;padding:16px;transition:all .2s;box-shadow:0 10px 28px #0f172a0f}.install-job-card-modern{cursor:pointer}.bid-card-modern:hover,.install-job-card-modern:hover{transform:translateY(-2px);box-shadow:0 16px 36px #0f172a1a}.bid-card-modern.priority-urgent,.bid-card-modern.priority-high,.install-job-card-modern.today{background:linear-gradient(#fff7ed,#fff);border-color:#f59e0b59}.bid-card-top,.install-job-top-modern{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.bid-card-modern h3,.install-job-card-modern h3{color:#111827;margin:0 0 4px;font-size:16px}.bid-card-modern p,.install-job-card-modern p{color:#64748b;margin:0 0 12px;font-size:13px}.bid-meta-grid,.install-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.bid-meta-grid div,.install-info-grid div{background:#f8fafc;border:1px solid #0f172a0f;border-radius:14px;padding:9px}.bid-meta-grid span,.install-info-grid span{color:#94a3b8;font-size:11px;display:block}.bid-meta-grid b,.install-info-grid b{color:#334155;margin-top:2px;font-size:12px;display:block}.bid-progress-strip{background:#e5e7eb;border-radius:999px;height:7px;margin-top:13px;overflow:hidden}.bid-progress-strip i{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#38bdf8);height:100%;display:block}.tender-source-list,.install-readiness-stack{gap:10px;display:grid}.tender-source-card{text-align:left;cursor:pointer;background:#f8fbff;border:1px solid #2563eb24;border-radius:16px;padding:14px;transition:all .2s}.tender-source-card:hover{background:#eff6ff;transform:translateY(-1px)}.tender-source-card b,.tender-source-card span,.internet-bid-note b,.internet-bid-note span{display:block}.tender-source-card b{color:#1d4ed8}.tender-source-card span{color:#64748b;margin-top:3px;font-size:12px}.internet-bid-note{color:#fff;background:#0f172a;border-radius:16px;margin-top:14px;padding:14px}.internet-bid-note span{color:#ffffffbf;margin-top:4px;font-size:12px}.client-bid-rank-list,.past-bid-list,.dispatch-timeline{gap:10px;display:grid}.client-rank-row,.past-bid-row,.timeline-row{background:#fff;border:1px solid #0f172a12;border-radius:16px;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:11px;display:grid}.client-rank-row>span{color:#2563eb;background:#eff6ff;border-radius:10px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.client-rank-row b,.past-bid-row b{color:#0f172a;display:block}.client-rank-row small,.past-bid-row small{color:#64748b}.past-bid-row em{color:#475569;font-size:12px;font-style:normal}.install-site-line{color:#475569;background:#f1f5f9;border-radius:14px;margin-top:12px;padding:10px;font-size:12px}.install-readiness{background:#f8fafc;border:1px solid #0f172a12;border-radius:16px;padding:14px}.install-readiness b,.install-readiness span{display:block}.install-readiness span{color:#64748b;margin-top:4px;font-size:12px}.install-readiness.warning{background:#fff7ed;border-color:#f59e0b40}.install-readiness.action{background:#eff6ff;border-color:#2563eb38}.install-readiness.clean{background:#f0fdf4;border-color:#22c55e38}.install-flow-columns-modern{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.install-board-modern-v2 .install-bucket{background:#f8fbff;border:1px solid #0f172a14;border-radius:18px;padding:12px}@media (width<=1100px){.bids-layout-modern,.install-modern-layout,.bids-layout-modern.lower{grid-template-columns:1fr}.bids-kpi-grid,.install-kpi-grid-modern,.install-flow-columns-modern{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.bid-card-grid,.install-schedule-grid-modern,.bids-kpi-grid,.install-kpi-grid-modern,.install-flow-columns-modern{grid-template-columns:1fr}.bids-hero-card,.install-hero-card-modern{flex-direction:column;align-items:flex-start}.bid-hero-metric,.install-health-score{text-align:left;width:100%}}.workflow-control-editor{gap:16px;margin-top:18px;display:grid}.workflow-control-top{background:linear-gradient(135deg,#2563eb14,#0ea5e90f);border:1px solid #94a3b83d;border-radius:22px;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px;display:flex}.workflow-control-top h3{margin:0 0 6px;font-size:18px}.workflow-control-top p{color:var(--muted);margin:0;line-height:1.45}.workflow-add-row{grid-template-columns:1fr auto;gap:10px;display:grid}.workflow-add-row input{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px 14px;font-weight:800}.workflow-stage-list{gap:10px;max-height:420px;padding-right:4px;display:grid;overflow:auto}.workflow-stage-row{background:#fff;border:1px solid #94a3b83d;border-radius:18px;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:10px;display:grid;box-shadow:0 10px 30px #0f172a0d}.workflow-stage-row>span{color:#1d4ed8;background:#eff6ff;border-radius:12px;place-items:center;width:34px;height:34px;font-weight:950;display:grid}.workflow-stage-row input{color:var(--text);background:#f8fafc;border:0;border-radius:14px;outline:0;padding:11px 12px;font-weight:900}.workflow-row-actions{gap:6px;display:flex}.workflow-row-actions button{border-radius:12px;padding:9px 10px;font-size:12px}.workflow-control-note{color:var(--muted);background:#f8fbff;border:1px dashed #2563eb59;border-radius:18px;padding:14px;line-height:1.5}.workflow-control-note code{color:#1d4ed8;background:#e0ecff;border-radius:8px;padding:2px 6px;font-weight:900}@media (width<=900px){.workflow-control-top,.workflow-add-row,.workflow-stage-row{grid-template-columns:1fr;display:grid}.workflow-row-actions{flex-wrap:wrap}}.workflow-source-pill{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;margin-top:10px;padding:7px 10px;font-size:11px;font-weight:950;display:inline-flex}.workflow-source-pill.live{color:#166534;background:#dcfce7;border-color:#bbf7d0}.workflow-control-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.workflow-control-buttons button{white-space:nowrap}
