:root{color-scheme:light;--bg:#f4f1ea;--paper:#fffdf8;--ink:#1c1915;--muted:#5c564c;--line:#d9d0c3;--accent:#9a3412;--accent-ink:#fff7ed;--ok:#166534;--danger:#9f1239;--danger-bg:#fff1f2}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 Segoe UI,sans-serif}body{min-height:100vh}a,button,input{color:inherit}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{max-width:1100px;margin:0 auto;padding:28px 20px 64px}.top{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:22px}h1{margin:0;font-size:1.6rem;letter-spacing:-.03em}.sub{margin:4px 0 0;color:var(--muted);font-size:.92rem}.filters{display:flex;gap:8px;margin:0 0 16px}.btn,.filters button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:6px 12px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.actions{display:flex;gap:6px}.btn.primary{background:var(--ok);color:white;border-color:var(--ok)}.btn.danger{background:var(--danger-bg);color:var(--danger);border-color:#fecdd3}.login{max-width:380px;margin:12vh auto;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px}label{display:block;margin:12px 0 4px;font-size:.85rem;color:var(--muted)}input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:white}.login button,.modal button{margin-top:16px}.error{color:var(--danger);min-height:1.2em}.modal-back{position:fixed;inset:0;background:rgba(28,25,21,.35);display:grid;place-items:center;padding:20px}.modal{width:min(420px,100%);background:var(--paper);border-radius:16px;padding:22px}.modal p{margin:8px 0 0}.modal .actions{margin-top:16px}