:root{--bg:#08090d;--panel:#11141c;--panel2:#171b25;--line:#2a2f3b;--gold:#d9b56d;--gold2:#f0d99a;--text:#f6f0df;--muted:#a9a9b4;--green:#51d18a;--red:#ff7676;--blue:#7bb7ff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#1b1b24,#08090d 45%);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}.hidden{display:none!important}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:22px}.auth-card{width:min(430px,100%);padding:32px;background:linear-gradient(145deg,#151923,#08090d);border:1px solid rgba(217,181,109,.35);border-radius:28px;box-shadow:0 24px 70px rgba(0,0,0,.55)}.auth-logo{width:105px;display:block;margin:auto}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-size:12px}.auth-card h1{margin:8px 0}.auth-card form{display:grid;gap:12px}input,select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#0d1017;color:var(--text);outline:none}input:focus,select:focus{border-color:var(--gold)}.btn{border:0;border-radius:14px;padding:12px 16px;cursor:pointer;font-weight:800}.primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111}.secondary{background:#252b38;color:var(--text);border:1px solid var(--line)}.warning{background:#8a6a22;color:#fff}.info{background:#20446c;color:#fff}.auth-links{display:flex;gap:10px;margin-top:14px}.auth-links button,.user-chip button{background:transparent;color:var(--gold);border:0;cursor:pointer}.message{color:var(--gold2)}#app{display:grid;grid-template-columns:285px 1fr;min-height:100vh}.sidebar{background:rgba(9,10,15,.92);border-right:1px solid var(--line);padding:20px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:13px;align-items:center;margin-bottom:25px}.brand img{width:58px}.brand h1{font-size:20px;margin:0}.brand p{margin:3px 0;color:var(--muted)}.side-nav{display:grid;gap:8px}.nav-link{width:100%;text-align:left;background:transparent;color:var(--muted);border:1px solid transparent;padding:12px 13px;border-radius:14px;cursor:pointer}.nav-link:hover,.nav-link.active{background:linear-gradient(135deg,rgba(217,181,109,.14),rgba(255,255,255,.03));color:var(--text);border-color:rgba(217,181,109,.25)}.app-shell{padding:24px;overflow:hidden}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h2{margin:4px 0 0}.user-chip{display:flex;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);padding:10px 13px;border-radius:999px}.page{display:none}.page.active{display:block}.hero-card,.card{background:linear-gradient(145deg,rgba(23,27,37,.96),rgba(13,16,23,.96));border:1px solid rgba(217,181,109,.18);border-radius:24px;padding:22px;margin-bottom:18px;box-shadow:0 20px 55px rgba(0,0,0,.26)}.hero-card{display:flex;justify-content:space-between;background-image:linear-gradient(135deg,rgba(217,181,109,.16),rgba(10,11,15,.92))}.hero-logo{width:82px}.hero-card h3{font-size:29px;margin:6px 0}.hero-card p,.muted{color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stats-grid article{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:18px}.stats-grid span{color:var(--muted);font-size:13px}.stats-grid strong{display:block;font-size:25px;margin-top:8px}.quick-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.quick-grid button{background:var(--panel);border:1px solid var(--line);color:var(--text);padding:18px;border-radius:20px;cursor:pointer}.quick-grid b{display:block;margin-top:6px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.form-grid button{align-self:stretch}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-head h3{margin:0}.table-responsive{overflow:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:left}th{color:var(--gold);font-size:13px}.pill{display:inline-block;background:rgba(217,181,109,.14);color:var(--gold2);border:1px solid rgba(217,181,109,.24);padding:4px 9px;border-radius:999px;font-size:12px}.upload-box{display:block;padding:18px;border:1px dashed var(--gold);border-radius:18px;color:var(--gold2);cursor:pointer}.upload-box input{display:none}.record-item,.team-row,.audit-row,.customer-row,.invoice-row-card{display:flex;justify-content:space-between;gap:15px;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:17px;padding:14px;margin-bottom:10px}.row-actions{display:flex;gap:8px;align-items:center}.row-actions select{min-width:110px}.ok{color:var(--green)}.bad{color:var(--red)}canvas{width:100%;background:#0d1017;border-radius:18px;border:1px solid var(--line);padding:10px}.invoice-card{max-width:1100px}.invoice-box{margin-top:18px;background:#fff;color:#111;border-radius:18px;padding:22px}.invoice-box input,.invoice-box select{background:#fff;color:#111;border-color:#ddd}.invoice-top{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #111;padding-bottom:14px;margin-bottom:14px}.invoice-top img{width:80px}.invoice-row{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:10px;margin-bottom:14px}.invoice-box table th{color:#111}.invoice-box table th,.invoice-box table td{border-bottom:1px solid #ddd}.edit-btn{background:#252b38;color:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 11px;cursor:pointer}.print-only{display:none}@media(max-width:950px){#app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.stats-grid,.quick-grid,.form-grid{grid-template-columns:1fr 1fr}.invoice-row{grid-template-columns:1fr}.topbar{display:block}}@media(max-width:620px){.stats-grid,.quick-grid,.form-grid{grid-template-columns:1fr}.record-item,.team-row,.audit-row,.customer-row,.invoice-row-card{display:block}.row-actions{margin-top:10px;flex-wrap:wrap}}@media print{body{background:white}.sidebar,.topbar,.auth-screen,.btn,#invoiceForm,.side-nav,.section-head button{display:none!important}#app{display:block}.app-shell{padding:0}.page{display:none!important}#invoice.page{display:block!important}.card{box-shadow:none;border:0;margin:0;padding:0}.invoice-box{border-radius:0}.invoice-row{display:none}}
/* Professional ERP theme */
:root{--bg:#f5f6f8;--panel:#ffffff;--panel2:#f9fafc;--line:#dde2ea;--gold:#b98a33;--gold2:#d8b15f;--text:#18202b;--muted:#687386;--green:#0f9f6e;--red:#d93d3d;--blue:#2563eb}body{background:linear-gradient(135deg,#f7f8fb,#eef1f6 45%,#fbf8f0);color:var(--text)}.auth-card,.hero-card,.card{background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-color:rgba(185,138,51,.22);box-shadow:0 22px 55px rgba(25,33,48,.10)}.sidebar{background:linear-gradient(180deg,#121722,#1d2431);border-right:0;box-shadow:10px 0 35px rgba(17,24,39,.14)}.brand h1,.nav-link.active,.nav-link:hover{color:#fff}.brand p,.nav-link{color:#cbd5e1}.nav-link:hover,.nav-link.active{background:linear-gradient(135deg,rgba(216,177,95,.24),rgba(255,255,255,.07));border-color:rgba(216,177,95,.30)}input,select{background:#fff;color:#111827;border-color:#d8dee8}.stats-grid article,.quick-grid button{background:#fff;border-color:#e4e8f0;box-shadow:0 12px 30px rgba(17,24,39,.06)}.stats-grid strong{color:#111827}.topbar{background:rgba(255,255,255,.76);border:1px solid #e4e8f0;border-radius:24px;padding:16px 18px;box-shadow:0 14px 35px rgba(17,24,39,.06)}.user-chip{background:#fff;border-color:#e4e8f0}.pill{background:#fff7e8;color:#8a5c12;border-color:#ead39a}.invoice-box{box-shadow:inset 0 0 0 1px #e5e7eb}.inline-customer{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px}.toggle-line{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e4e8f0;border-radius:14px;padding:12px}.toggle-line input{width:auto}.mapping-box{margin-top:14px;padding:16px;border:1px solid #e4e8f0;border-radius:18px;background:#fff}.mapping-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mapping-grid label{font-weight:700;color:#334155}.mapping-grid label select{margin-top:6px}canvas{background:#fff;border-color:#e4e8f0}.record-item,.team-row,.audit-row,.customer-row,.invoice-row-card{background:#fff;border-color:#e4e8f0;box-shadow:0 10px 25px rgba(17,24,39,.05)}.edit-btn,.secondary{background:#eef2f7;color:#1f2937;border-color:#d8dee8}.upload-box{background:#fff;border-color:#d8b15f;color:#8a5c12}@media(max-width:950px){.inline-customer,.mapping-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.inline-customer,.mapping-grid{grid-template-columns:1fr}}
textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#111827;outline:none;resize:vertical;margin:12px 0}textarea:focus{border-color:var(--gold)}
#stockPreview table,#purchasePreview table{font-size:13px}#stockPreview td,#purchasePreview td{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mapping-box h4{margin:0 0 12px}.upload-box+.muted{margin-top:10px}
/* Executive dashboard upgrade */
.executive-hero{display:flex;justify-content:space-between;gap:22px;align-items:center;background:linear-gradient(135deg,#111827,#293140 58%,#cda150);color:#fff;border-radius:30px;padding:28px;margin-bottom:20px;box-shadow:0 22px 60px rgba(17,24,39,.18);position:relative;overflow:hidden}.executive-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.10)}.executive-hero h3{font-size:38px;margin:4px 0 8px;letter-spacing:-.04em}.executive-hero p{max-width:720px;color:#e5e7eb}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:1}.kpi-grid.pro{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi-grid.pro article{padding:18px;border-radius:22px;background:#fff;border:1px solid #e5eaf2;box-shadow:0 14px 32px rgba(17,24,39,.07);position:relative;overflow:hidden}.kpi-grid.pro article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--gold),var(--blue))}.kpi-grid.pro span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.kpi-grid.pro strong{display:block;font-size:25px;margin:8px 0 4px;color:#111827;white-space:nowrap}.kpi-grid.pro small{color:#8a94a6}.dashboard-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:18px;margin-bottom:18px}.chart-card.wide{grid-row:span 2}.chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;color:#64748b;font-size:13px}.chart-legend span{display:flex;gap:6px;align-items:center}.chart-legend span:before{content:"";width:10px;height:10px;border-radius:99px;background:#2563eb}.chart-legend span:nth-child(2):before{background:#7c3aed}.chart-legend span:nth-child(3):before{background:#dc2626}.chart-legend span:nth-child(4):before{background:#059669}.due-list,.rank-list,.status-list{display:grid;gap:10px}.due-row,.rank-row,.status-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-radius:16px;background:#f8fafc;border:1px solid #e4e8f0}.due-row strong,.rank-row strong,.status-row strong{color:#111827}.status-meter{height:8px;background:#edf2f7;border-radius:999px;overflow:hidden;margin-top:8px}.status-meter span{display:block;height:100%;background:linear-gradient(90deg,#b98a33,#2563eb);border-radius:inherit}.quick-grid.pro button{text-align:left;transition:.2s transform,.2s box-shadow}.quick-grid.pro button:hover{transform:translateY(-2px);box-shadow:0 18px 35px rgba(17,24,39,.10)}.quick-grid.pro span{display:block;margin-top:5px;color:#64748b;font-size:12px}#financeChart,#cashflowChart{min-height:185px}@media(max-width:1200px){.kpi-grid.pro{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.chart-card.wide{grid-row:auto}}@media(max-width:760px){.executive-hero{display:block}.hero-actions{justify-content:flex-start;margin-top:16px}.kpi-grid.pro{grid-template-columns:1fr}.quick-grid.pro{grid-template-columns:1fr 1fr}}
