:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;--accent: #7c5cff;--border: color-mix(in srgb, currentColor 18%, transparent);--border-strong: color-mix(in srgb, currentColor 32%, transparent);--ok: #30a46c;--bad: #e5484d;--warn: #f5a623;--busy: #7c5cff}*{box-sizing:border-box}body{margin:0;min-height:100vh;line-height:1.5}a{color:var(--accent)}.muted{opacity:.62}.hint{opacity:.62;font-size:.85rem}.error{color:var(--bad)}.app-shell{min-height:100vh}.topnav{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border)}.brand{font-weight:700;letter-spacing:-.02em;text-decoration:none;color:inherit}.topnav-links{display:flex;gap:1rem;flex:1}.topnav-links a{color:inherit;text-decoration:none;opacity:.7}.topnav-links a.active{opacity:1;font-weight:600}.topnav-user{display:flex;align-items:center;gap:.75rem}.container{max-width:56rem;margin:0 auto;padding:2rem 1.5rem 4rem}.narrow{max-width:34rem}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-head h1{margin:0}.page-actions{display:flex;align-items:center;gap:.5rem}.breadcrumb{font-size:.85rem;margin-bottom:.5rem}.breadcrumb a{text-decoration:none}.card{border:1px solid var(--border);border-radius:.75rem;padding:1.25rem;margin-bottom:1rem}.empty{display:grid;gap:.5rem;justify-items:start}.tenant-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.tenant-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:0}.tenant-name{font-weight:600;text-decoration:none;font-size:1.05rem}dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:0}dl.kv dt{opacity:.6}dl.kv dd{margin:0;font-variant-numeric:tabular-nums}.section-title{margin:1.75rem 0 .75rem}.btn{display:inline-block;border:1px solid var(--border-strong);border-radius:.5rem;padding:.45rem .9rem;text-decoration:none;color:inherit;background:none;font:inherit;cursor:pointer}.btn:hover{border-color:currentColor}.btn:disabled{opacity:.5;cursor:default}.btn-primary{border-color:var(--accent);color:var(--accent)}.btn-danger{border-color:var(--bad);color:var(--bad)}.btn-row{display:flex;flex-wrap:wrap;gap:.5rem}.form{display:grid;gap:1rem}.field{display:grid;gap:.35rem}.field>span{font-size:.85rem;opacity:.75}.field input,.field select{padding:.5rem .65rem;border-radius:.5rem;border:1px solid var(--border-strong);background:none;color:inherit;font:inherit}.form-actions{display:flex;gap:.75rem;align-items:center}.notice{border:1px dashed var(--border-strong);border-radius:.5rem;padding:.75rem 1rem;opacity:.85}.banner{border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:.5rem;padding:.6rem .9rem;margin-bottom:1.25rem}.banner.bad{border-left-color:var(--bad)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2rem 1.5rem}.auth-card{width:min(26rem,100%)}.auth-card h1{margin:0}.auth-drivers{display:grid;gap:.6rem;margin:1rem 0}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;border:1px solid var(--border-strong);text-transform:lowercase}.badge-ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,transparent)}.badge-bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 50%,transparent)}.badge-warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.badge-busy{color:var(--busy);border-color:color-mix(in srgb,var(--busy) 50%,transparent)}.badge-muted{opacity:.65}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}.table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;opacity:.6}.table code{font-size:.82rem;word-break:break-all}.table-scroll{overflow-x:auto}.stepper{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0;padding:0;list-style:none}.step{padding:.35rem .75rem;border:1px solid var(--border);border-radius:.5rem;opacity:.45;font-size:.85rem}.step.done{opacity:1;border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.step.current{opacity:1;border-color:var(--accent);font-weight:600}.step.failed{opacity:1;border-color:var(--bad);color:var(--bad)}.inline-form{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.inline-form input{padding:.35rem .5rem;border-radius:.4rem;border:1px solid var(--border-strong);background:none;color:inherit;font:inherit}
