:root{--indigo: #2c2e83;--indigo-2: #24266b;--indigo-3: #3f42a3;--blue: #2f49e0;--blue-hover: #2338c4;--bg: #f6f7fb;--bar: #ffffff;--rail: #ffffff;--panel: #ffffff;--panel-2: #f1f2f9;--line: #e6e8f1;--line-2: #d4d7e8;--text: #23254f;--muted: #747798;--accent: var(--indigo-3);--accent-hover: var(--indigo);--accent-text: #fff;--ok: #2a9d5a;--warn: #d9900a;--danger: #d64550;--radius: 6px;--mono: ui-monospace, SFMono-Regular, Menlo, monospace;--bar-text: var(--text);--bar-muted: var(--muted);--bar-hover: var(--panel-2);--bar-active: #e9ebf7}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif}a{color:var(--indigo);text-decoration:none}h1{font-size:20px;font-weight:600;margin:0 0 16px}h2{font-size:15px;font-weight:600;margin:0 0 12px}p{margin:0 0 8px}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:13px}code{font-family:var(--mono);font-size:12.5px;background:var(--panel-2);padding:1px 5px;border-radius:4px}.red{color:var(--accent)}:root[data-theme=dark]{--bg: #121327;--bar: #171833;--rail: #171833;--panel: #1b1d3a;--panel-2: #23264a;--line: #2a2d52;--line-2: #383c69;--text: #e6e7f5;--muted: #9093bd;--indigo: #a7abff;--indigo-2: #8b90ff;--indigo-3: #6e74ff;--accent: #5a61f5;--accent-hover: #6e74ff;--bar-text: var(--text);--bar-muted: var(--muted);--bar-hover: var(--panel-2);--bar-active: #2a2d5a;--ok: #4fc47a;--warn: #f0b23a;--danger: #ff6b74}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] button,:root[data-theme=dark] .segment button,:root[data-theme=dark] .chip,:root[data-theme=dark] .cloud,:root[data-theme=dark] .menu{background:var(--panel-2);color:var(--text)}:root[data-theme=dark] button:hover{background:var(--line-2)}:root[data-theme=dark] .icon-btn,:root[data-theme=dark] .project-select>button,:root[data-theme=dark] .kebab,:root[data-theme=dark] .theme-switch,:root[data-theme=dark] .chip button{background:transparent}:root[data-theme=dark] .icon-btn:hover,:root[data-theme=dark] .project-select>button:hover,:root[data-theme=dark] .kebab:hover{background:var(--bar-hover)}:root[data-theme=dark] button.primary{background:var(--accent);border-color:var(--accent);color:#fff}:root[data-theme=dark] button.primary:hover{background:var(--accent-hover)}:root[data-theme=dark] .segment button.on{background:var(--accent);color:#fff}:root[data-theme=dark] .cloud.on{background:#2a2d5a;color:var(--indigo);border-color:var(--indigo-3)}:root[data-theme=dark] code{background:var(--panel-2)}:root[data-theme=dark] .rail .tip{background:var(--panel-2);color:var(--text)}:root[data-theme=dark] .search{background:var(--panel-2);border-color:var(--line)}:root[data-theme=dark] .logo img{filter:brightness(0) invert(1);opacity:.92}:root[data-theme=dark] input::placeholder{color:#6f73a3}.topbar{height:56px;display:flex;align-items:center;gap:18px;padding:0 18px;background:var(--bar);color:var(--bar-text);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar a{color:var(--bar-text)}.logo{font-weight:700;letter-spacing:.01em;font-size:18px;color:var(--indigo);display:inline-flex;align-items:center;gap:10px}.topbar .logo{color:var(--indigo)}.logo img{height:30px;width:auto;display:block}.topbar .title{color:var(--bar-muted);font-size:15px;padding-left:16px;border-left:1px solid var(--line-2)}.project-select{position:relative}.project-select>button{background:transparent;border:0;color:var(--bar-text);font-size:15px;display:flex;align-items:center;gap:8px;padding:6px 10px;min-width:200px;justify-content:space-between;border-radius:var(--radius)}.project-select>button:hover{background:var(--bar-hover)}.dropdown{position:absolute;top:100%;left:0;min-width:260px;background:var(--panel);color:var(--text);border:1px solid var(--line-2);border-radius:var(--radius);padding:6px;z-index:20;box-shadow:0 8px 20px #23254f1a}.dropdown .item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:var(--radius);cursor:pointer;color:var(--text)}.dropdown .item:hover{background:var(--panel-2)}.dropdown .item.on{color:var(--indigo);font-weight:600}.dropdown .sep{border-top:1px solid var(--line);margin:6px 0}.search{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:6px 10px;width:300px;color:var(--bar-muted)}.search input{background:transparent;border:0;color:var(--bar-text);width:100%;outline:none;padding:0;font:inherit}.search input::placeholder{color:var(--bar-muted)}.search kbd{border:1px solid var(--line-2);border-radius:3px;padding:0 5px;font-size:11px;color:var(--bar-muted)}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:6px}.topbar .right .project-select>button{min-width:0;padding:8px}.icon-btn{background:transparent;border:0;color:var(--bar-text);padding:8px;border-radius:var(--radius);display:inline-flex;align-items:center;gap:4px;cursor:pointer}.icon-btn:hover{background:var(--bar-hover)}.icon-btn svg{width:20px;height:20px}.app{display:grid;grid-template-rows:56px 1fr;min-height:100%}.body{display:grid;grid-template-columns:62px 1fr;min-height:calc(100vh - 56px)}.rail{background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding-top:6px;gap:2px;position:sticky;top:56px;height:calc(100vh - 56px)}.rail a{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius);color:var(--bar-muted);position:relative}.rail a svg{width:20px;height:20px}.rail a:hover{background:var(--bar-hover);color:var(--bar-text)}.rail a.active{background:var(--bar-active);color:var(--bar-text)}.rail a.active{color:var(--indigo)}.rail a.active:before{content:"";position:absolute;left:-9px;top:10px;bottom:10px;width:3px;background:var(--indigo-3);border-radius:2px}.rail .tip{position:absolute;left:54px;background:var(--text);padding:3px 8px;border-radius:4px;font-size:12px;white-space:nowrap;color:#fff;display:none;z-index:5}.rail a:hover .tip{display:block}.content{padding:26px 32px;max-width:1180px;width:100%}.tabs{display:flex;gap:22px;border-bottom:0;margin-bottom:22px;align-items:center}.tabs a{padding:8px 0;color:var(--muted);border-bottom:2px solid transparent;font-size:15px}.tabs a:hover{color:var(--text)}.tabs a.active{color:var(--indigo);border-bottom-color:var(--indigo)}.tabs .spacer{margin-left:auto}.rows{display:flex;flex-direction:column;gap:10px}.rows-head{display:grid;grid-template-columns:28px 1.6fr 1.2fr 1fr 1fr 40px;gap:12px;padding:0 20px 4px;color:var(--text);font-size:13px}.rowcard{display:grid;grid-template-columns:28px 1.6fr 1.2fr 1fr 1fr 40px;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px 20px;min-height:76px}.rowcard:hover{border-color:var(--line-2)}.dot{width:10px;height:10px;border-radius:50%;background:var(--ok);display:inline-block}.dot.warn{background:var(--warn)}.dot.off{background:var(--muted)}.dot.bad{background:var(--danger)}.rowcard .name{color:var(--indigo);font-weight:600;font-size:15px}.rowcard .name:hover{text-decoration:underline}.rowcard .meta{color:var(--muted);font-size:12px;margin-top:2px}.rowcard .meta b{color:var(--text);font-weight:500}.kebab{background:transparent;border:0;color:var(--muted);font-size:20px;letter-spacing:2px;cursor:pointer;padding:4px 6px;border-radius:4px;line-height:1}.kebab:hover{background:var(--panel-2);color:var(--text)}.menu{position:absolute;right:0;top:100%;background:#fff;border:1px solid var(--line-2);border-radius:var(--radius);padding:6px;min-width:180px;z-index:5;box-shadow:0 10px 28px #1b1d4d24}.menu .item{padding:8px 10px;border-radius:var(--radius);cursor:pointer;display:block;color:var(--text)}.menu .item:hover{background:var(--panel-2)}.menu .item.danger{color:var(--danger)}.rel{position:relative}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px 20px;margin-bottom:14px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.stat{padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.stat .n{font-size:24px;font-weight:600}.stat .l{color:var(--muted);font-size:12px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:500;font-size:12px}tr:last-child td{border-bottom:0}label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}input,select,textarea{font:inherit;color:var(--text);background:#fff;border:1px solid var(--line-2);border-radius:var(--radius);padding:8px 10px;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder{color:#9a9dc2}.field{margin-bottom:12px}.field .hint,.hint{font-size:12px;color:var(--muted);margin-top:4px}button,.btn{font:inherit;font-weight:500;border:1px solid var(--line-2);background:#fff;color:var(--text);padding:8px 14px;border-radius:var(--radius);cursor:pointer}button:hover{background:var(--panel-2)}button.primary,.btn.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}button.primary:hover{background:var(--accent-hover)}button.danger{color:var(--danger)}button:disabled{opacity:.5;cursor:default}button.small{padding:5px 10px;font-size:12px}.error{color:var(--danger);font-size:13px;margin:8px 0}.notice{color:var(--muted);font-size:13px}.pill{display:inline-block;font-size:12px;padding:1px 8px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted)}.pill.ok{color:var(--ok);border-color:var(--ok)}.pill.warn{color:var(--warn);border-color:var(--warn)}.pill.bad{color:var(--danger);border-color:var(--danger)}.segment{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden}.segment button{border:0;border-radius:0;border-right:1px solid var(--line-2);background:#fff}.segment button:last-child{border-right:0}.segment button.on{background:var(--accent);color:var(--accent-text)}.segment button:disabled{color:var(--muted);text-decoration:line-through}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:12px;border:1px solid var(--line-2);background:#fff;color:var(--text);border-radius:999px;padding:3px 9px;display:inline-flex;gap:6px;align-items:center}.chip button{border:0;padding:0 2px;background:none;color:var(--muted);font-size:13px;line-height:1}.empty{padding:48px;text-align:center;color:var(--muted);background:var(--panel);border:1px dashed var(--line-2);border-radius:8px}.center{text-align:center}.plans{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.plan{border:1px solid var(--line);border-radius:8px;padding:18px;cursor:pointer;background:var(--panel)}.plan:hover{border-color:var(--line-2)}.plan.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.plan .price{font-size:24px;font-weight:600;margin:6px 0 10px}.plan ul{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:13px}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.auth .card{width:100%;max-width:380px}.auth .logo{display:flex;justify-content:center;margin-bottom:18px;color:var(--indigo);font-size:22px}.auth .logo img{height:56px}.auth{grid-template-rows:1fr auto}.theme-switch{color:var(--muted);border:0;background:transparent;margin-bottom:16px}.auth a{color:var(--accent)}@media(max-width:900px){.body{grid-template-columns:1fr}.rail{display:none}.content{padding:18px 14px}.search,.rows-head{display:none}.rowcard{grid-template-columns:20px 1fr 40px}.rowcard .col{display:none}}.rec-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.rec-form .field{margin-bottom:0;flex:1;min-width:110px}.rec-form button.primary{height:37px}.cloud{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:12px;color:var(--muted);background:#fff}.cloud.on{color:var(--indigo);border-color:var(--indigo-3);background:#eceefb}.cloud:disabled{opacity:.4}
