:root{color:#233b40;font-synthesis:none;--rail:310px;--navy:#102c37;--green:#126d53;--line:#dce1d9;--paper:#fffefa;--muted:#607674;background:#f3f2ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select,textarea{font:inherit;touch-action:manipulation}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c99a43}button{cursor:pointer;background:var(--paper);color:#25443e;border:1px solid #cbd5cf;border-radius:6px;min-height:42px;padding:10px 13px;font-weight:600}button:hover:not(:disabled){background:#edf3eb;border-color:#7a9c8b}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover:not(:disabled){background:#0c513c}a{color:var(--green)}input,select,textarea{background:var(--paper);color:#233b40;border:1px solid #bfcfc7;border-radius:5px;width:100%;min-height:42px;padding:10px}textarea{resize:vertical;min-height:95px;line-height:1.5}label{gap:6px;font-size:13px;font-weight:600;display:grid}p{margin:8px 0;line-height:1.6}small{color:var(--muted);line-height:1.5;display:block}h1{margin:12px 0 16px;font-size:22px}h2{margin:0;font-size:19px}h3{font-size:15px}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;font:12px/1.6 ui-monospace,monospace;overflow:auto}details>summary{cursor:pointer;padding:10px 0;font-weight:600}details pre{background:#f2f4ee;padding:12px}#records{margin-right:var(--rail);outline:none;min-height:100vh;padding:12px 14px 32px}.card{border:1px solid var(--line);background:var(--paper);border-radius:9px;margin:0 0 12px;overflow:hidden;box-shadow:0 3px 12px #102c3705}.record-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.record-heading>strong{font-size:15px}.record-heading p{color:var(--muted);margin:4px 0 0;font-size:12px}.record-body{padding:14px 16px}.record-body>label{margin-bottom:12px}.badge{color:#4f6652;background:#eef1e7;border:1px solid #d8dfd2;border-radius:4px;flex-shrink:0;align-items:center;padding:5px 8px;font-size:11px;line-height:1.4;display:inline-flex}.actions{flex-wrap:wrap;align-items:center;gap:9px;margin:10px 0;display:flex}.actions>a{padding:10px 2px}.muted{color:var(--muted);font-size:12px}.unsaved{color:#875719;font-weight:700}.error,.warning,.success{color:#884424;overflow-wrap:anywhere;background:#fff0e7;border:1px solid #e4c4b1;border-radius:5px;padding:10px 12px;line-height:1.5}.warning{color:#715525;background:#fbf3d9}.success{color:#285a39;background:#eaf5eb;border-color:#bed7c2}.empty{color:var(--muted);background:#fafbf5;border:1px dashed #b9cbbd;border-radius:8px;padding:22px}.history{border-top:1px solid var(--line);padding:0 16px 6px;font-size:12px}.audit{border-left:2px solid #b6cdbb;margin:6px 0 14px;padding:5px 12px}.audit p{margin:3px 0}.labor-line{border-bottom:1px solid #e6e8df;grid-template-columns:minmax(210px,1.1fr) minmax(260px,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.worker{align-items:center;gap:10px;display:flex}.worker strong{font-size:14px}.worker p{margin:3px 0;font-size:12px}.avatar{color:#526d44;background:#e9efdf;border:1px solid #d4dec8;border-radius:6px;flex-shrink:0;place-items:center;width:34px;height:36px;font-size:11px;display:grid}.hour-fields{grid-template-columns:repeat(3,minmax(65px,1fr));gap:9px;display:grid}.hour-fields label{font-size:11px}.hour-fields input{font-variant-numeric:tabular-nums;min-width:0;font-size:16px}.add-line{background:#f4f6ee;align-items:end;gap:12px;padding:14px 16px;display:flex}.add-line label{flex:1}.link-note{background:#edf2e8;border-radius:5px;padding:10px}.accounting{padding:0 16px 16px}.cost-comparison,.reconciliation{border:1px solid var(--line);background:#f7f8f2;border-radius:6px;margin:12px 0;padding:12px}.reconciliation .record-heading{padding:5px 0 12px}.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.asset-card{text-align:left;border-color:var(--line);border-radius:9px;padding:0 12px 14px;font-weight:400;overflow:hidden}.asset-card .record-heading{padding:10px 0}.asset-card>strong{display:block}.asset-card svg{width:100%;height:105px}.asset-card.selected{background:#f3f7ec;border:2px solid #2b8062}.asset-card p{font-size:16px}.document-text{color:#3d5b4c;background:#f3f6ed;max-height:none;margin:12px 16px;padding:15px}.evidence .actions{padding:0 16px}.evidence-action{margin:-4px 0 16px}.assignment{border:1px solid var(--line);border-radius:6px;margin:10px 0;padding:12px}.assignment>button{margin:8px 0 0 12px}ol,ul{padding-left:22px;line-height:1.8}li{margin:7px 0}.figures{grid-template-columns:1fr auto;gap:10px;margin:0 0 16px;display:grid}.figures dt{color:#586f66}.figures dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:700}.ledger-entry{overflow-wrap:anywhere;background:#f0f5eb;border-left:3px solid #699478;margin-top:12px;padding:10px 14px}.mappings{padding:8px 16px}.mapping-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}#rail{width:var(--rail);background:var(--navy);color:#e4eeea;z-index:30;scrollbar-width:thin;scrollbar-color:#44626d var(--navy);padding:18px 20px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.brand{align-items:center;gap:9px;display:flex}.brand strong{letter-spacing:-.4px;font-size:18px}.brand small{color:#a8c1ba;letter-spacing:1.1px;font-size:9px}.brand-icon{color:#e7bf72;border:1px solid #607c76;border-radius:5px;padding:8px;font-family:Georgia,serif}.context{background:#1a3b45;border:1px solid #31555e;border-radius:6px;margin-bottom:14px;padding:12px}.context p{color:#b1c5bf;margin:3px 0 10px;font-size:11px}#rail label{color:#bbd0c8;margin:9px 0;font-size:11px}#rail select,#rail input{color:#edf1e9;background:#173640;border-color:#4c686d;font-size:12px}#rail button{font-size:12px}#rail .context button{color:#dfd8b8;background:0 0;border-color:#4c686d;width:100%;font-size:11px}nav{gap:4px;margin:12px 0;display:grid}nav button{text-align:left;color:#c7d8d2;background:0 0;border-color:#0000;align-items:center;gap:12px;display:flex}nav button span{color:#809c96;font:10px ui-monospace,monospace}nav button[aria-current=page]{color:#fff;background:#2b5053;border-color:#52716a}#rail nav button:hover{color:#fff;background:#294c52}.rail-controls{border-top:1px solid #36545c;gap:7px;padding:12px 0;display:grid}.rail-summary{color:#d2dfd8;border-top:1px solid #36545c;padding-top:8px;font-size:12px}.rail-notes{color:#a4beb8;border-top:1px solid #36545c;margin-top:12px;padding-top:8px;font-size:11px;line-height:1.6}.rail-notes a{color:#dac38f}.drawer-close,#drawer-toggle{display:none}.skip-link{z-index:100;background:#fff;padding:12px;position:fixed;top:-80px;left:10px}.skip-link:focus{top:8px}.sign-in{width:min(520px,100% - 24px);margin:16px auto}.sign-in label{margin:15px 0}.sign-in h1{font-size:22px}.credential{background:#f3f5ed;border-radius:6px;padding:10px;font-size:12px}.loading{padding:12px}.scrim{z-index:45;background:#102c3777;border:0;border-radius:0;position:fixed;inset:0}dialog{background:var(--paper);color:#233b40;border:1px solid #b9cbbb;border-radius:10px;width:calc(100% - 28px);max-width:720px;max-height:90dvh;padding:0;box-shadow:0 20px 70px #102c3740}dialog::backdrop{background:#102c3777}.dialog-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.dialog-body{max-height:calc(90dvh - 155px);padding:14px 18px;overflow:auto}.dialog-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid .wide{grid-column:1/-1}.checklist{gap:8px;display:grid}.checklist label{align-items:center;gap:8px;min-height:44px;display:flex}.checklist input{width:20px;min-height:20px}.form-grid small{font-weight:400}@media (width<=1150px){:root{--rail:285px}.labor-line{grid-template-columns:1fr auto}.worker{grid-column:1/-1}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){#records{min-height:100dvh;margin:0;padding:8px 8px 76px}#rail{z-index:50;width:min(330px,90vw);padding:12px 16px 22px;transform:translate(101%)}#rail.open{transform:translate(0)}.drawer-close{color:#dfece3;background:0 0;border-color:#506c70;margin:0 0 12px auto;display:block}#drawer-toggle{background:var(--navy);color:#f0f3df;z-index:40;border:1px solid #5e8274;min-height:48px;display:block;position:fixed;bottom:12px;right:12px;box-shadow:0 4px 15px #102c3740}.record-heading{flex-wrap:wrap;align-items:flex-start;gap:8px;padding:12px}.record-body{padding:12px}.labor-line{flex-wrap:wrap;gap:12px;padding:14px 12px;display:flex}.worker{align-items:flex-start;width:100%}.worker strong{font-size:16px}.worker p{font-size:13px}.hour-fields{gap:10px;width:100%}.hour-fields label{font-size:12px}.hour-fields input{min-height:48px;font-size:18px}.labor-line>button{min-height:44px}.add-line{flex-wrap:wrap;padding:12px}.add-line label{min-width:100%}.add-line button{width:100%}button{min-height:44px}.asset-grid{grid-template-columns:1fr;gap:8px}.asset-card svg{height:80px}.figures{grid-template-columns:1fr;gap:3px}.figures dd{text-align:left;margin-bottom:10px;font-size:17px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.dialog-heading,.dialog-body,.dialog-actions{padding:12px}.dialog-actions{justify-content:stretch}.dialog-actions button{flex:1}.accounting{padding:0 12px 12px}.mapping-row{flex-direction:column;align-items:flex-start}.document-text{margin:12px;padding:12px}.history{padding:0 12px 6px}.record-heading .badge{flex-shrink:1}.cost-comparison,.reconciliation{padding:10px}.sign-in{margin:8px auto}.sign-in .record-heading{align-items:center}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
