:root{--ground:#f6f6f4;--surface:#fff;--ink:#1b1f23;--muted:#5f6b6d;--line:#e2e5e3;--accent:#2f4858;--accent-ink:#fff;--ok:#2e7d5b;--warn:#b7791f;--bad:#b3261e;--radius:6px;--sans:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html{font-size:100%}body{background:var(--ground);color:var(--ink);font-family:var(--sans);margin:0;line-height:1.5}a{color:var(--accent)}h1,h2,h3{margin:0;font-weight:600;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.1rem}code,.mono{font-family:var(--mono);font-size:.9em}button,input,select,textarea{font:inherit;color:inherit}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:1.25rem;padding:1.25rem 1rem;display:flex}.side .brand{letter-spacing:-.01em;font-weight:600}.side .tenant{color:var(--muted);font-size:.9rem}.side nav{flex-direction:column;gap:2px;display:flex}.side nav a{border-radius:var(--radius);color:var(--ink);padding:.5rem .6rem;text-decoration:none}.side nav a.active{background:var(--ground);font-weight:500}.side nav a:hover{background:var(--ground)}.side .foot{color:var(--muted);margin-top:auto;font-size:.85rem}.main{width:100%;max-width:1040px;padding:1.5rem 2rem 4rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.page-head p{color:var(--muted);max-width:60ch;margin:.25rem 0 0}.btn{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:var(--radius);cursor:pointer;white-space:nowrap;padding:.5rem .9rem;font-weight:500;text-decoration:none;display:inline-block}.btn:disabled{opacity:.5;cursor:default}.btn.quiet{color:var(--accent);background:0 0}.btn.danger{border-color:var(--bad);color:var(--bad);background:0 0}.btn.small{padding:.3rem .6rem;font-size:.9rem}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}td.row{white-space:nowrap;display:table-cell}td.row .btn+.btn{margin-left:.4rem}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.6rem .75rem}th{color:var(--muted);font-size:.85rem;font-weight:500}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfbfa}td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.badge{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:999px;padding:.1rem .5rem;font-size:.8rem;display:inline-block}.badge.ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, white)}.badge.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, white)}.badge.bad{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, white)}form.stack{gap:.9rem;max-width:640px;display:grid}label.field{color:var(--muted);gap:.3rem;font-size:.9rem;display:grid}label.field input,label.field textarea,label.field select{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:.5rem .6rem;font-size:1rem}label.field textarea{resize:vertical;min-height:5.5rem}label.check{align-items:center;gap:.5rem;display:flex}.hint{color:var(--muted);font-size:.85rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem}.notice{border-radius:var(--radius);background:color-mix(in srgb, var(--ok) 10%, white);color:var(--ok);padding:.6rem .9rem}.notice.error{background:color-mix(in srgb, var(--bad) 8%, white);color:var(--bad)}.notice.warn{background:color-mix(in srgb, var(--warn) 10%, white);color:var(--warn)}.filters{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.9rem;display:flex}.filters label{align-items:center;gap:.35rem;display:flex}.keyreveal{font-family:var(--mono);background:var(--ground);border-radius:var(--radius);word-break:break-all;padding:.6rem}.login{place-items:center;min-height:100vh;padding:1rem;display:grid}.login .panel{width:min(420px,100%)}.two{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}@media (width<=48rem){.shell{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center}.side nav{flex-flow:wrap}.side .foot{margin-top:0}.main{padding:1rem}.two{grid-template-columns:1fr}}
