:root { color-scheme: dark; --bg:#090a0c; --panel:#111317; --panel2:#171a1f; --line:#30343b; --text:#f1f2f4; --muted:#9ea4ad; --ember:#ee4b35; --silver:#c9ced5; --green:#57c48d; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--bg); color:var(--text); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:0; }
button,input,textarea { font:inherit; }
button,.file-button,summary { cursor:pointer; }
.topbar { min-height:76px; padding:14px clamp(20px,4vw,64px); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; background:#0c0d10; position:sticky; top:0; z-index:10; }
.brand { display:flex; align-items:center; gap:18px; }
.brand img { width:126px; height:auto; }
.brand div { padding-left:18px; border-left:1px solid var(--line); display:grid; gap:2px; }
.brand span,.system-state,.eyebrow,.section-title p,dt { color:var(--muted); font:600 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; }
.brand strong { font-size:15px; }
.system-state { display:flex; align-items:center; gap:10px; }
.system-state i { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(87,196,141,.12); }
.system-state b { color:var(--silver); border-left:1px solid var(--line); padding-left:10px; }
main { max-width:1480px; margin:auto; padding:0 clamp(20px,4vw,64px) 80px; }
.control-band { min-height:420px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); gap:8vw; align-items:center; border-bottom:1px solid var(--line); }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:760px; font-size:clamp(42px,5.4vw,82px); line-height:.96; margin:18px 0 26px; font-weight:620; }
h1 em { color:var(--ember); font-style:normal; }
.control-band>div>p:last-child { max-width:690px; color:var(--muted); font-size:17px; line-height:1.7; }
.packet-controls { background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:22px; display:grid; gap:12px; }
.packet-controls input[type=file] { position:absolute; opacity:0; pointer-events:none; }
button,.file-button { min-height:44px; border:1px solid var(--line); border-radius:4px; background:var(--panel2); color:var(--text); padding:11px 15px; text-align:center; }
button:hover,.file-button:hover { border-color:#6a707a; }
.file-button,.primary { background:var(--ember); border-color:var(--ember); color:white; font-weight:700; }
details { border-top:1px solid var(--line); padding-top:12px; }
summary { color:var(--silver); font-size:13px; }
textarea { width:100%; min-height:150px; margin:12px 0; resize:vertical; border:1px solid var(--line); background:#08090b; color:var(--silver); padding:12px; border-radius:4px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; }
.privacy { border-left:2px solid var(--green); padding:8px 12px; display:grid; gap:3px; }
.privacy span { color:var(--muted); font-size:12px; line-height:1.5; }
.packet-status { min-height:42px; margin:24px 0; padding:12px 14px; border:1px solid var(--line); background:var(--panel); color:var(--muted); border-radius:4px; font-size:13px; }
.packet-status.success { border-color:rgba(87,196,141,.45); color:#a6e7c5; }
.packet-status.error { border-color:rgba(238,75,53,.6); color:#ff9c8d; }
.estimate { border:1px solid var(--line); background:#0d0f12; }
.estimate-head { display:grid; grid-template-columns:1fr auto; gap:40px; padding:42px; border-bottom:1px solid var(--line); }
.estimate-head h2 { font-size:clamp(34px,4vw,58px); margin:10px 0 14px; }
.estimate-head>div>p:last-child { color:var(--muted); }
.estimate-head dl { margin:0; display:grid; grid-template-columns:repeat(2,minmax(150px,1fr)); border:1px solid var(--line); }
.estimate-head dl div { padding:13px 16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.estimate-head dd { margin:4px 0 0; font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--silver); }
.totals { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--line); }
.totals article { padding:28px 34px; display:grid; gap:8px; border-right:1px solid var(--line); }
.totals article:last-child { border-right:0; }
.totals span { color:var(--muted); font-size:13px; }
.totals strong { font-size:clamp(28px,3vw,44px); }
.totals small { color:var(--muted); line-height:1.5; }
.totals .featured { background:var(--ember); color:white; }
.totals .featured span,.totals .featured small { color:rgba(255,255,255,.75); }
.estimate-grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; border-bottom:1px solid var(--line); }
.scope-section,.summary-panel,.boundary-grid section { padding:34px; }
.summary-panel { border-left:1px solid var(--line); background:var(--panel); }
.summary-panel>div { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); font-size:13px; }
.summary-panel p:not(.eyebrow) { color:var(--muted); line-height:1.6; font-size:13px; margin-top:22px; }
.section-title { display:flex; gap:14px; align-items:flex-start; margin-bottom:24px; }
.section-title>span { color:var(--ember); font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace; margin-top:3px; }
.section-title p { margin:0 0 4px; }
.section-title h3 { font-size:22px; margin:0; }
.scope-lines article { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:16px; padding:18px 0; border-top:1px solid var(--line); }
.scope-lines article>span { color:var(--muted); font:12px ui-monospace,SFMono-Regular,Menlo,monospace; }
.scope-lines div { display:grid; gap:5px; }
.scope-lines small { color:var(--muted); }
.scope-lines b { color:var(--silver); }
.boundary-grid { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); }
.boundary-grid section { border-right:1px solid var(--line); }
.boundary-grid section:last-child { border-right:0; }
ul { margin:0; padding:0; list-style:none; display:grid; gap:12px; }
li { color:var(--silver); line-height:1.5; padding-left:18px; position:relative; }
li::before { content:""; position:absolute; left:0; top:.65em; width:6px; height:1px; background:var(--ember); }
.approval-gates { display:flex; justify-content:space-between; gap:40px; align-items:center; padding:26px 34px; border-bottom:1px solid var(--line); }
.approval-gates>div>span { color:var(--muted); font-size:12px; }
.approval-gates>div>div { display:flex; flex-wrap:wrap; gap:7px; margin-top:9px; }
.approval-gates>div>div span { border:1px solid var(--line); padding:5px 8px; font-size:11px; color:var(--silver); }
.approval-gates p { margin:0; max-width:690px; color:var(--muted); font-size:12px; line-height:1.6; }
.estimate-actions { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:22px 34px; }
.estimate-actions>span { color:var(--muted); font:11px ui-monospace,SFMono-Regular,Menlo,monospace; }
.estimate-actions div { display:flex; gap:10px; }
@media (max-width:900px) { .system-state span{display:none}.control-band{grid-template-columns:1fr;padding:64px 0}.estimate-head,.estimate-grid{grid-template-columns:1fr}.estimate-head dl{grid-template-columns:1fr 1fr}.totals,.boundary-grid{grid-template-columns:1fr}.totals article,.boundary-grid section{border-right:0;border-bottom:1px solid var(--line)}.summary-panel{border-left:0;border-top:1px solid var(--line)}.approval-gates,.estimate-actions{align-items:flex-start;flex-direction:column}.estimate-actions div{width:100%}.estimate-actions button{flex:1} }
@media (max-width:560px) { .topbar{position:static}.brand img{width:92px}.brand div{display:none}main{padding-inline:14px}.control-band{min-height:0}.estimate-head,.scope-section,.summary-panel,.boundary-grid section{padding:24px 18px}.estimate-head dl{grid-template-columns:1fr}.scope-lines article{grid-template-columns:32px 1fr}.scope-lines article>b{grid-column:2}.estimate-actions div{flex-direction:column}.estimate-actions button{width:100%} }
@media print { body{background:white;color:#111}.topbar,.control-band,.packet-status,.estimate-actions{display:none}.estimate{border:0;background:white}.estimate-head,.totals,.estimate-grid,.boundary-grid,.approval-gates{break-inside:avoid;border-color:#bbb}.summary-panel{background:#f3f3f3}.totals .featured{background:#eee;color:#111}.totals .featured span,.totals .featured small,.eyebrow,.section-title p,dt,.scope-lines small,.summary-panel p:not(.eyebrow),.approval-gates p{color:#555}.scope-lines b,.scope-lines strong,li{color:#111} }
