: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}.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:8px}.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}.del{grid-column:2}.quote-item{display:block}.quote-actions{margin-top:8px}}@media print{body *{visibility:hidden!important}#printSheet,#printSheet *{visibility:visible!important}#printSheet{display:block!important;position:absolute;left:0;top:0;width:100%;padding:28px 34px;font-family:Arial,sans-serif;color:#111}.ps-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:2px solid #163a4a;padding-bottom:14px;margin-bottom:18px}.ps-brand{display:flex;align-items:center;gap:10px}.ps-brand img{max-height:48px;max-width:140px}.ps-brand-name{font-size:18px;font-weight:700}.ps-meta{text-align:right;font-size:11px;color:#555;line-height:1.5}.ps-title{font-size:22px;font-weight:700;margin:0 0 4px}.ps-sub{font-size:12px;color:#555;margin-bottom:15px}.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}.ps-notes{font-size:11px;color:#555;line-height:1.65;margin-top:18px}.ps-internal{background:#fff6e9;border:1px solid #e8d5af;padding:10px;border-radius:7px;margin-top:14px}}
