:root{
  --bg:#0b0c0f;--s1:#13151a;--s2:#1a1d24;--s3:#21242d;
  --bd:#252930;--bd2:#2e323d;
  --gold:#c8a96e;--gold2:#d4b87a;--teal:#4fd1a5;--red:#e05c5c;--blue:#6b9ef5;
  --text:#edeae4;--muted:#6b7280;--muted2:#4b5263;
  --head:"Syne",sans-serif;--body:"DM Sans",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:var(--body);min-height:100vh;overflow:hidden;}
input,select,textarea,button{font-family:var(--body);}
/* LOGIN */
#login-screen{position:fixed;inset:0;background:var(--bg);z-index:9999;display:flex;align-items:center;justify-content:center;}
.lw{width:420px;text-align:center;}
.ll{font-family:var(--head);font-size:48px;font-weight:800;color:var(--gold);letter-spacing:-2px;margin-bottom:4px;}
.lt{font-size:11px;color:var(--muted);letter-spacing:3px;text-transform:uppercase;margin-bottom:36px;}
.lbox{background:var(--s1);border:1px solid var(--bd);border-radius:20px;padding:44px 40px;}
.llbl{font-size:11px;color:var(--muted);margin-bottom:10px;text-align:left;}
.pin-users{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin-bottom:26px;}
.pu{padding:7px 14px;border-radius:20px;border:1px solid var(--bd2);background:transparent;color:var(--muted);cursor:pointer;font-size:12px;transition:.2s;}
.pu:hover,.pu.sel{border-color:var(--gold);color:var(--gold);}
.pu.sel{background:rgba(200,169,110,.12);font-weight:600;}
.pdots{display:flex;gap:14px;justify-content:center;margin-bottom:26px;}
.pd{width:14px;height:14px;border-radius:50%;background:var(--bd2);border:2px solid var(--bd2);transition:.2s;}
.pd.on{background:var(--gold);border-color:var(--gold);}
.ppad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.pk{background:var(--s2);border:1px solid var(--bd);border-radius:10px;padding:16px;font-size:20px;font-weight:600;color:var(--text);cursor:pointer;font-family:var(--head);transition:.15s;}
.pk:hover{background:var(--s3);border-color:var(--gold);}
.pk:active{transform:scale(.94);}
.pk-clr{background:rgba(224,92,92,.08);color:var(--red);border-color:rgba(224,92,92,.2);}
.lerr{color:var(--red);font-size:12px;margin-top:12px;min-height:18px;}
.lhint{font-size:11px;color:var(--muted2);margin-top:10px;}
/* APP */
#app{display:none;height:100vh;flex-direction:column;}
#app.show{display:flex;}
.topbar{height:52px;background:var(--s1);border-bottom:1px solid var(--bd);display:flex;align-items:center;flex-shrink:0;padding:0 16px 0 0;}
.tb-logo{width:196px;font-family:var(--head);font-size:17px;font-weight:800;color:var(--gold);padding:0 16px;border-right:1px solid var(--bd);height:100%;display:flex;align-items:center;flex-shrink:0;}
.tb-title{font-family:var(--head);font-size:15px;font-weight:700;flex:1;padding-left:16px;}
.tb-right{display:flex;align-items:center;gap:10px;}
.tb-av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#000;flex-shrink:0;background:linear-gradient(135deg,#c8a96e,#8b6d3e);}
.tb-name{font-size:12px;color:var(--muted);}
.tb-rb{font-size:10px;background:rgba(200,169,110,.12);color:var(--gold);border:1px solid rgba(200,169,110,.25);border-radius:10px;padding:2px 8px;}
.shell{display:flex;flex:1;overflow:hidden;}
/* SIDEBAR */
.sidebar{width:196px;background:var(--s1);border-right:1px solid var(--bd);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;}
.sb-sec{padding:12px 12px 4px;font-size:9px;color:var(--muted2);letter-spacing:2px;text-transform:uppercase;font-weight:600;}
.sb-i{display:flex;align-items:center;gap:8px;padding:9px 14px;cursor:pointer;color:var(--muted);font-size:13px;border-left:2px solid transparent;transition:.15s;white-space:nowrap;}
.sb-i:hover{color:var(--text);background:var(--s2);}
.sb-i.active{color:var(--gold);background:rgba(200,169,110,.06);border-left-color:var(--gold);font-weight:500;}
.sb-i .ico{font-size:13px;width:17px;text-align:center;flex-shrink:0;}
.sb-foot{margin-top:auto;border-top:1px solid var(--bd);padding:12px;}
.sb-lock{width:100%;background:rgba(224,92,92,.08);border:1px solid rgba(224,92,92,.2);color:var(--red);border-radius:6px;padding:8px;font-size:12px;cursor:pointer;}
.main{flex:1;overflow-y:auto;padding:20px 24px;}
.page{display:none;}.page.active{display:block;}
/* BUTTONS */
.btn{padding:7px 14px;border-radius:6px;border:none;cursor:pointer;font-size:12.5px;font-weight:500;transition:.15s;display:inline-flex;align-items:center;gap:6px;}
.btn-primary{background:var(--gold);color:#000;}.btn-primary:hover{background:var(--gold2);}
.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--bd);}.btn-ghost:hover{color:var(--text);border-color:var(--bd2);}
.btn-success{background:rgba(79,209,165,.1);color:var(--teal);border:1px solid rgba(79,209,165,.2);}
.btn-danger{background:rgba(224,92,92,.1);color:var(--red);border:1px solid rgba(224,92,92,.2);}
.btn-blue{background:rgba(107,158,245,.1);color:var(--blue);border:1px solid rgba(107,158,245,.2);}
.btn-sm{padding:5px 10px;font-size:11.5px;}
/* CARDS */
.card{background:var(--s1);border:1px solid var(--bd);border-radius:10px;padding:18px;}
/* FORMS */
.fg{margin-bottom:12px;}
.lbl{display:block;font-size:11px;color:var(--muted);margin-bottom:4px;font-weight:500;}
.inp{width:100%;background:var(--bg);border:1px solid var(--bd);border-radius:6px;padding:8px 11px;color:var(--text);font-size:13px;outline:none;transition:.15s;}
.inp:focus{border-color:var(--gold);}
.inp::placeholder{color:var(--muted2);}
select.inp option{background:var(--s2);}
textarea.inp{resize:vertical;min-height:65px;}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.r3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.r4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:9px;}
/* TABLE */
table{width:100%;border-collapse:collapse;font-size:12.5px;}
th{text-align:left;padding:8px 10px;color:var(--muted);font-size:10px;letter-spacing:.8px;text-transform:uppercase;border-bottom:1px solid var(--bd);font-weight:600;}
td{padding:10px 10px;border-bottom:1px solid rgba(37,41,48,.8);vertical-align:middle;}
tr:last-child td{border-bottom:none;}
tr:hover td{background:rgba(255,255,255,.012);}
/* BADGES */
.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;}
.bg{background:rgba(79,209,165,.1);color:var(--teal);border:1px solid rgba(79,209,165,.2);}
.by{background:rgba(200,169,110,.1);color:var(--gold);border:1px solid rgba(200,169,110,.2);}
.br{background:rgba(224,92,92,.1);color:var(--red);border:1px solid rgba(224,92,92,.2);}
.bb{background:rgba(107,158,245,.1);color:var(--blue);border:1px solid rgba(107,158,245,.2);}
.bx{background:rgba(107,114,128,.1);color:var(--muted);border:1px solid rgba(107,114,128,.2);}
/* STATS */
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
.stat{background:var(--s1);border:1px solid var(--bd);border-radius:10px;padding:14px 15px;}
.st{font-size:11px;color:var(--muted);margin-bottom:5px;}
.sv{font-family:var(--head);font-size:23px;font-weight:800;}
.ss{font-size:11px;color:var(--muted);margin-top:3px;}
/* PIPELINE */
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:start;}
.pcol{background:var(--s1);border:1px solid var(--bd);border-radius:10px;padding:10px;}
.phd{font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:9px;display:flex;justify-content:space-between;align-items:center;}
.lcard{background:var(--bg);border:1px solid var(--bd);border-radius:8px;padding:10px;margin-bottom:7px;cursor:pointer;transition:.15s;}
.lcard:hover{border-color:var(--gold);transform:translateY(-1px);}
.lcn{font-size:13px;font-weight:600;margin-bottom:3px;}
.lcm{font-size:11px;color:var(--muted);}
.chip{display:inline-flex;align-items:center;gap:3px;background:var(--s2);border-radius:5px;padding:2px 7px;font-size:10.5px;color:var(--muted);}
/* MODAL */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:500;display:none;align-items:center;justify-content:center;backdrop-filter:blur(3px);}
.overlay.open{display:flex;}
.modal{background:var(--s1);border:1px solid var(--bd);border-radius:14px;padding:24px;width:620px;max-width:96vw;max-height:90vh;overflow-y:auto;}
.modal-xl{width:880px;}
.mhd{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.mtitle{font-family:var(--head);font-size:15px;font-weight:700;}
.mx{background:none;border:none;color:var(--muted);cursor:pointer;font-size:20px;line-height:1;}
.mx:hover{color:var(--text);}
/* QUOTE BUILDER */
.sbadge{display:inline-flex;background:rgba(200,169,110,.08);border:1px solid rgba(200,169,110,.2);color:var(--gold);border-radius:5px;padding:3px 10px;font-size:10.5px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;}
.ihd{display:grid;grid-template-columns:2.4fr .7fr .8fr .9fr 1fr .3fr;gap:6px;padding:0 7px 6px;font-size:10px;color:var(--muted);letter-spacing:.8px;text-transform:uppercase;border-bottom:1px solid var(--bd);margin-bottom:5px;}
.irow{display:grid;grid-template-columns:2.4fr .7fr .8fr .9fr 1fr .3fr;gap:6px;align-items:start;background:var(--bg);border:1px solid var(--bd);border-radius:8px;padding:8px;margin-bottom:5px;}
.iinp{width:100%;background:transparent;border:none;color:var(--text);font-size:12.5px;outline:none;}
.iinp::placeholder{color:var(--muted2);}
.idesc{width:100%;background:transparent;border:none;color:var(--muted);font-size:11px;outline:none;resize:none;line-height:1.5;}
.inum{width:100%;background:var(--s2);border:1px solid var(--bd);border-radius:5px;color:var(--text);font-size:12.5px;padding:5px 7px;outline:none;text-align:right;}
.inum:focus{border-color:var(--gold);}
.isel{width:100%;background:var(--s2);border:1px solid var(--bd);border-radius:5px;color:var(--text);font-size:12px;padding:5px 6px;outline:none;}
.iamt{font-family:var(--head);font-size:13px;font-weight:700;color:var(--gold);text-align:right;padding:5px 3px;}
.delbtn{background:none;border:none;color:var(--red);cursor:pointer;font-size:15px;padding:3px 5px;}
.itag{display:inline-flex;align-items:center;gap:3px;background:var(--s2);border:1px solid var(--bd);border-radius:4px;padding:2px 7px;font-size:10.5px;color:var(--muted);margin:2px;}
.addinc{background:none;border:1px dashed var(--bd);border-radius:4px;color:var(--muted);font-size:10px;padding:2px 7px;cursor:pointer;}
.addinc:hover{border-color:var(--gold);color:var(--gold);}
.totbox{background:var(--bg);border:1px solid var(--bd);border-radius:8px;padding:13px 15px;}
.trow{display:flex;justify-content:space-between;padding:4px 0;font-size:13px;}
.tlm{color:var(--muted);}
.tgrand{font-family:var(--head);font-weight:800;font-size:16px;color:var(--gold);border-top:1px solid var(--bd);margin-top:7px;padding-top:10px;display:flex;justify-content:space-between;}
.mpanel{background:var(--s2);border:1px solid var(--bd);border-radius:8px;padding:12px;max-height:380px;overflow-y:auto;}
.mcat{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:600;margin:10px 0 5px;border-bottom:1px solid var(--bd);padding-bottom:4px;}
.mcat:first-child{margin-top:0;}
.mi{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--s1);border:1px solid var(--bd);border-radius:6px;padding:7px 10px;margin-bottom:4px;cursor:pointer;text-align:left;transition:.15s;}
.mi:hover{border-color:var(--gold);}
.mi-n{font-size:12px;font-weight:500;}
.mi-u{font-size:10px;color:var(--muted);}
.mi-r{font-size:11px;color:var(--gold);font-weight:600;}
/* FILES */
.uzone{border:2px dashed var(--bd);border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:.2s;}
.uzone:hover{border-color:var(--gold);background:rgba(200,169,110,.02);}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:10px;}
.fthumb{background:var(--bg);border:1px solid var(--bd);border-radius:8px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;color:var(--muted);overflow:hidden;position:relative;}
.fthumb img{width:100%;height:100%;object-fit:cover;}
.tabs{display:flex;gap:2px;background:var(--bg);border:1px solid var(--bd);border-radius:8px;padding:3px;margin-bottom:12px;}
.tab{flex:1;padding:6px;border-radius:6px;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;transition:.15s;text-align:center;}
.tab.active{background:var(--s1);color:var(--text);}
/* VENDOR */
.vs-inp{width:80px;background:var(--bg);border:1px solid var(--bd);border-radius:4px;color:var(--text);font-size:12px;padding:4px 6px;outline:none;text-align:right;}
.vs-inp:focus{border-color:var(--gold);}
.alert-row td{background:rgba(224,92,92,.04);}
/* MISC */
.notif{position:fixed;top:62px;right:18px;background:var(--s2);border:1px solid var(--gold);border-radius:9px;padding:10px 14px;font-size:12.5px;z-index:9999;transform:translateX(130%);transition:.3s;max-width:280px;word-break:break-word;}
.notif.show{transform:translateX(0);}
.shd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.st2{font-family:var(--head);font-size:14px;font-weight:700;}
.divl{height:1px;background:var(--bd);margin:13px 0;}
.empty{text-align:center;padding:36px;color:var(--muted);font-size:13px;}
/* PRINT */
@media print{
  body{background:#fff!important;color:#111!important;}
  #login-screen,.topbar,.sidebar,.notif,.no-print{display:none!important;}
  .shell,.main{overflow:visible!important;}
  #print-area{display:block!important;}
  .page{display:none!important;}
}
#print-area{display:none;}
/* PRINT STYLES */
.pp{padding:30px 36px;background:#fff;color:#111;font-family:"DM Sans",sans-serif;max-width:840px;margin:0 auto;}
.pphd{display:flex;justify-content:space-between;align-items:start;border-bottom:3px solid #c8a96e;padding-bottom:14px;margin-bottom:16px;}
.pplogo{font-size:25px;font-weight:900;color:#c8a96e;font-family:"Syne",sans-serif;letter-spacing:-1px;}
.ppls{font-size:10.5px;color:#666;margin-top:2px;line-height:1.6;}
.ppdt{font-size:17px;font-weight:800;text-align:right;font-family:"Syne",sans-serif;}
.ppdm{font-size:11px;color:#666;text-align:right;margin-top:4px;line-height:1.7;}
.ppgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:14px;}
.ppbox{background:#f9f7f2;border-radius:7px;padding:11px 13px;}
.ppbt{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#999;font-weight:700;margin-bottom:7px;}
.pprow{display:flex;justify-content:space-between;font-size:12px;padding:3px 0;border-bottom:1px solid #ece8e0;}
.pprow:last-child{border:none;}
.pplbl{color:#666;}.ppval{font-weight:600;}
.ppscope{background:#f9f7f2;border-radius:7px;padding:11px 13px;margin-bottom:14px;font-size:12px;line-height:1.8;color:#333;}
.ppst{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#999;font-weight:700;margin-bottom:5px;}
.pptbl{width:100%;border-collapse:collapse;margin-bottom:15px;font-size:12px;}
.pptbl th{background:#c8a96e;color:#fff;padding:8px 10px;text-align:left;font-size:10px;}
.pptbl td{padding:0;border-bottom:1px solid #ece8e0;vertical-align:top;}
.ppin{padding:8px 10px 3px;font-weight:600;font-size:12.5px;}
.ppid{padding:0 10px 4px;font-size:11px;color:#444;line-height:1.7;}
.ppii{padding:0 10px 8px;}
.ppit{font-size:10px;font-weight:700;color:#666;margin-bottom:2px;}
.ppil{font-size:10.5px;color:#444;padding-left:13px;}
.ppnum{padding:8px 10px;text-align:center;}
.pprate{padding:8px 10px;text-align:right;}
.ppamt{padding:8px 10px;text-align:right;font-weight:700;color:#8b6d3e;}
.pptots{display:flex;justify-content:flex-end;margin-bottom:15px;}
.pptb{width:265px;border:1px solid #ddd;border-radius:7px;overflow:hidden;}
.pptr{display:flex;justify-content:space-between;padding:8px 12px;font-size:12.5px;border-bottom:1px solid #eee;}
.pptr:last-child{border:none;}
.pptgrand{background:#f9f7f2;font-weight:800;font-size:15px;color:#c8a96e;font-family:"Syne",sans-serif;}
.pptnc{background:#f9f7f2;border-radius:7px;padding:11px 13px;margin-bottom:14px;font-size:11px;line-height:1.8;color:#444;}
.pptnt{font-size:12px;font-weight:700;color:#111;margin-bottom:5px;}
.pppay{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:9px 0;}
.ppph{background:#fff;border:1px solid #e8e0d0;border-radius:6px;padding:8px;text-align:center;}
.pppct{font-size:17px;font-weight:800;color:#c8a96e;font-family:"Syne",sans-serif;}
.pppl{font-size:10px;color:#666;margin-top:2px;}
.ppsigs{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:24px;padding-top:16px;border-top:1px solid #ddd;}
.ppsl{height:1px;background:#999;margin-bottom:5px;}
.ppslbl{font-size:10.5px;color:#666;text-align:center;}
.ppfoot{text-align:center;font-size:10px;color:#aaa;margin-top:14px;padding-top:9px;border-top:1px solid #eee;}
