:root{--bg: #f7f2ea;--surface: #ffffff;--ink: #0d0a06;--muted: #6b6257;--border: #e2d9cb;--primary: #b3541e;--primary-ink: #ffffff;--danger: #b3261e;--ok: #2e7d32;--radius: 8px;--sidebar-w: 220px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}#app{min-height:100vh}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;cursor:pointer}.btn{background:var(--primary);color:var(--primary-ink);border:none;padding:8px 14px;border-radius:var(--radius);font-weight:600}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--border)}.btn-danger{background:var(--danger);color:#fff}.input,.field input,.field select,.field textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:14px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field>label{font-size:12px;font-weight:600;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:#faf6ef}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--border);color:var(--ink)}.blurred{color:var(--muted);letter-spacing:2px;-webkit-user-select:none;user-select:none}.error-msg{color:var(--danger);font-size:13px}.muted{color:var(--muted)}.row{display:flex;gap:12px;align-items:center}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
