
:root{
  --bg:#121e28; --primary:#3a3e8d; --accent:#019f56; --accentDeep:#005c31;
  --ink:#0b1220; --muted:#5b677a; --card:#ffffff;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;color:var(--ink);background:#f6f7fb}
.container{max-width:1200px;margin:0 auto;padding:16px}
.hero{background:linear-gradient(120deg,var(--bg),var(--primary));color:white;padding:28px 0;margin-bottom:16px;box-shadow:0 10px 25px rgba(0,0,0,.08)}
.hero h1{margin:0 0 6px 0}
.card{background:var(--card);border-radius:16px;box-shadow:0 2px 12px rgba(10,22,50,.06);padding:16px;margin-bottom:16px}
h2{margin:0 0 12px 0;color:var(--primary)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid .full{grid-column:1 / -1}
label{font-size:14px;display:flex;flex-direction:column;gap:6px}
input,textarea{padding:10px 12px;border:1px solid #d7dbe3;border-radius:12px;font-size:14px}
.row{display:flex;gap:12px}
.row.center{align-items:center}
.row.between{justify-content:space-between}
.search{min-width:220px}

.layout{display:grid;grid-template-columns:260px 1fr;gap:16px}
.sidebar{position:sticky;top:12px;height:fit-content}
.sidebar-header{font-weight:700;margin-bottom:8px;color:var(--primary)}
.cats{display:flex;flex-direction:column;gap:6px}
.cat{padding:10px 12px;border:1px solid #e5e8f0;border-radius:12px;background:white;cursor:pointer}
.cat.active{border-color:var(--primary);box-shadow:0 2px 10px rgba(58,62,141,.12)}
.cat .count{font-size:12px;color:var(--muted)}

.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.item{border:1px solid #e5e8f0;border-radius:14px;padding:10px;display:flex;justify-content:space-between;align-items:center}
.item .meta{font-size:12px;color:var(--muted)}
.qty{display:flex;align-items:center;gap:8px}
.qty input{width:64px;text-align:center}
.btn{background:var(--accent);color:white;border:0;border-radius:14px;padding:12px 18px;font-weight:600;cursor:pointer}
.btn:active{transform:translateY(1px)}
.muted{color:var(--muted)}
.small{font-size:12px}
.total{font-size:26px;font-weight:800;color:var(--accent)}
.stickybar{position:sticky;bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:white;border:1px solid #e5e8f0;border-radius:16px;box-shadow:0 8px 18px rgba(10,22,50,.05);padding:12px}
.footnote{margin:20px 0 10px 0;text-align:center}

@media (max-width:980px){.layout{grid-template-columns:1fr} .sidebar{position:static}}
