@font-face {
  font-family: Nunito;
  src: url('/assets/fonts/Nunito-Variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
}
:root {
  --bg:#f3f6ed; --card:#ffffff; --raised:#fbfcf7; --side:#eaf0e0;
  --text:#202c20; --muted:#65715d; --line:#dce4d1; --input:#f0f4e8;
  --accent:#c5e34c; --on-accent:#17220a; --blue:#526c12; --blue-deep:#b8d63e;
  --blue-soft:#e6edcb; --soft-line:#c6d69e; --green:#237644;
  --amber:#8e711d; --danger:#a63d37; --radius:24px; --shadow:0 8px 32px #162a0c0a;
  font-family:Nunito,"Segoe UI",sans-serif; color-scheme:light;
}
:root[data-theme="dark"] {
  --bg:#09150f; --card:#101e14; --raised:#142318; --side:#0c1911;
  --text:#eef3e9; --muted:#97a48f; --line:#2a3925; --input:#17271b;
  --blue:#c5e34c; --blue-soft:#253516; --soft-line:#485c25; --green:#69cb90;
  --amber:#d9bd6f; --danger:#ed9e91; --shadow:0 8px 32px #00000012;
  color-scheme:dark;
}
body { font-weight:600; background:var(--bg); }
[hidden] { display:none!important; }
h1 { font-weight:900; letter-spacing:-1px; }
h2,h3 { font-weight:850; }
button { touch-action:manipulation; }
button:focus-visible,a:focus-visible { outline-color:var(--blue); }
.sidebar { background:var(--side); border-right-color:var(--line); }
.brand { display:block; padding:0 10px; }
.brand-wordmark { display:inline-flex; gap:5px; align-items:baseline; font-weight:1000; font-size:30px; line-height:1; letter-spacing:-1.4px; color:var(--blue); }
.brand-wordmark span { font-weight:750; }
.brand small { display:block; color:var(--muted); font-size:9px; letter-spacing:1.5px; text-transform:uppercase; margin-top:8px; }
.top-brand { display:grid; gap:4px; }
.top-brand .brand-wordmark { font-size:23px; letter-spacing:-.9px; }
.top-brand .topbar-title { font-size:10px; font-weight:650; color:var(--muted); }
.brand-icon { color:var(--on-accent); background:var(--accent); box-shadow:none; }
.topbar { background:var(--card); }
.nav-button { border:1px solid transparent; border-radius:18px; font-weight:800; }
.nav-button.active { border-color:var(--soft-line); }
.nav-button:hover { background:var(--input); }
.avatar { background:var(--input); color:var(--blue); }
.btn { border-radius:15px; font-weight:850; }
.btn-primary { color:var(--on-accent); background:var(--accent); box-shadow:none; }
.btn-primary:hover { background:var(--blue-deep); }
.btn-outline { border-color:var(--line); }
.btn-danger { background:#a63d3714; color:var(--danger); }
.btn-link,.btn-soft { color:var(--blue); }
.testbar { background:var(--blue-soft); border-color:var(--soft-line); border-radius:18px; }
.testbar .eyebrow,.testbar-label p,.testbar .real-mode { color:var(--muted); }
.role-switch { background:var(--input); border-color:var(--line); border-radius:13px; }
.role-switch button { color:var(--muted); font-weight:800; border-radius:10px; }
.role-switch button.active { color:var(--blue); background:var(--card); box-shadow:none; }
.testbar select { background:var(--card); border-color:var(--soft-line); color:var(--text); }
.testbar .demo-join { font-size:11px; padding:5px 8px; min-height:28px; }
.stat,.order-card,.detail-panel,.form-card,.person-card,.shop-card,.hint-card { background:linear-gradient(125deg,var(--raised),var(--card)); }
.stat strong { font-weight:950; }
.stat .stat-icon.amber { color:var(--amber); background:#c5e34c14; }
.stat .stat-icon.teal,.stat .stat-icon.green { color:var(--green); background:#69cb9014; }
.attention { background:var(--blue-soft); border-color:var(--soft-line); color:var(--text); border-radius:18px; }
.attention>svg { color:var(--blue); }
.attention button { color:var(--blue); background:var(--card); border-color:var(--soft-line); }
.chip,.filter-select { font-weight:750; border-radius:13px; }
.chip.active { border-color:var(--soft-line); }
.order-card:hover { border-color:var(--soft-line); }
.order-card.selected { background:linear-gradient(125deg,var(--blue-soft),var(--card)); }
.order-card .order-number { font-weight:900; }
.order-card .store { font-weight:800; }
.mini-category,.item-group-name { color:var(--muted); background:var(--input); }
.item-group-name { font-weight:800; }
.status { font-weight:850; background:var(--input); color:var(--muted); }
.status-new { background:light-dark(#f5edcf,#3c321a); color:light-dark(#88640b,#e3c77b); }
.status-accepted { background:var(--blue-soft); color:var(--blue); }
.status-assembled { background:light-dark(#e9e3f4,#2d2540); color:light-dark(#76559d,#c3a3e3); }
.status-shipped { background:light-dark(#dff0e6,#173b2d); color:light-dark(#247657,#85d7ac); }
.status-received { background:light-dark(#e4edcb,#293b18); color:light-dark(#526c12,#c5e34c); }
.status-cancelled { background:light-dark(#f5e3df,#3b2522); color:var(--danger); }
.attention-label { color:var(--amber); }
.detail-empty svg,.empty-state>svg { color:var(--muted); }
.detail-panel { box-shadow:none; }
.item-row strong { font-weight:800; }
.comment { background:var(--input); }
.info-box { background:var(--blue-soft); color:var(--text); }
.info-box>svg { color:var(--blue); }
.info-box.teal { background:light-dark(#dff0e6,#173b2d); color:var(--green); }
.empty-state { border-color:var(--line); }
.category-tabs { background:var(--input); border-radius:17px; }
.category-tab { font-weight:800; border-radius:12px; }
.category-tab.active { box-shadow:none; background:var(--blue-soft); }
.field label { font-weight:850; }
.field input,.field select,.field textarea { background:var(--input); border-color:var(--line); border-radius:15px; }
.field textarea::placeholder,.field input::placeholder { color:var(--muted); opacity:.65; }
.field input:focus,.field textarea:focus,.field select:focus { outline-color:var(--blue-soft); border-color:var(--blue); }
.field .helper { font-weight:550; }
.demo-badge { background:var(--blue-soft); border-color:var(--soft-line); color:var(--blue); }
.request-section { margin-bottom:25px; }
.request-card { border-color:var(--soft-line); }
.request-card .requested-shop { margin:13px 0; padding:10px 12px; border-radius:12px; background:var(--input); font-size:12px; }
.section-heading { display:flex; align-items:center; gap:9px; margin:0 0 15px; }
.section-heading h2 { font-size:19px; }
.section-heading .status { color:var(--blue); background:var(--blue-soft); }
dialog { border-radius:28px; box-shadow:0 30px 100px #00000040; }
dialog::backdrop { background:#03100799; }
#toast { background:var(--text); color:var(--bg); }
#toast.error { background:var(--danger); color:var(--on-accent); }
@media(max-width:850px) {
  .topbar { height:73px; padding:0 20px; }
  .top-brand .brand-wordmark { font-size:23px; }
  .topbar .topbar-title { font-size:9px; }
  .topbar>.gap { gap:4px; }
  .topbar .demo-badge { display:none; }
  .topbar .icon-button { min-width:38px; width:38px; }
  .detail-panel.is-open { background:var(--card); }
  .testbar .demo-join { order:5; }
  .request-card .actions { flex-wrap:wrap; }
  .content { padding-top:23px; }
}
