:root{--bg:#f4f1ea;--surface:rgba(255,252,246,0.86);--surface-strong:#fffdf8;--line:#d8cfbf;--text:#1f1b16;--muted:#685d4d;--accent:#1e6b5c;--accent-soft:#dbece8;--danger:#b64027;--warning:#b9721d;--shadow:0 18px 50px rgba(43,33,17,0.08);--radius:22px;--radius-sm:14px}*{box-sizing:border-box}html{font-family:Segoe UI,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(30,107,92,.14),transparent 34%),linear-gradient(180deg,#f6f2eb,#ece5d8)}body{margin:0;min-height:100vh;padding-bottom:env(safe-area-inset-bottom)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:44px}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar-shell{display:contents}.sidebar{background:rgba(33,30,24,.92);color:#f5f1e9;padding:28px 20px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);background:rgba(255,255,255,.04);margin-bottom:24px}.brand h1{margin:0 0 6px;font-size:1.5rem}.brand p,.sidebar small{margin:0;color:rgba(245,241,233,.68)}.nav{display:grid;grid-gap:10px;gap:10px}.nav a,.nav form button{width:100%;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid transparent;background:transparent;color:inherit}.nav a:hover,.nav form button:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08)}.content{padding:26px}.mobile-overlay,.mobile-topbar{display:none}.menu-button{border-radius:14px;border:1px solid rgba(30,107,92,.16);background:var(--accent-soft);color:#123c34;padding:11px 16px}.page{display:grid;grid-gap:18px;gap:18px}.card,.form-card,.hero,.login-card,.table-wrap{background:var(--surface);border:1px solid rgba(136,116,91,.18);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero{padding:24px;display:grid;grid-gap:14px;gap:14px}.hero h2,.section-title{margin:0;font-size:1.8rem}.muted{color:var(--muted)}.actions-row,.grid-2,.grid-3,.stats-grid{display:grid;grid-gap:16px;gap:16px}.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.form-card{padding:18px}.stat-card{padding:16px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.65),rgba(248,244,236,.95));border:1px solid rgba(126,108,86,.14)}.stat-card strong{display:block;font-size:2rem;margin-bottom:8px}.stat-button{text-align:left;cursor:pointer}.inline-modal{margin-top:12px}.actions-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.search-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.btn,.btn-danger,.btn-secondary{border-radius:14px;border:1px solid transparent;padding:11px 16px;transition:.2s ease}.btn{background:var(--accent);color:white}.btn:hover{filter:brightness(1.05)}.btn-secondary{background:var(--accent-soft);color:#123c34;border-color:rgba(30,107,92,.16)}.btn-danger{background:#f8e3df;color:var(--danger);border-color:rgba(182,64,39,.18)}.field,.field input,.field select,.field textarea{width:100%}.field{display:grid;grid-gap:8px;gap:8px}.field input,.field select,.field textarea{border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.86);padding:12px 14px;color:var(--text);min-height:46px}.field textarea{min-height:110px;resize:vertical}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:14px 16px;border-bottom:1px solid rgba(120,100,75,.14);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.95rem}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#efe7d9;color:#5e4b2e;font-size:.9rem}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,460px);padding:28px}.stack{display:grid;grid-gap:14px;gap:14px}.split{align-items:center;justify-content:space-between}.row-actions,.split{display:flex;gap:12px}.row-actions{flex-wrap:wrap}.compact-grid{align-items:end}.transfer-card{padding:18px;border-radius:18px;background:rgba(182,64,39,.12);border:1px solid rgba(182,64,39,.22)}.text-block{display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.65);border:1px solid rgba(120,100,75,.12);font-size:.92rem;line-height:1.2}.note-block{max-height:220px;overflow-y:auto;white-space:pre-wrap;line-height:1.45}.notice{padding:12px 14px;border-radius:14px;background:#f6ead6;color:#6f4f15}.danger-text{color:var(--danger)}.empty{padding:22px;text-align:center;color:var(--muted)}.mobile-list{display:none}.scanner-card{padding:14px;border-radius:18px;border:1px solid rgba(30,107,92,.18);background:rgba(235,245,242,.72)}.scanner-region{width:100%;min-height:320px;border-radius:18px;overflow:hidden;background:rgba(22,20,17,.85)}.scanner-region video{width:100%;height:auto;display:block}@media (max-width:1100px){.grid-2,.grid-3,.stats-grid{grid-template-columns:1fr 1fr}}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar-shell{display:block;position:fixed;inset:0 auto 0 0;width:min(280px,82vw);z-index:30;transform:translateX(-100%);transition:transform .2s ease}.sidebar-shell.is-open{transform:translateX(0)}.sidebar{height:100vh;position:static;overflow-y:auto}.content{padding:18px}.mobile-topbar{display:flex;justify-content:flex-start;margin-bottom:14px}.mobile-overlay{display:block;position:fixed;inset:0;background:rgba(27,22,16,.3);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:20}.mobile-overlay.is-visible{opacity:1;pointer-events:auto}.grid-2,.grid-3,.stats-grid{grid-template-columns:1fr}.desktop-table{display:none}.mobile-list{display:grid;grid-gap:12px;gap:12px}}