:root{
  --bg:#f6f5f2; --panel:#ffffff; --ink:#1f2320; --sub:#6b7268;
  --line:#e4e2dc; --accent:#4a6b52; --accent-ink:#ffffff;
  --warn:#b5542e; --warn-bg:#fbe9e2; --ok:#3f7a4f; --ok-bg:#e7f2e9;
  --chip:#eef1ec;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#16181a; --panel:#1f2224; --ink:#eceae5; --sub:#9a9e97;
    --line:#33362f; --accent:#7fa787; --accent-ink:#0d120e;
    --warn:#e08a63; --warn-bg:#3a2419; --ok:#7fc194; --ok-bg:#1c2e20;
    --chip:#2a2d27;
  }
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
#app{max-width:520px; margin:0 auto; min-height:100vh; padding:16px 16px 80px;}
h1{font-size:19px; margin:0 0 2px;}
.sub{color:var(--sub); font-size:13px; margin:0 0 18px;}
.panel{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:16px; margin-bottom:14px;}
label{display:block; font-size:12px; color:var(--sub); margin:10px 0 4px; font-weight:600; text-transform:uppercase; letter-spacing:.02em;}
input[type=text],input[type=password],input[type=number]{
  width:100%; padding:12px; border-radius:10px; border:1px solid var(--line);
  background:var(--bg); color:var(--ink); font-size:16px;
}
select{width:100%; padding:12px; border-radius:10px; border:1px solid var(--line); background:var(--bg); color:var(--ink); font-size:16px;}
button{font-size:15px; font-weight:600; border:none; border-radius:10px; padding:12px 16px; cursor:pointer;}
.btn-main{background:var(--accent); color:var(--accent-ink); width:100%; margin-top:14px;}
.btn-ghost{background:transparent; color:var(--sub); border:1px solid var(--line);}
.btn-sm{padding:8px 12px; font-size:13px; border-radius:8px;}
.row{display:flex; gap:8px; align-items:center;}
.topbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px;}
.who{font-size:12px; color:var(--sub);}
.tabs{display:flex; gap:6px; margin-bottom:14px;}
.tab{flex:1; text-align:center; padding:9px 4px; border-radius:9px; background:var(--chip); color:var(--sub); font-size:13px; font-weight:600; cursor:pointer;}
.tab.active{background:var(--accent); color:var(--accent-ink);}
.cat-title{font-size:13px; font-weight:700; color:var(--sub); text-transform:uppercase; letter-spacing:.03em; margin:18px 0 8px;}
.item{border:1px solid var(--line); border-radius:12px; padding:12px; margin-bottom:10px; background:var(--bg);}
.item-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px;}
.item-name{font-weight:600; font-size:15px;}
.item-meta{font-size:12px; color:var(--sub);}
.badge{font-size:11px; font-weight:700; padding:3px 8px; border-radius:20px;}
.badge-warn{background:var(--warn-bg); color:var(--warn);}
.badge-ok{background:var(--ok-bg); color:var(--ok);}
.summary-row{display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); gap:10px;}
.summary-row:last-child{border-bottom:none;}
.stat{background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:14px; text-align:center;}
.stat-num{font-size:22px; font-weight:700;}
.stat-label{font-size:11px; color:var(--sub); text-transform:uppercase; margin-top:2px;}
.stat-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px;}
.branch-block{margin-bottom:18px;}
.branch-title{font-size:15px; font-weight:700; margin-bottom:8px;}
.checkbox-row{display:flex; align-items:center; gap:8px; margin-top:8px;}
.checkbox-row input{width:auto;}
.small-btn-row{display:flex; gap:8px; margin-top:10px;}
.empty{color:var(--sub); font-size:13px; text-align:center; padding:20px 0;}
.err{color:var(--warn); font-size:13px; margin-top:8px;}
.msg-ok{color:var(--ok); font-size:13px; margin-top:8px;}
.item-list-row{display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid var(--line);}
.item-list-row:last-child{border-bottom:none;}
