:root{--bg: #14120e;--panel: #1f1b14;--panel-2: #2a2419;--border: #3d3422;--text: #e8dfc8;--muted: #9c8f6e;--accent: #c9a648;--danger: #c75545;--ok: #7da35a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Georgia,Times New Roman,serif;line-height:1.45}#root{max-width:1080px;margin:0 auto;padding:16px}h1,h2,h3{color:var(--accent);font-weight:600;margin:0 0 12px}h1{font-size:1.5rem}h2{font-size:1.15rem}a{color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:16px;margin-bottom:16px}.row{display:flex;gap:16px;flex-wrap:wrap}.row>.panel{flex:1 1 300px}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}input,select,button{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:8px 10px}input:focus,select:focus{outline:1px solid var(--accent)}input.qty{width:90px;text-align:right}button{cursor:pointer;background:var(--accent);color:#1a1610;font-weight:700;border:none}button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:default}button.ghost{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}.nav{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.nav button{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}.nav button.active{background:var(--accent);color:#1a1610;border-color:var(--accent)}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field label{color:var(--muted);font-size:.9rem}.error{color:var(--danger);margin:8px 0}.success{color:var(--ok);margin:8px 0}.muted{color:var(--muted)}.topbar{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--accent);padding-bottom:8px;margin-bottom:16px}.news li{margin-bottom:4px}.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.stat{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:8px 10px}.stat .label{color:var(--muted);font-size:.8rem}.stat .value{font-size:1.1rem;font-variant-numeric:tabular-nums}@media(max-width:600px){#root{padding:8px}.row{flex-direction:column}}
