:root{--bg:#f3f1ec;--paper:#fff;--ink:#1f2428;--muted:#6e7479;--line:#e4e0d8;--soft:#f8f7f3;--brand:#163a4a;--brand2:#e36b2c;--brandsoft:#eaf1f3;--good:#2d7350;--bad:#b8473c;--warn:#a97015;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted,.subtle{color:var(--muted);font-size:13px}.danger{color:var(--bad)}.tiny{font-size:11.5px;color:var(--muted);line-height:1.45}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#133845,#1b5868)}.auth-card{width:min(430px,100%);background:#fff;border-radius:22px;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.22)}.auth-card h1{margin:10px 0 4px;font-size:28px}.logo-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--brand2);color:#fff;font-weight:800}.stack{display:grid;gap:10px}.field label{display:block;font-size:12.5px;color:var(--muted);font-weight:650;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;background:#fff;padding:10px 11px;outline:none}.field textarea{min-height:88px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#6b95a5;box-shadow:0 0 0 3px #eaf1f3}.btn{border:0;border-radius:10px;padding:11px 14px;font-weight:750;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand2);color:#fff}.btn-secondary{background:var(--brand);color:#fff}.btn-soft{background:var(--brandsoft);color:var(--brand)}.btn-danger{background:#fff1ef;color:var(--bad)}.link-btn{border:0;background:transparent;color:var(--brand);font-weight:700;padding:10px 0;cursor:pointer}.notice{border-left:3px solid var(--warn);background:#fff9ed;color:#68552b;border-radius:8px;padding:10px 11px;font-size:12px;line-height:1.5}.notice.good{border-left-color:var(--good);background:#f1f8f4;color:#365e48}.demo-banner{padding:8px 14px;background:#fff2c7;color:#5c4d16;text-align:center;font-size:12px}.app-shell{max-width:1200px;margin:0 auto;padding:18px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--brand);color:#fff;border-radius:18px;padding:14px 16px;position:sticky;top:8px;z-index:20;box-shadow:0 10px 32px rgba(0,0,0,.12)}.brand-wrap{display:flex;gap:10px;align-items:center}.brand-name{font-weight:800}.brand-tag{font-size:11px;opacity:.68}.nav-actions{display:flex;gap:6px;flex-wrap:wrap}.nav-actions button{border:0;border-radius:9px;background:rgba(255,255,255,.1);color:#fff;padding:9px 10px;cursor:pointer}.nav-actions button.active{background:#fff;color:var(--brand)}main{padding-top:16px}.view{animation:rise .18s ease}@keyframes rise{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:8px 0 12px}.page-head h2{margin:0}.page-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 4px 18px rgba(20,30,35,.035)}.card+.card{margin-top:12px}.card h2{margin:0 0 4px}.card-desc{color:var(--muted);font-size:13px;margin-bottom:15px}.brand-box,.profit-box{background:var(--soft);border:1px solid var(--line);border-radius:13px;padding:13px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.editor-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.72fr);gap:14px;align-items:start}.section-title{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted);font-weight:800;margin:20px 0 9px}.items-head,.item-row{display:grid;gap:7px;align-items:end}.items-head{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.mat-grid{grid-template-columns:1.45fr .62fr .5fr .75fr 38px}.lab-grid{grid-template-columns:1.35fr .9fr .5fr .72fr 38px}.cost-grid{grid-template-columns:1.6fr .8fr 38px}.item-row{margin-bottom:7px}.item-row input,.item-row select{width:100%;border:1.5px solid var(--line);border-radius:9px;padding:9px;background:#fff}.mobile-item-field{display:block;min-width:0}.mobile-item-label{display:none}.del{height:39px;border:0;border-radius:9px;background:#f7efec;color:var(--bad);font-size:18px;cursor:pointer}.add{width:100%;border:1.5px dashed #c9c4ba;background:#fbfaf7;color:var(--brand);border-radius:10px;padding:10px;font-weight:750;cursor:pointer}.switch-line{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0}.switch-copy strong{display:block;font-size:14px}.switch-copy span{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}.switch{position:relative;width:46px;height:26px;flex:0 0 auto}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;inset:0;background:#c9ced1;border-radius:20px}.slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.2)}.switch input:checked+.slider{background:var(--brand)}.switch input:checked+.slider:before{transform:translateX(20px)}.conditional{display:none;padding-top:8px}.conditional.show{display:block}.toggle-wrap{display:flex;gap:8px}.unit-toggle{display:flex;border:1.5px solid #cad6da;border-radius:10px;overflow:hidden}.unit-toggle button{border:0;background:#fff;min-width:42px;font-family:var(--mono);font-weight:750}.unit-toggle button.active{background:var(--brand);color:#fff}.toggle-wrap input{flex:1}.checks{display:grid;gap:8px}.check{display:flex;gap:8px;align-items:center;font-size:13px}.check input{width:17px;height:17px;accent-color:var(--brand)}.pay-error{display:none;color:var(--bad);font-size:12px;margin-top:7px;font-weight:700}.pay-error.show{display:block}.sticky{position:sticky;top:92px}.summary{background:#142f3a;color:#fff;border-radius:18px;padding:18px;box-shadow:0 14px 40px rgba(19,47,58,.18)}.summary .subtle{color:rgba(255,255,255,.66)}.summary-total{font-family:var(--mono);font-size:35px;font-weight:800;margin:5px 0 15px}.summary-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:12.5px}.summary-row span:last-child{font-family:var(--mono);font-weight:700}.summary-row.emph{color:#ffd4ba;font-weight:750}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.metric{background:rgba(255,255,255,.08);border-radius:10px;padding:9px}.metric .v{font-family:var(--mono);font-size:15px;font-weight:750}.metric .k{font-size:10px;color:rgba(255,255,255,.6);margin-top:2px}.summary details{margin-top:10px;background:rgba(255,255,255,.06);border-radius:9px;padding:8px}.action-stack{display:grid;gap:7px}.status{font-size:11.5px;color:var(--muted);margin-top:7px;min-height:15px}.quote-list{display:grid;gap:8px}.quote-item{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.quote-title{font-weight:750}.quote-meta{font-size:11.5px;color:var(--muted);margin-top:3px}.quote-actions{display:flex;gap:5px;flex-wrap:wrap}.quote-actions button{border:0;background:var(--soft);color:var(--brand);border-radius:8px;padding:7px 8px;font-size:11px;cursor:pointer}.settings-grid,.license-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.license-value{font-weight:750;margin-top:3px}.license-pill{display:inline-block;border-radius:99px;padding:4px 8px;background:#e9f6ef;color:var(--good);font-size:11px;font-weight:750;margin-top:3px}.device-list{display:grid;gap:6px}.device-item{display:flex;justify-content:space-between;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px}.logo-row{display:flex;gap:10px;align-items:center;margin-top:10px}.logo-preview{width:58px;height:50px;border:1px solid var(--line);background:#fff;border-radius:9px;display:grid;place-items:center;overflow:hidden}.logo-preview img{max-width:100%;max-height:100%;object-fit:contain}#printSheet{display:none}@media(max-width:850px){.app-shell{padding:8px}.topbar{position:static;border-radius:12px;display:block}.nav-actions{margin-top:10px}.editor-layout{grid-template-columns:1fr}.sticky{position:static}.grid2,.grid3{grid-template-columns:1fr}.settings-grid,.license-grid{grid-template-columns:1fr}.items-head{display:none}.item-row{background:var(--soft);border:1px solid var(--line);border-radius:11px;padding:10px;gap:9px}.mat-grid,.lab-grid,.cost-grid{grid-template-columns:1fr 1fr}.mat-grid>*:first-child,.lab-grid>*:first-child,.cost-grid>*:first-child{grid-column:1/-1}.mobile-item-label{display:block;font-size:10.5px;line-height:1.2;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.035em;margin:0 0 5px 2px}.mobile-item-field input,.mobile-item-field select{min-height:44px}.del{grid-column:2;width:44px;justify-self:end;align-self:end}.quote-item{display:block}.quote-actions{margin-top:8px}}@media print{
@page{margin:0}
html,body{margin:0!important;padding:0!important;background:#fff!important}
body>*:not(#printSheet){display:none!important}
#printSheet,#printSheet *{visibility:visible!important}
#printSheet{
display:block!important;
position:static!important;
width:auto!important;
min-height:0!important;
padding:18px 34px 24px!important;
font-family:Arial,sans-serif;
color:#111
}
.ps-head{
display:flex;
justify-content:space-between;
gap:28px;
align-items:center;
border-bottom:2px solid #163a4a;
padding-bottom:10px;
margin-bottom:9px;
break-inside:avoid
}
.ps-brand{
display:flex;
align-items:center;
gap:16px;
min-width:0
}
.ps-brand img{
height:120px;
max-height:120px;
max-width:280px;
width:auto;
object-fit:contain;
display:block
}
.ps-brand-name{
font-size:22px;
font-weight:700;
line-height:1.15;
color:#163a4a
}
.ps-meta{
text-align:right;
font-size:10.5px;
color:#555;
line-height:1.45;
min-width:210px
}
.ps-meta-quote{
font-size:13px;
font-weight:700;
color:#163a4a;
margin-bottom:2px
}
.ps-title{font-size:22px;font-weight:700;margin:0 0 4px}
.ps-sub{font-size:12px;color:#555;margin-bottom:12px}
.ps-desc{font-size:12px;line-height:1.55;background:#f5f5f5;padding:10px;border-radius:6px;margin-bottom:14px}
.ps-section{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#555;margin:17px 0 6px}
.ps-row{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #ddd;font-size:12px}
.ps-total{display:flex;justify-content:space-between;gap:20px;padding:13px 0 0;margin-top:8px;border-top:2px solid #222;font-size:18px;font-weight:700;break-inside:avoid}
.ps-notes{
font-size:11px;
color:#4b5563;
line-height:1.6;
margin-top:16px;
padding:10px 12px;
background:#f7f8f8;
border-left:3px solid #163a4a;
border-radius:4px;
break-inside:avoid
}
.ps-internal{background:#fff6e9;border:1px solid #e8d5af;padding:10px;border-radius:7px;margin-top:14px;break-inside:avoid}
}
.install-box{margin-top:14px;padding:13px;border:1px solid #d7e1e4;border-radius:13px;background:#f4f8f9;display:flex;align-items:center;justify-content:space-between;gap:12px}
.install-copy{min-width:0}.install-copy strong{display:block;color:var(--brand);font-size:13px}.install-copy span{display:block;color:var(--muted);font-size:11.5px;line-height:1.4;margin-top:3px}
.btn-install{background:var(--brand);color:#fff;white-space:nowrap}
.install-settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.install-settings-row h3{margin:0 0 4px}.install-settings-row .card-desc{margin:0}
.install-status{margin-top:9px}
@media(max-width:700px){.install-box,.install-settings-row{align-items:stretch;flex-direction:column}.btn-install{width:100%}}

.install-done-modal{position:fixed;inset:0;background:rgba(7,24,31,.64);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}
.install-done-modal.hidden{display:none}
.install-done-card{width:min(420px,100%);background:#fff;border-radius:18px;padding:25px;box-shadow:0 24px 70px rgba(0,0,0,.30);text-align:center}
.install-done-check{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 13px;background:#163A4A;color:#fff;font-size:30px;font-weight:800}
.install-done-card h3{margin:0 0 8px;color:#163A4A;font-size:22px}
.install-done-card p{margin:0 0 18px;color:#65747b;line-height:1.5}
