:root{--ink:#142126;--muted:#65757b;--line:#dbe3e5;--soft:#f4f7f8;--panel:#fff;--teal:#0b5c63;--teal2:#147a82;--tealSoft:#e7f3f3;--ok:#19734c;--okSoft:#e8f5ee;--danger:#aa3a35;--dangerSoft:#fbefee;--amber:#98670a;--amberSoft:#fff7e3;--shadow:0 12px 35px #162a2e14}*{box-sizing:border-box}html,body{color:var(--ink);background:#f4f7f8;margin:0;padding:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.appShell{min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;height:78px;padding:0 max(24px,50vw - 590px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brandMark{background:var(--teal);color:#fff;letter-spacing:.04em;border-radius:12px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand strong{font-size:15px;display:block}.brand span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.topbar nav{gap:4px;height:100%;display:flex}.topbar nav button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:0 16px;font-weight:650}.topbar nav button.active{color:var(--teal);border-color:var(--teal)}.home,.checklist{max-width:1180px;margin:0 auto;padding:46px 24px 90px}.hero{color:#fff;box-shadow:var(--shadow);background:linear-gradient(120deg,#0b5c63,#0f6e75);border-radius:24px;justify-content:space-between;align-items:flex-end;padding:42px;display:flex}.eyebrow{letter-spacing:.14em;color:var(--teal2);margin-bottom:9px;font-size:11px;font-weight:800}.hero .eyebrow{color:#cfe9e8}.hero h1,.pageHeading h1,.recordTitle h1{letter-spacing:-.03em;margin:0;font-size:34px}.hero p{color:#d8ecec;max-width:660px;margin:12px 0 0;line-height:1.55}.heroBadge{background:#ffffff21;border:1px solid #fff3;border-radius:18px;min-width:125px;padding:18px 22px}.heroBadge span{color:#d5eeee;font-size:12px;display:block}.heroBadge strong{font-size:34px}.searchBar{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;height:56px;margin:28px 0 18px;padding:0 17px;display:flex;box-shadow:0 4px 14px #162a2e0a}.searchBar span{color:var(--muted);margin-right:10px;font-size:24px}.searchBar input{border:0;outline:0;width:100%;font-size:15px}.searchBar.compact{max-width:700px;margin-top:26px}.formCard{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:center;gap:18px;padding:22px;display:flex;box-shadow:0 5px 20px #162a2e0a}.docIcon{background:var(--tealSoft);width:54px;height:62px;color:var(--teal);border-radius:10px;place-items:center;font-size:18px;font-weight:850;display:grid}.formCardBody{flex:1;min-width:0}.rowTop{justify-content:space-between;gap:18px;display:flex}.docNo{color:var(--teal);letter-spacing:.04em;font-size:12px;font-weight:850}.docNo span{color:var(--muted);margin-left:7px;font-weight:600}.formCard h2{margin:5px 0 0;font-size:19px}.formCard p{color:var(--muted);margin:8px 0;font-size:14px}.metaRow{color:var(--muted);gap:20px;font-size:12px;display:flex}.statusChip{white-space:nowrap;border-radius:999px;align-items:center;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex}.statusChip.approved,.statusChip.completed{background:var(--okSoft);color:var(--ok)}.statusChip.progress{background:var(--tealSoft);color:var(--teal)}.primary,.secondary,.completeBtn{border:1px solid #0000;border-radius:11px;padding:11px 16px;font-weight:750}.primary{background:var(--teal);color:#fff}.primary:hover{background:#084c52}.secondary{border-color:var(--line);color:var(--ink);background:#fff}.recordsPage .pageHeading p{color:var(--muted);margin:9px 0 0}.recordList{flex-direction:column;gap:10px;display:flex}.recordRow{text-align:left;border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:1.3fr 1.7fr 130px 24px;align-items:center;gap:20px;width:100%;padding:18px 20px;display:grid}.recordRow:hover{border-color:#b7cbce;box-shadow:0 5px 18px #162a2e0d}.recordMain strong{font-size:16px;display:block}.recordMain span,.recordStatus span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.recordSerials{color:var(--muted);gap:24px;font-size:12px;display:flex}.recordSerials b{color:var(--ink);margin-left:5px}.recordStatus{text-align:right}.recordStatus b{color:var(--teal);font-size:13px}.chev{color:#8ba0a5;font-size:24px}.emptyState{text-align:center;color:var(--muted);background:#fff;border:1px dashed #cbd7d9;border-radius:16px;padding:36px}.modalBackdrop{z-index:50;background:#0c191d7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;width:min(620px,100%);padding:26px;box-shadow:0 28px 80px #0000003d}.modalHead{justify-content:space-between;align-items:flex-start;display:flex}.modal h2{margin:0;font-size:24px}.iconBtn{background:#f0f4f5;border:0;border-radius:9px;width:34px;height:34px;font-size:23px}.muted{color:var(--muted)}.modalActions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{flex-direction:column;gap:7px;margin:12px 0;display:flex}.field>span{color:#43545a;font-size:12px;font-weight:750}.field input{width:100%;height:46px;color:var(--ink);background:#fff;border:1px solid #cfdadc;border-radius:10px;outline:none;padding:0 12px}.field input:focus{border-color:var(--teal2);box-shadow:0 0 0 3px #147a821f}.field input:disabled{color:#44555a;background:#f5f7f8}.field small{color:var(--muted);font-size:11px}.required{color:var(--danger)}.segmented{gap:8px;display:flex}.segmented button{background:#fff;border:1px solid #ccd7d9;border-radius:10px;min-width:74px;height:44px;font-weight:800}.segmented button.selected{border-color:var(--teal);background:var(--tealSoft);color:var(--teal)}.infoField>div{border:1px solid var(--line);background:#f8fafb;border-radius:10px;height:46px;padding:6px 12px}.infoField b{font-size:14px;display:block}.infoField small{display:block}.toast{z-index:100;color:#fff;box-shadow:var(--shadow);background:#15373b;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:750;position:fixed;top:92px;left:50%;transform:translate(-50%)}.checklist{max-width:1080px;padding-top:30px}.recordHeader{align-items:flex-start;gap:24px;margin-bottom:26px;display:flex}.backBtn{color:var(--teal);white-space:nowrap;background:0 0;border:0;padding:7px 0;font-weight:750}.recordTitle{flex:1}.recordTitle h1{font-size:28px}.recordMeta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;margin-top:12px;font-size:12px;display:flex}.recordMeta b{color:var(--ink)}.stepper{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:repeat(6,1fr);margin-bottom:16px;padding:10px;display:grid}.stepper button{color:#75868b;background:0 0;border:0;border-radius:10px;padding:10px 7px}.stepper button span{background:#edf2f3;border-radius:50%;place-items:center;width:26px;height:26px;margin:0 auto 6px;font-size:11px;font-weight:800;display:grid}.stepper button b{font-size:11px;font-weight:700}.stepper button.current{background:var(--tealSoft);color:var(--teal)}.stepper button.current span{background:var(--teal);color:#fff}.stepper button.done{color:var(--ok)}.stepper button.done span{background:var(--okSoft);color:var(--ok)}.formSurface{border:1px solid var(--line);background:#fff;border-radius:18px;padding:30px;box-shadow:0 8px 28px #162a2e0a}.sectionTitle{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:20px}.sectionTitle h2{letter-spacing:-.02em;margin:0;font-size:25px}.sectionTitle p{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.5}.controlledNotice,.instructionBox{border-left:4px solid var(--teal);background:#f3f7f7;border-radius:11px;margin-top:20px;padding:14px 16px;font-size:13px}.controlledNotice b{margin-bottom:3px;display:block}.controlledNotice span{color:var(--muted)}.cardSection{border:1px solid var(--line);border-radius:14px;margin-bottom:16px;padding:17px}.cardSection h3,.failurePanel h3,.reviewDetails h3{margin:0 0 7px;font-size:15px}.driveGrid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.driveGrid>div{background:#f7f9fa;border-radius:12px;padding:14px}.sideLabel{letter-spacing:.13em;color:var(--teal);margin-bottom:4px;font-size:10px;font-weight:850}.wheelGrid{grid-template-columns:1fr 1fr;gap:14px;margin:16px 0;display:grid}.wheelCard{border:1px solid var(--line);border-radius:14px;padding:16px}.wheelHead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:9px;padding-bottom:10px;display:flex}.wheelHead span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px;font-weight:800}.wheelHead b{color:var(--teal);font-size:22px}.naNote{color:var(--muted);background:#f4f6f7;border-radius:8px;padding:9px;font-size:11px}.testPanel{border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:16px;padding:18px;display:grid}.failurePanel{background:var(--dangerSoft);border:1px solid #edc7c4;border-radius:14px;grid-template-columns:38px 1fr;gap:14px;margin:18px 0;padding:18px;display:grid}.failurePanel.compactFail{margin-top:16px}.failureIcon{background:var(--danger);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.failurePanel p{color:#80514d;margin:4px 0 8px;font-size:13px}.tramTop{grid-template-columns:1fr 140px;align-items:end;gap:18px;display:grid}.resultBadge{height:46px;color:var(--muted);background:#eef2f3;border-radius:11px;place-items:center;margin-bottom:12px;font-size:13px;font-weight:900;display:grid}.resultBadge.pass{background:var(--okSoft);color:var(--ok)}.resultBadge.fail{background:var(--dangerSoft);color:var(--danger)}.measurementTable{border:1px solid var(--line);border-radius:13px;margin-top:10px;overflow:hidden}.mHead,.mRow{grid-template-columns:120px 1fr 1fr 110px;align-items:center;gap:12px;padding:10px 14px;display:grid}.mHead{color:#53666b;text-transform:uppercase;letter-spacing:.05em;background:#eef3f4;font-size:11px;font-weight:800}.mRow{border-top:1px solid var(--line);font-size:13px}.mRow input{border:1px solid #cfdadc;border-radius:8px;width:100%;height:40px;padding:0 9px}.mRow.calc{background:#fafcfc}.mRow.calc strong{font-size:13px}.okText{color:var(--ok);font-weight:850}.failText{color:var(--danger);font-weight:850}.signoff{margin-top:18px}.visualList{flex-direction:column;gap:10px;margin-top:16px;display:flex}.visualItem{border:1px solid var(--line);border-radius:13px;padding:14px 16px}.visualItem.nok{background:snow;border-color:#e9c2bf}.visualTop{justify-content:space-between;align-items:center;gap:15px;display:flex}.visualTop>div:first-child{align-items:center;gap:12px;display:flex}.itemNo{color:#829398;font-size:10px;font-weight:800}.miniChoices{gap:7px;display:flex}.miniChoices button{background:#fff;border:1px solid #cfd9db;border-radius:9px;width:62px;height:36px;font-size:12px;font-weight:800}.miniChoices .selOk{background:var(--okSoft);color:var(--ok);border-color:#9fcdb6}.miniChoices .selNok{background:var(--dangerSoft);color:var(--danger);border-color:#dfaaa6}.nokFields{border-top:1px solid #ead2d0;margin-top:13px;padding-top:10px}.summaryGrid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.summaryCard{border:1px solid var(--line);border-radius:13px;padding:16px}.summaryCard span{color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.summaryCard b{font-size:16px}.summaryCard b.good{color:var(--ok)}.summaryCard b.warn{color:var(--danger)}.reviewDetails{border:1px solid var(--line);border-radius:14px;margin-top:16px;padding:18px}.reviewDetails dl{grid-template-columns:1fr 1fr;gap:0 24px;margin:0;display:grid}.reviewDetails dl div{border-bottom:1px solid #edf1f2;justify-content:space-between;gap:14px;padding:10px 0;display:flex}.reviewDetails dt{color:var(--muted);font-size:12px}.reviewDetails dd{text-align:right;margin:0;font-size:12px;font-weight:750}.warningBox{background:var(--amberSoft);color:#76571d;border:1px solid #ead8a8;border-radius:12px;margin-top:16px;padding:14px;font-size:13px}.reviewActions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.completeBtn{background:var(--teal);color:#fff;padding:13px 20px}.stickyActions{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff5;border-radius:14px;justify-content:space-between;align-items:center;margin-top:16px;padding:12px 14px;display:flex;position:sticky;bottom:14px}.stickyActions>div:last-child{gap:9px;display:flex}.autosave{color:var(--ok);font-size:11px;font-weight:750}@media (max-width:800px){.topbar{flex-direction:column;align-items:flex-start;gap:10px;height:auto;padding:10px 14px}.topbar nav{width:100%;height:42px}.topbar nav button{flex:1;padding:0 4px}.home,.checklist{padding:24px 14px 88px}.hero{align-items:flex-start;gap:24px;padding:25px}.hero h1{font-size:27px}.heroBadge{display:none}.formCard{flex-wrap:wrap;align-items:flex-start}.formCard .primary{width:100%}.rowTop{align-items:flex-start}.metaRow{flex-direction:column;gap:4px}.recordRow{grid-template-columns:1fr 70px 18px}.recordSerials{display:none}.recordStatus{font-size:11px}.recordHeader{flex-direction:column;gap:8px}.recordTitle h1{font-size:23px}.stepper{grid-template-columns:repeat(3,1fr);gap:3px}.formSurface{padding:20px 16px}.grid2,.driveGrid,.wheelGrid,.testPanel,.summaryGrid,.reviewDetails dl,.tramTop{grid-template-columns:1fr}.measurementTable{overflow-x:auto}.mHead,.mRow{min-width:620px}.visualTop{align-items:flex-start}.stickyActions{bottom:8px}.autosave{display:none}.stickyActions>div:last-child{grid-template-columns:1fr 1fr;width:100%;display:grid}.stickyActions button{width:100%}}@media print{.topbar,.stepper,.stickyActions,.backBtn,.reviewActions{display:none!important}body{background:#fff}.checklist{max-width:none;padding:0}.recordHeader{margin-bottom:18px}.formSurface{box-shadow:none;border:0;padding:0}}.archiveSuccess{background:var(--okSoft);color:var(--ok);border:1px solid #9fcdb6;border-radius:13px;flex-direction:column;gap:4px;margin:16px 0 0;padding:14px 16px;display:flex}.archiveSuccess b{font-size:13px}.archiveSuccess span{word-break:break-all;color:#32684f;font-size:11px}
