@font-face{font-family:Commissioner;src:url('assets/Commissioner.ttf')}*{box-sizing:border-box}body{margin:0;background:#edf1f3;color:#25363d;font:14px Commissioner,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button,input,select,textarea{border:1px solid #d6dfe2;border-radius:7px;background:#fff;color:inherit}button{padding:10px 14px;font-weight:550}button:hover{background:#edf4f5;border-color:#99b6bd}button:disabled{opacity:.5;cursor:wait}input,select{padding:10px;width:100%;min-width:0}input[type=number]{font-variant-numeric:tabular-nums}textarea{padding:12px;width:100%;resize:vertical;line-height:1.6}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid #287c8a;outline-offset:2px}.primary{background:#235f6d;color:white;border-color:#235f6d}.primary:hover{background:#174c59;color:white}.quiet{background:transparent;border-color:transparent}.danger{color:#9d3535}.top{background:#fff;padding:15px 28px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #d8e0e3}.brand{display:flex;align-items:center;gap:12px;min-width:240px}.brand img{width:50px;height:50px;object-fit:contain}.brand strong{font-size:17px;display:block}.small,.muted{color:#72828a;font-size:12px}.topnav{display:flex;gap:6px}.topnav .active{background:#e9f1f3;color:#235f6d}.spacer{flex:1}.saved{font-size:12px;color:#507d69}.tabs{display:flex;gap:6px;align-items:center;padding:16px 28px 0;overflow:auto}.tab{border-bottom-left-radius:0;border-bottom-right-radius:0;white-space:nowrap;background:#e3e9ec;border:1px solid transparent;padding:13px 20px}.tab.active{background:white;border-color:#d8e0e3;border-bottom-color:white;color:#1c5c6a}.shell{display:grid;grid-template-columns:218px minmax(450px,1fr) 280px;gap:20px;padding:20px 28px;max-width:1800px;margin:auto}.rail{align-self:start;position:sticky;top:18px}.rail h4{text-transform:uppercase;font-size:10px;letter-spacing:1.4px;margin:12px 10px;color:#73868f}.rail button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 10px;border:0;background:transparent;text-align:left;font-size:12px}.rail button.active{background:#d9e8eb;color:#1a5c6b}.rail .count{font-size:10px;background:#fff;padding:2px 5px;border-radius:4px}.panel{background:white;border:1px solid #dce3e6;border-radius:11px;padding:24px;margin-bottom:18px;box-shadow:0 3px 12px #19384304}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.heading h1{font-size:25px;letter-spacing:-.7px;margin:0 0 5px;font-weight:600}.heading h2{font-size:19px;margin:0}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:#6c858e;margin-bottom:8px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:block;font-size:12px;color:#657880}label input,label select,label textarea{display:block;margin-top:7px;color:#25363d}.full{grid-column:1/-1}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-title h2{font-size:19px;margin:0}.pill{padding:5px 9px;border-radius:20px;background:#eef4f5;font-size:11px;color:#376370}.item{border-top:1px solid #e3e9eb;padding:18px 0}.item:first-of-type{border-top:0}.item-head{display:flex;gap:10px;align-items:center;margin-bottom:12px}.item-index{font-size:11px;color:#82939a;width:20px}.item-head select{max-width:170px;background:#f5f8f9;padding:7px;font-size:12px}.item-head .quiet{margin-left:auto;padding:5px 9px}.rowgrid{display:grid;grid-template-columns:minmax(180px,1fr) 88px 85px 85px;gap:10px;align-items:end}.rowgrid .name{grid-column:1/-1}.row-bottom{display:flex;align-items:center;gap:15px;margin-top:12px}.row-bottom input{font-size:12px;border-color:transparent;background:#f6f8f9}.rowtotal{font-variant-numeric:tabular-nums;font-weight:600;min-width:100px;text-align:right;white-space:nowrap}.empty{padding:42px 16px;text-align:center;background:linear-gradient(90deg,#e7eff180 1px,transparent 1px),linear-gradient(#e7eff180 1px,transparent 1px);background-size:24px 24px;border:1px dashed #c6d6db;border-radius:9px;margin-bottom:18px}.empty .symbol{font-size:35px;color:#91b4bd}.empty p{color:#748891;max-width:340px;margin:10px auto 20px;line-height:1.6}.wide{width:100%}.summary{align-self:start;position:sticky;top:18px;background:#fff;border-radius:11px;border:1px solid #dce3e6;padding:23px}.summary h3{font-size:15px;margin:0}.total{font-size:38px;letter-spacing:-1.5px;line-height:1.2;margin:20px 0 4px;font-weight:600}.total span{font-size:18px;letter-spacing:0;color:#75919a}.sumrow{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin:13px 0;line-height:1.5}.sumrow strong{white-space:nowrap;font-weight:550;font-variant-numeric:tabular-nums}.summary hr{border:0;border-top:1px solid #e1e7e9;margin:22px 0}.summary .primary{margin-top:18px}.notice{background:#f1f6f8;border-radius:7px;padding:12px;font-size:12px;color:#56727d;line-height:1.6;margin-top:14px}.warn{background:#fff5df;color:#855d20}.hint{font-size:11px;line-height:1.6;color:#7b8d94;margin-top:7px}.ratebar{display:flex;gap:10px;align-items:center;margin-top:15px}.actions{display:flex;gap:8px;flex-wrap:wrap}.desk{max-width:1150px;margin:20px auto;padding:0 28px}.catalog-row{display:grid;grid-template-columns:1fr 120px 140px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e6ecee}.catalog-row small{display:block;margin-top:5px;color:#829198}.search{margin-bottom:14px}.upload{display:block;border:1px dashed #bbccd2;background:#f6f9fa;border-radius:8px;padding:25px;text-align:center}.upload img{max-width:100%;max-height:300px;object-fit:contain}.upload input{margin:15px 0 0}.proposal{background:white;padding:35px;max-width:790px;margin:auto;border:1px solid #dae3e7}.proposal header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #295e6b;padding-bottom:20px}.proposal header img{width:90px}.proposal h1{font-size:24px}.proposal .sketch{width:100%;max-height:350px;object-fit:contain;margin:25px 0}.proposal article{white-space:pre-wrap;line-height:1.8;font-size:13px;margin:25px 0}.proposal footer{font-size:11px;color:#70848d;line-height:1.8;border-top:1px solid #dce5e8;padding-top:20px}.proposal-price{background:#eff5f6;padding:22px;display:flex;justify-content:space-between;align-items:center;margin:25px 0}.proposal-price strong{font-size:28px}dialog{border:0;border-radius:12px;padding:28px;max-width:540px;width:calc(100% - 32px);box-shadow:0 25px 80px #1235;color:#25363d}dialog::backdrop{background:#193b4870}dialog h2{margin-top:0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#263e48;color:white;padding:13px 20px;border-radius:8px;z-index:20;box-shadow:0 4px 25px #1233;display:none;max-width:90vw}.mobile-select{display:none}.footer-note{font-size:11px;color:#84959c;text-align:center;margin:25px}.hidden{display:none}@media(min-width:1450px){.rowgrid{grid-template-columns:minmax(250px,1fr) 85px 90px 90px}.rowgrid .name{grid-column:auto}}@media(max-width:1150px){.shell{grid-template-columns:170px minmax(350px,1fr)}.summary{grid-column:2;position:static}.rail{grid-row:1/3}.top{padding:15px}.top .saved{display:none}.tabs{padding-left:18px}.shell{padding:18px;gap:16px}.brand{min-width:200px}}@media(max-width:720px){.top{flex-wrap:wrap;gap:8px}.brand{flex:1}.topnav{order:3;width:100%;justify-content:center}.top .backup-label{display:none}.tabs{padding-top:10px}.shell{display:block;padding:12px}.rail{display:none}.mobile-select{display:block;margin-bottom:12px}.panel{padding:18px}.heading{align-items:flex-start}.heading h1{font-size:22px}.summary{position:static;margin-bottom:15px}.formgrid{gap:12px}.rowgrid{grid-template-columns:1fr 1fr 1fr}.rowgrid .name{grid-column:1/-1}.rowgrid label:last-child{grid-column:auto}.desk{padding:0 12px}.catalog-row{grid-template-columns:1fr 85px}.catalog-row button{grid-column:1/-1}.proposal{padding:20px}.proposal header img{width:60px}.proposal h1{font-size:20px}.total{font-size:34px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:720px){.topnav{display:grid;grid-template-columns:1fr 1fr;gap:4px}.topnav button{min-width:0;font-size:12px;padding:9px 6px}.top{overflow:hidden}.brand{min-width:0}.tabs{max-width:100vw}}
