:root{--navy:#0d2340;--navy-2:#1b3a63;--orange:#ff5a00;--orange-soft:#fff1e8;--teal:#12a3a3;--teal-soft:#e6f6f6;--bg:#f4f6f9;--card:#fff;--line:#e2e7ee;--text:#13213a;--muted:#5f6e85;--danger:#c62828;--danger-soft:#fdecec;--warn:#9a5b00;--warn-soft:#fff6e0;--ok:#1b7f4b;--ok-soft:#e7f6ee;--radius:14px;--tap:44px;--nav-h:64px;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);margin:0;padding:0}body{min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:16px}.app{max-width:720px;min-height:100dvh;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px);margin:0 auto}.page{padding:12px 16px 24px}.topbar{z-index:20;background:var(--navy);color:#fff;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;position:sticky;top:0}.topbar-row{align-items:center;gap:10px;min-height:36px;display:flex}.topbar h1{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:20px;font-weight:750;overflow:hidden}.topbar .sub{opacity:.75;font-size:13px}.topbar .icon-btn{color:#fff}.brand-mark{background:#fff;border-radius:6px;width:auto;height:30px;padding:2px 6px}.steps{scrollbar-width:none;gap:6px;padding:10px 0 2px;display:flex;overflow-x:auto}.steps::-webkit-scrollbar{display:none}.step{color:#fff;background:#ffffff1f;border:0;border-radius:999px;flex:none;min-height:36px;padding:8px 12px;font-size:14px;font-weight:600}.step.active{background:var(--orange)}.step.private.active{background:var(--teal)}.bottomnav{z-index:30;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#fff;position:fixed;bottom:0;left:0;right:0}.bottomnav-inner{max-width:720px;height:var(--nav-h);margin:0 auto;display:flex}.navbtn{color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:600;display:flex}.navbtn.active{color:var(--orange)}.navbtn svg{width:24px;height:24px}.navbtn.primary .plus{background:var(--orange);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 4px 12px #ff5a0059}.summarybar{left:0;right:0;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));z-index:25;background:var(--navy);color:#fff;position:fixed}.summarybar-inner{align-items:center;gap:12px;max-width:720px;margin:0 auto;padding:8px 16px;display:flex}.summarybar .total{font-size:20px;font-weight:800}.summarybar .meta{opacity:.8;font-size:12px}.summarybar .grow{flex:1}.has-summary{padding-bottom:calc(var(--nav-h) + 64px + env(safe-area-inset-bottom) + 16px)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:14px}.card.tight{padding:10px 12px}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:8px;margin:18px 4px 8px;font-size:12px;font-weight:750;display:flex}.section-title .grow{flex:1}.card h3{margin:0 0 4px;font-size:16px}.muted{color:var(--muted)}.small{font-size:13px}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.right{text-align:right}.mono{font-variant-numeric:tabular-nums}.stack>*+*{margin-top:10px}.divider{background:var(--line);height:1px;margin:10px 0}.btn{min-height:var(--tap);cursor:pointer;background:var(--navy);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:16px;font-weight:700;display:inline-flex}.btn svg,.linkbtn svg,.pick svg{vertical-align:-4px;flex-shrink:0;width:20px;height:20px}.btn.block{width:100%}.btn.orange{background:var(--orange)}.btn.ghost{color:var(--navy);border:1.5px solid var(--line);background:0 0}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.small{border-radius:10px;min-height:36px;padding:0 12px;font-size:14px}.btn:disabled{opacity:.45}.icon-btn{min-width:var(--tap);min-height:var(--tap);color:var(--navy);background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.icon-btn svg{width:22px;height:22px}.linkbtn{color:var(--orange);background:0 0;border:0;min-height:36px;padding:8px 4px;font-weight:700}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>span{color:var(--muted);font-size:12px;font-weight:650}.input,.select,.textarea{width:100%;min-height:var(--tap);border:1.5px solid var(--line);background:#fff;border-radius:10px;outline:none;padding:8px 10px}.textarea{resize:vertical;min-height:80px}.input:focus,.select:focus,.textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.input.invalid{border-color:var(--danger);background:var(--danger-soft)}.numwrap{align-items:center;display:flex;position:relative}.numwrap .input{text-align:right;font-variant-numeric:tabular-nums;padding-left:6px;padding-right:34px}.numwrap .unit{color:var(--muted);pointer-events:none;white-space:nowrap;max-width:30px;font-size:11px;position:absolute;right:7px;overflow:hidden}.numwrap.wide-unit .input{padding-right:58px}.numwrap.wide-unit .unit{max-width:54px}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.sides{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.sides .field>span{text-align:center}.sides .input{text-align:center;padding:8px 4px}.stepper{border:1.5px solid var(--line);border-radius:10px;align-items:center;display:inline-flex;overflow:hidden}.stepper button{width:40px;height:40px;color:var(--navy);background:#fff;border:0;font-size:20px;font-weight:700}.stepper .val{text-align:center;min-width:32px;font-weight:750}.toggle{min-height:var(--tap);align-items:center;gap:8px;font-weight:600;display:inline-flex}.toggle input{width:22px;height:22px;accent-color:var(--orange)}.seg{background:#eef1f6;border-radius:10px;gap:3px;padding:3px;display:inline-flex}.seg button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:6px 10px;font-size:14px;font-weight:650}.seg button.on{color:var(--navy);background:#fff;box-shadow:0 1px 3px #00000014}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.b-draft{color:var(--muted);background:#eef1f6}.b-sent{color:#1a56c4;background:#e8f0fe}.b-accepted,.b-paid,.b-completed{background:var(--ok-soft);color:var(--ok)}.b-declined{background:var(--danger-soft);color:var(--danger)}.b-scheduled,.b-in_progress{background:var(--teal-soft);color:#0c7373}.b-calc{color:var(--muted);background:#eef1f6}.b-manual{background:var(--orange-soft);color:#b84100}.b-missing{background:var(--danger-soft);color:var(--danger)}.b-private{background:var(--teal);color:#fff}.project{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%;margin-bottom:10px;padding:14px;display:block}.project .name{font-size:16px;font-weight:750}.project .addr{color:var(--muted);margin-top:2px;font-size:14px}.project .bottom{align-items:center;gap:8px;margin-top:10px;display:flex}.project .amount{flex:1;font-size:18px;font-weight:800}.kv{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:7px 0;display:flex}.kv:last-child{border-bottom:0}.kv .k{color:var(--text);flex:1}.kv .v{font-variant-numeric:tabular-nums;font-weight:700}.kv.total .k,.kv.total .v{font-size:18px;font-weight:800}.kv.sub .k{color:var(--muted);padding-left:10px;font-size:14px}.issue{border-radius:10px;margin-bottom:8px;padding:10px 12px;font-size:14px}.issue.error{background:var(--danger-soft);color:var(--danger)}.issue.warning{background:var(--warn-soft);color:var(--warn)}.empty{text-align:center;color:var(--muted);padding:32px 16px}.sheet-backdrop{z-index:50;background:#0d234073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:720px;max-height:88dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0;flex-direction:column;display:flex}.sheet-head{align-items:center;gap:8px;padding:12px 16px 8px;display:flex}.sheet-head h2{flex:1;margin:0;font-size:18px}.sheet-body{padding:0 16px 16px;overflow-y:auto}.chips{scrollbar-width:none;gap:6px;padding:4px 0 10px;display:flex;overflow-x:auto}.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;flex:none;min-height:36px;padding:6px 12px;font-size:14px;font-weight:650}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.pick{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:52px;margin-bottom:6px;padding:10px 12px;display:flex}.pick .nm{font-weight:650}.pick .rt{color:var(--muted);font-size:13px}.doc{color:#111;background:#fff;border-radius:6px;padding:22px 18px;box-shadow:0 2px 16px #0d23401f}.doc-head{border-bottom:3px solid var(--orange);align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.doc-head img{width:140px;height:auto}.doc-head .co{text-align:right;flex:1;font-size:13px;line-height:1.5}.doc h2{color:var(--navy);margin:16px 0 4px;font-size:20px}.doc .meta{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;font-size:13px;display:grid}.doc .meta b{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;display:block}.doc table{border-collapse:collapse;width:100%;font-size:14px}.doc th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1.5px solid var(--navy);padding:6px 4px;font-size:11px}.doc td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 4px}.doc td.amt,.doc th.amt{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.doc .ops{color:var(--muted);margin-top:2px;font-size:12px}.doc .totals{max-width:300px;margin-top:10px;margin-left:auto}.doc .totals .kv.total{border-top:2px solid var(--navy)}@media (width>=600px){.page{padding:16px 20px 32px}}.sheet-sticky{z-index:2;background:var(--bg);padding-bottom:2px;position:sticky;top:0}.openings{grid-template-columns:1fr 96px 96px;align-items:center;gap:6px 8px;display:grid}.openings .oh{color:var(--muted);text-align:center;font-size:12px;font-weight:650}.openings .ol{font-size:15px;font-weight:600}a.btn{text-decoration:none}.btn.disabled{opacity:.45;pointer-events:none}.quick-cta{border:1.5px dashed var(--orange);background:var(--orange-soft);width:100%;color:var(--navy);border-radius:var(--radius);align-items:center;gap:12px;min-height:64px;margin-bottom:12px;padding:12px 14px;display:flex}.toast{left:50%;bottom:calc(var(--nav-h) + 80px + env(safe-area-inset-bottom));z-index:60;background:var(--navy);color:#fff;border-radius:12px;max-width:90vw;padding:10px 16px;font-weight:650;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #00000040}
