:root{--ink:#14171F;--ink-2:#2A2F3B;--ink-3:#4A5163;--paper:#F4F1EA;--paper-2:#E9E4D8;--line:#D6CFC0;--accent:#B8791F;--accent-ink:#7A4E0F;--ok:#2F7D4F;--ok-bg:#E3F1E8;--warn:#A8462B;--warn-bg:#F7E4DE;--info-bg:#E6ECF4;--radius:6px;--radius-lg:10px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px}*{box-sizing:border-box}body,html{margin:0;background:var(--paper);color:var(--ink);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent-ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button,input,select,textarea{font:inherit}h1{font-size:22px;margin:0 0 var(--s4)}h2{font-size:16px;margin:var(--s5) 0 var(--s2)}main{max-width:1280px;margin:0 auto;padding:var(--s5)}.topbar{background:var(--ink);color:#fff;padding:10px 24px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.topbar b{letter-spacing:.04em;text-transform:uppercase}.topbar b span{color:#B9B3A6;font-weight:400;text-transform:none}.topbar nav{display:flex;gap:4px;flex-wrap:wrap}.topbar nav a{color:#E8E3D8;text-decoration:none;padding:6px 10px;border-radius:var(--radius)}.topbar nav a[aria-current=page]{background:var(--ink-2);color:#fff}.topbar .who{margin-left:auto;font-size:13px;color:#B9B3A6}.topbar .who button{background:none;border:0;color:#C9C3B6;cursor:pointer;text-decoration:underline}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:var(--s3);gap:var(--s3);margin-bottom:var(--s5)}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s3) var(--s4)}.stat b{display:block;font-size:22px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat span{color:var(--ink-3);font-size:13px}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;font-size:14px}td,th{padding:var(--s2) var(--s3);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:var(--paper-2);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}td.n,th.n{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.set{color:var(--ink-3)}.mono,.set{font-size:12px}.mono{font-family:ui-monospace,Consolas,monospace}.st{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--paper-2)}.st.ok{background:var(--ok-bg);color:var(--ok)}.st.warn{background:var(--warn-bg);color:var(--warn)}.st.info{background:var(--info-bg)}.tools{display:flex;gap:var(--s2);align-items:end;flex-wrap:wrap;margin-bottom:var(--s3)}.tools>div{min-width:140px}.tools .grow{flex:2 1}label{display:block;font-size:13px;color:var(--ink-3);margin-bottom:var(--s1)}input,select,textarea{padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);width:100%}.btn{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:var(--radius);padding:7px 12px;cursor:pointer;text-decoration:none}.btn.sec{background:#fff;color:var(--ink)}.btn.acc{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:600}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--s3) var(--s4);gap:var(--s3) var(--s4);background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s5);max-width:940px}.form .full,.form h2{grid-column:1/-1}.form h2{margin:var(--s2) 0 0}.form .act{grid-column:1/-1;display:flex;gap:var(--s2);justify-content:flex-end}.card-row{display:flex;gap:var(--s3);align-items:center}.card-row img{width:44px;border-radius:3px}.note{font-size:12px;color:var(--ink-3)}.msg{background:var(--ok-bg);color:var(--ok)}.err,.msg{padding:10px 14px;border-radius:var(--radius);margin-bottom:var(--s4)}.err{background:var(--warn-bg);color:var(--warn)}.pager{display:flex;gap:var(--s2);margin:var(--s3) 0}.login{max-width:380px;margin:80px auto}pre.out{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3);font-size:12px;white-space:pre-wrap}@media (prefers-reduced-motion:no-preference){.btn{transition:background .12s}}