:root{--ink:#1d2433;--muted:#6b7280;--line:#e5e7eb;--bg:#f7f7f5;--card:#ffffff;--maple:#b4232a;--up:#15803d;--down:#b91c1c;--warn-bg:#fff7ed;--warn-line:#fdba74}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.45}a{color:inherit}.shell{max-width:960px;margin:0 auto;padding:0 16px 48px}.top{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.brand{font-weight:700;letter-spacing:.2px;text-decoration:none}.brand span{color:var(--maple)}.nav{display:flex;gap:4px;flex-wrap:wrap;flex:1 1}.nav a{text-decoration:none;padding:6px 10px;border-radius:6px;color:var(--muted)}.nav a:hover{background:#eef0f3;color:var(--ink)}.who{color:var(--muted);font-size:13px;display:flex;gap:10px;align-items:center}.btn,button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:7px 12px;border-radius:6px;cursor:pointer}button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}button:disabled{opacity:.6;cursor:default}h1{font-size:22px;margin:0 0 4px}h2{font-size:16px;margin:0 0 10px}.sub{color:var(--muted);margin:0 0 20px}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px}.card.warn{background:var(--warn-bg);border-color:var(--warn-line)}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:6px 4px;border-bottom:1px solid var(--line);font-size:14px}th{color:var(--muted);font-weight:500}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.up{color:var(--up)}.down{color:var(--down)}.empty,.muted{color:var(--muted)}.empty{font-style:italic}ul.plain{list-style:none;padding:0;margin:0}ul.plain li{padding:8px 0;border-bottom:1px solid var(--line)}ul.plain li:last-child{border-bottom:0}.tag{display:inline-block;font-size:12px;padding:1px 6px;border-radius:4px;background:#eef0f3;margin-right:6px}.tag.red{background:#fee2e2;color:var(--down)}.login{max-width:360px;margin:12vh auto 0}.login label{display:block;font-size:13px;color:var(--muted);margin:12px 0 4px}.login input{width:100%;font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.login .row{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.msg{margin-top:14px;font-size:14px}.msg.err{color:var(--down)}.big{font-size:20px;margin:4px 0 8px}.small{font-size:12px}.msg.ok{color:var(--up)}.form .fields{display:grid;grid-gap:10px 14px;gap:10px 14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:12px}.form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.form label.wide{grid-column:1/-1}.form input,.form select{font:inherit;color:var(--ink);padding:8px 9px;border:1px solid var(--line);border-radius:6px;background:#fff}details summary{list-style:none}details[open] summary{margin-bottom:4px}a.tag{text-decoration:none;color:var(--muted)}a.tag.on{background:var(--ink);color:#fff}