:root{--bg:#f4f6f8;--surface:#fff;--text:#17212b;--muted:#6b7785;--line:#e4e8ed;--accent:#2457d6;--sidebar:#111827;--sidebar-hover:#1b2434;--success:#197342;--danger:#a52828}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.app{min-height:100vh;display:flex}.sidebar{width:250px;background:var(--sidebar);color:#e8eef7;padding:22px 14px;position:fixed;left:0;top:0;bottom:0;overflow:auto}.brand{font-weight:800;font-size:18px;letter-spacing:.08em;padding:4px 12px 20px}.brand span{font-weight:500;opacity:.7}.sidebar nav a{display:block;padding:9px 12px;border-radius:8px;color:#b7c0cf;font-size:14px;margin:1px 0}.sidebar nav a:hover,.sidebar nav a.active{background:var(--sidebar-hover);color:#fff}.nav-title{text-transform:uppercase;font-size:10px;letter-spacing:.14em;color:#718096;padding:16px 12px 6px}.main{margin-left:250px;width:calc(100% - 250px);min-height:100vh}.topbar{height:70px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.topbar-left{display:flex;gap:14px;align-items:center}.fy{padding:5px 9px;border:1px solid var(--line);border-radius:7px;font-size:12px;color:var(--muted)}.top-actions{display:flex;gap:18px;align-items:center;font-size:13px}.top-actions a{color:var(--accent)}.content{padding:28px;max-width:1600px}.toast{padding:11px 14px;border-radius:10px;margin-bottom:18px;font-size:13px;border:1px solid transparent}.toast.success{background:#ecfbf2;color:var(--success);border-color:#c9eed7}.toast.error{background:#fff0f0;color:var(--danger);border-color:#f2cccc}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head h1{margin:0 0 5px;font-size:28px}.muted{color:var(--muted)}.small{font-size:11px}.actions{display:flex;gap:10px}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:inherit;cursor:pointer}.button.primary,.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px}.card{padding:20px}.card span,.card small{display:block;color:var(--muted);font-size:12px}.card strong{display:block;font-size:30px;margin:8px 0 4px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{padding:20px}.panel h2{font-size:16px;margin:0 0 16px}.section-head{display:flex;align-items:center;justify-content:space-between}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-grid a{padding:12px;border:1px solid var(--line);border-radius:8px;color:var(--accent);font-size:14px}.status-list{display:grid;gap:0}.status-list div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}.status-list div:last-child{border-bottom:0}.status-list b{font-size:12px}.ok{color:var(--success)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.center{text-align:center}.pill{display:inline-block;background:#eef2f7;color:#4a5568;padding:4px 8px;border-radius:999px;font-size:11px}.toolbar{display:flex;gap:10px;margin-bottom:16px}.toolbar input{max-width:420px}.table-wrap{overflow:auto}.form-panel{max-width:1000px}.erp-form{display:grid;gap:4px}.form-section{padding:4px 0 22px;margin-bottom:18px;border-bottom:1px solid var(--line)}.form-section:last-of-type{border-bottom:0}.form-section h2{margin-bottom:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{display:grid;gap:6px;font-size:12px;font-weight:600}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.toolbar input{width:100%;padding:11px 12px;border:1px solid #ccd4de;border-radius:8px;font:inherit;background:#fff;font-weight:400}.form-grid textarea{min-height:90px;resize:vertical}.check-label{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important;justify-content:flex-start;font-weight:500!important;padding-top:26px}.check-label input{width:auto}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}.detail{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}.detail:last-child{border-bottom:0}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 50px rgba(20,30,50,.08);width:min(420px,100%);padding:32px}.wide-card{width:min(720px,100%)}.auth-card h1{margin:0 0 7px;font-size:28px}.auth-card form{display:grid;gap:8px;margin-top:20px}.auth-card label{font-size:12px;font-weight:600;margin-top:8px}.auth-card input{width:100%;padding:11px 12px;border:1px solid #ccd4de;border-radius:8px;font:inherit;background:#fff}.tiny{font-size:11px;color:var(--muted);text-align:center;margin-top:20px}.alert{padding:11px 12px;border-radius:8px;margin-top:14px;font-size:13px}.alert.success{background:#ecfbf2;color:#217a45}.alert.error{background:#fff0f0;color:#a52828}@media(max-width:900px){.sidebar{width:210px}.main{margin-left:210px;width:calc(100% - 210px)}.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}@media(max-width:640px){.sidebar{position:static;width:100%;height:auto}.app{display:block}.main{margin-left:0;width:100%}.sidebar nav{display:flex;gap:4px;overflow:auto}.sidebar nav a{white-space:nowrap}.nav-title{display:none}.topbar{padding:0 16px}.content{padding:18px}.cards{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start;flex-direction:column}.toolbar{flex-wrap:wrap}.toolbar input{max-width:none}.form-grid{grid-template-columns:1fr}}

.inline-form{display:flex;gap:8px;margin-bottom:14px}.inline-form input{flex:1;min-width:0;padding:10px 12px;border:1px solid #ccd4de;border-radius:8px;font:inherit}.inline-form.two{display:grid;grid-template-columns:1fr 1fr auto}.mini-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mini-list span{padding:8px 10px;background:#f7f9fb;border:1px solid var(--line);border-radius:7px;font-size:12px}@media(max-width:640px){.inline-form.two{grid-template-columns:1fr}.mini-list{grid-template-columns:1fr}}

.filters select{padding:11px 12px;border:1px solid #ccd4de;border-radius:8px;font:inherit;background:#fff;color:var(--text)}.table-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pagination{display:flex;gap:6px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}.page-link{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:12px}.page-link.active{background:var(--accent);border-color:var(--accent);color:#fff}.link{color:var(--accent)}.tiny-button{padding:6px 9px;font-size:11px}.success{background:#e9f8ef;color:#197342}.muted-pill{background:#f1f3f6;color:#6b7785}.danger{color:#a52828;border-color:#efcccc}.empty-state{padding:34px 18px;text-align:center}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.address-block{padding:12px 0;border-bottom:1px solid var(--line)}.address-block:last-child{border-bottom:0}.tabs-panel{padding:0;overflow:hidden}.tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--line);background:#fbfcfd}.tab{padding:10px 14px;border-radius:8px;font-size:13px;color:var(--muted)}.tab.active{background:#fff;color:var(--accent);box-shadow:0 1px 2px rgba(20,30,50,.05)}.tabs-panel .empty-state{min-height:130px;display:flex;align-items:center;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--muted);margin-bottom:6px}.audit-json{margin:0;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.form-panel{box-shadow:0 4px 20px rgba(20,30,50,.03)}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:1fr 1fr}.filters input{max-width:none;grid-column:1/-1}.filters .button{width:100%}}

.filters select{padding:11px 12px;border:1px solid #ccd4de;border-radius:8px;font:inherit;background:#fff;color:var(--text)}.table-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pagination{display:flex;gap:6px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}.page-link{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:12px}.page-link.active{background:var(--accent);border-color:var(--accent);color:#fff}.link{color:var(--accent)}.tiny-button{padding:6px 9px;font-size:11px}.success{background:#e9f8ef;color:#197342}.muted-pill{background:#f1f3f6;color:#6b7785}.danger{color:#a52828;border-color:#efcccc}.empty-state{padding:34px 18px;text-align:center}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.address-block{padding:12px 0;border-bottom:1px solid var(--line)}.address-block:last-child{border-bottom:0}.tabs-panel{padding:0;overflow:hidden}.tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--line);background:#fbfcfd}.tab{padding:10px 14px;border-radius:8px;font-size:13px;color:var(--muted)}.tab.active{background:#fff;color:var(--accent);box-shadow:0 1px 2px rgba(20,30,50,.05)}.tabs-panel .empty-state{min-height:130px;display:flex;align-items:center;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--muted);margin-bottom:6px}.audit-json{margin:0;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.form-panel{box-shadow:0 4px 20px rgba(20,30,50,.03)}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:1fr 1fr}.filters input{max-width:none;grid-column:1/-1}.filters .button{width:100%}}

.filters select{padding:11px 12px;border:1px solid #ccd4de;border-radius:8px;font:inherit;background:#fff;color:var(--text)}.table-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pagination{display:flex;gap:6px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}.page-link{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:12px}.page-link.active{background:var(--accent);border-color:var(--accent);color:#fff}.link{color:var(--accent)}.tiny-button{padding:6px 9px;font-size:11px}.success{background:#e9f8ef;color:#197342}.muted-pill{background:#f1f3f6;color:#6b7785}.danger{color:#a52828;border-color:#efcccc}.empty-state{padding:34px 18px;text-align:center}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.address-block{padding:12px 0;border-bottom:1px solid var(--line)}.address-block:last-child{border-bottom:0}.tabs-panel{padding:0;overflow:hidden}.tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--line);background:#fbfcfd}.tab{padding:10px 14px;border-radius:8px;font-size:13px;color:var(--muted)}.tab.active{background:#fff;color:var(--accent);box-shadow:0 1px 2px rgba(20,30,50,.05)}.tabs-panel .empty-state{min-height:130px;display:flex;align-items:center;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--muted);margin-bottom:6px}.audit-json{margin:0;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.form-panel{box-shadow:0 4px 20px rgba(20,30,50,.03)}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:1fr 1fr}.filters input{max-width:none;grid-column:1/-1}.filters .button{width:100%}}

/* v0.7 transaction engine */
.right{text-align:right!important}.tx-form-panel{max-width:none}.tx-table th,.tx-table td{min-width:92px}.tx-table th:first-child,.tx-table td:first-child{min-width:210px}.tx-table th:nth-child(2),.tx-table td:nth-child(2){min-width:220px}.tx-table input,.tx-table select{width:100%;min-width:80px;padding:9px 10px;border:1px solid #ccd4de;border-radius:7px;background:#fff;font:inherit}.tx-summary{margin:18px 0 0 auto;max-width:440px;border:1px solid var(--line);border-radius:10px;padding:10px 16px;background:#fbfcfd}.tx-summary div{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}.tx-summary div:last-child{border-bottom:0}.tx-summary .grand{font-size:16px}.tx-summary.compact{max-width:360px}.total-line{font-size:16px}.tx-actions{margin-top:18px}.tx-actions form{margin:0}.sidebar-footer{padding:18px 12px 4px;color:#718096;font-size:11px}.metric{font-size:18px}.version-big{font-size:22px;font-weight:750}.version-row{margin-top:18px}
@media(max-width:900px){.tx-table{min-width:1100px}}


/* v0.8 inventory management */
.inventory-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}
.inventory-metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px 18px;min-width:0}
.inventory-metric span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}
.inventory-metric strong{display:block;font-size:22px;line-height:1.2}
.inventory-metric small{display:block;color:var(--muted);font-size:11px;margin-top:6px}
.inventory-subhead{margin-top:24px;margin-bottom:6px}
.inventory-filters{display:grid;grid-template-columns:minmax(240px,1fr) 180px auto auto;align-items:center}
.inventory-filters input,.inventory-filters select{max-width:none}
.inventory-ledger-filters{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(220px,1fr) 160px 160px auto;gap:12px;align-items:end}
.inventory-ledger-filters label{display:grid;gap:6px;font-size:11px;font-weight:600;color:var(--muted)}
.inventory-ledger-filters select,.inventory-ledger-filters input{width:100%;padding:10px 11px;border:1px solid #ccd4de;border-radius:8px;background:#fff;font:inherit;color:var(--text)}
.inventory-filter-action{display:flex;align-items:end}
.warning-pill{background:#fff4d6;color:#8a6410}
.danger-pill{background:#fff0f0;color:#a52828}
.ledger-opening td{background:#fbfcfd}
.detail-list{display:grid;gap:0}
.detail-list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}
.detail-list>div:last-child{border-bottom:0}
.detail-list span{color:var(--muted);font-size:12px}
.detail-list strong{text-align:right}
.page-head.compact{margin-bottom:10px}
@media(max-width:1100px){
  .inventory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-ledger-filters{grid-template-columns:1fr 1fr}
  .inventory-filter-action{align-items:stretch}
}
@media(max-width:700px){
  .inventory-metrics{grid-template-columns:1fr}
  .inventory-filters,.inventory-ledger-filters{grid-template-columns:1fr}
  .page-head{align-items:flex-start;flex-direction:column}
  .page-head .actions{width:100%;flex-wrap:wrap}
}


/* v0.8.1 UI patch
   New asset filename is intentional so browser/CDN cannot reuse the old v0.7 app.css. */

.grid2,.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}

.inventory-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:18px 0 20px;
}
.inventory-metric{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:12px;
  padding:17px 18px;
  min-width:0;
}
.inventory-metric span{
  display:block;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:7px;
}
.inventory-metric strong{
  display:block;
  font-size:22px;
  line-height:1.25;
}
.inventory-metric small{
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-top:6px;
}

.detail-list{display:grid;gap:0}
.detail-list>div{
  display:grid;
  grid-template-columns:minmax(130px,180px) minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}
.detail-list>div:last-child{border-bottom:0}
.detail-list span{color:var(--muted);font-size:12px}
.detail-list strong{text-align:right;overflow-wrap:anywhere}

.inventory-filters{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 190px auto auto;
  gap:12px;
  align-items:center;
  margin-bottom:16px;
}
.inventory-filters input,
.inventory-filters select{
  width:100%;
  max-width:none;
  padding:10px 11px;
  border:1px solid #ccd4de;
  border-radius:8px;
  background:#fff;
  font:inherit;
  color:var(--text);
}
.inventory-filters .button{white-space:nowrap}

.inventory-ledger-filters{
  display:grid;
  grid-template-columns:minmax(260px,1.4fr) minmax(210px,1fr) 165px 165px auto;
  gap:12px;
  align-items:end;
}
.inventory-ledger-filters label{
  display:grid;
  gap:7px;
  min-width:0;
  font-size:11px;
  font-weight:650;
  color:var(--muted);
}
.inventory-ledger-filters label>span{display:block}
.inventory-ledger-filters select,
.inventory-ledger-filters input{
  width:100%;
  min-width:0;
  padding:10px 11px;
  border:1px solid #ccd4de;
  border-radius:8px;
  background:#fff;
  font:inherit;
  color:var(--text);
}
.inventory-filter-action{display:flex;align-items:end}
.inventory-filter-action .button{white-space:nowrap}

.section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.inventory-subhead{margin-top:24px;margin-bottom:8px}
.version-row{margin-top:18px}

.page-head.compact{margin-bottom:10px}
.warning-pill{background:#fff4d6;color:#8a6410}
.danger-pill{background:#fff0f0;color:#a52828}
.muted-pill{background:#eef2f7;color:#667085}
.ledger-opening td{background:#fbfcfd}

@media(max-width:1100px){
  .inventory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-ledger-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-filter-action{align-items:stretch}
}
@media(max-width:800px){
  .grid2,.grid-2{grid-template-columns:1fr}
  .inventory-filters{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .inventory-metrics,
  .inventory-filters,
  .inventory-ledger-filters{grid-template-columns:1fr}
  .detail-list>div{grid-template-columns:1fr;gap:4px}
  .detail-list strong{text-align:left}
  .page-head{align-items:flex-start;flex-direction:column}
  .page-head .actions{width:100%;flex-wrap:wrap}
}


/* v0.9.0 Advanced Inventory Operations */
.inventory-policy-note{
  margin:-4px 0 18px;
  color:var(--muted);
  font-size:12px;
}
.inventory-status-filter{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:16px;
}
.inventory-status-filter select{min-width:180px}
.inventory-operation-form label{display:grid;gap:7px}
.inventory-operation-form input,
.inventory-operation-form select,
.inventory-operation-form textarea{
  width:100%;padding:10px 11px;border:1px solid #ccd4de;border-radius:8px;background:#fff;font:inherit;color:var(--text)
}
.form-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.transfer-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:130px}
.transfer-route>div:not(.transfer-arrow){padding:18px;border:1px solid var(--line);border-radius:12px}
.transfer-route span,.transfer-route small{display:block;color:var(--muted);font-size:11px}
.transfer-route strong{display:block;font-size:24px;margin:6px 0}
.transfer-arrow{font-size:30px;color:var(--muted)}
.actions form{display:inline-flex;margin:0}
@media(max-width:1000px){
 .form-grid-4,.form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .form-grid-4,.form-grid-3{grid-template-columns:1fr}
 .transfer-route{grid-template-columns:1fr}
 .transfer-arrow{text-align:center;transform:rotate(90deg)}
 .form-actions{justify-content:flex-start;flex-wrap:wrap}
}


/* v0.10.0 Perpetual Inventory Accounting & FIFO Costing */
.inventory-accounting-status{
  display:flex;gap:10px;align-items:center;flex-wrap:wrap
}
.inventory-accounting-callout{
  border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:16px 18px
}
.inventory-accounting-callout strong{display:block;margin-bottom:5px}
.inventory-accounting-callout p{margin:0;color:var(--muted)}
.panel label input[type="date"]{
  width:100%;padding:10px 11px;border:1px solid #ccd4de;border-radius:8px;background:#fff;font:inherit;color:var(--text)
}


/* v0.11.0 Inventory Valuation & Control Reports */
.report-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.report-card{
  display:block;
  padding:20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  color:var(--text);
  text-decoration:none;
  transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;
}
.report-card:hover{transform:translateY(-1px);border-color:#aeb9c8;box-shadow:0 6px 18px rgba(15,23,42,.06)}
.report-card strong{display:block;font-size:17px;margin:5px 0 8px}
.report-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.report-kicker{font-size:10px;font-weight:700;letter-spacing:.09em;color:var(--muted)}
.inventory-report-filters{
  display:grid;
  grid-template-columns:minmax(220px,1.2fr) minmax(190px,1fr) minmax(220px,1fr) minmax(170px,.8fr) auto auto;
  gap:10px;
  align-items:end;
  margin-bottom:16px;
}
.inventory-report-filters input,
.inventory-report-filters select{
  width:100%;min-width:0;padding:10px 11px;border:1px solid #ccd4de;border-radius:8px;background:#fff;font:inherit;color:var(--text)
}
.report-filters-compact{grid-template-columns:minmax(240px,1.2fr) minmax(190px,1fr) minmax(220px,1fr) auto auto}
.movement-report-filters{grid-template-columns:minmax(190px,1.2fr) 170px 210px 145px 155px 145px 145px auto auto}
.report-date{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:650}
.aging-table{min-width:1550px}
.recon-status{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:12px;border:1px solid var(--line)}
.recon-status strong{font-size:22px}
.recon-status span{font-size:12px}
.recon-ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.recon-bad{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.text-success{color:#166534}
.text-danger{color:#b42318}
.row-warning td{background:#fff8ed}
@media(max-width:1150px){
  .report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-report-filters,.movement-report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .report-grid{grid-template-columns:1fr}
  .inventory-report-filters,.movement-report-filters,.report-filters-compact{grid-template-columns:1fr}
}


/* v0.11.2 Release Notes & Upgrade History */
.upgrade-history-table{min-width:980px}
.upgrade-history-table th:nth-child(1){width:120px}
.upgrade-history-table th:nth-child(2){width:250px}
.upgrade-history-table th:nth-child(4){width:90px}
.history-change strong{display:block;margin-bottom:4px}
.history-change span{display:block;max-width:760px;color:var(--muted);font-size:12px;line-height:1.45}
.history-applied{white-space:nowrap}
.history-release-type{
  display:block;
  width:max-content;
  margin-top:5px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.small-button{padding:7px 12px;font-size:12px}
.release-note-notice{
  margin-bottom:18px;
  padding:13px 15px;
  border:1px solid #d9e2ec;
  border-radius:10px;
  background:#f8fafc;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.release-archive{display:grid;gap:12px}
.release-archive-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
}
.release-card-main{min-width:0}
.release-card-main h2{margin:8px 0 7px;font-size:18px}
.release-card-main p{margin:0;max-width:900px;color:var(--muted);font-size:12px;line-height:1.55}
.release-card-action{flex:0 0 auto}
.release-version-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.release-version{font-weight:800;font-size:13px;letter-spacing:.02em}
.release-type{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 8px;
  font-size:9px;
  font-weight:750;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid #d8dee8;
  background:#f8fafc;
  color:#475569;
}
.release-type-patch{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.release-type-foundation{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}
.release-type-feature{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.release-lead{max-width:900px;font-size:14px;line-height:1.6}
.release-meta-panel{margin-bottom:18px}
.release-sections{display:grid;gap:14px}
.release-section h2{margin-bottom:12px}
.release-bullets{margin:0;padding-left:20px}
.release-bullets li{margin:0 0 9px;line-height:1.55}
.release-bullets li:last-child{margin-bottom:0}
.release-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
  padding:18px 0 2px;
  border-top:1px solid var(--line);
}
.release-nav>div{display:grid;gap:5px}
.release-nav-link{color:#1d4ed8;text-decoration:none;font-weight:650;font-size:12px}
.release-nav-link:hover{text-decoration:underline}
@media(max-width:760px){
  .release-archive-card{align-items:flex-start;flex-direction:column}
  .release-nav{grid-template-columns:1fr}
  .release-nav .right{text-align:left}
}


/* v0.12.0 Receivables, Payables & Outstanding Management */
.outstanding-dual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.outstanding-control-card .section-head h2{margin:4px 0 0}
.outstanding-card-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.outstanding-card-metrics>div{
  padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe
}
.outstanding-card-metrics span,.control-recon span,.statement-party-meta span{
  display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em
}
.outstanding-card-metrics strong{display:block;margin-top:5px;font-size:18px}
.control-recon{border-top:1px solid var(--line);padding-top:8px}
.control-recon>div{display:flex;justify-content:space-between;gap:20px;padding:9px 2px;border-bottom:1px solid #edf0f4}
.control-recon>div:last-child{border-bottom:0}
.control-recon span{font-size:11px;text-transform:none;letter-spacing:0}
.control-total{background:#f8fafc;padding-left:10px!important;padding-right:10px!important;border-radius:8px}
.outstanding-filters{
  display:grid;grid-template-columns:minmax(180px,1.15fr) minmax(220px,1.1fr) 160px 145px 145px auto auto;
  gap:10px;align-items:end
}
.outstanding-filters input,.outstanding-filters select,
.statement-filters input,.allocation-filters input,.allocation-filters select{
  width:100%;min-width:0;padding:10px 11px;border:1px solid #ccd4de;border-radius:8px;background:#fff;font:inherit;color:var(--text)
}
.aging-summary-table{min-width:1350px}
.warning-pill{background:#fff7ed!important;color:#9a3412!important}
.statement-filters{display:grid;grid-template-columns:180px 180px auto;gap:10px;align-items:end;max-width:520px}
.statement-party-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}
.statement-party-meta>div{min-width:160px}
.statement-party-meta strong{display:block;margin-top:5px}
.statement-opening td{background:#f8fafc}
.allocation-filters{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(220px,1fr) 160px auto auto;gap:10px;align-items:end;margin-bottom:16px}
@media(max-width:1150px){
  .outstanding-dual-grid{grid-template-columns:1fr}
  .outstanding-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .outstanding-filters,.statement-filters,.allocation-filters{grid-template-columns:1fr}
  .outstanding-card-metrics{grid-template-columns:1fr}
  .control-recon>div{align-items:flex-start;flex-direction:column;gap:3px}
}


/* v0.13.0 Cash & Bank Management / Reconciliation */
.bank-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.bank-account-card{border:1px solid var(--line);border-radius:12px;padding:18px;background:#fff}
.bank-account-card h2{margin:4px 0 10px;font-size:18px}
.bank-card-actions{margin-top:14px;flex-wrap:wrap}
.banking-filters{display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px auto;gap:10px;align-items:end;margin-bottom:16px}
.banking-filters label{display:grid;gap:5px;font-size:11px;color:var(--muted);font-weight:600}
.banking-filters select,.banking-filters input,.match-form select{width:100%;padding:10px 11px;border:1px solid #ccd4de;border-radius:8px;background:#fff;font:inherit}
.table-actions{justify-content:flex-end;flex-wrap:wrap}
.inline-action{display:inline-flex;margin:0}
.recon-match-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:8px;align-items:center}
button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1100px){.bank-account-grid{grid-template-columns:1fr}.banking-filters{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.banking-filters{grid-template-columns:1fr}}

@media(max-width:700px){.recon-match-row{grid-template-columns:1fr}}


/* v0.14 GST Compliance & Tax Reports */
.version-row{grid-template-columns:repeat(5,minmax(0,1fr))}
.gst-filter-panel{padding:14px 18px}
.gst-period-form{display:grid;grid-template-columns:180px 180px auto;gap:12px;align-items:end}
.gst-period-form label,.gst-register-filters label,.gst-hsn-filters label{display:grid;gap:6px;font-size:11px;font-weight:600;color:var(--muted)}
.gst-period-form input,.gst-register-filters input,.gst-register-filters select,.gst-hsn-filters input,.gst-hsn-filters select{width:100%;padding:10px 11px;border:1px solid #ccd4de;border-radius:8px;background:#fff;font:inherit;color:var(--text)}
.gst-register-filters{display:grid;grid-template-columns:minmax(260px,1.5fr) 180px 160px 160px auto auto;gap:10px;align-items:end}
.gst-hsn-filters{display:grid;grid-template-columns:minmax(280px,1fr) 160px 160px auto auto;gap:10px;align-items:end}
.gst-position{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:15px 18px;margin:-4px 0 18px;background:#fff}
.gst-position span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.gst-position strong{font-size:22px}
.gst-position small{color:var(--muted)}
.gst-position.payable{border-left:4px solid #b36b00}
.gst-position.credit{border-left:4px solid var(--success)}
.gst-report-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gst-control-status{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-top:18px;background:#fff}
.gst-control-status strong{font-size:18px}
.gst-control-status span{font-size:12px;color:var(--muted)}
.gst-control-status.matched{background:#ecfbf2;border-color:#c9eed7;color:var(--success)}
.gst-control-status.review{background:#fff8e8;border-color:#f2d59d;color:#8a5c00}
.gst-wide-table{min-width:1180px}
.gst-wide-table tfoot th{background:#fbfcfd;color:var(--text);font-size:12px}
@media(max-width:1050px){.version-row{grid-template-columns:repeat(3,minmax(0,1fr))}.gst-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gst-register-filters{grid-template-columns:1fr 1fr 1fr}.gst-hsn-filters{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.version-row{grid-template-columns:1fr 1fr}.gst-period-form,.gst-register-filters,.gst-hsn-filters{grid-template-columns:1fr}.gst-report-grid{grid-template-columns:1fr}.gst-control-status{align-items:flex-start;flex-direction:column}}


/* v0.15.0 Expense Management */
.expense-filter{align-items:end}.expense-filter label{min-width:150px}.expense-total-row{justify-content:flex-end}.expense-total-row .grand{min-width:300px}.strong{font-weight:700}


/* v0.15.1 — Expense filter polish + persistent live ERP header */
.topbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:18px;
}
.top-actions{justify-self:end}
.topbar-live{
    justify-self:center;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:8px 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f8fafc;
    color:var(--muted);
    font-size:12px;
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}
.topbar-live .live-clock-time{
    color:var(--text);
    font-size:13px;
    letter-spacing:.01em;
}
.live-clock-zone{
    color:var(--muted);
    font-size:10px;
    font-weight:700;
    letter-spacing:.08em;
}
.live-clock-dot{
    width:7px;
    height:7px;
    border-radius:999px;
    background:var(--success);
    box-shadow:0 0 0 3px rgba(25,115,66,.10);
    flex:0 0 auto;
}
.live-clock-separator{opacity:.55}

.expense-filter{
    display:grid;
    grid-template-columns:minmax(280px,1.65fr) minmax(150px,.65fr) minmax(155px,.65fr) minmax(155px,.65fr) auto;
    gap:12px;
    align-items:end;
}
.expense-filter label{
    display:grid;
    gap:6px;
    min-width:0;
    color:var(--muted);
    font-size:11px;
    font-weight:600;
}
.expense-filter label > span{
    min-height:14px;
}
.expense-filter input,
.expense-filter select{
    width:100%;
    min-width:0;
    height:42px;
    padding:10px 11px;
    border:1px solid #ccd4de;
    border-radius:8px;
    background:#fff;
    color:var(--text);
    font:inherit;
    font-weight:400;
}
.expense-filter-actions{
    display:flex;
    gap:8px;
    align-items:center;
}
.expense-filter-actions .button,
.expense-filter-actions button{
    height:42px;
    white-space:nowrap;
}

@media(max-width:1180px){
    .topbar{grid-template-columns:minmax(0,1fr) auto}
    .topbar-live{grid-column:1/-1;grid-row:2;justify-self:stretch}
    .topbar{height:auto;min-height:70px;padding-top:10px;padding-bottom:10px}
    .expense-filter{
        grid-template-columns:minmax(240px,1.5fr) minmax(150px,.7fr) minmax(150px,.7fr);
    }
    .expense-filter-actions{grid-column:2/4;justify-content:flex-end}
}
@media(max-width:760px){
    .topbar{display:flex;flex-wrap:wrap;gap:10px}
    .topbar-left{min-width:0;flex:1 1 auto}
    .top-actions{margin-left:auto}
    .topbar-live{
        order:3;
        width:100%;
        justify-content:flex-start;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .expense-filter{grid-template-columns:1fr 1fr}
    .expense-filter .expense-filter-search{grid-column:1/-1}
    .expense-filter-actions{grid-column:1/-1;justify-content:stretch}
    .expense-filter-actions .button,
    .expense-filter-actions button{flex:1}
}
@media(max-width:520px){
    .live-clock-separator{display:none}
    .topbar-live{gap:6px;flex-wrap:wrap}
    .expense-filter{grid-template-columns:1fr}
    .expense-filter .expense-filter-search,
    .expense-filter-actions{grid-column:auto}
}


/* v0.16.0 — GST-ready Expense Vouchers & Input Tax Credit */
.expense-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
.expense-gst-section{background:linear-gradient(180deg,#fbfdff 0%,#fff 100%)}
.expense-gst-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.expense-itc-check{align-content:start}
.expense-itc-check .check-row{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:42px;
    padding:10px 11px;
    border:1px solid #ccd4de;
    border-radius:8px;
    background:#fff;
    color:var(--text);
    font-weight:500;
}
.expense-itc-check .check-row input{width:auto;margin:0}
.expense-itc-note{margin-top:14px}
.expense-tax-table{min-width:1380px}
.expense-tax-table select,
.expense-tax-table input{
    width:100%;
    min-width:0;
    padding:9px 10px;
    border:1px solid #ccd4de;
    border-radius:8px;
    background:#fff;
    color:var(--text);
    font:inherit;
}
.expense-tax-table th:nth-child(1){min-width:230px}
.expense-tax-table th:nth-child(2){min-width:240px}
.expense-tax-table th:nth-child(3){min-width:120px}
.expense-tax-table th:nth-child(4){min-width:180px}
.expense-tax-table th:nth-child(5){min-width:130px}
.expense-tax-table th:nth-child(6),
.expense-tax-table th:nth-child(7){min-width:120px}
.expense-gst-summary{
    display:grid;
    grid-template-columns:repeat(6,minmax(120px,1fr));
    gap:10px;
    margin-top:18px;
}
.expense-gst-summary>div{
    padding:14px 15px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    text-align:right;
}
.expense-gst-summary span{
    display:block;
    margin-bottom:6px;
    color:var(--muted);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.expense-gst-summary strong{font-size:17px}
.expense-gst-summary .grand{
    border-color:#cbd7f2;
    background:#f7f9ff;
}
.expense-gst-summary .grand strong{font-size:20px}
.expense-show-table{min-width:1120px}
.expense-list-table{min-width:1180px}

@media(max-width:1200px){
    .expense-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
    .expense-gst-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .expense-gst-summary{grid-template-columns:repeat(3,minmax(120px,1fr))}
}
@media(max-width:760px){
    .expense-metrics{grid-template-columns:1fr 1fr}
    .expense-gst-grid{grid-template-columns:1fr}
    .expense-gst-summary{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
    .expense-metrics{grid-template-columns:1fr}
    .expense-gst-summary{grid-template-columns:1fr}
}


/* v0.17.0 — Cash / Bank Vouchers & Contra Transfers */
.cash-voucher-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
.cash-voucher-filter{
    display:grid;
    grid-template-columns:minmax(260px,1.45fr) minmax(140px,.55fr) minmax(135px,.55fr) 150px 150px auto;
    gap:10px;
    align-items:end;
}
.cash-voucher-filter label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:11px;font-weight:600}
.cash-voucher-filter label>span{min-height:14px}
.cash-voucher-filter input,
.cash-voucher-filter select{
    width:100%;min-width:0;height:42px;padding:10px 11px;
    border:1px solid #ccd4de;border-radius:8px;background:#fff;color:var(--text);font:inherit;font-weight:400;
}
.cash-voucher-filter-actions{display:flex;gap:8px;align-items:center}
.cash-voucher-filter-actions .button,.cash-voucher-filter-actions button{height:42px;white-space:nowrap}
.cash-voucher-table{min-width:1280px}
.cash-voucher-table td{vertical-align:top}
.cash-voucher-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cash-voucher-form-grid label{display:grid;gap:6px}
.cash-voucher-form-grid input,.cash-voucher-form-grid select{
    width:100%;padding:10px 11px;border:1px solid #ccd4de;border-radius:8px;background:#fff;color:var(--text);font:inherit;
}
.cash-voucher-accounting-note .alert{margin-top:12px}
.danger-outline{border-color:#efb2b2!important;color:#b42318!important;background:#fff!important}
.danger-outline:hover{background:#fff4f3!important}

@media(max-width:1250px){
    .cash-voucher-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
    .cash-voucher-filter{grid-template-columns:minmax(240px,1.4fr) 1fr 1fr}
    .cash-voucher-filter-actions{grid-column:2/4;justify-content:flex-end}
}
@media(max-width:760px){
    .cash-voucher-metrics{grid-template-columns:1fr 1fr}
    .cash-voucher-filter{grid-template-columns:1fr 1fr}
    .cash-voucher-filter .cash-voucher-search{grid-column:1/-1}
    .cash-voucher-filter-actions{grid-column:1/-1;justify-content:stretch}
    .cash-voucher-filter-actions .button,.cash-voucher-filter-actions button{flex:1}
    .cash-voucher-form-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
    .cash-voucher-metrics{grid-template-columns:1fr}
    .cash-voucher-filter{grid-template-columns:1fr}
    .cash-voucher-filter .cash-voucher-search,.cash-voucher-filter-actions{grid-column:auto}
}


/* =========================================================
   NEXWARE ERP v0.18.0 — MODERN ENTERPRISE UX SYSTEM
   Global shell refresh: bento surfaces, responsive nav,
   command palette, persistent theme & density preferences.
   ========================================================= */
:root{
 --bg:#f5f7fb;--surface:#ffffff;--surface-2:#f8fafc;--surface-3:#eef3f9;
 --text:#111827;--muted:#64748b;--line:#e2e8f0;--line-strong:#cbd5e1;
 --accent:#315ee8;--accent-2:#2448bd;--accent-soft:#eef3ff;
 --sidebar:#0d1728;--sidebar-hover:#16243a;--sidebar-active:#1d3150;
 --success:#138a52;--success-soft:#eaf9f1;--danger:#c33b3b;--danger-soft:#fff0f0;
 --warning:#a56600;--warning-soft:#fff7e8;
 --shadow-sm:0 1px 2px rgba(15,23,42,.04),0 4px 14px rgba(15,23,42,.04);
 --shadow-md:0 12px 36px rgba(15,23,42,.08);
 --radius:16px;--radius-sm:10px;
}
html[data-theme="dark"]{
 --bg:#0b1220;--surface:#111b2d;--surface-2:#152238;--surface-3:#1b2a43;
 --text:#eef4ff;--muted:#9badc5;--line:#253653;--line-strong:#354865;
 --accent:#6f93ff;--accent-2:#87a5ff;--accent-soft:#192b52;
 --sidebar:#07101e;--sidebar-hover:#12213a;--sidebar-active:#17335d;
 --success:#4fd28c;--success-soft:#123225;--danger:#ff8181;--danger-soft:#3b1b23;
 --warning:#ffd071;--warning-soft:#3b2d12;
 --shadow-sm:0 1px 2px rgba(0,0,0,.18),0 8px 22px rgba(0,0,0,.16);
 --shadow-md:0 18px 48px rgba(0,0,0,.28);
 color-scheme:dark;
}
body{background:var(--bg);color:var(--text);letter-spacing:-.006em}
.sidebar{width:270px;padding:18px 12px;background:linear-gradient(180deg,var(--sidebar),#0a1424);border-right:1px solid rgba(255,255,255,.05);z-index:30;transition:width .22s ease,transform .22s ease}
.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.brand{font-size:17px;padding:7px 12px 18px;white-space:nowrap}
.sidebar-close{display:none;background:transparent;border:0;color:#a9b8cd;font-size:24px;padding:4px 9px}
.sidebar nav a{padding:9px 11px;border-radius:10px;margin:2px 0;color:#b8c5d8;transition:background .15s,color .15s,transform .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar nav a:hover{background:var(--sidebar-hover);color:#fff;transform:translateX(2px)}
.sidebar nav a.active{background:linear-gradient(90deg,var(--sidebar-active),rgba(49,94,232,.18));color:#fff;box-shadow:inset 3px 0 0 #6f93ff}
.nav-title{color:#6f84a1;padding-top:18px;font-weight:700}
.sidebar-footer{position:sticky;bottom:-18px;margin:18px -12px -18px;padding:12px 22px;background:rgba(7,16,30,.9);backdrop-filter:blur(10px);font-size:11px;color:#6f84a1}
.main{margin-left:270px;width:calc(100% - 270px);transition:margin-left .22s ease,width .22s ease}
.topbar{height:64px;padding:0 24px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--line);z-index:20}
.topbar-left{min-width:0}.topbar-left>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-icon-button,.topbar-tool{border:1px solid var(--line);background:var(--surface-2);color:var(--text);height:34px;border-radius:10px;padding:0 10px;font-size:12px;box-shadow:none}
.top-icon-button{width:36px;padding:0;font-size:16px}
.topbar-tool:hover,.top-icon-button:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--accent)}
.topbar-tool kbd{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:1px 4px;font-size:9px;color:var(--muted)}
.topbar-user{font-weight:650}
.quick-create-wrap{position:relative}
.quick-create-menu{display:none;position:absolute;right:0;top:42px;min-width:210px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:12px;padding:7px;z-index:60}
.quick-create-menu.open{display:block}
.quick-create-menu a{display:block;padding:9px 10px;border-radius:8px;color:var(--text)}
.quick-create-menu a:hover{background:var(--accent-soft);color:var(--accent)}
.content{padding:28px clamp(18px,2.2vw,36px);max-width:1900px;margin:0 auto}
.page-head{margin-bottom:24px}.page-head h1{font-size:clamp(24px,2vw,32px);letter-spacing:-.035em}
.eyebrow{display:block;font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--accent);margin-bottom:7px}
.card,.panel,.metric-card,.detail-hero{border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.card,.panel{border-radius:var(--radius)}
.card{padding:18px;background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface-2) 35%,var(--surface)))}
.card strong{font-size:26px;letter-spacing:-.03em}
.panel{background:var(--surface);padding:20px}
.button,button{border-radius:10px;min-height:38px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}
.button:hover,button:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,23,42,.07)}
.button.primary,.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:var(--accent);box-shadow:0 7px 18px rgba(49,94,232,.18)}
.button.primary:hover,.primary:hover{box-shadow:0 10px 24px rgba(49,94,232,.25)}
input,select,textarea{background:var(--surface);color:var(--text);border-color:var(--line-strong);border-radius:10px}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 22%,transparent);outline-offset:2px;border-color:var(--accent)}
table{font-size:13px}th{background:var(--surface);position:sticky;top:0;z-index:2}
tbody tr{transition:background .12s ease}tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 45%,transparent)}
.table-wrap{border-radius:12px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.pill{font-weight:700;border:1px solid transparent}
.pill.success,.pill.posted{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 18%,transparent)}
.pill.warning,.pill.draft{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 18%,transparent)}
.pill.cancelled{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 16%,transparent)}
.toast{box-shadow:var(--shadow-sm)}
.topbar-live{background:var(--surface-2);border:1px solid var(--line);box-shadow:none}
.bento-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}
.metric-card{display:block;background:var(--surface);padding:18px;border-radius:var(--radius);min-height:118px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s}
.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}
.metric-card span,.metric-card small{display:block;color:var(--muted);font-size:12px}
.metric-card strong{display:block;font-size:24px;letter-spacing:-.035em;margin:10px 0 5px}
.metric-card.accent-card{background:linear-gradient(145deg,var(--accent),var(--accent-2));color:#fff;border-color:transparent}
.metric-card.accent-card span,.metric-card.accent-card small{color:rgba(255,255,255,.78)}
.finance-bento .metric-card:first-child{grid-column:span 2}
.finance-bento .metric-card:nth-child(2){grid-column:span 2}
.finance-bento .metric-card:nth-child(n+3){grid-column:span 1}
.modern-grid{align-items:start}.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 18px}
.mini-stats>div{background:var(--surface-2);border:1px solid var(--line);padding:12px;border-radius:12px}
.mini-stats span{display:block;color:var(--muted);font-size:11px}.mini-stats strong{display:block;font-size:20px;margin-top:4px}
.quick-control-panel{margin-top:18px}.quick-control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.quick-control-grid a{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface-2)}
.quick-control-grid a:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}
.quick-control-grid b,.quick-control-grid span{display:block}.quick-control-grid span{color:var(--muted);font-size:11px;margin-top:4px}
.filter-grid.modern-filter{display:grid;grid-template-columns:minmax(240px,2fr) minmax(150px,.8fr) minmax(140px,.7fr) minmax(140px,.7fr) auto;gap:10px;align-items:end;margin-bottom:16px}
.filter-grid label>span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.metric-row-4{grid-template-columns:repeat(4,1fr)}
.control-note{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:12px 14px;margin-top:14px;color:var(--muted);font-size:12px}
.warning-note{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 22%,var(--line))}
.journal-editor table input,.journal-editor table select{min-width:0;width:100%}.money-input{text-align:right;font-variant-numeric:tabular-nums}
.icon-button{min-height:32px;width:32px;padding:0;border-radius:9px}.danger-outline{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 28%,var(--line));background:transparent}
.journal-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.journal-totals>div{padding:13px 14px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px}
.journal-totals span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.journal-totals strong{display:block;margin-top:5px;font-size:17px}
.detail-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--surface);border-radius:var(--radius);margin-bottom:18px;overflow:hidden}
.detail-hero>div{padding:16px 18px;border-right:1px solid var(--line)}.detail-hero>div:last-child{border-right:0}
.detail-hero span{display:block;font-size:11px;color:var(--muted)}.detail-hero strong{display:block;font-size:18px;margin-top:6px}
.control-status-box{padding:15px;border-radius:12px;border:1px solid var(--line);display:grid;gap:4px;margin-bottom:12px}.control-status-box span{font-size:12px}
.success-box{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 20%,var(--line))}
.warning-box{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 20%,var(--line))}
.record-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.record-actions form{margin:0}
.danger-button{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,var(--line))}
button:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.inline-form{display:inline-flex}.period-lock-form{display:flex;justify-content:flex-end;gap:8px}.period-lock-form input{max-width:230px}
.right{text-align:right}.danger-text{color:var(--danger)}.ok{color:var(--success)}.link{color:var(--accent);font-weight:650}
.app.sidebar-collapsed .sidebar{transform:translateX(-105%);width:270px}
.app.sidebar-collapsed .main{margin-left:0;width:100%}
.sidebar-backdrop{display:none}
.command-overlay{position:fixed;inset:0;background:rgba(5,11,20,.44);backdrop-filter:blur(5px);z-index:100;display:none;align-items:flex-start;justify-content:center;padding:11vh 18px 20px}
.command-overlay.open{display:flex}.command-dialog{width:min(680px,100%);background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.24);overflow:hidden}
.command-search{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.command-search input{border:0!important;outline:0!important;box-shadow:none!important;background:transparent;font-size:16px;padding:6px}
.command-search kbd{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:3px 6px}
.command-results{padding:8px;max-height:55vh;overflow:auto}.command-results a{display:grid;gap:2px;padding:11px 12px;border-radius:10px}.command-results a:hover{background:var(--accent-soft);color:var(--accent)}
.command-results span{font-size:11px;color:var(--muted)}.command-results a[hidden]{display:none}.command-footer{padding:10px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}
html[data-density="compact"] .content{padding-top:20px;padding-bottom:20px}
html[data-density="compact"] .card,html[data-density="compact"] .panel{padding:14px}
html[data-density="compact"] th,html[data-density="compact"] td{padding:8px 10px}
html[data-density="compact"] .sidebar nav a{padding-top:7px;padding-bottom:7px}
html[data-density="compact"] .topbar{height:58px}
html[data-theme="dark"] .sidebar{background:linear-gradient(180deg,#07101e,#050b15)}
html[data-theme="dark"] .alert.success,html[data-theme="dark"] .toast.success{background:var(--success-soft);color:var(--success)}
html[data-theme="dark"] .toast.error{background:var(--danger-soft);color:var(--danger)}
html[data-theme="dark"] img{filter:brightness(.96)}

@media(max-width:1280px){
 .finance-bento{grid-template-columns:repeat(3,1fr)}.finance-bento .metric-card{grid-column:span 1!important}
 .filter-grid.modern-filter{grid-template-columns:1.5fr 1fr 1fr 1fr}.filter-actions{grid-column:1/-1}
 .quick-control-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:980px){
 .sidebar{transform:translateX(-105%);width:min(300px,88vw);box-shadow:var(--shadow-md)}
 .main,.app.sidebar-collapsed .main{margin-left:0;width:100%}
 .app.sidebar-open .sidebar{transform:translateX(0)}
 .app.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(5,11,20,.45);z-index:25}
 .sidebar-close{display:block}.topbar{padding:0 14px}.topbar-tool span,.topbar-tool kbd,.topbar-user{display:none}
 .content{padding:20px 14px}.grid2,.modern-grid{grid-template-columns:1fr}.cards,.metric-row-4{grid-template-columns:repeat(2,1fr)}
 .bento-grid{grid-template-columns:repeat(2,1fr)}.finance-bento .metric-card{grid-column:span 1!important}
 .filter-grid.modern-filter{grid-template-columns:1fr 1fr}.filter-grid.modern-filter label:first-child{grid-column:1/-1}
 .detail-hero{grid-template-columns:repeat(2,1fr)}.detail-hero>div:nth-child(2){border-right:0}.detail-hero>div{border-bottom:1px solid var(--line)}
 .journal-totals,.mini-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
 .topbar-live .live-clock-day,.topbar-live .live-clock-separator,.topbar-live .live-clock-zone{display:none}
 .topbar-live{padding-left:8px;padding-right:8px}.top-actions{gap:6px}.fy{display:none}
 .page-head{align-items:flex-start;flex-direction:column}.page-head .actions{width:100%;overflow:auto;padding-bottom:3px}
 .cards,.metric-row-4,.bento-grid,.filter-grid.modern-filter,.journal-totals,.mini-stats,.detail-hero,.quick-control-grid{grid-template-columns:1fr}
 .filter-grid.modern-filter>*{grid-column:auto!important}.filter-actions{grid-column:1/-1!important}
 .detail-hero>div{border-right:0}.record-actions{justify-content:stretch;flex-direction:column}.record-actions form,.record-actions button{width:100%}
 .period-lock-form{flex-direction:column}.period-lock-form input{max-width:none}
}
@media print{
 .sidebar,.topbar,.page-head .actions,.record-actions,.button,button,.sidebar-backdrop,.command-overlay{display:none!important}
 .main{margin:0!important;width:100%!important}.content{max-width:none;padding:0}.panel,.card{box-shadow:none;break-inside:avoid}
 body{background:#fff;color:#000}table{font-size:10pt}
}


/* =========================================================
   NEXWARE ERP v0.25.0 — CONSOLIDATED WORKSPACE 2.0
   Navigation mega-groups, theme hardening, responsive forms,
   dashboard/search/master governance and cross-module UX fixes.
   ========================================================= */

/* Theme hardening: remove legacy hard-coded light surfaces that leaked into dark mode. */
.button,button,.page-link,.tab,.auth-card,
.form-grid input,.form-grid select,.form-grid textarea,.toolbar input,
.inline-form input,.filters select,.tx-table input,.tx-table select,
.inventory-filters input,.inventory-filters select,
.inventory-ledger-filters input,.inventory-ledger-filters select{
  background:var(--surface);
  color:var(--text);
  border-color:var(--line-strong);
}
.button.primary,.primary{color:#fff}
.button.danger,.danger-button{background:var(--danger-soft);color:var(--danger)}
.mini-list span,.ledger-opening td,.tabs,.tx-summary,.gst-wide-table tfoot th{
  background:var(--surface-2);
  color:var(--text);
}
.auth-card{box-shadow:var(--shadow-md)}
.alert{border:1px solid var(--line)}
.alert:not(.success):not(.error){background:var(--surface-2);color:var(--text)}
html[data-theme="dark"] .page-link,
html[data-theme="dark"] .tab,
html[data-theme="dark"] .button:not(.primary):not(.danger-button),
html[data-theme="dark"] button:not(.primary):not(.danger-button):not(.nav-group-toggle):not(.sidebar-close){
  background:var(--surface-2);
  color:var(--text);
  border-color:var(--line);
}
html[data-theme="dark"] .button:hover,
html[data-theme="dark"] button:hover{color:var(--text)}
html[data-theme="dark"] .button.primary:hover,
html[data-theme="dark"] .primary:hover{color:#fff}
html[data-theme="dark"] .small-button,
html[data-theme="dark"] .upgrade-history-table .button{background:var(--surface-3)!important;color:var(--text)!important}
html[data-theme="dark"] .upgrade-history-table .button:hover{background:var(--accent-soft)!important;color:var(--accent)!important}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{color:#7487a4;opacity:1}
html[data-theme="dark"] select option{background:var(--surface);color:var(--text)}

/* Sidebar Mega Menu */
.sidebar{width:282px;padding:14px 12px}
.main{margin-left:282px;width:calc(100% - 282px)}
.brand{display:block;padding:8px 12px 15px}
.sidebar-nav{display:grid;gap:4px;padding-bottom:72px}
.nav-dashboard{
  display:flex!important;align-items:center;gap:10px;
  min-height:40px;padding:9px 11px!important;margin:0 0 5px!important;
  border-radius:11px!important;color:#c0cbda!important;
}
.nav-icon{
  width:22px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);
  border-radius:7px;font-size:12px;color:#8fa4c1;font-weight:800;
}
.nav-dashboard.active .nav-icon,.nav-dashboard:hover .nav-icon,
.nav-group:has(.nav-group-items a.active)>.nav-group-toggle .nav-icon{
  color:#fff;border-color:rgba(111,147,255,.32);background:rgba(111,147,255,.15)
}
.nav-group{border-radius:12px}
.nav-group-toggle{
  width:100%;min-height:40px;padding:8px 10px;display:grid;
  grid-template-columns:22px minmax(0,1fr) 20px;align-items:center;gap:10px;
  border:0!important;border-radius:11px;background:transparent!important;
  box-shadow:none!important;color:#9fb0c8!important;text-align:left;font-size:12px;
  font-weight:780;text-transform:uppercase;letter-spacing:.085em;
}
.nav-group-toggle:hover{background:rgba(255,255,255,.045)!important;color:#dce6f4!important;transform:none!important}
.nav-group-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-chevron{font-size:15px;text-align:center;transition:transform .18s ease;color:#6f84a1}
.nav-group.is-open>.nav-group-toggle .nav-chevron{transform:rotate(180deg)}
.nav-group-items{
  max-height:0;opacity:.35;overflow:hidden;padding:0;
  transition:max-height .24s ease,opacity .18s ease,padding .18s ease;
}
.nav-group.is-open .nav-group-items{max-height:720px;opacity:1;padding:2px 0 6px}
.sidebar .nav-group-items a{
  margin:1px 0 1px 31px;padding:8px 10px!important;border-radius:9px!important;
  color:#b7c4d6;font-size:13px;position:relative;
}
.sidebar .nav-group-items a::before{
  content:"";position:absolute;left:-13px;top:50%;width:5px;height:5px;border-radius:50%;
  background:#465a76;transform:translateY(-50%);
}
.sidebar .nav-group-items a:hover{transform:none;background:rgba(255,255,255,.045);color:#fff}
.sidebar .nav-group-items a.active{
  background:linear-gradient(90deg,rgba(49,94,232,.26),rgba(49,94,232,.08));
  box-shadow:none;color:#fff;
}
.sidebar .nav-group-items a.active::before{background:#7ea0ff;box-shadow:0 0 0 3px rgba(126,160,255,.13)}
.sidebar-footer{
  position:fixed;left:0;bottom:0;width:282px;margin:0;padding:12px 22px;
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(180deg,rgba(7,16,30,.72),rgba(7,16,30,.98));
  border-top:1px solid rgba(255,255,255,.06);backdrop-filter:blur(12px);
}
.sidebar-footer span{color:#6f84a1}.sidebar-footer strong{color:#b7c4d6;font-size:11px}

/* Topbar and quick create */
.topbar{height:66px}
.quick-create-menu{width:248px;max-height:min(70vh,620px);overflow:auto;padding:8px}
.quick-create-title{
  padding:9px 10px 5px;color:var(--muted);font-size:9px;font-weight:800;
  text-transform:uppercase;letter-spacing:.12em;
}
.quick-create-menu a{font-size:12px}
.quick-create-menu a+a{margin-top:1px}

/* Page rhythm */
.content{padding-top:26px}
.page-head{gap:22px}
.page-head p{margin-bottom:0}
.panel h2{letter-spacing:-.018em}
.section-head h2{margin-bottom:0}
.actions{align-items:center;flex-wrap:wrap}
.button,button{font-weight:600}
.table-wrap{border:1px solid var(--line);background:var(--surface);overflow:auto}
.table-wrap>table th:first-child,.table-wrap>table td:first-child{padding-left:14px}
.table-wrap>table th:last-child,.table-wrap>table td:last-child{padding-right:14px}

/* Transaction editor: use horizontal summary so a one-line quotation/invoice does not leave a huge blank area. */
.tx-form-panel{padding-bottom:16px}
.tx-form-panel .form-section{padding-bottom:18px;margin-bottom:14px}
.tx-form-panel .form-section:last-of-type{padding-bottom:12px;margin-bottom:0}
.tx-form-panel textarea{min-height:76px}
.tx-summary{
  max-width:none;margin:14px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  padding:0;border:1px solid var(--line);overflow:hidden;background:var(--surface-2);
}
.tx-summary div{
  min-height:64px;padding:11px 14px;border:0;border-right:1px solid var(--line);
  display:grid;align-content:center;gap:5px;
}
.tx-summary div:last-child{border-right:0}
.tx-summary span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.tx-summary strong{font-size:15px}
.tx-summary .grand{font-size:inherit;background:color-mix(in srgb,var(--accent-soft) 62%,var(--surface))}
.tx-summary .grand strong{font-size:18px;color:var(--accent)}
.form-actions{margin-top:12px;border-top:1px solid var(--line);padding-top:14px}
.tx-table th,.tx-table td{padding:10px 8px}
.tx-table th:first-child,.tx-table td:first-child{min-width:190px}
.tx-table th:nth-child(2),.tx-table td:nth-child(2){min-width:210px}
.tx-table input,.tx-table select{padding:9px 9px}

/* Dashboard 2.0 */
.dashboard-kpis{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;
}
.dashboard-kpi{
  display:block;padding:17px 18px;border:1px solid var(--line);border-radius:15px;background:var(--surface);
  box-shadow:var(--shadow-sm);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;
}
.dashboard-kpi:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:var(--shadow-md)}
.dashboard-kpi .kpi-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.dashboard-kpi .kpi-label{font-size:11px;color:var(--muted)}
.dashboard-kpi .kpi-icon{font-size:15px;color:var(--accent);background:var(--accent-soft);width:30px;height:30px;border-radius:9px;display:grid;place-items:center}
.dashboard-kpi strong{display:block;font-size:24px;letter-spacing:-.035em;margin:12px 0 4px}
.dashboard-kpi small{display:block;color:var(--muted);font-size:10px}
.dashboard-kpi.accent{
  background:linear-gradient(145deg,var(--accent),var(--accent-2));border-color:transparent;color:#fff;
}
.dashboard-kpi.accent .kpi-label,.dashboard-kpi.accent small{color:rgba(255,255,255,.76)}
.dashboard-kpi.accent .kpi-icon{background:rgba(255,255,255,.14);color:#fff}
.dashboard-workspace-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;margin-bottom:18px}
.dashboard-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dashboard-quick-grid a{
  min-height:78px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);
  display:grid;align-content:center;gap:4px;
}
.dashboard-quick-grid a:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}
.dashboard-quick-grid b{font-size:13px}.dashboard-quick-grid span{font-size:10px;color:var(--muted)}
.dashboard-attention{display:grid;gap:8px}
.dashboard-attention a,.dashboard-attention .attention-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;
  padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)
}
.dashboard-attention a:hover{background:var(--accent-soft)}
.dashboard-attention b{display:block;font-size:12px}.dashboard-attention small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.attention-value{font-size:18px;font-weight:800}
.attention-value.warn{color:var(--warning)}.attention-value.danger{color:var(--danger)}
.dashboard-lower-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}
.dashboard-master-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.dashboard-master-stats a{padding:12px;border:1px solid var(--line);background:var(--surface-2);border-radius:11px}
.dashboard-master-stats span,.dashboard-master-stats small{display:block;color:var(--muted);font-size:10px}
.dashboard-master-stats strong{display:block;font-size:21px;margin:5px 0}
.dashboard-system-list{margin-top:14px}
.dashboard-system-list .detail{padding:9px 0}
.dashboard-bottom-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;margin-top:18px}

/* Master Data governance */
.master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.master-panel{min-width:0}
.master-panel .section-head{margin-bottom:14px}
.master-panel .section-head p{margin:4px 0 0}
.master-create-form{margin-bottom:13px}
.master-list{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.master-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;
  padding:10px 11px;border-bottom:1px solid var(--line);background:var(--surface)
}
.master-row:last-child{border-bottom:0}
.master-row:hover{background:color-mix(in srgb,var(--accent-soft) 32%,var(--surface))}
.master-main{min-width:0}
.master-main strong{display:block;font-size:13px;overflow-wrap:anywhere}
.master-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px;color:var(--muted);font-size:10px}
.master-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.master-actions form{margin:0}
.master-actions .button,.master-actions button{min-height:31px;padding:6px 9px;font-size:10px}
.master-actions .danger-action{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,var(--line));background:var(--danger-soft)}
.master-empty{padding:22px;text-align:center;color:var(--muted);font-size:12px;background:var(--surface-2)}
.master-usage{display:inline-flex;padding:3px 7px;border-radius:999px;background:var(--surface-3);color:var(--muted)}
.master-status{display:inline-flex;padding:3px 7px;border-radius:999px;font-weight:700}
.master-status.active{background:var(--success-soft);color:var(--success)}
.master-status.inactive{background:var(--surface-3);color:var(--muted)}
.master-help{margin-top:16px}
.master-edit-dialog{
  width:min(520px,calc(100vw - 28px));border:1px solid var(--line);border-radius:16px;
  background:var(--surface);color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.28);padding:0
}
.master-edit-dialog::backdrop{background:rgba(5,11,20,.52);backdrop-filter:blur(4px)}
.master-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
.master-dialog-head h2{margin:0;font-size:17px}
.master-dialog-body{padding:18px;display:grid;gap:13px}
.master-dialog-body label{display:grid;gap:6px;font-size:11px;font-weight:650}
.master-dialog-body input{width:100%}
.master-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}

/* Universal ERP search */
.search-hero{max-width:980px;margin-bottom:18px}
.search-form{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:9px;
  background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)
}
.search-form input{border:0!important;background:transparent!important;font-size:17px;padding:10px 12px;outline:0!important;box-shadow:none!important}
.search-groups{display:grid;gap:16px}
.search-group{padding:0;overflow:hidden}
.search-group-head{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line)}
.search-group-head h2{margin:0;font-size:15px}
.search-result{
  display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;
  padding:12px 17px;border-bottom:1px solid var(--line)
}
.search-result:last-child{border-bottom:0}
.search-result:hover{background:var(--accent-soft)}
.search-result-icon{width:36px;height:36px;border-radius:10px;background:var(--surface-3);display:grid;place-items:center;color:var(--accent);font-weight:800}
.search-result strong{display:block;font-size:13px}
.search-result-meta{color:var(--muted);font-size:10px;margin-top:3px;display:flex;gap:7px;flex-wrap:wrap}
.search-result-side{text-align:right}
.search-result-side strong{font-size:12px}
.search-result-side span{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.search-zero{padding:36px 20px;text-align:center;color:var(--muted)}
.search-summary{margin:0 0 16px;color:var(--muted);font-size:12px}

/* Upgrade page: scope metric grid so GST's legacy .version-row rule cannot squeeze dashboard/upgrade cards. */
.upgrade-version-row{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.dashboard-bottom-grid,.dashboard-lower-grid{width:100%}

/* Command palette global-search row */
.command-results [data-global-search-item]{
  background:linear-gradient(135deg,var(--accent-soft),color-mix(in srgb,var(--accent-soft) 38%,var(--surface)));
  border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));margin-bottom:6px
}
.command-results [data-global-search-item] b{color:var(--accent)}

/* Responsive */
@media(max-width:1280px){
  .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-workspace-grid,.dashboard-lower-grid,.dashboard-bottom-grid{grid-template-columns:1fr}
  .upgrade-version-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:980px){
  .sidebar{width:min(310px,90vw)}
  .main,.app.sidebar-collapsed .main{margin-left:0;width:100%}
  .sidebar-footer{width:min(310px,90vw)}
  .master-grid{grid-template-columns:1fr}
  .dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tx-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tx-summary div{border-bottom:1px solid var(--line)}
  .tx-summary .grand{grid-column:1/-1}
  .upgrade-version-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .dashboard-kpis,.dashboard-quick-grid,.dashboard-master-stats{grid-template-columns:1fr}
  .search-form{grid-template-columns:1fr}.search-form button{width:100%}
  .search-result{grid-template-columns:34px minmax(0,1fr)}.search-result-side{grid-column:2;text-align:left}
  .master-row{grid-template-columns:1fr}.master-actions{justify-content:flex-start}
  .tx-summary{grid-template-columns:1fr}.tx-summary .grand{grid-column:auto}
  .tx-summary div{border-right:0}
  .upgrade-version-row{grid-template-columns:1fr!important}
}


/* v0.25 ERP Health Center */
.health-head{align-items:flex-start}.health-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.health-summary{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:18px;box-shadow:var(--shadow-sm,0 6px 18px rgba(20,30,50,.04))}.health-summary span,.health-summary small{display:block;color:var(--muted);font-size:12px}.health-summary strong{display:block;font-size:28px;margin:7px 0 3px}.health-summary.pass{border-left:4px solid #1f9d5a}.health-summary.warn{border-left:4px solid #d69e2e}.health-summary.fail{border-left:4px solid #d64545}.health-summary.version{border-left:4px solid var(--accent)}.health-control-panel{margin-bottom:18px}.health-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.health-check{display:block;border:1px solid var(--line);border-radius:14px;padding:15px;background:var(--surface);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.health-check:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(20,30,50,.08)}.health-check.pass{border-color:color-mix(in srgb,#1f9d5a 38%,var(--line))}.health-check.warn{border-color:color-mix(in srgb,#d69e2e 42%,var(--line))}.health-check.fail{border-color:color-mix(in srgb,#d64545 42%,var(--line))}.health-check-top{display:flex;align-items:center;gap:8px;margin-bottom:12px}.health-check-top strong{font-size:13px;flex:1}.health-dot{width:9px;height:9px;border-radius:50%;background:#8a94a3}.health-check.pass .health-dot{background:#1f9d5a}.health-check.warn .health-dot{background:#d69e2e}.health-check.fail .health-dot{background:#d64545}.health-badge{font-size:9px;letter-spacing:.08em;font-weight:800;border-radius:999px;padding:4px 7px;background:var(--soft,#f4f6f8);color:var(--muted)}.health-check>b{display:block;font-size:18px;margin-bottom:5px}.health-check>small{display:block;color:var(--muted);line-height:1.45}.health-details-grid{margin-bottom:18px}.health-dual-control{display:grid;grid-template-columns:1fr 1fr;gap:12px}.health-dual-control>div{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--soft,#f8fafc)}.health-dual-control span,.health-dual-control small{display:block;color:var(--muted);font-size:12px}.health-dual-control b{display:block;font-size:22px;margin:7px 0 4px}.health-footnote{margin-top:4px}.danger-text{color:#c13b3b!important}html[data-theme="dark"] .health-dual-control>div,html[data-theme="dark"] .health-badge{background:rgba(255,255,255,.035)}@media(max-width:1180px){.health-summary-grid,.health-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.health-summary-grid,.health-check-grid,.health-dual-control{grid-template-columns:1fr}}



/* =========================================================
   NEXWARE ERP v0.30.0 — ENTERPRISE CONSOLIDATED UI
   Access Control, Analytics, Lifecycle, Live Search & Output
   ========================================================= */

.upgrade-version-row{grid-template-columns:repeat(6,minmax(0,1fr))!important}

/* Permission-aware Access Control */
.access-summary,.analytics-metrics{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px
}
.enterprise-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start}
.access-create-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 20px;
  padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)
}
.access-create-grid label>span,.access-user-form label>span,.access-reset-form label>span,
.role-permission-form>label>span,.analytics-filter label>span{
  display:block;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.07em;
  color:var(--muted);margin-bottom:6px
}
.access-create-action{display:flex;align-items:end}
.access-user-list,.role-stack{display:grid;gap:10px}
.access-user-row,.role-card{
  border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden
}
.access-user-row{padding:13px 14px}
.access-user-main{display:flex;align-items:center;gap:10px}
.access-user-main .avatar{
  width:36px;height:36px;border-radius:11px;display:grid;place-items:center;
  background:var(--accent-soft);color:var(--accent);font-weight:850
}
.access-user-main div,.access-user-main div span{min-width:0}
.access-user-main div span{display:block;color:var(--muted);font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.access-user-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:10px 0}
.access-user-row details>summary,.role-card>summary{
  cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 0;font-weight:700
}
.access-user-row details>summary::-webkit-details-marker,.role-card>summary::-webkit-details-marker{display:none}
.access-manage-box{padding:12px 0 2px;border-top:1px solid var(--line);display:grid;gap:10px}
.access-user-form,.access-reset-form{display:grid!important;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto;gap:9px;align-items:end}
.access-reset-form{grid-template-columns:minmax(220px,1fr) auto}
.role-card{padding:0}
.role-card>summary{padding:14px 15px}
.role-card>summary>span:first-child strong,.role-card>summary>span:first-child small{display:block}
.role-card>summary>span:first-child small{font-size:10px;color:var(--muted);margin-top:3px;font-weight:500}
.role-permission-form,.role-owner-note{padding:0 15px 15px}
.role-create-card{margin-bottom:12px}
.role-delete-form{padding:0 15px 15px;display:flex;justify-content:flex-end}
.permission-groups{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0
}
.permission-groups fieldset{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--surface-2);min-width:0}
.permission-groups legend{padding:0 6px;font-size:10px;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.07em}
.permission-check{display:flex!important;align-items:flex-start;gap:8px;padding:7px;border-radius:8px;cursor:pointer}
.permission-check:hover{background:var(--accent-soft)}
.permission-check input{width:auto!important;margin-top:2px}
.permission-check span,.permission-check strong,.permission-check small{display:block;min-width:0}
.permission-check strong{font-size:11px}.permission-check small{font-size:9px;color:var(--muted);margin-top:2px;word-break:break-all}
.role-owner-note{background:var(--success-soft);margin:0 15px 15px;padding:12px;border-radius:10px;color:var(--success)}
.muted-pill{background:var(--surface-3);color:var(--muted);border-color:var(--line)}

/* Analytics */
.analytics-filter-panel{margin-bottom:16px}
.analytics-filter{display:grid;grid-template-columns:180px 180px auto auto 1fr;gap:10px;align-items:end}
.analytics-filter .analytics-range{justify-self:end}
.analytics-range{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:11px
}
.analytics-range strong{color:var(--text)}
.analytics-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.analytics-trend-panel{margin-top:18px}
.trend-legend{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0 14px;color:var(--muted);font-size:11px}
.trend-legend span{display:flex;align-items:center;gap:6px}
.trend-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.legend-sales{background:var(--accent)}.legend-purchase{background:#8b5cf6}.legend-profit{background:var(--success)}
.trend-scroll{display:grid;gap:10px}
.trend-row{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.trend-month{font-weight:750;color:var(--text);padding-top:4px}
.trend-bars{display:grid;gap:7px}.trend-line{display:grid;grid-template-columns:65px 1fr 100px;gap:9px;align-items:center;font-size:10px;color:var(--muted)}
.trend-line>div{height:7px;background:var(--surface-3);border-radius:999px;overflow:hidden}.trend-line i{display:block;height:100%;border-radius:999px}
.trend-line i.sales{background:var(--accent)}.trend-line i.purchase{background:#8b5cf6}.trend-line i.profit{background:var(--success)}.trend-line i.profit.negative{background:var(--danger)}
.trend-line strong{text-align:right;color:var(--text);font-variant-numeric:tabular-nums}
.analytics-grid{grid-template-columns:1fr 1fr;margin-top:18px}
.read-only-note{
  margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;
  background:var(--surface-2);color:var(--muted);font-size:11px
}

/* Document lifecycle */
.document-page-head{gap:18px}.document-head-actions{flex-wrap:wrap}
.document-lifecycle{margin-bottom:18px}
.lifecycle-convert-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lifecycle-convert-form select{min-width:180px}
.lifecycle-track{display:flex;align-items:stretch;gap:8px;overflow-x:auto;padding:4px 1px 7px}
.lifecycle-node{
  min-width:170px;max-width:230px;border:1px solid var(--line);border-radius:12px;padding:12px;
  background:var(--surface-2);display:grid;gap:4px
}
a.lifecycle-node:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:var(--accent-soft)}
.lifecycle-node span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.lifecycle-node strong{font-size:13px;color:var(--text)}.lifecycle-node small{font-size:10px;color:var(--muted)}
.lifecycle-node.current{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}
.lifecycle-arrow{display:grid;place-items:center;color:var(--muted);font-size:18px;flex:0 0 auto}
.activity-timeline{display:grid;gap:0}.activity-item{position:relative;display:grid;grid-template-columns:18px 1fr;gap:8px;padding:8px 0}
.activity-item:not(:last-child)::after{content:"";position:absolute;left:5px;top:21px;bottom:-4px;width:1px;background:var(--line)}
.activity-dot{width:11px;height:11px;border-radius:50%;background:var(--accent);margin-top:3px;box-shadow:0 0 0 3px var(--accent-soft)}
.activity-item div strong,.activity-item div span{display:block}.activity-item div span{font-size:10px;color:var(--muted);margin-top:2px}

/* Live command-palette results */
.command-live-results{display:grid;gap:2px;margin-bottom:5px;padding-bottom:5px;border-bottom:1px solid var(--line)}
.command-live-results[hidden]{display:none}
.command-live-item{display:grid!important;gap:2px;padding:11px 12px!important;border-radius:10px;background:color-mix(in srgb,var(--accent-soft) 65%,var(--surface))!important}
.command-live-item:hover{background:var(--accent-soft)!important}
.command-live-item b{color:var(--accent)!important}.command-live-item span{font-size:10px;color:var(--muted)}
.command-results [data-global-search-item]{margin-top:3px}

/* v0.30 output & table polish */
.document-register-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tx-actions{flex-wrap:wrap}
html[data-theme="dark"] .role-owner-note{background:color-mix(in srgb,var(--success-soft) 85%,#000)}
html[data-theme="dark"] .permission-groups fieldset,
html[data-theme="dark"] .trend-row{background:var(--surface-2)}
html[data-theme="dark"] .command-live-item{background:color-mix(in srgb,var(--accent-soft) 60%,var(--surface))!important}

@media(max-width:1500px){
  .upgrade-version-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .analytics-filter{grid-template-columns:180px 180px auto auto}
  .analytics-filter .analytics-range{grid-column:1/-1;justify-self:start}
}
@media(max-width:1180px){
  .enterprise-grid,.analytics-grid{grid-template-columns:1fr}
  .analytics-metrics,.access-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .access-create-grid,.permission-groups{grid-template-columns:1fr}
  .access-user-form,.access-reset-form{grid-template-columns:1fr}
  .analytics-filter{grid-template-columns:1fr 1fr}.analytics-filter button,.analytics-filter>a{width:100%}
  .trend-row{grid-template-columns:1fr}.trend-line{grid-template-columns:55px 1fr 86px}
}
@media(max-width:560px){
  .analytics-metrics,.access-summary,.analytics-filter{grid-template-columns:1fr}
  .analytics-filter .analytics-range{grid-column:auto}
  .upgrade-version-row{grid-template-columns:1fr!important}
  .lifecycle-convert-form{width:100%}.lifecycle-convert-form select,.lifecycle-convert-form button{width:100%}
}

/* ============================================================
   v0.31.0 SaaS Foundation
   ============================================================ */
.platform-auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);background:var(--surface)}
.platform-auth-hero{background:linear-gradient(145deg,#0b1220,#111d33 58%,#17356f);color:#fff;padding:42px clamp(36px,6vw,88px);display:flex;flex-direction:column;position:relative;overflow:hidden}
.platform-auth-hero:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-210px;bottom:-190px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.platform-logo{font-size:19px;font-weight:850;letter-spacing:.1em;color:#fff;position:relative;z-index:1}.platform-logo span{font-weight:500;opacity:.68}.platform-logo.dark{color:var(--text)}
.platform-hero-copy{margin:auto 0;max-width:680px;position:relative;z-index:1}.platform-kicker{display:inline-block;font-size:11px;letter-spacing:.18em;color:#91b3ff;margin-bottom:18px}.platform-hero-copy h1{font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.045em;margin:0 0 22px}.platform-hero-copy>p{font-size:17px;line-height:1.7;color:#c9d6ea;max-width:600px}.platform-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:38px}.platform-proof-grid>div{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);padding:16px;border-radius:14px;backdrop-filter:blur(10px)}.platform-proof-grid b,.platform-proof-grid span{display:block}.platform-proof-grid b{font-size:12px;margin-bottom:6px}.platform-proof-grid span{font-size:11px;line-height:1.5;color:#aebdd2}
.platform-auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:42px;background:var(--bg)}.platform-form-card{width:min(470px,100%);background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:38px;box-shadow:var(--shadow-md,0 24px 70px rgba(15,23,42,.11))}.platform-mobile-logo{display:none;font-weight:850;letter-spacing:.1em;margin-bottom:24px}.platform-mobile-logo span{opacity:.6}.platform-form-card h2{font-size:30px;letter-spacing:-.03em;margin:7px 0 6px}.platform-form{display:grid;gap:15px;margin-top:24px}.platform-form label{display:grid;gap:7px;font-size:12px;font-weight:700}.platform-form input{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:12px 13px;font:inherit}.platform-form label small{font-weight:400;color:var(--muted)}.platform-auth-foot{text-align:center;color:var(--muted);font-size:13px;margin:20px 0 0}.platform-auth-foot a{color:var(--accent);font-weight:700}
.platform-page-shell{min-height:100vh;background:var(--bg)}.platform-page-top{height:72px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,70px);font-size:13px}.platform-page-top>div{color:var(--muted)}.platform-page-top a:not(.platform-logo){color:var(--accent)}
.organizations-wrap,.onboarding-wrap{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:56px 0 70px}.organizations-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:26px}.organizations-head h1,.onboarding-head h1{font-size:38px;letter-spacing:-.04em;margin:5px 0 8px}.organizations-head p,.onboarding-head p{color:var(--muted);margin:0;line-height:1.6}.organization-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.organization-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow-sm,0 8px 24px rgba(15,23,42,.04))}.organization-card.selected{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}.organization-avatar{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-weight:850}.organization-title{display:flex;align-items:center;gap:8px}.organization-title h2{font-size:17px;margin:0}.organization-body p{font-size:12px;color:var(--muted);margin:5px 0 9px}.organization-meta{display:flex;gap:7px;flex-wrap:wrap}.organization-meta span{font-size:10px;padding:4px 7px;border-radius:999px;background:var(--surface-soft,#f4f6f8);color:var(--muted)}.organization-empty{text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:20px;padding:64px 24px}.organization-empty-icon{font-size:44px;color:var(--accent)}.organization-empty h2{font-size:24px;margin:12px 0 7px}.organization-empty p{color:var(--muted);margin:0 auto 20px;max-width:520px}.organization-security-note{display:flex;gap:12px;align-items:flex-start;margin-top:24px;padding:15px 17px;border-radius:13px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 14%,var(--line));font-size:12px}.organization-security-note b{white-space:nowrap}.organization-security-note span{color:var(--muted);line-height:1.5}
.onboarding-progress{display:grid;grid-template-columns:30px 60px 30px;align-items:center;width:260px;margin-bottom:38px;position:relative}.onboarding-progress>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);font-size:11px;font-weight:800}.onboarding-progress>span.done,.onboarding-progress>span.active{background:var(--accent);border-color:var(--accent);color:#fff}.onboarding-progress>i{height:2px;background:var(--accent)}.onboarding-progress>div{position:absolute;top:38px;left:0;width:160px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.onboarding-head{margin-bottom:26px}.onboarding-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:0 30px;box-shadow:var(--shadow-sm,0 8px 24px rgba(15,23,42,.04))}.onboarding-card>section{padding:28px 0;border-bottom:1px solid var(--line)}.onboarding-section-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}.onboarding-section-title>span{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);font-size:10px;font-weight:850}.onboarding-section-title h2{font-size:16px;margin:0 0 3px}.onboarding-section-title p{font-size:11px;color:var(--muted);margin:0}.onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.onboarding-grid label{display:grid;gap:7px;font-size:11px;font-weight:700}.onboarding-grid label.full{grid-column:1/-1}.onboarding-grid input,.onboarding-grid select,.onboarding-grid textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font:inherit}.onboarding-grid textarea{resize:vertical}.field-muted{opacity:.62}.onboarding-actions{display:flex;justify-content:flex-end;gap:10px;padding:24px 0}
.company-switch-link{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:300px;padding:7px 9px;border-radius:8px;margin-left:-9px}.company-switch-link:hover{background:var(--surface-soft,#f4f6f8)}.company-switch-link strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-switch-link .switch-mark{font-size:11px;color:var(--muted)}
@media(max-width:900px){.platform-auth-shell{grid-template-columns:1fr}.platform-auth-hero{display:none}.platform-auth-form-wrap{min-height:100vh;padding:22px}.platform-mobile-logo{display:block}.organization-grid{grid-template-columns:1fr}.organization-card{grid-template-columns:auto 1fr}.organization-card form{grid-column:1/-1}.organization-card form button{width:100%}.onboarding-grid{grid-template-columns:1fr}.onboarding-grid label.full{grid-column:auto}.organizations-head{align-items:flex-start;flex-direction:column}.organizations-head .button{width:100%}.organizations-wrap,.onboarding-wrap{width:min(100% - 28px,1120px);padding-top:32px}.platform-page-top{padding:0 18px}}
@media(max-width:560px){.platform-form-card{padding:26px 20px;border-radius:18px}.platform-auth-form-wrap{padding:12px}.organizations-head h1,.onboarding-head h1{font-size:31px}.onboarding-card{padding:0 18px}.platform-page-top>div span{display:none}.organization-security-note{display:grid}.company-switch-link{max-width:180px}}
