:root{color-scheme:light;--bg:#f4f6f8;--panel:#ffffff;--panel-2:#f0f2f5;--text:#101318;--muted:#66707d;--line:#d8dee6;--brand:#d00012;--brand-2:#072b69;--sidebar:#050608;--sidebar-panel:#101216;--sidebar-text:#f7f8fa;--sidebar-muted:#a8b0bb;--warning:#b45309;--danger:#b42318;--success:#047857;--shadow:0 16px 42px rgba(15,20,28,0.08)}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#0c1118;--panel:#131a24;--panel-2:#182231;--text:#edf2f7;--muted:#9aa7b7;--line:#263241;--brand:#ef1d2f;--brand-2:#7aa7ff;--sidebar:#050608;--sidebar-panel:#101216;--sidebar-text:#f7f8fa;--sidebar-muted:#a8b0bb;--warning:#f59e0b;--danger:#fb7185;--success:#34d399;--shadow:0 18px 48px rgba(0,0,0,0.28)}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:var(--sidebar);border-right:1px solid rgba(255,255,255,.08);padding:24px 18px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;min-height:72px}.brand-logo{display:block;height:58px;max-width:100%;object-fit:contain;object-position:left center}.nav{margin-top:28px;display:grid;grid-gap:6px;gap:6px}.nav a,.nav button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;border-radius:8px;border:0;background:transparent;color:var(--sidebar-muted);cursor:pointer;font-weight:650}.nav a:first-child,.nav a:hover,.nav button:hover{background:var(--sidebar-panel);color:var(--sidebar-text)}.nav a:first-child{box-shadow:inset 3px 0 0 var(--brand)}.main{min-width:0;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.eyebrow{margin:0 0 6px;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(26px,3vw,38px);letter-spacing:0}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.button{border:1px solid var(--line);background:var(--panel);color:var(--text);min-height:40px;padding:0 14px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.button.primary{background:var(--brand);border-color:var(--brand);color:#ffffff}.button.primary:hover{background:#b80010;border-color:#b80010}.button.danger{background:color-mix(in srgb,var(--danger) 10%,var(--panel));border-color:color-mix(in srgb,var(--danger) 40%,var(--line));color:var(--danger)}.grid{display:grid;grid-gap:16px;gap:16px}.metrics{grid-template-columns:repeat(5,minmax(150px,1fr))}.metric,.order-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.metric{padding:16px;border-top:3px solid var(--brand)}.metric span{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}.metric strong{font-size:26px}.workspace{grid-template-columns:minmax(0,1fr) 340px;align-items:start;margin-top:18px}.panel{padding:18px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-header h2{font-size:18px;margin:0}.document-drawer{display:grid;grid-gap:12px;gap:12px}.document-drawer summary{align-items:center;cursor:pointer;display:flex;gap:12px;justify-content:space-between;list-style:none}.document-drawer summary::-webkit-details-marker{display:none}.document-drawer summary strong{color:var(--text);font-size:16px}.document-drawer summary:after{color:var(--muted);content:"+";font-size:20px;font-weight:900}.document-drawer[open] summary:after{content:"-"}.panel-header.compact{margin-top:16px}.panel-header.compact h2{font-size:14px;color:var(--muted);text-transform:uppercase}.calendar-strip{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.calendar-day{align-content:start;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;min-height:112px;background:var(--panel-2);padding:10px 6px;text-align:center}.calendar-day strong{font-size:12px}.calendar-day small{color:var(--muted);font-size:11px}.calendar-day span{color:var(--brand);font-weight:800}.calendar-day-list{display:grid;grid-gap:4px;gap:4px;margin-top:2px}.calendar-day-list a,.calendar-day-list em{background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--text);font-size:11px;font-style:normal;font-weight:700;line-height:1.2;overflow:hidden;padding:3px 4px;text-overflow:ellipsis;white-space:nowrap}.calendar-day-list a{color:var(--brand)}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);grid-template-columns:none;grid-gap:12px;gap:12px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}.lane{min-width:250px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:10px;scroll-snap-align:start}.lane-title{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:10px;text-transform:uppercase}.order-card{box-shadow:none;padding:12px;margin-bottom:10px}.order-card h3{font-size:14px;margin-bottom:8px}.order-card p{color:var(--muted);font-size:13px;line-height:1.4;margin-bottom:7px}.order-card p strong{color:var(--text);font-size:12px}.card-row{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.stage-summary-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.stage-summary-card{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;color:var(--text);cursor:pointer;display:grid;grid-gap:8px;gap:8px;min-height:112px;padding:14px;text-align:left}.stage-summary-card:hover{border-color:color-mix(in srgb,var(--brand) 30%,var(--line));transform:translateY(-1px)}.stage-summary-card span{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;font-size:12px;font-weight:900;height:26px;justify-content:center;width:26px}.stage-summary-card strong{font-size:13px;line-height:1.25}.stage-summary-card em{color:var(--muted);font-size:22px;font-style:normal;font-weight:900;line-height:1}.stage-summary-card.has-items{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 14%,transparent)}.stage-summary-card.has-items span{background:var(--brand);border-color:var(--brand);color:#ffffff}.stage-drawer-backdrop{background:rgba(10,18,32,.44);display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:40}.stage-drawer{background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow);height:100%;max-width:100%;overflow-y:auto;padding:22px;width:520px}.modal-backdrop{align-items:center;background:rgba(10,18,32,.44);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:50}.modal-panel{background:var(--panel);box-shadow:var(--shadow);max-width:100%;padding:20px;width:460px}.modal-panel,.stage-drawer-item{border:1px solid var(--line);border-radius:8px}.stage-drawer-item{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.stage-drawer-item div{display:grid;grid-gap:4px;gap:4px}.stage-drawer-item span{color:var(--muted);font-size:13px}.pill{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 8px;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);font-size:12px;font-weight:700}.pill.urgent{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.pill.high{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.report-list,.schedule{display:grid;grid-gap:10px;gap:10px}.report-item,.schedule-item{border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;grid-gap:6px;gap:6px}.report-item strong,.schedule-item strong{font-size:14px}.report-item span,.schedule-item span{color:var(--muted);font-size:13px}.split{grid-template-columns:1fr 1fr;margin-top:16px}.table{width:100%;border-collapse:collapse;font-size:13px}.table-scroll{overflow-x:auto}.table-scroll .table{min-width:1100px}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.table th{color:var(--muted);font-size:12px;text-transform:uppercase}.login-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:#050608}.login-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,440px);width:min(1040px,100%);min-height:640px;overflow:hidden;background:#ffffff;border:1px solid rgba(255,255,255,.18);border-radius:8px;box-shadow:0 26px 80px rgba(0,0,0,.45)}.login-brand-panel{position:relative;display:flex;min-height:100%;flex-direction:column;align-items:center;justify-content:space-between;padding:42px;overflow:hidden;background:linear-gradient(135deg,rgba(208,0,18,.2),transparent 42%),linear-gradient(160deg,#050608,#101216 62%,#172033);color:var(--sidebar-text)}.login-brand-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 0),linear-gradient(0deg,rgba(255,255,255,.04) 1px,transparent 0);background-size:52px 52px;-webkit-mask-image:linear-gradient(140deg,rgba(0,0,0,.65),transparent 62%);mask-image:linear-gradient(140deg,rgba(0,0,0,.65),transparent 62%);pointer-events:none}.login-logo{position:relative;display:block;width:min(500px,100%);height:auto;object-fit:contain}.login-brand-copy{position:relative;align-self:flex-start;max-width:520px}.login-brand-copy .eyebrow{color:#ffffff;margin-bottom:12px}.login-brand-copy h1{max-width:560px;color:#ffffff;font-size:42px;line-height:1.06;margin:0}.login-status{position:relative;display:inline-flex;align-items:center;gap:10px;align-self:flex-start;min-height:40px;padding:0 14px;border-radius:8px;background:rgba(255,255,255,.08);color:var(--sidebar-text);font-size:13px;font-weight:700}.login-status svg{color:var(--brand)}.login-card{display:flex;flex-direction:column;justify-content:center;background:#ffffff;padding:48px}.login-heading{margin-bottom:28px}.login-heading .eyebrow{color:var(--brand);margin-bottom:10px}.login-heading h2{color:#101318;font-size:34px;line-height:1.12;margin:0}.field{display:grid;grid-gap:6px;gap:6px;margin-bottom:14px}.field label{font-size:13px;color:var(--muted);font-weight:700}.field input{min-height:46px;border-radius:8px;border:1px solid var(--line);background:#ffffff;color:#101318;padding:0 12px}.field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(208,0,18,.12);outline:0}.login-submit{width:100%;justify-content:space-between;min-height:48px;margin-top:6px;padding-inline:18px}.form-error{border:1px solid color-mix(in srgb,var(--danger) 32%,transparent);border-radius:8px;background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger);font-size:13px;margin-bottom:14px;padding:10px 12px}@media (max-width:860px){.login-page{align-items:stretch;padding:18px}.login-shell{grid-template-columns:1fr;min-height:auto}.login-brand-panel{min-height:310px;padding:28px}.login-logo{width:min(360px,100%)}.login-brand-copy h1{font-size:30px}.login-card{padding:30px 28px 34px}.login-heading h2{font-size:30px}}@media (max-width:480px){.login-page{padding:0}.login-shell{min-height:100vh;border:0;border-radius:0}.login-brand-panel{min-height:270px;padding:24px}.login-brand-copy h1{font-size:24px}.login-card{padding:28px 24px 34px}}.form-section{margin:16px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.form-grid label{color:var(--muted);display:grid;font-size:13px;font-weight:700;grid-gap:6px;gap:6px}.form-grid input,.form-grid select,.form-grid textarea{min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);padding:9px 11px;width:100%}.form-grid textarea{resize:vertical}.span-2{grid-column:1/-1}.estimate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.estimate-row{border:1px solid var(--line);border-radius:8px;display:grid;grid-column:1/-1;grid-template-columns:160px minmax(180px,1fr) 90px 120px 80px;grid-gap:10px;gap:10px;padding:10px}.estimate-row.with-category{grid-template-columns:140px 150px minmax(180px,1fr) 90px 120px 80px}.estimate-concepts{grid-template-columns:1fr;gap:16px;margin-top:14px}.estimate-category{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-column:1/-1;padding:12px}.estimate-concept-row{grid-gap:8px;grid-template-columns:72px minmax(210px,.8fr) minmax(320px,1.4fr) 132px 116px 44px}.estimate-concept-row,.repair-cost-row{align-items:center;display:grid;gap:8px}.repair-cost-row{grid-gap:8px;grid-template-columns:72px minmax(320px,1.4fr) minmax(220px,.9fr) 140px 116px}.concept-subtotal{color:var(--text);font-size:13px;text-align:right}.price-suggestion{background:color-mix(in srgb,var(--brand) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line));border-radius:8px;display:grid;grid-gap:8px;gap:8px;grid-column:1/-1;padding:10px}.price-suggestion span{color:var(--text);font-size:13px;font-weight:800}.price-suggestion small{color:var(--muted);font-size:12px}.price-suggestion div{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:1320px){.estimate-concept-row{grid-template-columns:72px minmax(190px,.8fr) minmax(260px,1fr)}.repair-cost-row{grid-template-columns:72px minmax(260px,1fr) minmax(190px,.8fr)}.estimate-concept-row .concept-subtotal,.repair-cost-row .concept-subtotal{text-align:left}}.unit-history-box{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;margin-top:12px;padding:12px}.unit-history-box p{color:var(--muted);font-size:13px;margin:0}.unit-history-list{display:grid;grid-gap:10px;gap:10px}.unit-history-item{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.unit-history-item div{display:grid;grid-gap:4px;gap:4px}.unit-history-item span{color:var(--muted);font-size:13px}.icon-button{justify-content:center;min-height:42px;padding-inline:0}.reschedule-box{margin-top:12px}.reschedule-box summary{cursor:pointer;display:inline-flex;list-style:none}.reschedule-box summary::-webkit-details-marker{display:none}.template-actions{border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;margin-top:16px;padding-top:16px}.estimate-totals{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.estimate-totals div{display:grid;grid-gap:4px;gap:4px}.estimate-totals span{color:var(--muted);font-size:12px;font-weight:800}.check{align-items:center;color:var(--text)!important;display:flex!important;flex-direction:row;gap:8px!important}.check input{min-height:auto;width:auto}.check span{line-height:1.3}.checklist-grid{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px}.filter-label{color:var(--muted);display:block;font-size:13px;font-weight:700;margin-bottom:6px}.status-filter-grid{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.hint{color:var(--muted);font-size:13px;margin-top:12px}.table-link{color:var(--brand);font-weight:800}.table-muted{color:var(--muted);font-size:12px}.process-layout{align-items:start;grid-template-columns:minmax(0,1fr) 320px}.process-form{display:grid;grid-gap:18px;gap:18px}.process-section{border:1px solid var(--line);border-radius:8px;padding:16px}.process-section-title{align-items:center;display:flex;gap:10px;margin-bottom:14px}.process-section-title span{background:var(--brand-2);border-radius:8px;color:#ffffff;display:grid;font-size:13px;font-weight:900;height:30px;place-items:center;width:30px}.process-section-title h2{font-size:17px;margin:0}.reason-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.reason-grid .check{border:1px solid var(--line);border-radius:8px;min-height:42px;padding:0 12px}.other-reason-field{color:var(--muted);display:none;font-size:13px;font-weight:700;gap:6px;grid-column:1/-1}.reason-grid:has(input[name=reason_other]:checked) .other-reason-field{display:grid}.source-other-field{display:none}.form-grid:has(select[name=source] option[value=OTHER]:checked) .source-other-field{display:grid}.stage-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.stage-card{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;min-height:118px;padding:14px}.stage-card span{background:var(--panel);border:1px solid var(--line);border-radius:999px;color:var(--muted);display:grid;font-size:12px;font-weight:900;height:28px;margin-bottom:10px;place-items:center;width:28px}.stage-card strong{display:block;font-size:14px;margin-bottom:8px}.stage-card p{color:var(--muted);font-size:12px;line-height:1.4;margin:0 0 6px}.stage-card.active{border-color:color-mix(in srgb,var(--brand) 50%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 20%,transparent)}.stage-card.active span{background:var(--brand);border-color:var(--brand);color:#ffffff}.notes-box{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:grid;grid-gap:8px;gap:8px;padding:14px}.notes-box strong{color:var(--text)}.notes-box p{font-size:13px;line-height:1.45;margin:0}.form-actions{border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;padding-top:16px}.process-aside{position:-webkit-sticky;position:sticky;top:24px}@media (max-width:1180px){.app-shell{grid-template-columns:84px 1fr}.nav span{display:none}.brand{justify-content:center;min-height:48px}.brand-logo{height:44px;width:44px;object-fit:cover;object-position:left center}.sidebar{padding-inline:14px}.process-layout,.split,.workspace{grid-template-columns:1fr}.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-concept-row,.estimate-grid,.estimate-row,.form-grid,.repair-cost-row{grid-template-columns:1fr}.concept-subtotal{text-align:left}.process-aside{position:static}.checklist-grid,.status-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(3,1fr)}.stage-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav span{display:inline}.brand{justify-content:flex-start;min-height:58px}.brand-logo{height:52px;width:min(220px,100%);object-fit:contain}.nav{grid-template-columns:repeat(2,1fr)}.main{padding:18px}.topbar{align-items:flex-start;flex-direction:column}.metrics,.stage-summary-grid{grid-template-columns:1fr}.calendar-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-drawer{width:100%}.reason-grid,.stage-drawer-item,.stage-grid,.status-filter-grid,.unit-history-item{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column-reverse}}