/* Liberty Sales — shared design system (theme-aware; data-theme set by app-shell) */
:root{
  --bg:#0b1220; --panel:#111c30; --panel2:#0e1728; --border:rgba(255,255,255,.09);
  --text:#e8eef7; --muted:rgba(255,255,255,.55); --faint:rgba(255,255,255,.30);
  --navy:#0b1f3a; --red:#c8102e; --green:#22c55e; --gold:#f5c400; --blue:#3b82f6;
  --shadow:0 10px 30px rgba(0,0,0,.35); --radius:10px;
  --field:#0c1526; --field-border:rgba(255,255,255,.14);
}
:root[data-theme="light"]{
  --bg:#eef1f6; --panel:#ffffff; --panel2:#f7f9fc; --border:rgba(10,20,40,.10);
  --text:#14213a; --muted:#5b6b85; --faint:#9aa7bd;
  --navy:#0b1f3a; --shadow:0 8px 24px rgba(20,40,80,.10);
  --field:#ffffff; --field-border:rgba(10,20,40,.18);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);
  font-family:'Barlow Condensed','Segoe UI',Arial,sans-serif;font-size:15px;line-height:1.4;}
h1,h2,h3{margin:0;font-weight:800;letter-spacing:.4px}
a{color:var(--blue);text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:18px 18px 60px}
.page-head{display:flex;align-items:center;gap:14px;margin:8px 0 18px}
.page-head h1{font-size:26px;text-transform:uppercase;letter-spacing:1px}
.page-head .sub{color:var(--muted);font-size:14px}
.spacer{flex:1}

.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:16px;margin-bottom:16px}
.panel h2{font-size:14px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:12px}

.row{display:flex;gap:12px;flex-wrap:wrap}
.col{flex:1;min-width:180px}
label.fld{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);margin-bottom:4px;font-weight:700}
input,select,textarea{width:100%;background:var(--field);color:var(--text);
  border:1px solid var(--field-border);border-radius:7px;padding:9px 10px;font-family:inherit;font-size:15px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue)}
input[type=number]{text-align:right}
textarea{min-height:60px;resize:vertical}

.btn{font-family:inherit;font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  color:#fff;background:var(--navy);border:1px solid transparent;border-radius:7px;padding:9px 15px;cursor:pointer;white-space:nowrap}
.btn:hover{filter:brightness(1.12)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.red{background:var(--red)}
.btn.green{background:var(--green);color:#04210f}
.btn.gold{background:var(--gold);color:#2a2100}
.btn.ghost{background:transparent;border-color:var(--field-border);color:var(--text)}
.btn.sm{padding:6px 10px;font-size:11px}
.btn-row{display:flex;gap:10px;flex-wrap:wrap}

.plant-toggle{display:inline-flex;border:1px solid var(--field-border);border-radius:8px;overflow:hidden}
.plant-toggle button{background:transparent;color:var(--muted);border:none;padding:8px 18px;
  font-family:inherit;font-weight:800;letter-spacing:.6px;text-transform:uppercase;font-size:13px;cursor:pointer}
.plant-toggle button.on{background:var(--red);color:#fff}

table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);
  font-weight:700;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:middle}
tr:hover td{background:var(--panel2)}
.num{text-align:right;font-variant-numeric:tabular-nums}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12.5px}

.badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  padding:3px 8px;border-radius:20px;white-space:nowrap}
.badge.stock{background:rgba(34,197,94,.16);color:#4ade80;border:1px solid rgba(34,197,94,.4)}
.badge.draft{background:rgba(148,163,184,.16);color:#94a3b8}
.badge.pending{background:rgba(245,196,0,.16);color:var(--gold)}
.badge.approved{background:rgba(34,197,94,.16);color:#4ade80}
.badge.exported{background:rgba(59,130,246,.16);color:#60a5fa}
.badge.rejected{background:rgba(200,16,46,.16);color:#f87171}

.muted{color:var(--muted)}
.empty{padding:40px;text-align:center;color:var(--muted)}
.pricing-note{font-size:12px;color:var(--gold);margin-top:4px}

/* modal */
.modal-bg{position:fixed;inset:0;background:rgba(3,8,18,.66);display:none;align-items:flex-start;
  justify-content:center;z-index:3000;padding:40px 16px;overflow:auto}
.modal-bg.open{display:flex}
.modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);
  width:100%;max-width:820px;padding:20px}
.modal h2{font-size:18px;text-transform:none;letter-spacing:.3px;color:var(--text)}
.modal .close{cursor:pointer;color:var(--muted);font-size:22px;line-height:1;background:none;border:none}

/* toast */
#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:4000;
  background:var(--navy);color:#fff;padding:11px 18px;border-radius:8px;box-shadow:var(--shadow);
  font-weight:700;letter-spacing:.4px;display:none}
#toast.err{background:var(--red)}
#toast.show{display:block}

.totals{display:flex;justify-content:flex-end;gap:26px;flex-wrap:wrap;padding-top:6px}
.totals .t{text-align:right}
.totals .t .k{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}
.totals .t .v{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.totals .t.grand .v{color:var(--green)}
