:root{--bg: #f6f7f5;--surface: #ffffff;--text: #1d2321;--muted: #66706c;--border: #dfe3e0;--primary: #2f6f5e;--primary-hover: #255a4c;--danger: #b3261e;--warn-bg: #fdf0d5;--warn-text: #7a4b00;--radius: 8px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}h1{font-size:1.5rem;margin:0 0 1rem}a{color:var(--primary)}.container{max-width:1040px;margin:0 auto;padding:0 1rem}main.container{padding-top:1.5rem;padding-bottom:3rem}.narrow{max-width:640px}.muted{color:var(--muted)}.block{display:block}.num{text-align:right;font-variant-numeric:tabular-nums}.topbar{background:var(--surface);border-bottom:1px solid var(--border)}.topbar__inner{display:flex;align-items:center;gap:2rem;height:56px}.brand{font-weight:700;color:var(--text);text-decoration:none}.nav{display:flex;gap:1rem}.nav a{color:var(--muted);text-decoration:none;padding:.25rem 0}.nav a.is-active{color:var(--text);border-bottom:2px solid var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius);padding:.5rem .9rem;font:inherit;cursor:pointer;text-decoration:none;background:transparent;color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--primary-hover)}.btn--ghost{border-color:var(--border);background:var(--surface)}.btn--danger-ghost{color:var(--danger)}input,select,textarea{font:inherit;padding:.5rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:-1px}.form{display:grid;gap:1rem;background:var(--surface);padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius)}.form label{display:grid;gap:.35rem;font-weight:500}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form__actions{display:flex;justify-content:flex-end;gap:.5rem}.field-error{color:var(--danger);font-weight:400;font-size:.875rem}.inline-form{display:flex;gap:.5rem;margin-bottom:1rem}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.page-head h1{margin:0}.filters{display:grid;grid-template-columns:2fr 1fr;gap:.75rem;margin-bottom:1rem}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table th,.table td{padding:.7rem .9rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.table th.num,.table td.num{text-align:right}.table tr:last-child td{border-bottom:0}.actions{white-space:nowrap;text-align:right}.list{list-style:none;padding:0;margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.list li{display:flex;justify-content:space-between;align-items:center;padding:.6rem .9rem;border-bottom:1px solid var(--border)}.list li:last-child{border-bottom:0}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.8rem}.badge--warn{background:var(--warn-bg);color:var(--warn-text)}.alert{background:#fdecea;color:var(--danger);border:1px solid #f5c2bf;padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem}.empty{padding:2rem;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius)}@media(max-width:640px){.filters,.form .row{grid-template-columns:1fr}}
