:root{--page:#e8efed;--panel:#fbfdfc;--inset:#f1f6f4;--rail:#112523;--rail2:#193633;--ink:#102523;--ink2:#405552;--muted:#6c807c;--soft:#8fa09c;--accent:#176c6b;--accent2:#c4633f;--ok:#2c7a62;--bad:#b7473b;--line:rgba(16,51,49,.11);--r:17px;font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0;background:var(--page)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.login{display:grid;min-height:100dvh;place-items:center;padding:22px;background:radial-gradient(circle at 85% 5%,rgba(47,211,197,.13),transparent 31%),var(--page)}.login-card{width:min(100%,455px);padding:35px;border:1px solid var(--line);border-radius:26px;background:rgba(251,253,252,.95);box-shadow:0 35px 90px -48px rgba(19,61,74,.42)}.brand{display:flex;align-items:center;gap:11px}.mark{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(23,108,107,.25);border-radius:11px;background:rgba(23,108,107,.09);color:var(--accent);font:800 10px ui-monospace,Consolas,monospace}.brand strong{display:block;font-size:14px}.brand small{display:block;margin-top:4px;color:var(--soft);font-size:9px;font-weight:800;letter-spacing:.14em}.eyebrow{margin:0 0 10px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.15em}.login-copy{margin:61px 0 26px}.login-copy h1{margin:0 0 12px;font-size:clamp(32px,7vw,44px);letter-spacing:-.06em;line-height:1}.login-copy p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.login-card label,.create label,.filters label{display:block;color:var(--ink2);font-size:12px;font-weight:700}.login-card input,.create input,.filters input,.filters select{display:block;width:100%;min-height:45px;margin-top:8px;padding:0 13px;border:1px solid var(--line);border-radius:10px;outline:0;background:var(--inset);color:var(--ink);font-size:13px}.login-card input:focus,.create input:focus,.filters input:focus,.filters select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(23,108,107,.11)}.button{display:inline-flex;min-height:41px;align-items:center;justify-content:center;gap:8px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink2);font-size:11px;font-weight:750}.button:hover{border-color:rgba(23,108,107,.3);background:var(--inset);color:var(--accent)}.button.primary{border-color:var(--accent);background:var(--accent);color:#f1fffb}.button.primary:hover{background:#0f5959;color:#f1fffb}.button:disabled{cursor:wait;opacity:.55}.wide{width:100%;min-height:49px;margin-top:22px}.message{min-height:19px;margin:10px 0 0;color:var(--bad);font-size:12px}.login-note{display:flex;align-items:center;gap:8px;margin:30px 0 0;color:var(--soft);font-size:10px}.login-note i,.rail-bottom i,.pill i{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(44,122,98,.08)}.app{display:grid;min-height:100dvh;grid-template-columns:228px minmax(0,1fr)}.rail{position:sticky;top:0;display:flex;height:100dvh;flex-direction:column;padding:21px 14px 17px;background:var(--rail);color:#abc1bb}.rail .brand{padding:0 9px}.rail .mark{border-color:rgba(104,217,194,.24);background:rgba(104,217,194,.09);color:#68d9c2}.rail .brand strong{color:#ebf8f3}.rail .brand small{color:#718c86}.rail nav{margin-top:57px}.nav-label{margin:0 10px 9px;color:#718c86;font-size:9px;font-weight:800;letter-spacing:.15em}.nav-label.extra{margin-top:29px}.nav{display:flex;width:100%;min-height:43px;align-items:center;margin:4px 0;padding:0 11px;border:0;border-radius:10px;background:transparent;color:#abc1bb;font-size:11px;font-weight:700;text-align:left}.nav:hover{background:rgba(255,255,255,.05);color:#ebf8f3}.nav.active{background:var(--rail2);color:#eafff8}.nav.active:before{position:absolute;left:0;width:3px;height:20px;border-radius:0 4px 4px 0;background:#68d9c2;content:""}.rail-bottom{margin-top:auto}.rail-bottom p{display:flex;align-items:center;gap:8px;margin:0 5px 16px;padding:11px 10px;border:1px solid rgba(235,248,243,.1);border-radius:10px;color:#abc1bb;font-size:10px}.rail-bottom i{width:6px;height:6px}.logout{width:100%;min-height:40px;padding:0 11px;border:0;border-radius:10px;background:transparent;color:#718c86;font-size:11px;font-weight:700;text-align:left}.logout:hover{background:rgba(255,255,255,.05);color:#ebf8f3}.main{min-width:0}.topbar{display:flex;height:65px;align-items:center;justify-content:space-between;padding:0 31px;border-bottom:1px solid var(--line);background:rgba(251,253,252,.72);color:var(--muted);font-size:11px}.topbar b{color:var(--ink2)}.menu{display:none}.refresh{min-width:37px;min-height:37px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--muted);font-size:18px}.content{width:min(100%,1400px);margin:0 auto;padding:35px 35px 55px}.section{display:none}.section.visible{display:block}.heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.heading h1,.toolbar h1{margin:0;font-size:clamp(30px,4vw,47px);letter-spacing:-.07em;line-height:1}.heading h1 em{color:var(--accent);font-style:normal}.heading p,.toolbar p{max-width:590px;margin:13px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.heading>small{color:var(--soft);font-size:10px;white-space:nowrap}.metrics{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:13px;margin-top:33px}.metric{min-height:130px;padding:17px 19px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);box-shadow:0 1px 3px rgba(19,61,74,.05)}.metric.primary{border-color:rgba(23,108,107,.25);background:var(--accent);color:#effff9}.metric span{color:var(--soft);font:800 9px ui-monospace,Consolas,monospace;letter-spacing:.13em}.metric.primary span{color:rgba(239,255,249,.7)}.metric strong{display:block;margin-top:18px;font-size:29px;letter-spacing:-.05em}.metric p{margin:7px 0 0;color:var(--muted);font-size:11px}.metric.primary p{color:rgba(239,255,249,.7)}.site-card{margin-top:16px;padding:21px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);box-shadow:0 1px 3px rgba(19,61,74,.05)}.site-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.site-card h2{margin:0;font-size:18px;letter-spacing:-.04em}.site-card-head>div>p:last-child{margin:7px 0 0;color:var(--muted);font-size:11px}.pill{display:inline-flex;min-height:25px;align-items:center;gap:7px;padding:0 9px;border-radius:99px;background:rgba(44,122,98,.1);color:var(--ok);font-size:10px;font-weight:750}.pill i{width:5px;height:5px;box-shadow:none}.capabilities{display:flex;flex-wrap:wrap;gap:7px;margin-top:21px}.capabilities span{padding:7px 9px;border-radius:7px;background:var(--inset);color:var(--muted);font:10px ui-monospace,Consolas,monospace}.site-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.toolbar h1{font-size:35px}.card{margin-top:15px;padding:19px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);box-shadow:0 1px 3px rgba(19,61,74,.05)}.create{display:grid;grid-template-columns:1.4fr .8fr auto;gap:10px;align-items:end}.create label,.filters label{min-width:0}.create label input,.filters label input,.filters label select{margin-top:7px}.table-wrap{width:100%;overflow:auto}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:11px 10px;border-top:1px solid rgba(16,51,49,.07);font-size:11px;text-align:left;vertical-align:top}th{color:var(--soft);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}td{color:var(--muted)}td strong{color:var(--ink2)}td code{color:var(--accent);font:10px ui-monospace,Consolas,monospace}.table-actions{display:flex;flex-wrap:wrap;gap:5px}.table-actions .button{min-height:30px;padding:0 8px;font-size:9px}.status{display:inline-flex;padding:4px 7px;border-radius:6px;background:rgba(44,122,98,.1);color:var(--ok);font-size:9px;font-weight:750}.status.off{background:rgba(183,71,59,.1);color:var(--bad)}.status.deleted{background:rgba(173,116,29,.1);color:#ad741d}.new-key{overflow-wrap:anywhere;margin-top:12px;padding:12px;border:1px solid rgba(23,108,107,.22);border-radius:9px;background:rgba(23,108,107,.08);color:var(--accent);font:11px ui-monospace,Consolas,monospace}.filters{display:grid;grid-template-columns:1fr 1fr 1.3fr auto;gap:10px;align-items:end}.filters .button{min-height:45px}.empty{height:125px;color:var(--soft);text-align:center}.toast{position:fixed;right:20px;bottom:20px;z-index:80;max-width:350px;padding:12px 14px;border:1px solid rgba(16,51,49,.15);border-radius:9px;background:var(--rail);color:#effff9;font-size:11px;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translateY(0)}.toast.error{border-color:rgba(255,157,145,.4)}@media(max-width:900px){.app{display:block}.rail{position:fixed;z-index:70;left:0;top:0;width:228px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:18px 0 60px rgba(1,14,18,.3)}.app.menu-open .rail{transform:translateX(0)}.menu{display:grid;min-width:37px;min-height:37px;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--muted);font-size:16px}.content{padding:29px 20px 45px}.topbar{padding:0 20px}.create{grid-template-columns:1fr 1fr}.create .button{grid-column:1/-1}.filters{grid-template-columns:1fr 1fr}.filters .button{grid-column:2}}@media(max-width:560px){.login-card{padding:28px 21px}.login-copy{margin-top:49px}.heading,.toolbar{display:block}.heading>small{display:block;margin-top:13px}.toolbar>.button{margin-top:15px}.metrics{grid-template-columns:1fr 1fr}.metric.primary{grid-column:1/-1}.metric{min-height:115px;padding:15px}.metric strong{font-size:26px}.site-card{padding:16px}.site-card-head{display:block}.pill{margin-top:13px}.create,.filters{grid-template-columns:1fr}.create .button,.filters .button{grid-column:auto;width:100%}.content{padding-right:15px;padding-left:15px}.topbar{padding-right:15px;padding-left:15px}.toast{right:12px;bottom:12px;max-width:calc(100% - 24px)}}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
