*{box-sizing:border-box}body{margin:0;background:#0a0c10;color:#ecf2fa;font:14px system-ui,Segoe UI,sans-serif}header{height:69px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;background:#141820;border-bottom:1px solid #2a303c}h1{font-size:18px;margin:0}small{color:#a9b9d0}.tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tabs button,.action{border:1px solid #3a4b65;background:#1a1e28;color:#e9f1fb;padding:10px 14px;border-radius:9px;cursor:pointer}.tabs button.active{background:#e10600;border-color:#ff6b6b}.action:hover,.tabs button:hover{filter:brightness(1.2)}.main{height:calc(100vh - 112px)}iframe{width:100%;height:100%;border:0;background:white}.footer{height:43px;background:#141820;border-top:1px solid #2a303c;display:flex;align-items:center;justify-content:space-between;padding:0 22px;color:#a9b9d0;font-size:11px}.vk{font-size:10px;opacity:.65;letter-spacing:.4px}.screen{position:fixed;inset:0;background:radial-gradient(circle at top,#3d1a1a,#0a1019 65%);z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.panel{width:min(410px,100%);background:#12151c;border:1px solid #2a303c;border-radius:18px;padding:30px;box-shadow:0 25px 80px #0008}.panel h2{margin:0 0 9px}.panel p{color:#b7c4d5;line-height:1.5}.panel label{display:block;margin:18px 0 6px;font-weight:600}.panel input{width:100%;padding:13px;border:1px solid #3a4352;background:#0d1624;color:white;border-radius:9px;font-size:15px}.panel button{width:100%;padding:13px;background:#e10600;color:white;border:0;border-radius:9px;font-weight:700;margin-top:20px;cursor:pointer}.error{color:#ff9b9b;min-height:20px;margin-top:12px}.hidden{display:none!important}.manager{position:fixed;inset:0;background:#000a;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.manager .panel{width:min(390px,100%)}.manager .cancel{background:#2a303c;margin-top:8px}@media(max-width:800px){header{height:auto;min-height:69px;flex-wrap:wrap}.main{height:calc(100dvh - 175px)}.tabs button{padding:8px}}
.vk-data-toast{position:fixed;right:22px;bottom:60px;z-index:2147483646;max-width:min(480px,calc(100vw - 32px));padding:15px 20px;border-radius:14px;background:#163f2c;color:#eaffef;border:1px solid #55e89a;box-shadow:0 14px 42px #0007;font:600 14px/1.45 system-ui,sans-serif;overflow-wrap:anywhere}.vk-toast-error{background:#56202a;border-color:#ff8a8a;color:white}.vk-data-toast[hidden]{display:none!important}@media(max-width:650px){.vk-data-toast{right:12px;left:12px;bottom:14px;max-width:none}}
/* Portal chrome: neutral anthracite and light-gray surfaces with a compact responsive layout. */
:root{color-scheme:dark;--portal-bg:#25272b;--portal-panel:#303236;--portal-border:#63676d;--portal-text:#f4f4f5;--portal-muted:#d1d3d6;--portal-accent:#d7d9dc}
html{height:100%;background:var(--portal-bg)}
body{height:100vh;height:100dvh;min-height:0;margin:0;display:flex;flex-direction:column;overflow:hidden;background:var(--portal-bg);color:var(--portal-text);font:14px/1.5 Inter,'Segoe UI',system-ui,sans-serif}
header{height:auto;flex:none;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:var(--portal-panel);border-bottom:1px solid var(--portal-border)}
header>div:first-child{flex-shrink:0}
header h1{margin:0;font-size:18px;line-height:1.3;color:var(--portal-text)}
header h1 span{color:var(--portal-accent)!important}
header small{color:var(--portal-muted);font-size:12px}
.tabs{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;min-width:0}
.tabs button,.action{border:1px solid var(--portal-border);background:#3b3e43;color:var(--portal-text);padding:8px 11px;border-radius:8px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.4;cursor:pointer;box-shadow:none}
.tabs button:hover,.action:hover{background:#4b4f55;filter:none}
.tabs button.active{background:var(--portal-accent);border-color:var(--portal-accent);color:#26282c}
#vkSaveData{background:#145b43;border-color:#348c6c;color:#effff6}
#vkSaveData:hover{background:#1d7052}
.tabs button:disabled,.action:disabled{cursor:wait;opacity:.72}
.tabs button[hidden],.action[hidden],[hidden]{display:none!important}
.main{height:auto;min-height:0;flex:1;overflow:hidden;background:#25272b}
iframe{display:block;width:100%;height:100%;border:0;background:#25272b}
.footer{height:auto;min-height:32px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 18px;background:var(--portal-panel);border-top:1px solid var(--portal-border);font-size:12px;color:var(--portal-muted)}
#status{min-width:0;overflow-wrap:anywhere}
.vk{font-size:11px;opacity:1;color:var(--portal-muted);white-space:nowrap}
.screen{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:#25272b;overflow:auto}
.panel{width:min(420px,100%);background:var(--portal-panel);border:1px solid var(--portal-border);border-radius:16px;padding:28px;box-shadow:0 16px 50px #0004;color:var(--portal-text)}
.panel h2{margin:0 0 10px;font-size:23px;color:var(--portal-text)}
.panel p,.panel small{color:var(--portal-muted);line-height:1.55}
.panel label{display:block;margin:16px 0 6px;font-weight:600;color:var(--portal-text)}
.panel input{width:100%;padding:12px;border:1px solid #7f848b;background:#25272b;color:#f5f6f7;border-radius:8px;font-size:16px;line-height:1.4}
.panel input::placeholder{color:#c3c6cb;opacity:1}
.panel button{width:100%;padding:12px;background:var(--portal-accent);color:#26282c;border:1px solid var(--portal-accent);border-radius:8px;font-weight:700;font-size:14px;margin-top:18px;cursor:pointer}
.error{color:#ffb8b8;min-height:20px;margin-top:10px;line-height:1.5}
.hidden{display:none!important}
.manager{position:fixed;inset:0;background:#141517cc;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}
.manager .panel{width:min(420px,100%)}
.manager .cancel{background:#44474c;color:#f4f4f5;border-color:#7f848b;margin-top:8px}
button:focus-visible,a:focus-visible{outline:3px solid #d7d9dc;outline-offset:3px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e6e8eb;outline-offset:2px}
.vk-data-toast{background:#123f30;color:#edfff6;border-color:#5acb99;font-size:14px;line-height:1.5}
.vk-data-toast.vk-toast-error{background:#572431;color:#fff0f0;border-color:#fca5a5}
@media(max-width:1350px){header{align-items:flex-start;flex-direction:column;gap:9px}.tabs{justify-content:flex-start}}
@media(max-width:700px){header{padding:10px 12px;gap:8px;min-height:0}header>div:first-child{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}header h1{font-size:15px}header small{font-size:11px}.tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding:2px 2px 5px;scrollbar-width:thin}.tabs button,.action{flex:none;font-size:12px;padding:9px 10px}.footer{font-size:11px;padding:5px 12px;min-height:30px}.panel{padding:23px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.vk-data-toast{pointer-events:none}
/* History belongs to the footer; it must not overlap the related-screen control. */
body #vk-update-history{right:60px;bottom:5px;padding:2px 7px;background:#303236;color:#d1d3d6;border:1px solid #63676d;border-radius:5px;font:600 11px/1.5 Inter,'Segoe UI',system-ui,sans-serif}
body #vk-update-history:hover{background:#4b4f55;color:#f4f4f5}
body #vk-update-log{bottom:38px;background:#f5f6f7;color:#292c31;border-color:#b4b8bd;max-height:min(400px,70vh)}
body #vk-update-bell{bottom:44px;background:#123f30;color:#edfff6;border-color:#5acb99}
body #vk-update-bell button{color:#edfff6}
#status{max-width:calc(100% - 185px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

#cloudStatus{font-weight:600}#managerBtn{display:none!important}.footer{height:auto;min-height:42px;gap:10px;flex-wrap:wrap}