:root{font-family:"Segoe UI",system-ui,sans-serif;color:#172c43;background:#f4f6f9;font-size:14px;--blue:#1765b5;--border:#d8e0ea;--muted:#65778c}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.btn{border:1px solid #becbd9;border-radius:4px;background:#fff;padding:8px 14px;min-height:35px;color:#213c58;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.btn:hover{background:#edf4fd;border-color:#80a8d3}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.primary:hover{background:#0e559d;color:#fff}.danger{color:#ae352b}button:disabled{opacity:.45;cursor:default}.menubar{display:flex;align-items:center;gap:24px;height:52px;background:#fff;border-bottom:1px solid var(--border);padding:8px 20px;font-size:13px}.menubar span{color:var(--muted)}.spacer{flex:1}.shell{display:grid;grid-template-columns:215px minmax(0,1fr);min-height:calc(100vh - 84px)}aside{background:#eaf0f7;padding:26px 12px;position:relative}.brand{color:var(--blue);font-size:14px;font-weight:750;letter-spacing:1.6px;margin-left:12px}.brand-name{font-size:27px;font-weight:600;margin:2px 12px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:#62748d;margin:4px 12px 36px}nav button{display:block;border:0;background:transparent;width:100%;text-align:left;justify-content:start;margin:5px 0;padding:12px;font-size:14px}nav button.active{background:#d7e6f8;color:#07539b;font-weight:600}.side-foot{color:#75869b;font-size:11px;margin:45px 12px}main{padding:25px 28px;min-width:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}h1{font-size:26px;margin:0 0 5px;font-weight:600}h2{font-size:19px;font-weight:600;margin:0 0 14px}h3{font-size:15px;margin:0 0 10px}p{line-height:1.6;margin:8px 0}.page-head p{color:var(--muted);font-size:12px;max-width:650px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.card{border:1px solid var(--border);background:#fff;padding:22px;border-radius:6px;margin-bottom:17px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.metric .label{font-size:11px;letter-spacing:.6px;color:var(--muted);font-weight:600}.metric strong{display:block;font-size:27px;color:#125eaa;font-weight:600;margin:6px 0}.metric small{color:var(--muted)}.twocol{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.muted{color:var(--muted)}.warning{padding:12px 16px;background:#fff6e5;border:1px solid #eed9ad;border-radius:5px;margin:12px 0;color:#805117}.error{color:#a82f26}.success{color:#246b47}#notice:empty{display:none}#notice{background:#eaf2fb;border:1px solid #bed3ed;padding:12px 16px;border-radius:5px;margin-bottom:16px}#notice.error{background:#fff0ef;border-color:#e7c3bf}footer{font-size:11px;color:#53667d;background:#e9eef5;padding:8px 20px;position:sticky;bottom:0;min-height:32px;border-top:1px solid var(--border)}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:5px;background:#fff;margin-top:16px;max-height:70vh}table{border-collapse:collapse;min-width:100%;font-size:12px}th{background:#edf2f8;color:#3c526c;font-weight:600;text-align:left;padding:12px 10px;position:sticky;top:0;white-space:nowrap}td{padding:11px 10px;border-top:1px solid #e9eef5;white-space:nowrap}tr:nth-child(even){background:#f8fafd}tr:hover{background:#edf5ff}td.name{min-width:180px;white-space:normal}td.num{text-align:right;font-variant-numeric:tabular-nums}td button{font-size:12px;padding:4px 8px;min-height:28px}.badge{padding:4px 7px;background:#eaf0f6;border-radius:4px;color:#47627d;font-size:11px}.badge.pending{background:#fff2df;color:#92611c}.bar-row{margin:16px 0}.bar-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}.bar-row svg{width:100%;height:10px;display:block}.bar-bg{fill:#edf2f8}.bar-value{fill:#2474c6}.workflow{padding:10px 0;border-bottom:1px solid #edf0f5}.workflow b{display:block}.workflow p{font-size:12px;color:var(--muted)}.project-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.project-list .card{margin:0}.project-list h2{font-size:18px}.project-list .toolbar{margin-top:18px}.empty{text-align:center;padding:50px 25px;color:#61758d}.empty h2{color:#344f6d}.filters{margin:12px 0;display:flex;gap:10px;align-items:center}.filters input{width:300px}.filters select{width:185px}label{display:block;font-size:12px;font-weight:600;color:#4d6177}input,select,textarea{display:block;width:100%;margin-top:6px;padding:8px 10px;min-height:35px;border:1px solid #c2cdd9;border-radius:3px;background:#fff;color:#172c43}textarea{resize:vertical;min-height:82px;font-weight:400}input[type=checkbox]{width:auto;display:inline-block;min-height:0;margin:0 9px 0 0}.check{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:400}.check input{flex-shrink:0}dialog{width:min(880px,95vw);max-height:92vh;border:1px solid #b8c9dc;border-radius:7px;padding:0;background:#f7f9fc;box-shadow:0 20px 90px #22395240}dialog::backdrop{background:#192c4655}dialog header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--border);background:#fff}dialog header h2{margin:0}dialog header button{border:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:22px;max-height:65vh;overflow:auto}.fields .wide{grid-column:1/-1}.fields .section{grid-column:1/-1;border-bottom:1px solid var(--border);padding:10px 0 6px;font-size:15px;color:#1765b5}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:15px 22px;border-top:1px solid var(--border);background:#fff}#liveCalc{margin-right:auto;font-size:12px;color:#526d87}#formError{padding:0 22px}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(125deg,#e9f0f8,#f9fbfe)}.login-card{width:min(480px,94vw);background:white;border:1px solid var(--border);border-radius:9px;padding:42px;box-shadow:0 12px 50px #29486912}.login-card .brand{margin:0 0 25px}.login-card h1{font-size:27px;line-height:1.35}.login-card p{color:var(--muted);font-size:13px}.login-card label{margin-top:20px}.login-card button{margin-top:24px;width:100%}.login-card .muted{font-size:11px;margin-top:20px}.issue{border-left:3px solid #cf964a;padding-left:15px;margin:13px 0}.issue b{font-size:12px}.issue p{font-size:13px;margin:3px 0}.document-hash{font:11px Consolas,monospace;word-break:break-all;color:#61748d}.plan-holder{position:relative;max-width:100%;background:#dce4ef;border:1px solid var(--border);overflow:auto}.plan-holder img{width:100%;display:block}.plan-marker{position:absolute;background:#1765b5;color:white;border:2px solid white;border-radius:12px;padding:4px 8px;font-size:11px}.plan-stage{position:relative;width:100%}.plan-svg{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}.plan-pin{fill:#1765b5;stroke:#fff;stroke-width:2}.plan-label{fill:#fff;font-size:12px;font-family:"Segoe UI",sans-serif;font-weight:600}a{color:#1765b5}@media(max-width:1100px){.metrics{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start;flex-direction:column}.twocol{grid-template-columns:1fr}}@media(max-width:700px){.shell{grid-template-columns:1fr}aside{padding:10px;display:flex;align-items:center;gap:15px;overflow:auto}.brand-name,.eyebrow,.side-foot{display:none}nav{display:flex}nav button{width:auto;white-space:nowrap;margin:0;padding:9px}.menubar span{display:none}main{padding:18px}.fields{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.filters{flex-wrap:wrap}.filters input{width:100%}}
[hidden]{display:none!important}.menu-command{border:0;background:transparent;padding:4px;font-size:13px;min-height:25px}@media(max-width:700px){.menu-command{display:none}.menubar{gap:10px;padding:8px 12px}}
.workspace-banner{background:linear-gradient(100deg,#edf4fc,#fff);border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:5px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:22px;margin-bottom:18px}.workspace-banner .eyebrow{margin:0 0 10px;letter-spacing:1.2px}.workspace-banner h2{font-size:24px;margin-bottom:8px}.workspace-banner p{color:#52677f;max-width:700px}.workspace-banner>.badge{flex-shrink:0;max-width:260px;white-space:normal;line-height:1.5}.preparation-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:14px;font-size:12px}progress{display:block;width:100%;height:9px;border:0;border-radius:5px;background:#e9eef5;accent-color:#1765b5;margin:12px 0 20px}progress::-webkit-progress-bar{background:#e9eef5;border-radius:5px}progress::-webkit-progress-value{background:#1765b5;border-radius:5px}progress.over::-webkit-progress-value{background:#a82f26}.step-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.prep-step{justify-content:flex-start;text-align:left;padding:12px;align-items:flex-start;border-color:#dce4ed;gap:12px}.prep-step>span:nth-child(2){flex:1;min-width:0}.prep-step b{display:block;font-size:13px}.prep-step small{display:block;color:var(--muted);line-height:1.5;font-size:11px;margin-top:5px}.step-number{background:#edf2f8;border-radius:4px;min-width:28px;text-align:center;padding:5px;font-size:11px;color:#47627d}.recorded .step-number,.recorded>.badge{background:#e9f4ee;color:#286d48}.capacity-value{display:flex;align-items:center;gap:15px;margin:20px 0}.capacity-value strong{font-size:33px;font-weight:600;color:#125eaa}.capacity-value span{font-size:12px;color:var(--muted);max-width:190px}.summary-table{margin-top:12px;max-height:none}.summary-table table{width:100%}.summary-table td,.summary-table th{white-space:normal}.filters{flex-wrap:wrap}.filters #equipmentSort{width:180px}.toolbar>select{width:auto;max-width:300px;margin-top:0}.toolbar>input{width:250px;margin-top:0}.leg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.leg-grid>div{background:#f4f7fb;padding:14px;border:1px solid var(--border);border-radius:4px}.leg-grid small{display:block;color:var(--muted);font-size:11px}.leg-grid strong{display:block;font-size:21px;font-weight:600;margin-top:8px}.leg-grid progress{margin-bottom:0}.issue{display:flex;align-items:center;justify-content:space-between;gap:20px}.issue>button{flex-shrink:0;font-size:12px}.checklist-row{border-bottom:1px solid #e9eef5;padding:12px 0}.checklist-row:last-child{border-bottom:0}.checklist-row p{font-size:12px;margin-left:30px}.checklist-row button{font-size:11px;margin-left:30px;padding:4px 9px;min-height:28px}.project-entry{min-width:0}.project-entry .card{height:100%}#editSections{display:flex;flex-wrap:wrap;padding:8px 18px;gap:6px;background:#edf2f8;border-bottom:1px solid var(--border)}#editSections:empty{display:none}#editSections button{width:auto;display:inline-flex;font-size:11px;margin:0;padding:6px 9px;min-height:28px;background:#fff;border:1px solid #ccd9e7}.fields{max-height:57vh;scroll-behavior:smooth}.fields .section{scroll-margin-top:10px}.dialog-actions{flex-wrap:wrap}#liveCalc{flex:1;min-width:210px;line-height:1.5}#formError:empty{display:none}#visibleLoads{font-size:12px}.step-grid button:hover{border-color:#8eafd0;background:#f6faff}
@media(max-width:900px){.step-grid{grid-template-columns:1fr}.workspace-banner{flex-direction:column}.workspace-banner>.badge{max-width:none}.issue{align-items:flex-start}.preparation-head{flex-wrap:wrap}.leg-grid{grid-template-columns:1fr 1fr 1fr}.prep-step .badge{font-size:10px}}@media(max-width:500px){.issue{flex-direction:column;gap:8px}.card{padding:16px}.prep-step{flex-wrap:wrap}.metrics .metric strong{font-size:23px}.leg-grid{grid-template-columns:1fr}.project-list{grid-template-columns:1fr}.menubar strong{font-size:11px}.menubar button{font-size:11px;padding:7px}.toolbar>input,.toolbar>select{max-width:100%;width:100%}#liveCalc{flex-basis:100%}}

/* ReddiPOS family mark; user-selected blue and orange accents. */
.app-mark{width:30px;height:30px;object-fit:contain;margin-right:8px}.side-mark{width:58px;height:58px;object-fit:contain;margin-bottom:10px}.brand-name{font-size:22px;color:#0021A5;letter-spacing:-.5px}.menubar{border-top:4px solid #FA4616}.primary{background:#0021A5!important;border-color:#0021A5!important;color:white!important}nav button.active{border-left:4px solid #FA4616;color:#0021A5}button:focus-visible,a:focus-visible{outline:3px solid #FA4616;outline-offset:2px}
.mobile-install{padding:12px 20px;display:flex;gap:12px;align-items:center;justify-content:flex-end;font-size:12px}.install-guide{max-width:780px;margin:24px auto}.install-guide .app-mark{width:60px;height:60px}.install-guide li{margin:12px 0;line-height:1.7}
@media(max-width:700px){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.menubar{height:auto;min-height:56px;flex-wrap:wrap;gap:6px}.menubar .app-mark{margin-right:0;width:26px;height:26px}button,.btn,nav button{min-height:44px}input,select,textarea{font-size:16px;min-height:44px}.menubar button{min-height:44px}.side-mark{width:36px;height:36px;margin:0;flex-shrink:0}.fields{max-height:55dvh}dialog{max-height:90dvh;width:calc(100% - 20px);max-width:calc(100% - 20px)}.dialog-actions{position:sticky;bottom:0;background:#fff;padding-bottom:max(12px,env(safe-area-inset-bottom))}.mobile-install{padding-bottom:max(18px,env(safe-area-inset-bottom))}.install-guide{margin:0}}
