﻿/* Light quotation workspace, matching the original Marconi builder. */
:root{color-scheme:light;--navy:#12365c;--navy2:#1f4d7a;--crimson:#8c1c26;--crimson2:#a83039;--ink:#14181d;--paper:#fff;--panel:#f3f5f8;--panel2:#e9edf2;--line:#d6dde4;--line-strong:#bdcbdc;--text:#182c43;--muted:#637186;--faint:#8c9bb0;--amber:#f0a202;--govt:#2f6f9e;--bombay:#12365c;--borivali:#8c1c26;--ok:#2f8f5b;--danger:#c0432f;--radius:7px}
[hidden]{display:none!important}
body{background:var(--panel);color:var(--text);font-size:14px;min-width:320px}
button,input,select,textarea{transition:border-color .15s,background .15s,box-shadow .15s}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid #c98b13;outline-offset:3px}
button:disabled{cursor:wait;opacity:.55}
header.app{height:56px;padding:0 20px;gap:16px;background:var(--navy);border-bottom:3px solid var(--crimson)}
.brand{flex-shrink:0;gap:11px}.brand .mk{width:30px;height:30px;font-size:16px;border-radius:3px;background:#fff;color:var(--navy)}
.brand h1{font-size:15px;font-weight:800;letter-spacing:1px}.brand span{font-size:10px;letter-spacing:2px;margin-top:1px;color:#a3bddb}
.srvchip{font-size:9.5px;letter-spacing:.15px;padding:2px 7px;white-space:nowrap}.srvchip.ok{background:#216b43;color:white}.srvchip.bad{background:#b13d2e;color:white}
.modeswitch button{font-size:12.5px;padding:8px 15px;letter-spacing:.25px}.topbtn{font-size:12.5px;padding:7px 13px;white-space:nowrap}.topbtn.primary{font-weight:700}.logout-form{margin:0}.logout-form .topbtn{padding:9px 10px;font-size:12px;color:#c5d5e8}
main{width:100%;max-width:1240px;margin:0 auto;padding:18px 20px 70px}
.savedbar{gap:8px;margin-bottom:14px}.savedbar select{min-width:190px;max-width:42vw;padding:7px 9px;background:#fff;color:var(--text);border-color:var(--line-strong);border-radius:6px;font-size:13px;height:34px}
.btn{font-size:12.5px;padding:8px 14px;background:#fff;color:var(--text);border-radius:6px}.btn:hover{background:#f7f9fc;border-color:#7994b2}.btn.navy:hover{background:var(--navy2);color:#fff}.btn.amber{font-weight:650}.btn.amber:hover{background:#ffb524}
.card{background:#fff;border:1px solid var(--line);border-radius:7px;margin-bottom:18px;box-shadow:0 1px 2px #12365c03}
.card>.hd{padding:11px 15px;min-height:43px}.card>.hd h3{font-size:12px;letter-spacing:.85px;color:var(--navy)}.card>.hd .chev{font-size:12px}.card.collapsed>.hd{border-bottom-color:transparent}.bd{padding:14px 15px}
.grid{gap:12px 16px}.g-client{grid-template-columns:repeat(7,minmax(0,1fr))}.g-config{grid-template-columns:repeat(8,minmax(0,1fr))}
.fld{min-width:0;gap:4px}.fld label{font-size:10.5px;letter-spacing:.6px;font-weight:700;line-height:1.5}.fld input,.fld select,.fld textarea{width:100%;min-width:0;min-height:32px;padding:7px 9px;border:1px solid var(--line-strong);border-radius:5px;background:#fff;color:var(--text);font-size:13px;line-height:normal}
.fld input:not([type="checkbox"]),.fld select{height:32px}
.fld input::placeholder,.fld textarea::placeholder{color:#7d8898}.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:#3a6596;box-shadow:0 0 0 3px #2464a213}.fld .hint{font-size:10px;line-height:1.5;color:var(--faint)}
.mini{font-size:9px!important;letter-spacing:.2px!important}.mini input{width:12px!important;min-height:0!important;height:12px;accent-color:var(--navy)}
.clientpick{gap:8px;margin-bottom:14px}.cpwrap{min-width:0}#clientSearch{padding:10px 12px;border:2px solid var(--navy);background:#fff;color:var(--text);border-radius:6px;font-size:13.5px;min-height:40px}#clientSearch:focus{outline:0;box-shadow:0 0 0 3px #2464a213}.clientpick .btn{flex-shrink:0;min-height:34px}
.ropesum{margin-top:14px;gap:10px}.ropebox{padding:10px 12px;background:#f2f7fc;border-color:#cbdbee;border-radius:7px}.ropebox .rt{font-size:10.5px;letter-spacing:.6px}.ropebox .rl{font-size:20px;margin:2px 0}.ropebox .rw{font-size:11.5px;line-height:1.5}.ropebox .rp{font-size:12.5px}.ropebox .rs{font-size:11.5px}
.pqhd{padding:8px 12px;font-size:10.5px}.pqnil{padding:12px;font-size:12px}.pq{padding:9px 12px}.pqm b{font-size:13px}.pqm small{font-size:11px}.pqt{font-size:13px}.siterec{border-color:#cfdcea}.srhd{padding:10px 13px;font-size:11px}.srgrid{font-size:14px;line-height:1.6}
#configCard .fld input[style],#configCard .fld input#floors{min-height:32px}#configCard #floors{width:60px!important}#configCard #wrap{width:64px!important}
#wireCard .bd{line-height:1.6}.wiretable{font-size:14px}.wiretable th{font-size:12px;padding:10px 12px}.wiretable td{padding:9px 12px}#bundleRows input{font-size:14px;padding:7px 9px}.authtable td{padding:10px 12px}.authtable th{font-size:11px}.paychk{font-size:12.5px;padding:7px 10px;gap:9px;border-radius:6px}.paychk input{height:15px;width:15px}.addrow{gap:10px}.addrow input[type=text],.addrow input:not([type]){font-size:13px;padding:8px 10px}.keepchk{font-size:12px}
.cmdwrap{margin-top:14px;margin-bottom:14px}.cmd input{min-width:0;font-size:15px;padding:13px 14px}.cmd .modetag{font-size:12px}.cmd .kbd{font-size:11px}
.sheet{overflow:auto;border-radius:7px}.sheet>table{min-width:760px}.sheet thead th{font-size:10.5px;padding:10px 12px}.sheet tbody td{padding:11px 12px}.li-name{font-size:13.5px}.li-desc{font-size:11.5px;line-height:1.5}.li-code{font-size:12px}.qtyhint{font-size:9.5px}.unit{font-size:10.5px}.li-variant{font-size:13px}.empty{font-size:14px}.empty b{font-size:17px}.foot{background:#f7f9fc;padding:14px 16px}.totals .row{font-size:13.5px;padding:5px 0}.totals .row.grand{font-size:19px}.amtbig{font-size:22px}.approvebar{padding:15px 18px;flex-wrap:wrap}.approvebar #discountWrap{flex-wrap:wrap}#discountPct{background:#fff;color:var(--text)}
.drawer .dh{padding:20px 22px}.drawer .dh h2{font-size:18px}.drawer .dh p{font-size:13px}.drawer .body{padding:18px 22px}.tabs{flex-wrap:wrap}.tabs button{font-size:14px}.drawerfoot{padding:14px 22px}.drawerfoot .btn{font-size:13px}.admintable{overflow:auto}.admintable table{min-width:650px}.admintable input,.authtable input{background:#fff;color:var(--text)}.admintable td.n input.ovr{background:#fdeff0}.formgrid textarea{font-size:14px;color:var(--text);background:#fff}.formgrid{gap:16px 18px}.searchmini{font-size:14px;background:#fff;color:var(--text)}
.modal .box{width:min(440px,92vw);padding:26px;border:1px solid var(--line);background:#fff}.modal h3{font-size:22px;margin:8px 0;color:var(--navy)}.modal p{font-size:14px;line-height:1.6}.modal input{background:#fff;color:var(--text)}.modal .fld{margin-top:16px}.modal .fld input{text-align:left;letter-spacing:0}.modal textarea{resize:vertical}.modal .acts{margin-top:22px}.form-error{color:var(--danger)!important;font-size:13px}.toast{max-width:min(620px,92vw);text-align:center}
.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.6px;color:var(--navy)}
.loading-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;text-align:center;background:#f3f5f8;color:var(--muted)}.loading-mark{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:8px;background:var(--navy);color:#fff;font-size:28px;font-weight:800}.loading-screen p{margin-top:18px;font-size:14px}
.login-page{display:grid;place-items:center;min-height:100vh;padding:32px}.login-shell{display:grid;grid-template-columns:1fr 1fr;width:min(1000px,100%);border:1px solid #d3dce7;border-radius:12px;overflow:hidden;box-shadow:0 16px 55px #12365c0c;background:#fff}.login-story{display:flex;flex-direction:column;justify-content:space-between;padding:46px;gap:80px;background:linear-gradient(135deg,#edf4fb,#f7f9fc);border-right:1px solid #dbe4ee}.login-story .brand .mk{background:var(--navy);color:#fff}.login-story .brand h1{color:var(--navy);font-size:17px}.login-story .brand span{color:#6f85a0}.login-story h2{font-size:40px;line-height:1.2;font-weight:650;letter-spacing:-1px;color:var(--navy);margin:17px 0 20px}.login-story p{font-size:15px;line-height:1.8;color:var(--muted)}.login-story small{font-size:9px;letter-spacing:1px;color:#7b8da3}.login-form{padding:48px 40px;align-self:center}.login-form h2{font-size:25px;letter-spacing:-.5px;line-height:1.3;color:var(--navy);margin:12px 0}.login-form>p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:25px}.login-form .fld{margin-top:18px}.login-form .fld input{font-size:15px;padding:12px}.login-form .btn{margin-top:25px;display:flex;justify-content:space-between;width:100%;padding:13px}.login-form small{display:block;text-align:center;font-size:11px;color:var(--muted);margin-top:22px}.login-form .form-error{margin-top:16px}
@media(max-width:1390px){header.app{height:auto;min-height:56px;padding:10px 20px;gap:12px;flex-wrap:wrap}.brand h1{font-size:15px}.brand span{font-size:9px}.modeswitch button{padding:9px 12px;font-size:12px}.topbtn{padding:9px 12px;font-size:12px}.g-client{grid-template-columns:repeat(4,minmax(0,1fr))}.g-config{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:980px){header.app .spacer{display:none}.brand{margin-right:auto}.brand h1{font-size:16px}.brand span{display:block}.g-client{grid-template-columns:repeat(3,minmax(0,1fr))}.g-config{grid-template-columns:repeat(3,minmax(0,1fr))}.fld label{font-size:10.5px}.fld input,.fld select{font-size:13px}.login-story{padding:32px}.login-story h2{font-size:34px}.login-form{padding:38px 30px}}
@media(max-width:720px){.fld input:not([type="checkbox"]),.fld select{height:36px;min-height:36px}header.app{position:relative;padding:14px 16px;gap:10px}.brand{width:100%}.brand span{display:block!important}.brand h1{font-size:17px}.modeswitch{flex:1}.modeswitch button{flex:1;padding:10px 8px}.logout-form{margin-left:auto}.logout-form .topbtn{font-size:11px}.topbtn{font-size:12px}.savedbar{gap:8px}.savedbar select{max-width:none;min-width:180px;flex:1}.savedbar>span{display:none}main{padding:18px 14px 50px}.g-client,.g-config{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.bd{padding:16px}.card>.hd{padding:14px 16px}.card>.hd h3{font-size:12px;letter-spacing:.7px}.fld label{font-size:10px}.fld input,.fld select{font-size:14px}.fld .hint{font-size:11px}.cpwrap{flex:1}#clientSearch{font-size:14px}.clientpick{flex-wrap:wrap}.ropebox .rl{font-size:24px}.ropebox .rw{font-size:12px}.wiretable{font-size:12px}.wiretable th{font-size:10px}.wiretable th,.wiretable td{padding:8px}.formgrid{grid-template-columns:1fr!important}.drawer .body{padding:16px}.drawerfoot{padding:12px}.login-shell{grid-template-columns:1fr;max-width:520px}.login-story{gap:30px;border-right:0;border-bottom:1px solid #dbe4ee}.login-story h2{font-size:30px}.login-story small{display:none}.login-form{padding:30px}}
@media(max-width:480px){.modeswitch{width:100%;flex-basis:100%}.topbtn{font-size:11px;padding:9px 12px}.brand h1{font-size:17px}.brand span{font-size:9px;letter-spacing:1.4px}.savedbar select{order:5;flex-basis:100%;max-width:100%;font-size:14px}.savedbar .btn{font-size:13px;padding:10px 12px}.savedbar #saveQuote{margin-left:auto}.clientpick .cpwrap{flex-basis:100%}.clientpick .btn{width:100%}#clientSearch{font-size:13px}.fld label{font-size:10px;letter-spacing:.25px}.fld input,.fld select{font-size:13px;padding:9px}.mini{font-size:9px!important}.srhd{gap:10px;font-size:10px;flex-wrap:wrap}.srgrid{grid-template-columns:100px 1fr;font-size:12px}.pq{grid-template-columns:1fr auto;gap:8px}.pqt{grid-column:1;grid-row:2}.pqopen{grid-column:2;grid-row:1/3}.cpr{grid-template-columns:70px 1fr;gap:8px}.cpr .cfg{grid-column:2;text-align:left}.cpr .s small{max-width:205px}.cmd .kbd{display:none}.cmd input{font-size:13px;padding:13px}.cmd .modetag{font-size:10px;padding:0 12px}.approvebar{gap:9px}.approvebar #discountWrap{width:100%}.paychk{font-size:13px}.addrow input[type=text],.addrow input:not([type]){min-width:0;flex-basis:100%;font-size:13px}.drawerfoot .btn{font-size:12px;padding:9px 11px}.modal .box{padding:22px}.modal .acts .btn{font-size:13px}.login-page{padding:16px}.login-story{padding:26px}.login-form{padding:28px 24px}.login-form h2{font-size:23px}}
.material-intro{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.7}
.material-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:14px}.material-wide{grid-column:span 2}
.material-context{font-size:12px;line-height:1.7;color:var(--navy);margin:17px 0 12px}
.material-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:14px 0}
.material-stat{display:flex;flex-direction:column;gap:5px;background:#f2f7fc;border:1px solid #cbdbee;border-radius:7px;padding:13px}
.material-stat-label{font-size:10.5px;font-weight:750;color:var(--navy);letter-spacing:.35px}.material-stat strong{font-size:23px;line-height:1.5;color:var(--navy);font-variant-numeric:tabular-nums}.material-stat strong small{font-size:16px;font-weight:500}.material-stat>span{font-size:12px;line-height:1.6;color:var(--muted)}.material-stat>b{font-size:12.5px;color:var(--navy);margin-top:5px}
.material-note{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0}.material-options{border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.material-options>summary{font-size:12px;font-weight:700;color:var(--navy);cursor:pointer;padding:4px 0 14px}.material-options>summary small{font-weight:400;color:var(--muted);margin-left:10px;font-size:12px}.material-options[open]>summary{margin-bottom:10px}
.material-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px}.material-table{min-width:630px;font-size:13px}.material-table th{background:var(--panel2);color:var(--muted);font-size:11px;padding:11px 13px}.material-table td{padding:11px 13px}.material-table td:first-child{width:52%}.material-table td small{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:3px}.material-table .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.material-formula{overflow-wrap:anywhere}.material-price-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:850px}
@media(max-width:1190px){.material-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.material-stat{padding:14px}}
@media(max-width:720px){.material-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.material-summary{grid-template-columns:1fr}.material-stat{padding:15px}.material-stat strong{font-size:27px}.material-price-grid{grid-template-columns:1fr}.material-options>summary{line-height:1.8}.material-options>summary small{display:block;margin-left:0}.material-intro{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
