:root{--bg:#0f1115;--panel:#171a21;--border:#262b36;--text:#e6e9ef;--muted:#8b93a3;--accent:#4c8dff;--danger:#ff6b6b;--warn:#f0b429}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent)}.wrap{max-width:880px;margin:0 auto;padding:48px 20px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px}.card--narrow{max-width:380px;margin:10vh auto}h1{font-size:20px;margin:0 0 4px}.sub{margin:0 0 24px}.sub,label{color:var(--muted);font-size:13px}label{display:block;margin-bottom:6px}input{width:100%;padding:10px 12px;margin-bottom:16px;background:#0f1218;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px}input:focus{outline:none;border-color:var(--accent)}button{width:100%;padding:10px 14px;background:var(--accent);border:0;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer}button:disabled{opacity:.6;cursor:default}.err{background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.35);color:var(--danger);border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:16px}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:500}.badge--ro{background:rgba(240,180,41,.13);border:1px solid rgba(240,180,41,.4);color:var(--warn)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.logout{width:auto;background:transparent;border:1px solid var(--border);padding:7px 14px;font-size:13px}.empty,.logout{color:var(--muted)}.empty{font-size:14px}.empty ul{margin:12px 0 0;padding-left:20px}.empty li{margin-bottom:4px}.wrap--wide{max-width:1240px}.topbar-right{display:flex;align-items:center;gap:12px}.card+.card{margin-top:20px}.card--muted{background:transparent;border-style:dashed}.card-head{margin-bottom:20px}h2{font-size:16px;margin:0 0 4px;display:flex;align-items:center;gap:10px}.orig{font-size:11px;font-weight:400;color:var(--muted);border:1px solid var(--border);border-radius:5px;padding:1px 6px;white-space:nowrap}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.filters input,.filters select{width:auto;margin:0;padding:8px 10px;font-size:13px}.filter-search{flex:1 1;min-width:220px}.count{color:var(--muted);font-size:13px;margin-left:auto}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:8px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-weight:500;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;background:#12151b}td,th{padding:10px 12px}td{border-bottom:1px solid rgba(38,43,54,.6);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:rgba(76,141,255,.05)}.row--off td{opacity:.55}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.none{color:var(--muted);font-style:italic}.badge--on{background:rgba(76,175,118,.13);border:1px solid rgba(76,175,118,.4);color:#6bd39a}.badge--off{background:rgba(139,147,163,.12);border:1px solid var(--border);color:var(--muted)}.stub-list{list-style:none;margin:16px 0 0;padding:0}.stub-list li{display:flex;flex-wrap:wrap;gap:4px 12px;padding:10px 0;border-top:1px solid var(--border);font-size:13px}.stub-name{min-width:190px;color:var(--text)}.summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.stat{flex:1 1;min-width:130px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.stat--total{border-color:rgba(76,141,255,.45)}.stat--warn{border-color:rgba(240,180,41,.45)}.stat-num{font-size:24px;font-weight:600;line-height:1.1}.stat-lbl{font-size:12px;color:var(--muted);margin-top:4px}.risk-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.svc{font-size:12px}.check,.svc{color:var(--muted);white-space:nowrap}.check{display:flex;align-items:center;gap:6px;font-size:13px;margin:0;cursor:pointer}.check input{width:auto;margin:0}.risks{display:flex;flex-wrap:wrap;gap:5px}.badge--risk{font-size:11px}.risk--plaintext_password{background:rgba(255,107,107,.13);border:1px solid rgba(255,107,107,.45);color:var(--danger)}.risk--demo_account{background:rgba(240,180,41,.12);border:1px solid rgba(240,180,41,.38);color:var(--warn)}.risk--inactive{background:rgba(139,147,163,.12);border:1px solid var(--border);color:var(--muted)}.badge--owner{background:rgba(76,141,255,.14);border:1px solid rgba(76,141,255,.5);color:var(--accent);font-size:11px;margin-left:6px}.res--ok{background:rgba(76,175,118,.13);border:1px solid rgba(76,175,118,.4);color:#6bd39a}.res--pending{background:rgba(240,180,41,.12);border:1px solid rgba(240,180,41,.4);color:var(--warn)}.res--denied,.res--error{background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.4);color:var(--danger)}.res--timeout{background:rgba(139,147,163,.12);border:1px solid var(--border);color:var(--muted)}.once{background:#0f1218;border:1px dashed rgba(76,141,255,.5);border-radius:10px;padding:16px;margin:16px 0}.once-pw{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;letter-spacing:.5px;word-break:break-all;-webkit-user-select:all;-moz-user-select:all;user-select:all}.once-warn{color:var(--warn);font-size:12px;margin-top:10px}