:root{color-scheme:dark;--bg:#101214;--sidebar:#15181c;--surface:#1a1e23;--surface-raised:#20252b;--input:#121518;--text:#f2f4f7;--muted:#969eaa;--muted-strong:#c4cad2;--line:#30363d;--line-strong:#414952;--accent:#6caeff;--accent-strong:#4786ff;--accent-bg:#17263d;--mint:#70f1d2;--mint-bg:#14302d;--danger:#ff8791;--danger-bg:#351b20;--shadow:0 18px 50px rgba(0,0,0,.24)}
*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:14px/1.6 "Segoe UI","Microsoft YaHei",sans-serif}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.58;cursor:wait}a{color:inherit;text-decoration:none}button,a,input,textarea,summary{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 16px 22px}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 34px}.brand-logo{width:42px;height:42px;flex:none}.brand-copy strong{display:block;font-size:16px;font-weight:700;line-height:1.2}.brand-copy small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.2}.sidebar nav{display:flex;flex-direction:column;gap:8px;padding:0 2px}.sidebar nav .nav-link{display:flex;align-items:center;gap:11px;width:100%;min-width:0;min-height:46px;border:1px solid transparent;border-radius:8px;padding:10px 13px;background:transparent;color:var(--muted-strong);font-weight:550;line-height:1.5;text-align:left;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.sidebar nav .nav-link svg{width:19px;height:19px;flex:none}.sidebar nav .nav-link:hover{background:var(--surface-raised);border-color:var(--line);color:var(--text)}.sidebar nav .current{background:var(--accent-bg);border-color:#294b77;color:var(--accent);font-weight:650}.return-links{margin-top:auto;padding:15px 2px 0;border-top:1px solid var(--line)}.return-links a{display:flex;justify-content:space-between;align-items:center;min-height:43px;padding:9px 13px;border-radius:8px;color:var(--muted);font-size:13px}.return-links a:hover{background:var(--surface-raised);color:var(--text)}.return-links a span{color:var(--muted-strong);font-size:16px}
main{margin-left:248px;min-height:100vh;padding:44px clamp(26px,5vw,76px) 72px;max-width:1540px}header{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:44px}.eyebrow{margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:2px}h1{margin:0;font-size:30px;line-height:1.25;font-weight:700}h2{margin:0;font-size:18px;line-height:1.4;font-weight:700}h3{margin:13px 0 6px;font-size:16px}p{margin:6px 0 0;color:var(--muted)}header p{font-size:14px}.header-actions{display:flex;align-items:center;gap:14px}.secure-status{display:flex;align-items:center;gap:8px;color:var(--muted-strong);font-size:12px;white-space:nowrap}.secure-status i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px var(--mint-bg)}
button{min-height:42px;border:1px solid transparent;border-radius:7px;padding:9px 16px;font-weight:650;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#07111e}.primary:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.secondary{background:var(--surface-raised);border-color:var(--line-strong);color:var(--muted-strong)}.secondary:hover{background:#272d34;border-color:#5a6570;color:var(--text)}.text-button{background:transparent;color:var(--muted);padding-inline:9px}.text-button:hover{color:var(--text)}.danger{background:var(--danger-bg);border-color:#71323a;color:var(--danger)}.danger:hover{background:#472127;border-color:var(--danger)}.card{background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}.section-heading p{font-size:13px}.list-heading{margin-bottom:18px}.count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;margin-left:7px;padding:0 7px;border:1px solid var(--line-strong);border-radius:5px;color:var(--muted-strong);font-size:11px;vertical-align:2px}
.login-panel{max-width:480px;margin:70px auto 0;padding:31px 34px;background:#181c21}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:27px;padding-bottom:22px;border-bottom:1px solid var(--line)}.login-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--accent-bg);border:1px solid #294b77;color:var(--accent);font-size:22px;font-weight:750}.login-brand strong{display:block;font-size:14px}.login-brand small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.login-panel .section-heading{margin-bottom:22px}.login-panel form{margin-top:3px}label{display:block;margin-bottom:7px;color:var(--muted-strong);font-size:13px;font-weight:650}label>span:not(.checkbox span){margin-left:5px;color:var(--muted);font-size:11px;font-weight:400}input:not([type=checkbox]),textarea{display:block;width:100%;min-height:44px;padding:10px 12px;background:var(--input);border:1px solid var(--line-strong);border-radius:7px;color:var(--text)}input:not([type=checkbox]):hover,textarea:hover{border-color:#58636e}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input:disabled{background:#15181c;color:var(--muted)}textarea{resize:vertical;min-height:130px}input::placeholder,textarea::placeholder{color:#707985;opacity:1}.login-panel input{margin-bottom:18px}.login-panel .primary{width:100%;margin-top:3px}.error{margin:12px 0;color:var(--danger);font-size:13px}.error:empty{display:none}small{display:block;margin-top:6px;color:var(--muted);font-size:12px}.loading{padding:62px;color:var(--muted);text-align:center}
.empty{text-align:center;padding:58px 24px}.empty-mark{display:inline-grid;place-items:center;width:48px;height:48px;border:1px solid #294b77;border-radius:9px;background:var(--accent-bg);color:var(--accent);font-size:25px}.empty button{margin-top:23px}.app-list{display:grid;gap:10px;margin-bottom:22px}.app-row{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:16px;padding:17px 20px;transition:border-color .16s ease,background-color .16s ease}.app-row:hover,.app-row.selected{border-color:#365d92;background:#1c232b}.app-symbol{display:grid;place-items:center;width:40px;height:40px;border:1px solid #294b77;border-radius:8px;background:var(--accent-bg);color:var(--accent);font-size:16px;font-weight:750;text-transform:uppercase}.app-meta{min-width:0;overflow-wrap:anywhere}.app-title{font-size:15px;font-weight:700}.app-id{margin-top:2px;color:var(--muted);font:12px/1.4 Consolas,"SFMono-Regular",monospace}.app-version{min-width:130px;color:var(--muted-strong);font-size:13px}.app-date{margin-top:2px;color:var(--muted);font-size:11px}.badge{display:inline-block;margin-left:7px;padding:2px 6px;border:1px solid #27695b;border-radius:4px;background:var(--mint-bg);color:var(--mint);font-size:10px;font-weight:650}.app-actions{display:flex;gap:7px}.app-actions button{min-height:38px;padding:7px 11px;font-size:12px}
.editor,.api-panel{margin-top:22px;padding:27px 29px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 25px}.full{grid-column:1/-1}.checkbox{display:flex;align-items:flex-start;gap:11px;margin:24px 0 20px;color:var(--muted-strong)}.checkbox input{width:17px;height:17px;margin-top:4px;flex:none;accent-color:var(--accent)}.checkbox span{margin:0}.checkbox strong{display:block;color:var(--muted-strong);font-size:13px}.checkbox small{margin-top:3px;font-weight:400}.version-status{min-height:19px}.version-status.success{color:var(--mint)}.version-status.warning{color:var(--danger)}.form-actions{display:flex;gap:9px;padding-top:17px;border-top:1px solid var(--line)}.api-panel .section-heading{margin-bottom:18px}.api-address{display:flex;align-items:center;flex-wrap:wrap;gap:13px;padding:14px 15px;background:var(--input);border:1px solid var(--line-strong);border-radius:7px}.api-address>span{max-width:100%;padding:4px 8px;border-radius:4px;background:var(--accent-bg);color:var(--accent);font:650 12px/1.5 "Segoe UI","Microsoft YaHei",sans-serif;overflow-wrap:anywhere}.api-address code{min-width:180px;flex:1;overflow-wrap:anywhere;color:var(--muted-strong);font:12px/1.5 Consolas,"SFMono-Regular",monospace}.api-address a{display:flex;align-items:center;min-height:32px;color:var(--accent);font-size:12px}.api-address a:hover{text-decoration:underline}details{margin-top:18px}summary{min-height:32px;color:var(--muted);cursor:pointer;font-size:12px}pre{margin-bottom:0;padding:17px;background:var(--input);border:1px solid var(--line);border-radius:7px;white-space:pre-wrap;overflow-wrap:anywhere;color:#cbd5e1;font:12px/1.8 Consolas,"SFMono-Regular",monospace}.field-help{font-size:12px}.notice{position:fixed;left:calc(50% + 124px);bottom:26px;z-index:20;max-width:calc(100% - 36px);padding:11px 18px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface-raised);box-shadow:0 12px 32px rgba(0,0,0,.36);font-size:13px}.muted{color:var(--muted);font-size:13px}dialog{width:min(440px,calc(100% - 32px));padding:28px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--text);box-shadow:0 24px 70px rgba(0,0,0,.5)}dialog::backdrop{background:rgba(0,0,0,.72)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}
@media(max-width:980px){.sidebar{width:204px;padding-inline:11px}.brand{padding-inline:6px}.brand-copy strong{font-size:15px}main{margin-left:204px;padding:32px 24px 58px}.notice{left:calc(50% + 102px)}.app-row{grid-template-columns:auto minmax(150px,1fr) auto}.app-actions{grid-column:2/-1;justify-content:flex-end}}
@media(max-width:680px){.sidebar{position:static;width:100%;padding:16px 18px 14px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0;gap:10px}.brand-logo{width:38px;height:38px}.brand-copy strong{font-size:15px}.brand-copy small{display:none}.sidebar nav{margin-top:16px}.return-links{display:flex;gap:15px;margin:13px 0 0;padding:10px 0 0;border-top:1px solid var(--line)}.return-links a{min-height:32px;padding:4px 0;font-size:12px;gap:6px}.return-links a span{display:none}main{margin:0;padding:28px 18px 48px}header{align-items:flex-start;gap:15px;margin-bottom:30px}h1{font-size:25px}header p{font-size:12px}.eyebrow{font-size:9px}.header-actions{display:block}.secure-status{display:none}.header-actions .secondary{min-height:38px;padding:7px 10px;font-size:12px}.login-panel{margin:32px auto 0;padding:25px 20px}.section-heading{align-items:flex-start}.section-heading p{font-size:12px}.list-heading{gap:11px}.list-heading>button{padding-inline:11px;font-size:12px}.form-grid{grid-template-columns:1fr;gap:18px}.full{grid-column:auto}.editor,.api-panel{padding:21px 17px}.app-row{grid-template-columns:auto 1fr;gap:11px;padding:16px}.app-version{grid-column:2;min-width:0}.app-actions{grid-column:1/-1;width:100%}.app-actions button{flex:1}.api-panel .section-heading{flex-wrap:wrap}.notice{left:50%}.form-actions{flex-wrap:wrap}.form-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.password-input{display:flex;align-items:stretch;gap:8px}.password-input input{min-width:0;flex:1}.password-input button{min-width:68px}.muted-badge{border-color:#5d6670;background:#2b3138;color:#aeb8c3}
