
:root{
  --bg:#0f172a;
  --panel:#111827;
  --muted:#94a3b8;
  --text:#e5e7eb;
  --accent:#22c55e;
  --warn:#f59e0b;
  --danger:#ef4444;
  --card:#1f2937;
  --input:#0b1220;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#0b1020, #0f172a);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica Neue,Arial,Noto Sans}
.wrap{max-width:1400px;margin:24px auto;padding:16px}
h1{font-size:clamp(22px,3vw,32px);margin:0 0 12px}
.sub{color:var(--muted);font-size:14px;margin-bottom:20px}
.grid{display:grid;gap:16px;grid-template-columns:1.2fr 1fr .8fr}
@media (max-width:1200px){.grid{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:16px;box-shadow:0 10px 25px rgba(0,0,0,.25)}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
input,select,button{border-radius:12px;border:1px solid rgba(255,255,255,.08);background:var(--input);color:var(--text);padding:12px 14px;font-size:16px}
input,select{flex:1;min-width:160px}
button{cursor:pointer;transition:.2s transform,.2s opacity}
button:hover{transform:translateY(-1px)}
button:disabled{opacity:0.5;cursor:not-allowed}
.primary{background:linear-gradient(90deg,#16a34a,#22c55e);border:none;color:#04120a;font-weight:700}
.ghost{background:transparent}
.warn{background:linear-gradient(90deg,#eab308,#f59e0b);border:none;color:#2a1d04;font-weight:700}
.muted{color:var(--muted)}
.list{display:grid;gap:8px;max-height:420px;overflow:auto;padding-right:4px}
.item{display:grid;grid-template-columns:1fr 120px;gap:8px;align-items:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);padding:10px 12px;border-radius:12px}
.badge{font-size:12px;padding:4px 8px;border-radius:999px;background:#0b1220;border:1px solid rgba(255,255,255,.1);text-align:center;margin-left:6px}
.empty{border:1px dashed rgba(255,255,255,.15);padding:20px;border-radius:12px;text-align:center}
.kpi{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.kpi .box{background:var(--panel);border:1px solid rgba(255,255,255,.06);padding:12px 14px;border-radius:14px;min-width:150px}
.small{font-size:12px;color:var(--muted)}
.search{width:100%}
.divider{height:1px;background:rgba(255,255,255,.08);margin:12px 0}
#discountInfo, #taskGenInfo{margin-top:8px;font-size:12px;color:var(--muted)}
