/* AS Surface OS Build 215A1 - Quotation & Custom Costing Foundation */
:root{--as215-bg:#151719;--as215-panel:#202326;--as215-panel2:#282c30;--as215-line:#373c42;--as215-text:#f3f4f5;--as215-muted:#a5abb2;--as215-accent:#c9a36e;--as215-accent2:#e3c79f;--as215-green:#5ed4a5;--as215-red:#ff8675;--as215-blue:#73a7ff;--as215-shadow:0 24px 70px rgba(0,0,0,.45)}
html.as215-open,html.as215-open body{overflow:hidden!important}
#as215-root[hidden]{display:none!important}#as215-root{position:fixed;inset:0;z-index:99990;background:var(--as215-bg);color:var(--as215-text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-size:14px}
#as215-root *{box-sizing:border-box}#as215-root button,#as215-root input,#as215-root select,#as215-root textarea{font:inherit}#as215-root button{cursor:pointer}
.as215-shell{display:grid;grid-template-columns:250px 1fr;height:100vh;background:radial-gradient(circle at 80% -15%,rgba(201,163,110,.12),transparent 33%),var(--as215-bg)}
.as215-rail{display:flex;flex-direction:column;padding:18px 14px;border-right:1px solid #2e3237;background:#181a1d;min-width:0}.as215-brand{display:flex;align-items:center;gap:11px;padding:7px 8px 20px}.as215-brand img{width:92px;height:42px;object-fit:contain;object-position:left;background:#fff;border-radius:7px;padding:4px}.as215-brand>span{display:grid;font-size:12px;font-weight:800;line-height:1.2}.as215-brand small{font-size:9px;font-weight:600;color:var(--as215-muted);margin-top:4px}.as215-rail nav{display:grid;gap:5px}.as215-rail-btn{border:0;background:transparent;color:var(--as215-muted);display:flex;align-items:center;gap:11px;text-align:left;padding:11px 12px;border-radius:10px}.as215-rail-btn span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #383d43;border-radius:7px;color:#c8cdd3}.as215-rail-btn b{font-size:12px}.as215-rail-btn:hover,.as215-rail-btn.active{background:#292d31;color:#fff}.as215-rail-btn.active span{background:var(--as215-accent);border-color:var(--as215-accent);color:#161616}.as215-rail-foot{margin-top:auto;display:grid;gap:3px;padding:12px 8px;color:var(--as215-muted)}.as215-rail-foot strong{font-size:12px;color:#fff}.as215-rail-foot button{margin-top:9px;border:1px solid #3b4047;background:#24272b;color:#ddd;border-radius:9px;padding:8px}
.as215-work{min-width:0;height:100vh;overflow:auto}.as215-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:15px 24px;border-bottom:1px solid #30343a;background:rgba(21,23,25,.94);backdrop-filter:blur(18px)}.as215-top small{font-size:9px;letter-spacing:.14em;color:var(--as215-accent2);font-weight:800}.as215-top h1{font-size:19px;margin:2px 0 0}.as215-top-actions{display:flex;align-items:center;gap:8px}.as215-build{font-size:10px;font-weight:800;border:1px solid rgba(201,163,110,.35);background:rgba(201,163,110,.09);color:var(--as215-accent2);padding:6px 9px;border-radius:999px}.as215-close,.as215-ghost{border:1px solid #3a3f45;background:#24282c;color:#ddd;border-radius:9px;height:34px}.as215-close{width:36px;font-size:20px}.as215-ghost{padding:0 11px}#as215-root main{padding:22px 24px 60px;max-width:1600px;margin:0 auto}
.as215-card{background:linear-gradient(180deg,#222529,#1e2124);border:1px solid #343940;border-radius:15px;padding:17px;box-shadow:0 1px 0 rgba(255,255,255,.02);margin-bottom:16px}.as215-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 22px;background:linear-gradient(110deg,rgba(201,163,110,.12),rgba(255,255,255,.018) 38%,rgba(115,167,255,.05))}.as215-hero small,.as215-section-head small{font-size:9px;letter-spacing:.13em;font-weight:900;color:var(--as215-accent2)}.as215-hero h2,.as215-section-head h2{font-size:18px;margin:3px 0 5px}.as215-hero p,.as215-section-head p{margin:0;color:var(--as215-muted);font-size:12px;max-width:800px;line-height:1.5}.as215-hero>div:last-child,.as215-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.as215-primary,.as215-secondary,.as215-danger,.as215-x{border-radius:9px;padding:9px 12px;border:1px solid transparent;font-weight:700;font-size:11px}.as215-primary{background:var(--as215-accent);color:#171513;border-color:#d2b17e}.as215-primary:hover{background:#d9b986}.as215-secondary{background:#292d32;color:#edf0f2;border-color:#3c424a}.as215-secondary:hover{background:#31363c}.as215-danger{background:rgba(255,134,117,.08);border-color:rgba(255,134,117,.28);color:#ffaea2}.as215-x{padding:3px 8px;background:#2c3035;border-color:#454b53;color:#ddd}
.as215-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.as215-kpis article{display:grid;gap:4px;padding:15px 16px;border:1px solid #343940;border-radius:14px;background:#202326}.as215-kpis small{font-size:10px;color:var(--as215-muted)}.as215-kpis strong{font-size:20px}.as215-kpis span{font-size:10px;color:#858c94}.as215-grid-2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:16px}.as215-total-card{display:grid;align-content:start;gap:8px}.as215-total-card>small{font-size:9px;letter-spacing:.13em;color:var(--as215-muted)}.as215-total-card>strong{font-size:30px;color:var(--as215-accent2);margin-bottom:7px}.as215-total-card>div{display:flex;justify-content:space-between;border-top:1px solid #363b41;padding-top:8px;color:var(--as215-muted);font-size:11px}.as215-total-card b{color:#fff}.as215-total-card p{font-size:10px;color:#8f969e;line-height:1.45}
.as215-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.as215-section-head>input{min-width:280px;background:#16181a;border:1px solid #383e45;color:#fff;border-radius:9px;padding:9px 11px}.as215-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 13px}.as215-form label{display:grid;gap:5px;font-size:10px;font-weight:700;color:#cbd0d5}.as215-form input,.as215-form select,.as215-form textarea,.as215-pricing input,.as215-pricing select{width:100%;border:1px solid #3a4047;border-radius:8px;background:#17191c;color:#f5f6f7;padding:9px 10px;outline:none}.as215-form input:focus,.as215-form select:focus,.as215-form textarea:focus{border-color:rgba(201,163,110,.8);box-shadow:0 0 0 2px rgba(201,163,110,.09)}.as215-form textarea{resize:vertical}.as215-form .span2{grid-column:1/-1}.as215-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;min-height:38px}.as215-check input{width:16px!important;height:16px}.as215-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;border-top:1px solid #353a40;margin-top:16px;padding-top:14px}.as215-form-actions>span{margin-right:auto;color:var(--as215-muted);font-size:11px}
.as215-table-wrap{overflow:auto;border:1px solid #33383e;border-radius:10px}.as215-table,.as215-mini{width:100%;border-collapse:collapse;min-width:760px}.as215-table th,.as215-mini th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#9ca3aa;background:#191b1e;padding:9px 10px;border-bottom:1px solid #343940;white-space:nowrap}.as215-table td,.as215-mini td{padding:9px 10px;border-bottom:1px solid #31363c;vertical-align:top;color:#e6e8ea;font-size:11px}.as215-table tr:last-child td,.as215-mini tr:last-child td{border-bottom:0}.as215-table td small{display:block;color:#8f969e;margin-top:3px}.as215-table tbody tr:hover{background:rgba(255,255,255,.018)}.as215-status{display:inline-flex;padding:4px 7px;border-radius:999px;border:1px solid #454b52;background:#2a2e33;color:#d9dde1;font-size:9px;font-weight:800}.as215-status.s-approved{border-color:rgba(94,212,165,.35);background:rgba(94,212,165,.08);color:#78e2b9}.as215-status.s-sent{border-color:rgba(115,167,255,.35);background:rgba(115,167,255,.08);color:#9cc1ff}.as215-status.s-lost,.as215-status.s-cancelled,.as215-status.s-rejected{border-color:rgba(255,134,117,.35);background:rgba(255,134,117,.08);color:#ffaea2}.as215-row-actions button{border:1px solid #3a4047;background:#272b30;color:#e6e9ec;border-radius:7px;padding:6px 8px;font-size:10px}.as215-empty{text-align:center;padding:32px 18px;color:#8f969e;font-size:12px}.as215-lines{display:grid;gap:13px}
.as215-line{border:1px solid #3a4047;background:#1a1d20;border-radius:13px;overflow:hidden}.as215-line.custom{border-color:rgba(201,163,110,.32)}.as215-line>header{display:flex;justify-content:space-between;align-items:flex-start;padding:13px 14px;border-bottom:1px solid #33383e;background:#22262a}.as215-line>header h3{margin:4px 0 1px;font-size:14px}.as215-line>header small{color:#9299a1}.as215-pill{display:inline-flex;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:900;letter-spacing:.08em}.as215-pill.dna{background:rgba(115,167,255,.11);color:#9bc0ff;border:1px solid rgba(115,167,255,.28)}.as215-pill.custom{background:rgba(201,163,110,.11);color:#e0c295;border:1px solid rgba(201,163,110,.28);margin-top:5px}.as215-line>.as215-form{padding:13px 14px}.as215-line>footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid #33383e;color:#939aa2;font-size:10px}.as215-line>footer b{color:#fff}
.as215-ref{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(260px,1.1fr);gap:13px;margin:0 14px 14px;padding:12px;border:1px dashed #444a51;border-radius:11px;background:#202327}.as215-ref-photo{min-height:145px;border-radius:9px;background:#151719;display:grid;place-items:center;overflow:hidden;position:relative}.as215-ref-photo img{width:100%;height:180px;object-fit:cover}.as215-ref-photo>div{display:grid;gap:5px;text-align:center;padding:18px;color:#9aa1a9}.as215-ref-photo>div strong{color:#eee}.as215-ref-photo button{position:absolute;right:7px;top:7px;border:1px solid #555;background:rgba(18,19,20,.86);color:#fff;border-radius:7px;padding:5px 7px}.as215-ref>div:last-child{display:grid;align-content:start;gap:8px}.as215-ref>div:last-child>small{color:#8f969e;font-size:9px;line-height:1.45}.as215-upload{position:relative;overflow:hidden;display:inline-flex;justify-content:center;align-items:center;border:1px solid #4a5058;background:#2b3035;color:#fff;padding:9px 11px;border-radius:9px;font-size:10px;font-weight:800;cursor:pointer}.as215-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.as215-upload.big{min-height:46px;background:var(--as215-accent);color:#161411;border-color:#d6b57f}
.as215-cost-block{padding:0 14px 14px}.as215-subhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 8px}.as215-subhead h4{margin:0;font-size:11px}.as215-subhead small{color:#8f969e;font-size:9px}.as215-subhead>div:last-child{display:flex;gap:6px}.as215-mini input,.as215-mini select{min-width:82px;width:100%;border:1px solid #383e45;border-radius:6px;background:#17191c;color:#eee;padding:6px 7px;font-size:10px}.as215-mini td small{display:block;color:#8b929a;font-size:8px;margin-top:3px}.as215-mini td strong{white-space:nowrap}.as215-pricing{display:grid;grid-template-columns:1fr 110px 155px 150px 1fr;gap:9px;align-items:end;margin:0 14px 14px;padding:12px;border-radius:11px;background:#25292d;border:1px solid #3c4249}.as215-pricing>div,.as215-pricing label{display:grid;gap:4px}.as215-pricing small,.as215-pricing label{font-size:9px;color:#a2a8af;font-weight:700}.as215-pricing strong{font-size:17px;color:#fff}.as215-pricing .grand{text-align:right}.as215-pricing .grand strong{color:var(--as215-accent2);font-size:20px}
.as215-scratch{display:grid;gap:15px}.as215-scratch .as215-subhead{margin-top:3px}.as215-safe{border:1px solid rgba(94,212,165,.3);background:rgba(94,212,165,.07);color:#9bb9ae;border-radius:12px;padding:10px 14px;text-align:center;font-size:10px}.as215-safe b{display:block;color:#7de3bd;margin-top:3px}.as215-capture-zone{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 0 12px;padding:15px;border:1px dashed #464c54;border-radius:12px;background:#1a1d20}.as215-capture-zone h3{margin:0 0 4px;font-size:13px}.as215-capture-zone p{margin:0;color:#949ba3;font-size:10px}.as215-capture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.as215-capture-grid figure{margin:0;position:relative;border:1px solid #3a4047;border-radius:10px;overflow:hidden;background:#16181a}.as215-capture-grid img{width:100%;height:150px;object-fit:cover;display:block}.as215-capture-grid figcaption{padding:7px 9px;color:#aaa;font-size:9px}.as215-capture-grid figure button{position:absolute;top:6px;right:6px;width:27px;height:27px;border-radius:50%;border:1px solid #555;background:rgba(18,19,20,.85);color:#fff}.as215-review-lock{display:grid;gap:5px;margin-top:14px;padding:13px 14px;border:1px solid rgba(255,186,86,.25);background:rgba(255,186,86,.055);border-radius:10px;color:#b7a88f;font-size:10px}.as215-review-lock strong{color:#efc98d}.as215-review-lock span:before{content:'•';margin-right:7px;color:#d4a863}
.as215-loading,.as215-error{min-height:60vh;display:grid;place-items:center;align-content:center;text-align:center;color:#b5bbc2}.as215-loading span{width:38px;height:38px;border-radius:50%;border:3px solid #363b41;border-top-color:var(--as215-accent);animation:as215spin .8s linear infinite}.as215-loading h2,.as215-error h2{margin:14px 0 3px;color:#fff}.as215-loading p,.as215-error p{margin:0;color:#8d949c}.as215-error button{margin-top:14px;padding:8px 12px;border-radius:8px;border:1px solid #555;background:#292d31;color:#fff}@keyframes as215spin{to{transform:rotate(360deg)}}
.as215-dialog-backdrop{position:fixed;inset:0;z-index:100100;background:rgba(3,4,5,.74);display:grid;place-items:center;padding:22px;backdrop-filter:blur(8px);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}.as215-dialog{width:min(620px,100%);max-height:92vh;overflow:auto;background:#202326;color:#f3f4f5;border:1px solid #3a4047;border-radius:16px;box-shadow:var(--as215-shadow);padding:16px}.as215-dialog.wide{width:min(1120px,100%)}.as215-dialog>header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #373c43;padding-bottom:12px;margin-bottom:14px}.as215-dialog>header small{font-size:9px;letter-spacing:.12em;color:var(--as215-accent2)}.as215-dialog>header h2{margin:3px 0 2px;font-size:18px}.as215-dialog>header p{margin:0;color:#979ea5}.as215-dialog>header button{border:1px solid #444a51;background:#292d32;color:#fff;border-radius:9px;width:35px;height:35px;font-size:19px}.as215-dialog>footer{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.as215-detail-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:13px}.as215-detail-kpis>div{display:grid;gap:3px;border:1px solid #363b42;border-radius:10px;padding:10px;background:#1b1e21}.as215-detail-kpis small{color:#8e959d;font-size:9px}.as215-detail-kpis strong{font-size:14px}.as215-note{margin-top:12px;border:1px solid #373d44;border-radius:10px;padding:11px;background:#1b1e21}.as215-note strong{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.as215-note p{color:#a2a8af;font-size:10px;margin:6px 0}.as215-note div{display:flex;gap:6px;flex-wrap:wrap}.as215-dialog-actions{align-items:center;flex-wrap:wrap}.as215-dialog-actions select{border:1px solid #3b4148;background:#191b1e;color:#fff;border-radius:8px;padding:8px}.as215-warning{color:#f0bd72;font-size:10px;text-align:right}
.as215-toast{position:fixed;z-index:100500;right:24px;bottom:24px;max-width:420px;background:#22262a;border:1px solid rgba(94,212,165,.4);color:#dff8ef;border-radius:10px;padding:11px 14px;box-shadow:0 15px 45px rgba(0,0,0,.4);font:600 11px/1.45 Inter,system-ui,sans-serif;opacity:0;transform:translateY(8px);transition:.2s}.as215-toast.error{border-color:rgba(255,134,117,.45);color:#ffd5cf}.as215-toast.show{opacity:1;transform:none}
/* Injected entry points inside existing AS Surface OS */
.as215-nav-entry{margin:4px 8px}.as215-nav-entry button{width:100%;display:flex;align-items:center;gap:9px;text-align:left;border:1px solid rgba(201,163,110,.25);background:rgba(201,163,110,.06);color:inherit;border-radius:10px;padding:9px 10px}.as215-nav-entry button:hover{background:rgba(201,163,110,.12)}.as215-nav-icon{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:7px;background:rgba(201,163,110,.15);color:#d7b67f}.as215-nav-copy{display:grid;min-width:0}.as215-nav-copy strong{font-size:11px}.as215-nav-copy small{font-size:8px;opacity:.65;margin-top:2px}.as215-capture-entry{white-space:nowrap}
@media(max-width:1100px){.as215-shell{grid-template-columns:210px 1fr}.as215-kpis{grid-template-columns:repeat(2,1fr)}.as215-grid-2{grid-template-columns:1fr}.as215-pricing{grid-template-columns:repeat(2,1fr)}.as215-pricing .grand{text-align:left}.as215-capture-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.as215-shell{display:block}.as215-rail{position:fixed;left:0;right:0;bottom:0;z-index:30;height:auto;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid #33383e;display:block}.as215-brand,.as215-rail-foot{display:none}.as215-rail nav{grid-template-columns:repeat(4,1fr);gap:4px}.as215-rail-btn{display:grid;place-items:center;gap:2px;padding:5px 3px;text-align:center}.as215-rail-btn span{width:22px;height:22px}.as215-rail-btn b{font-size:8px}.as215-work{height:calc(100vh - 59px)}.as215-top{padding:11px 12px}.as215-top h1{font-size:15px}.as215-top>div:first-child small,.as215-build,.as215-top-actions .as215-ghost{display:none}#as215-root main{padding:12px 10px 85px}.as215-card{border-radius:12px;padding:12px}.as215-hero{display:grid;padding:15px}.as215-kpis{grid-template-columns:repeat(2,1fr);gap:7px}.as215-kpis article{padding:11px}.as215-kpis strong{font-size:16px}.as215-section-head{display:grid}.as215-section-head>input{min-width:0;width:100%}.as215-form{grid-template-columns:1fr}.as215-form .span2{grid-column:auto}.as215-ref{grid-template-columns:1fr}.as215-ref-photo img{height:150px}.as215-pricing{grid-template-columns:1fr 1fr}.as215-line>footer{display:grid}.as215-capture-zone{display:grid}.as215-capture-grid{grid-template-columns:1fr 1fr}.as215-detail-kpis{grid-template-columns:1fr 1fr}.as215-dialog-backdrop{padding:8px;align-items:end}.as215-dialog{border-radius:15px 15px 6px 6px;max-height:94vh}.as215-dialog-actions{justify-content:stretch}.as215-dialog-actions>*{flex:1}.as215-toast{left:10px;right:10px;bottom:74px;max-width:none}}
@media(max-width:440px){.as215-kpis{grid-template-columns:1fr 1fr}.as215-kpis span{display:none}.as215-capture-grid{grid-template-columns:1fr}.as215-pricing{grid-template-columns:1fr}.as215-hero>div:last-child{display:grid}.as215-hero>div:last-child button{width:100%}}
