/* === Theme tokens (CSS variables) — single source of truth ===
   Switch via html[data-vk-appearance="light"|"dark"].
   Components use var(--token); JS can also setProperty on :root. */

/* Kill blue tap/focus rings everywhere in the Mini App */
html, body, #app, .app {
  -webkit-tap-highlight-color: transparent !important;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
input, textarea, [contenteditable="true"] {
  -webkit-user-select: text;
  user-select: text;
}
*, *::before, *::after {
  -webkit-tap-highlight-color: transparent !important;
}
button, a, [role="button"], .nav-item, .primary-button, .ghost-button, .secondary-button,
.fab, .filter-button, .ad-card, .home-ad-card, input, textarea, select, summary, label,
.we2-layer-tab, .we2-close, .ff-photo-tile, .empty button, .empty a, .link-btn,
.pro-button, .status-card-action, .modal button {
  -webkit-tap-highlight-color: transparent !important;
  outline: none !important;
  outline-color: transparent !important;
  outline-width: 0 !important;
  outline-offset: 0 !important;
}
button:focus, button:focus-visible, button:active,
a:focus, a:focus-visible, a:active,
[role="button"]:focus, [role="button"]:focus-visible, [role="button"]:active,
.nav-item:focus, .nav-item:focus-visible, .nav-item:active,
.primary-button:focus, .primary-button:focus-visible, .primary-button:active,
.ghost-button:focus, .ghost-button:focus-visible, .ghost-button:active,
.secondary-button:focus, .secondary-button:focus-visible, .secondary-button:active,
.fab:focus, .fab:focus-visible, .fab:active,
.filter-button:focus, .filter-button:focus-visible, .filter-button:active,
.empty button:focus, .empty button:active {
  outline: none !important;
  outline-color: transparent !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}
input:focus, textarea:focus, select:focus {
  outline: none !important;
}
button, .primary-button, .ghost-button, .secondary-button, .fab, .pro-button {
  -webkit-appearance: none;
  appearance: none;
  background-clip: padding-box;
}



:root {
  color-scheme: light;
  /* Brand */
  --blue: #447bba;
  --blue2: #2688eb;
  --green: #4bb34b;
  --red: #e64646;
  --shadow: 0 8px 28px rgba(20, 30, 45, 0.08);
  /* Surfaces & text (light defaults) */
  --text: #19191a;
  --muted: #818c99;
  --line: #e1e3e6;
  --card: #ffffff;
  --soft: #f0f2f5;
  /* App aliases */
  --app-bg: #f5f7fb;
  --app-card: #ffffff;
  --app-card-2: #f0f2f5;
  --app-input: #f8f9fa;
  --app-ink: #17181a;
  --app-muted: #818c99;
  --app-line: #e7eaf0;
  --app-blue: #2688eb;
  --app-blue-soft: #edf5ff;
  --app-shadow: 0 8px 28px rgba(20, 30, 45, 0.08);
  /* VK aliases */
  --vk-bg: #f2f3f5;
  --vk-card: #ffffff;
  --vk-text: #1f2226;
  --vk-muted: #818c99;
  --vk-line: #e6e8eb;
  --vk-blue: #447bba;
  --vk-blue-soft: #edf5ff;
  --vk-green: #4bb34b;
  --vk-red: #e64646;
  /* Icons */
  --icon-color: #447bba;
  --icon-muted: #818c99;
  --icon-on-primary: #ffffff;
  --icon-danger: #e64646;
  --icon-success: #318b31;
  --icon-warning: #9a6a00;
  /* Safe areas */
  --safe-top: env(safe-area-inset-top);
  --safe-bottom: env(safe-area-inset-bottom);
}

html[data-vk-appearance="light"] {
  color-scheme: light;
  --text: #17181a;
  --muted: #818c99;
  --line: #e7eaf0;
  --card: #ffffff;
  --soft: #f5f7fb;
  --app-bg: #f5f7fb;
  --app-card: #ffffff;
  --app-card-2: #f0f2f5;
  --app-input: #f8f9fa;
  --app-ink: #17181a;
  --app-muted: #818c99;
  --app-line: #e7eaf0;
  --app-blue: #2688eb;
  --app-blue-soft: #edf5ff;
  --vk-bg: #f5f7fb;
  --vk-card: #ffffff;
  --vk-text: #17181a;
  --vk-muted: #818b98;
  --vk-line: #e7eaf0;
  --icon-color: #447bba;
  --icon-muted: #818c99;
  --icon-danger: #e64646;
  --icon-success: #318b31;
  --icon-warning: #9a6a00;
}

html[data-vk-appearance="dark"] {
  color-scheme: dark;
  --vk-input: #303236;
  --text: #f5f5f5;
  --muted: #a1a8b1;
  --line: #383b40;
  --card: #242629;
  --soft: #161719;
  --shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
  --app-bg: #161719;
  --app-card: #242629;
  --app-card-2: #1e1f22;
  --app-input: #303236;
  --app-ink: #f5f5f5;
  --app-muted: #a1a8b1;
  --app-line: #383b40;
  --app-blue: #8ab8e7;
  --app-blue-soft: #20384f;
  --app-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
  --vk-bg: #161719;
  --vk-card: #242629;
  --vk-text: #f5f5f5;
  --vk-muted: #a1a8b1;
  --vk-line: #383b40;
  --vk-blue: #8ab8e7;
  --vk-blue-soft: #20384f;
  --icon-color: #8ab8e7;
  --icon-muted: #a1a8b1;
  --icon-danger: #ff8c8c;
  --icon-success: #72d28a;
  --icon-warning: #e0b04b;
  --blue: #8ab8e7;
  --blue2: #5a9fd4;
  --green: #72d28a;
  --red: #ff8c8c;
}

/* Map core surfaces to tokens so legacy rules pick up theme */
html[data-vk-appearance="light"] body,
html[data-vk-appearance="light"] .app {
  background: var(--app-bg);
  color: var(--app-ink);
}
html[data-vk-appearance="dark"] body,
html[data-vk-appearance="dark"] .app {
  background: var(--app-bg);
  color: var(--app-ink);
}

:root{color-scheme:light}
:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Inter,Roboto,Arial,sans-serif;color:#19191a;background:#f2f3f5;font-size:16px;line-height:1.35;--blue:#447bba;--blue2:#2688eb;--text:#19191a;--muted:#818c99;--line:#e1e3e6;--card:#fff;--soft:#f0f2f5;--green:#4bb34b;--red:#e64646;--shadow:0 8px 28px rgba(20,30,45,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--soft);color:var(--text)}button,input,textarea,select{font:inherit}button{cursor:pointer;color:var(--text)}button:disabled{opacity:.55;cursor:default}.app{min-height:100vh;padding-bottom:86px}.topbar{height:64px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;padding:0 max(16px,calc((100vw - 720px)/2));position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(0,0,0,.06)}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:36px;height:36px;border-radius:11px;background:var(--blue2);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.brand b{display:block;font-size:15px}.brand span{display:block;font-size:12px;color:var(--muted);margin-top:1px}.avatar-button{width:36px;height:36px;border:0;border-radius:50%;background:#e5e7eb;color:#447bba;font-weight:700}.page{width:min(720px,100%);margin:0 auto;padding:24px 16px 28px}.welcome{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin:8px 0 20px}.eyebrow{font-size:12px;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.04em}.welcome h1{font-size:30px;line-height:1.1;margin:5px 0 7px;letter-spacing:-.02em}.welcome p,.screen-head p,.section-title-row p{margin:0;color:var(--muted);font-size:14px;max-width:500px}.primary-button,.fab{border:0;background:var(--blue2);color:#fff;font-weight:700;border-radius:11px;min-height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 5px 16px rgba(38,136,235,.2)}.balance-card{background:var(--card);border-radius:16px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:var(--shadow);margin-bottom:10px}.balance-label{color:var(--muted);font-size:13px;display:flex;gap:6px;align-items:center}.balance-main strong{display:block;font-size:27px;line-height:1.15;margin-top:4px}.balance-note{display:block;color:var(--red);font-size:12px;margin-top:4px}.balance-actions{display:flex;gap:8px}.secondary-button,.pro-button{min-height:40px;padding:0 13px;border:0;border-radius:10px;font-weight:600}.secondary-button{background:var(--soft);color:var(--text)}.pro-button{background:#fff1b8;color:#8a6400}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:14px;overflow:hidden;margin-bottom:26px}.stat{background:#fff;padding:13px 8px;text-align:center}.stat strong{font-size:19px;display:block}.stat span{font-size:12px;color:var(--muted)}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.section-tools{display:flex;align-items:center;gap:7px}.filter-button{min-height:38px;border:0;background:#fff;border-radius:10px;padding:0 11px;display:flex;align-items:center;gap:6px;color:var(--text);font-size:13px;font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.06)}.filter-button .vk-icon{width:18px;height:18px;color:var(--blue)}.section-title-row h2,.screen-head h2{font-size:22px;margin:0 0 4px;letter-spacing:-.015em}.icon-button{width:38px;height:38px;border:0;background:#fff;border-radius:10px;display:grid;place-items:center;color:var(--blue);box-shadow:0 1px 4px rgba(0,0,0,.06)}.filter-menu{display:grid;gap:8px}.filter-option{width:100%;border:0;background:var(--soft);border-radius:12px;padding:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:var(--text)}.filter-option b{display:block;font-size:14px}.filter-option small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.filter-option.selected{background:#edf5ff}.filter-option.selected b{color:var(--blue)}.filter-check{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--blue);font-weight:800}.ad-card{background:#fff;border-radius:15px;padding:16px;margin:4px 0;box-shadow:0 2px 10px rgba(20,30,45,.05)}.ad-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ad-id{font-size:12px;color:var(--muted)}.status{font-size:12px;font-weight:700;padding:5px 8px;border-radius:7px}.status.good{background:#e9f7e9;color:#318b31}.status.wait{background:#fff3d7;color:#9a6a00}.status.bad{background:#ffe9e9;color:#c23d3d}.ad-card h3{font-size:16px;margin:12px 0 5px}.ad-card p{font-size:14px;line-height:1.45;margin:0;color:#45484c;white-space:pre-wrap}.ad-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;color:var(--muted);font-size:12px}.reason{background:#fff5d9;border-radius:9px;padding:9px 10px;font-size:12px;color:#795900;margin-top:12px}.ad-actions{display:flex;gap:7px;margin-top:14px}.ad-actions button{flex:1;min-height:38px;border:0;border-radius:9px;font-weight:600;font-size:13px}.edit-btn{background:var(--soft)}.danger-btn{background:#fff0f0;color:#d64a4a}.promote-btn{background:#edf5ff;color:var(--blue)}.empty{background:#fff;border-radius:16px;padding:36px 20px;text-align:center;box-shadow:var(--shadow)}.empty-icon{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:#edf5ff;color:var(--blue);display:grid;place-items:center}.empty b{display:block;font-size:17px}.empty span{display:block;color:var(--muted);font-size:13px;max-width:330px;margin:7px auto 18px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:70px;padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:1px solid rgba(0,0,0,.08);display:flex;justify-content:center;z-index:20}.nav-item{width:33.333%;max-width:240px;border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:600}.nav-item.active{color:var(--blue2)}.nav-item .vk-icon{width:24px;height:24px}.fab-wrap{display:none}.screen{width:min(720px,100%);margin:0 auto;padding:24px 16px}.screen-head{margin:8px 0 18px}.history-list{background:#fff;border-radius:15px;overflow:hidden;box-shadow:var(--shadow)}.tx{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line)}.tx>span{min-width:0;flex:1 1 auto}.tx>span b{overflow-wrap:anywhere}.tx>strong{flex:0 0 auto;white-space:nowrap;text-align:right}.tx:last-child{border-bottom:0}.tx b{display:block;font-size:14px}.tx small{color:var(--muted);font-size:11px}.plus{color:var(--green);font-weight:700}.minus{color:var(--red);font-weight:700}.tx-button{width:100%;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer}.tx-button:hover{background:var(--vk-blue-soft)}.pro-active{color:var(--green)!important;font-weight:800}.tx-details{display:grid;gap:2px;background:var(--vk-blue-soft);border-radius:14px;padding:6px 12px;margin:12px 0 16px}.tx-detail-row{display:flex;justify-content:space-between;gap:16px;padding:10px 2px;border-bottom:1px solid rgba(0,0,0,.06)}.tx-detail-row:last-child{border-bottom:0}.tx-detail-row span{color:var(--vk-muted);font-size:12px}.tx-detail-row b{text-align:right;font-size:13px}.help-list{background:#fff;border-radius:15px;overflow:hidden;box-shadow:var(--shadow)}.help-row{width:100%;border:0;background:#fff;display:grid;grid-template-columns:32px 1fr 24px;gap:10px;align-items:center;text-align:left;padding:14px 16px;border-bottom:1px solid var(--line)}.help-row:last-child{border-bottom:0}.help-row>b,.help-row span b{font-size:14px}.help-row small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.vk-icon{display:inline-block;width:24px;height:24px;background:currentColor;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat}.icon-filter{--icon:var(--icon, none)}.icon-add{--icon:var(--icon, none)}.icon-edit{--icon:var(--icon, none)}.icon-delete{--icon:var(--icon, none)}.icon-user{--icon:var(--icon, none)}.icon-help{--icon:var(--icon, none)}.icon-history{--icon:var(--icon, none)}.icon-coins{--icon:var(--icon, none)}.icon-chevron{--icon:var(--icon, none)}.icon-rules{--icon:var(--icon, none)}.icon-ads{--icon:var(--icon, none)}.modal{position:fixed;inset:0;z-index:50;display:block;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}.modal.open{visibility:visible;opacity:1;pointer-events:auto}.modal.open .dialog{transform:translate(-50%,0)}.backdrop{position:absolute;inset:0;background:rgba(0,0,0,.48);transition:opacity .18s ease}body.modal-open{overflow:hidden}.dialog{position:absolute;left:50%;bottom:0;transform:translate(-50%,18px);transition:transform .22s cubic-bezier(.2,.8,.2,1);width:min(720px,100%);max-height:min(90vh,760px);overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff;border-radius:20px 20px 0 0;padding:24px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -8px 40px rgba(0,0,0,.2)}.close{position:absolute;right:14px;top:13px;border:0;background:var(--soft);width:32px;height:32px;border-radius:50%;font-size:22px;color:var(--muted)}.modal-head{padding-right:40px;margin-bottom:18px}.modal-head h2{font-size:23px;margin:4px 0 6px}.modal-head p{margin:0;color:var(--muted);font-size:13px}.form{display:grid;gap:12px}.form label{font-size:13px;font-weight:600}.form input,.form textarea,.form select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);background:#f8f9fa;border-radius:10px;padding:11px 12px;outline:0}.form textarea{min-height:130px;resize:vertical}.form input:focus,.form textarea:focus,.form select:focus{border-color:#8ab8e7;background:#fff}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hint{color:var(--muted);font-size:12px}.preview-box{background:#f5f7fa;border-radius:12px;padding:13px}.preview-box b{font-size:12px}.preview-box pre{font:13px/1.45 inherit;white-space:pre-wrap;margin:8px 0 0;color:#4a4e52}.wide{width:100%;min-height:44px}.link-btn{border:0;background:transparent;color:var(--blue);font-weight:600;padding:9px}
.create-shell{display:grid;gap:0}.create-head{position:relative;z-index:2;background:var(--card);padding-bottom:14px}.create-progress{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:center;margin:8px 0 2px}.create-progress i{height:2px;background:var(--line)}.create-progress i.done{background:var(--blue)}.step-dot{border:0;background:transparent;color:var(--muted);display:grid;justify-items:center;gap:4px;padding:2px;font-size:10px}.step-dot span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-size:12px;font-weight:800}.step-dot.active,.step-dot.done{color:var(--blue)}.step-dot.active span,.step-dot.done span{background:var(--blue);color:#fff}.wizard-step{animation:stepIn .18s ease}.form-section-title{display:flex;gap:10px;align-items:center;padding:12px;background:var(--soft);border-radius:13px;margin-bottom:14px}.form-section-title b{display:block;font-size:14px}.form-section-title small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.section-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(67,126,184,.12);color:var(--blue)}.smart-hint{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;background:var(--soft);padding:10px 11px;border-radius:10px}.smart-hint .vk-icon{width:18px;height:18px;flex:none}.field-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:5px}.field-footer .ok{color:var(--green)}.wizard-actions{display:grid;grid-template-columns:110px 1fr;gap:8px;margin-top:16px}.wizard-actions button{min-height:44px}.wizard-submit{grid-column:2}.wizard-back{grid-column:1;grid-row:1}.wizard-next{grid-column:2;grid-row:1}.wizard-actions .wizard-submit[hidden],.wizard-actions .wizard-next[hidden]{display:none}.draft-note{text-align:center;color:var(--muted);font-size:10px;min-height:16px;margin-top:8px}.vk-preview{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);box-shadow:0 2px 8px rgba(0,0,0,.04)}.vk-preview-head{display:flex;align-items:center;gap:9px;padding:12px 13px;border-bottom:1px solid var(--line)}.vk-preview-head b{display:block;font-size:13px}.vk-preview-head small{display:block;color:var(--muted);font-size:10px}.preview-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--blue)}.preview-avatar .vk-icon{width:20px;height:20px}.preview-menu{margin-left:auto;color:var(--muted);letter-spacing:1px}.preview-body{padding:14px}.preview-title{font-size:14px;font-weight:800;margin-bottom:7px}.preview-text{font-size:13px;line-height:1.45;white-space:pre-wrap;color:var(--text);min-height:24px}.preview-info{display:grid;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.submit-checks{display:grid;gap:7px;margin-top:10px}.submit-checks div{display:flex;gap:8px;align-items:flex-start;background:var(--soft);padding:10px;border-radius:10px;color:var(--muted);font-size:11px;line-height:1.35}.submit-checks .vk-icon{width:17px;height:17px;flex:none;color:var(--blue)}@keyframes stepIn{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
.promotion-list,.package-list{display:grid;gap:8px}.promotion,.pkg{border:0;background:#f5f7fa;color:var(--vk-text);border-radius:12px;padding:13px;display:flex;justify-content:space-between;align-items:center;text-align:left}.promotion b,.pkg b{display:block;font-size:14px}.promotion small,.pkg small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.promotion strong,.pkg strong{font-size:13px;color:var(--vk-text);white-space:nowrap}.price{font-size:30px;font-weight:800;margin:14px 0}.toast{position:fixed;left:50%;bottom:86px;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:.22s ease;z-index:70;max-width:calc(100% - 28px);width:min(420px,calc(100% - 28px));text-align:left}.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
@media(max-width:560px){.page{padding-top:18px}.welcome{display:block}.welcome h1{font-size:27px}.primary-desktop{display:none}.balance-card{align-items:flex-start;flex-direction:column}.balance-actions{width:100%}.balance-actions button{flex:1}.stats{margin-bottom:20px}.fab-wrap{display:block;position:fixed;right:16px;bottom:84px;z-index:18}.fab{min-height:48px;border-radius:24px;padding:0 16px}.grid2{grid-template-columns:1fr}.ad-actions{flex-wrap:wrap}.ad-actions button{min-width:calc(50% - 4px)}.dialog{padding-left:16px;padding-right:16px}}
@media(prefers-color-scheme:dark){:root{--text:#f5f5f5;--muted:#939aa3;--line:#3b3e42;--soft:#17181a;--card:#242629}.topbar,.balance-card,.stat,.ad-card,.empty,.bottom-nav,.help-list,.help-row,.history-list,.dialog{background:#242629}.form input,.form textarea,.form select,.preview-box,.promotion,.pkg{background:#303236;color:#fff}.filter.active,.icon-button,.filter-button,.secondary-button{background:#303236;color:#fff}.filter-option{background:#303236}.filter-option.selected{background:#20384f}.brand-mark{background:#447bba}.stats{background:#3b3e42}.backdrop{background:rgba(0,0,0,.65)}}

/* VK Mini App main-screen redesign */
:root{--vk-blue:#447bba;--vk-blue-soft:#edf5ff;--vk-bg:#f2f3f5;--vk-card:#fff;--vk-text:#1f2226;--vk-muted:#818c99;--vk-line:#e6e8eb;--vk-green:#4bb34b;--vk-red:#e64646}
html,body{background:var(--vk-bg);color:var(--vk-text)}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.app{min-height:100dvh;background:var(--vk-bg)}
.vk-topbar{position:sticky;top:0;z-index:15;height:56px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.06)}
.topbar-left{display:flex;align-items:center;gap:10px}.topbar-title{font-size:17px;font-weight:700;letter-spacing:-.2px}.brand-mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--vk-blue);color:#fff;font-size:11px;font-weight:800}
.avatar-button{width:34px;height:34px;border:0;border-radius:50%;background:#e7edf3;color:#447bba;font-size:11px;font-weight:800;padding:0;background-size:cover;background-position:center;background-repeat:no-repeat}.avatar-button.has-photo{color:transparent}
.main-page{padding:14px 12px 100px;width:min(720px,100%);margin:0 auto}.hero-card{background:var(--vk-card);border-radius:18px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.035)}
.eyebrow,.section-kicker{display:block;color:var(--vk-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.hero-card h1{font-size:27px;line-height:1.12;margin:5px 0 7px;letter-spacing:-.5px}.hero-card p{margin:0;color:var(--vk-muted);font-size:13px;line-height:1.4;max-width:520px}.hero-create{margin-top:16px;width:100%;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:6px}
.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.quick-stat{min-height:68px;background:var(--vk-card);border:1px solid rgba(0,0,0,.035);border-radius:14px;padding:11px;display:flex;align-items:center;gap:9px}.quick-stat strong{display:block;font-size:19px;line-height:1.05}.quick-stat div>span{display:block;margin-top:3px;color:var(--vk-muted);font-size:11px}.stat-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none}.stat-icon .vk-icon{width:18px;height:18px}.active-icon{background:#e9f7ea;color:var(--vk-green)}.review-icon{background:#fff4db;color:#d99b20}.all-icon{background:var(--vk-blue-soft);color:var(--vk-blue)}
.ads-section{margin-top:20px}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:11px}.section-title-row h2{margin:3px 0 3px;font-size:20px;letter-spacing:-.2px}.section-title-row p{margin:0;color:var(--vk-muted);font-size:11px}.filter-button{display:flex;align-items:center;gap:5px;min-height:36px;padding:0 9px 0 10px;border:1px solid var(--vk-line);background:var(--vk-card);border-radius:10px;color:var(--vk-text);font-size:12px;font-weight:650;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.03)}.filter-button .vk-icon{width:17px;height:17px}.filter-button .icon-chevron{width:15px;height:15px;color:var(--vk-muted)}
.ads-list{display:grid;gap:8px}.ad-card{border-radius:15px!important;box-shadow:0 1px 2px rgba(0,0,0,.04)!important;border:1px solid rgba(0,0,0,.04);padding:14px!important}.ad-top{align-items:center}.ad-card h3{font-size:14px!important;margin:10px 0 5px!important}.ad-card>p{font-size:13px!important;line-height:1.42!important;margin:0 0 10px!important}.ad-meta{font-size:11px!important}.ad-actions{border-top:1px solid var(--vk-line);padding-top:10px;margin-top:11px}.ad-actions button{height:36px!important;border-radius:9px!important;font-size:12px!important}.status{border-radius:8px!important;padding:5px 8px!important;font-size:10px!important;font-weight:700}
.empty{border:1px solid rgba(0,0,0,.04);box-shadow:0 1px 2px rgba(0,0,0,.03)!important;border-radius:15px!important;padding:34px 18px!important}.empty-icon{background:var(--vk-blue-soft)!important;color:var(--vk-blue)!important}
.bottom-nav{height:62px!important;background:rgba(255,255,255,.94)!important;border-top:1px solid rgba(0,0,0,.07)!important}.nav-item{font-size:10px!important;gap:2px!important}.nav-item .vk-icon{width:22px!important;height:22px!important}.nav-item.active{color:var(--vk-blue)!important}.fab-wrap{display:block;right:12px!important;bottom:76px!important}.fab{height:46px;min-height:46px!important;padding:0 15px!important;border-radius:23px!important;box-shadow:0 5px 18px rgba(0,0,0,.16);display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700}
.screen{padding:22px 14px 100px!important}.screen-head h2{font-size:25px}.help-list{border:1px solid rgba(0,0,0,.04);box-shadow:0 1px 2px rgba(0,0,0,.03)!important}.help-row{min-height:64px}.help-icon{width:32px;height:32px;border-radius:9px;background:var(--vk-blue-soft);color:var(--vk-blue);display:grid;place-items:center}.help-icon .vk-icon{width:19px;height:19px}
.profile-head{display:flex;gap:12px;align-items:center;padding:3px 0 16px}.profile-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--vk-blue);color:#fff;font-weight:800}.profile-head h2{margin:2px 0 3px;font-size:21px}.profile-head p{margin:0;color:var(--vk-muted);font-size:12px;line-height:1.35}.account-balance{display:flex;align-items:center;justify-content:space-between;padding:14px;border-radius:14px;background:var(--vk-blue-soft);margin-bottom:10px}.account-balance span{display:block;color:var(--vk-muted);font-size:11px}.account-balance strong{display:block;margin-top:3px;font-size:24px}.coin-badge{display:flex!important;align-items:center;gap:4px;color:var(--vk-blue)!important;font-weight:700!important}.coin-badge .vk-icon{width:18px;height:18px}.profile-actions{display:grid;gap:1px;background:var(--vk-line);border-radius:13px;overflow:hidden}.profile-action{border:0;background:var(--vk-card);min-height:62px;display:grid;grid-template-columns:34px 1fr 18px;align-items:center;gap:10px;text-align:left;padding:10px 12px}.profile-action .action-icon{width:32px;height:32px;border-radius:9px;background:var(--vk-bg);color:var(--vk-blue);display:grid;place-items:center}.profile-action .action-icon .vk-icon{width:19px;height:19px}.profile-action b{display:block;font-size:13px}.profile-action small{display:block;color:var(--vk-muted);font-size:11px;margin-top:2px}.profile-action>.vk-icon{width:17px;height:17px;color:var(--vk-muted)}
.icon-star{--icon:var(--icon, none)}.icon-check{--icon:var(--icon, none)}
@media(max-width:560px){.main-page{padding-left:10px;padding-right:10px}.hero-card{padding:16px}.hero-card h1{font-size:25px}.quick-stat{padding:9px 8px}.quick-stat strong{font-size:17px}.section-title-row{align-items:center}.section-title-row p{display:none}.filter-button{min-height:34px}.fab-wrap{right:10px!important}.fab{padding:0 14px!important}.ad-actions button{min-width:calc(50% - 4px)}}
@media(prefers-color-scheme:dark){:root{--vk-bg:#191a1c;--vk-card:#242629;--vk-text:#f2f3f5;--vk-muted:#8f969f;--vk-line:#3b3e42}.vk-topbar,.bottom-nav{background:rgba(36,38,41,.94)!important}.avatar-button{background:#303236;color:#8bb8e8}.hero-card,.quick-stat,.ad-card,.empty,.filter-button,.help-list,.help-row{border-color:#303236}.active-icon{background:#1e3520}.review-icon{background:#3a311e}.all-icon{background:#1e2f40}.profile-action{background:#242629}.account-balance{background:#20384f}}

/* Profile / balance redesign: no floating controls over content. */
.fab-wrap{display:none!important}
.app{padding-bottom:78px;overflow-x:hidden}
.bottom-nav{height:68px!important}
.nav-item{width:50%!important;max-width:360px!important}
.screen{padding-bottom:28px!important}
.profile-screen,.topup-screen{padding-top:18px!important}
.profile-cover{display:flex;align-items:center;gap:13px;background:var(--vk-card);border:1px solid rgba(0,0,0,.035);border-radius:18px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.profile-avatar-large{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--vk-blue);background-size:cover;background-position:center;color:#fff;font-weight:800;font-size:18px;flex:none;overflow:hidden}
.profile-avatar-large.has-photo{background-color:transparent;background-repeat:no-repeat}
.profile-avatar-large.has-photo::after{content:"";display:block;width:100%;height:100%;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.profile-cover h2{margin:3px 0 2px;font-size:23px;line-height:1.1}.profile-cover p{margin:0;color:var(--vk-muted);font-size:12px}
.profile-notice{margin:9px 0}
.profile-balance-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--vk-card);border:1px solid rgba(0,0,0,.035);border-radius:16px;padding:15px;margin-bottom:9px}.profile-balance-card span{display:block;color:var(--vk-muted);font-size:11px}.profile-balance-card strong{display:block;font-size:23px;margin-top:3px}.primary-button.compact{width:auto;min-height:40px;height:40px;padding:0 12px;font-size:12px}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.profile-tile{border:0;text-align:left;background:var(--vk-card);border:1px solid rgba(0,0,0,.035);border-radius:15px;padding:13px;min-width:0}.tile-icon{width:32px;height:32px;border-radius:9px;background:var(--vk-blue-soft);color:var(--vk-blue);display:grid;place-items:center;margin-bottom:8px}.tile-icon .vk-icon{width:18px;height:18px}.pro-icon{background:#fff3c7;color:#a77700}.profile-tile b{display:block;font-size:13px}.profile-tile small{display:block;color:var(--vk-muted);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-section{margin-top:18px}.profile-list{margin-top:8px;background:var(--vk-card);border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.035)}.profile-row{width:100%;border:0;background:transparent;display:grid;grid-template-columns:34px 1fr 17px;gap:10px;align-items:center;text-align:left;padding:12px}.profile-row+ .profile-row{border-top:1px solid var(--vk-line)}.row-icon{width:32px;height:32px;border-radius:9px;background:var(--vk-bg);color:var(--vk-blue);display:grid;place-items:center}.row-icon .vk-icon{width:18px;height:18px}.profile-row b{display:block;font-size:13px}.profile-row small{display:block;color:var(--vk-muted);font-size:11px;margin-top:2px}.profile-row>.vk-icon{width:16px;height:16px;color:var(--vk-muted)}
.history-list{margin-top:8px;border:1px solid rgba(0,0,0,.035);box-shadow:none}.tx{padding:12px 13px}.tx b{font-size:13px}
.back-button{border:0;background:transparent;color:var(--vk-blue);display:inline-flex;align-items:center;gap:5px;padding:4px 0;margin-bottom:12px;font-weight:700;font-size:13px}.back-button .vk-icon{width:18px;height:18px}
.topup-card{background:var(--vk-card);border:1px solid rgba(0,0,0,.035);border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.custom-topup-card label{display:block;font-size:13px;font-weight:700}.amount-input-wrap{display:flex;align-items:center;gap:8px;margin-top:7px;background:var(--vk-bg);border:1px solid var(--vk-line);border-radius:11px;padding:0 12px}.amount-input-wrap:focus-within{border-color:#8ab8e7;background:var(--vk-card)}.amount-input-wrap input{width:100%;border:0;background:transparent;outline:0;padding:12px 0;font-size:22px;font-weight:700;color:var(--vk-text);min-width:0}.amount-input-wrap span{color:var(--vk-muted);font-weight:700}.amount-hint{color:var(--vk-muted);font-size:11px;margin:6px 0 12px}.topup-kicker{margin:18px 0 8px}.topup-packages{display:grid;gap:8px}.topup-package{width:100%;border:1px solid rgba(0,0,0,.035);background:var(--vk-card);border-radius:14px;padding:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:var(--vk-text)}.topup-package b{display:block;font-size:13px}.topup-package small{display:block;color:var(--vk-muted);font-size:11px;margin-top:2px}.topup-package strong{color:var(--vk-blue);font-size:14px;white-space:nowrap}.icon-back{--icon:var(--icon, none)}
@media(max-width:560px){.profile-cover{padding:15px}.profile-balance-card{align-items:stretch;flex-direction:column}.primary-button.compact{width:100%}.profile-grid{grid-template-columns:1fr 1fr}.section-title-row>div{min-width:0}.section-title-row h2{font-size:20px}.filter-button{flex:none;max-width:142px;overflow:hidden}.filter-button span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ad-actions{flex-wrap:wrap}.ad-actions button{min-width:calc(50% - 4px)}.topup-screen .screen-head h2{font-size:25px}}
@media(prefers-color-scheme:dark){.profile-cover,.profile-balance-card,.profile-tile,.profile-list,.topup-card,.topup-package{border-color:#303236}.topup-package{color:var(--vk-text)}.amount-input-wrap{background:#303236;border-color:#3b3e42}}

/* Final UX hardening */
html{scroll-behavior:smooth} body{overscroll-behavior-x:none}.primary-button:focus-visible,.filter-button:focus-visible,.nav-item:focus-visible,.profile-row:focus-visible,.profile-tile:focus-visible,.topup-package:focus-visible,.back-button:focus-visible,.close:focus-visible,.ad-actions button:focus-visible{outline:3px solid rgba(38,136,235,.28);outline-offset:2px}.history-empty .primary-button,.error-empty .primary-button{margin-top:10px}.history-list[aria-busy="true"]{opacity:.8}.topup-package:active,.profile-tile:active,.profile-row:active,.filter-option:active{transform:scale(.995)}.topup-package,.profile-tile,.profile-row,.filter-option,.ad-actions button{transition:transform .12s ease,background .12s ease,opacity .12s ease}.ad-card p{overflow-wrap:anywhere}.profile-cover>div:last-child{min-width:0}.profile-cover h2,.profile-cover p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amount-input-wrap input::-webkit-outer-spin-button,.amount-input-wrap input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amount-input-wrap input[type=number]{-moz-appearance:textfield}@media(max-width:560px){.dialog{max-height:92vh}.ad-top{align-items:flex-start}.status{flex:none}.history-empty,.error-empty{padding:28px 16px!important}}

/* Welcome onboarding + generated 3D artwork */
.onboarding{padding:2px 0 4px}.onboarding-visual{height:250px;border-radius:20px;margin:-4px 0 16px;position:relative;overflow:hidden;background:#f7f9fc;box-shadow:inset 0 0 0 1px rgba(20,30,45,.04)}.onboarding-art{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:20px}.onboarding h2{font-size:25px;line-height:1.08;margin:5px 0 8px;letter-spacing:-.025em}.onboarding-lead{color:var(--vk-muted);font-size:13px;line-height:1.5;margin:0 0 14px}.onboarding-features{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}.onboarding-features>div{display:grid;grid-template-columns:30px 1fr;column-gap:8px;align-items:center;background:var(--vk-bg);border-radius:13px;padding:8px 9px;min-width:0}.onboarding-features span{grid-row:1/3;width:30px;height:30px;border-radius:9px;background:var(--vk-card);color:var(--vk-blue);display:grid;place-items:center}.onboarding-features .vk-icon{width:17px;height:17px}.onboarding-features b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.onboarding-features small{font-size:9px;color:var(--vk-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wide{width:100%}
.pro-icon:has(+b),.pro-icon{transition:background .2s,color .2s}.pro-active{color:#28a745!important}.profile-tile:has(.pro-active) .pro-icon{background:#eaf8ed;color:#28a745}.profile-tile:has(.pro-active){border-color:rgba(40,167,69,.22);box-shadow:0 4px 16px rgba(40,167,69,.08)}
@media(prefers-color-scheme:dark){.onboarding-visual{background:linear-gradient(135deg,#1d3348,#20272d)}.onboarding-features>div{background:#303236}.onboarding-features span{background:#242629}.profile-tile:has(.pro-active){border-color:rgba(61,190,88,.35)}}

/* Mobile WebView hardening */
:root{--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom)}
body{padding-top:var(--safe-top)}
.form input,.form textarea,.form select,.amount-input-wrap input{font-size:16px}
.form select{min-height:46px;color:var(--vk-text)}
.form input,.form textarea{min-height:46px}
.avatar-button{background-color:#e7edf3;background-size:cover;background-position:center}
.avatar-button.has-photo{background-color:transparent}
.onboarding-pager{display:flex;justify-content:center;gap:5px;margin:-8px 0 16px}
.onboarding-pager i{display:block;width:6px;height:6px;border-radius:99px;background:var(--vk-line);transition:width .18s ease,background .18s ease}
.onboarding-pager i.active{width:20px;background:var(--vk-blue)}
.onboarding-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;margin-top:14px}
.onboarding-actions button{min-height:46px}
.onboarding-icon .vk-icon{width:34px;height:34px}
@media(max-width:560px){.dialog{padding-bottom:calc(18px + env(safe-area-inset-bottom));}.onboarding-visual{height:205px}.onboarding h2{font-size:23px}.onboarding-actions{grid-template-columns:1fr 1.35fr}.onboarding-features{grid-template-columns:1fr 1fr}}

/* VK appearance overrides */
html[data-vk-appearance="light"]{color-scheme:light}
html[data-vk-appearance="dark"]{color-scheme:dark}
html[data-vk-appearance="dark"] .topbar,html[data-vk-appearance="dark"] .balance-card,html[data-vk-appearance="dark"] .stat,html[data-vk-appearance="dark"] .ad-card,html[data-vk-appearance="dark"] .empty,html[data-vk-appearance="dark"] .bottom-nav,html[data-vk-appearance="dark"] .help-list,html[data-vk-appearance="dark"] .help-row,html[data-vk-appearance="dark"] .history-list,html[data-vk-appearance="dark"] .dialog,html[data-vk-appearance="dark"] .hero-card,html[data-vk-appearance="dark"] .quick-stat,html[data-vk-appearance="dark"] .profile-cover,html[data-vk-appearance="dark"] .profile-balance-card,html[data-vk-appearance="dark"] .profile-tile,html[data-vk-appearance="dark"] .profile-list,html[data-vk-appearance="dark"] .topup-card{background:#242629;color:#f5f5f5}
html[data-vk-appearance="dark"] .promotion,html[data-vk-appearance="dark"] .pkg,html[data-vk-appearance="dark"] .form input,html[data-vk-appearance="dark"] .form textarea,html[data-vk-appearance="dark"] .form select,html[data-vk-appearance="dark"] .preview-box{background:#303236;color:#f5f5f5}
html[data-vk-appearance="dark"] .promotion strong,html[data-vk-appearance="dark"] .pkg strong{color:#f5f5f5}
html[data-vk-appearance="dark"] .promotion small,html[data-vk-appearance="dark"] .pkg small{color:#939aa3}
html[data-vk-appearance="dark"] .filter-button,html[data-vk-appearance="dark"] .icon-button,html[data-vk-appearance="dark"] .secondary-button{background:#303236;color:#f5f5f5}
html[data-vk-appearance="dark"] .filter-option{background:#303236;color:#f5f5f5}
html[data-vk-appearance="dark"] .filter-option.selected{background:#20384f}
html[data-vk-appearance="dark"] .onboarding-visual{background:linear-gradient(135deg,#1d3348,#20272d)}
html[data-vk-appearance="dark"] .onboarding-features>div{background:#303236}
html[data-vk-appearance="dark"] .onboarding-features span{background:#242629}
.promotion,.pkg{transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.promotion:hover,.pkg:hover{background:#eef3f8}.promotion:active,.pkg:active{transform:scale(.992)}.promotion:disabled,.pkg:disabled{opacity:.55;background:#eef0f3;color:var(--vk-muted)}.promotion:disabled strong,.pkg:disabled strong{color:var(--vk-muted)}
.modal .close{transition:transform .12s ease,background .12s ease}.modal .close:active{transform:scale(.94)}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.modal,.backdrop,.dialog,.wizard-step,.promotion,.pkg,.modal .close,.topup-package,.profile-tile,.profile-row,.filter-option,.ad-actions button{transition:none!important;animation:none!important}.modal.open .dialog{transform:translate(-50%,0)}}

/* Modern dashboard redesign — inspired by the approved 4th concept */
:root{--app-bg:#f5f7fb;--app-card:#fff;--app-blue:#2688eb;--app-blue-soft:#edf5ff;--app-green:#25b65b;--app-green-soft:#eaf8ef;--app-ink:#17181a;--app-muted:#818b98;--app-line:#e7eaf0;--app-shadow:0 8px 26px rgba(30,42,60,.07)}
body{background:var(--app-bg)}
.vk-topbar{height:64px;min-height:64px;background:rgba(255,255,255,.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:space-between;padding:0 max(16px,calc((100vw - 720px)/2));position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(20,30,45,.06)}
.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#2688eb,#5a9ff1);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900;box-shadow:0 7px 16px rgba(38,136,235,.22);flex:none}.topbar-copy{min-width:0;display:flex;flex-direction:column}.topbar-copy strong{font-size:16px;line-height:1.1;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-copy span{font-size:11px;color:var(--app-muted);margin-top:3px}.avatar-button{width:38px;height:38px;border:0;border-radius:50%;background:#e8edf3;color:#3f79b4;font-weight:800;background-size:cover;background-position:center;box-shadow:0 2px 8px rgba(20,30,45,.08);flex:none}
.page{width:min(720px,100%);padding:20px 16px 30px}.dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 18px}.dashboard-hero h1{font-size:30px;line-height:1.04;letter-spacing:-.035em;margin:5px 0 6px}.dashboard-hero p{margin:0;color:var(--app-muted);font-size:13px;max-width:400px}.hero-create{min-height:46px;border-radius:13px;white-space:nowrap;box-shadow:0 8px 18px rgba(38,136,235,.22)}
.dashboard-stats{gap:10px;background:transparent;border-radius:0;overflow:visible;margin-bottom:14px}.dashboard-stats .quick-stat{background:var(--app-card);border:1px solid rgba(20,30,45,.035);border-radius:16px;min-height:82px;padding:12px 10px;box-shadow:var(--app-shadow);display:flex;align-items:center;justify-content:center;gap:9px;text-align:left}.dashboard-stats .quick-stat>div{min-width:0}.dashboard-stats .quick-stat strong{font-size:23px;line-height:1;display:block}.dashboard-stats .quick-stat span:not(.stat-icon){display:block;color:var(--app-muted);font-size:12px;margin-top:5px}.dashboard-stats .stat-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;flex:none}.active-icon{background:#e7f7ec;color:var(--app-green)}.review-icon{background:#fff4d9;color:#c69322}.all-icon{background:#edf2f8;color:#7d8998}.dashboard-stats .stat-icon .vk-icon{width:21px;height:21px}
.account-overview{display:grid;grid-template-columns:1fr 1px 1.22fr;align-items:stretch;background:var(--app-card);border:1px solid rgba(20,30,45,.035);border-radius:18px;box-shadow:var(--app-shadow);padding:15px 16px;margin-bottom:24px}.overview-balance{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:end;padding-right:10px}.overview-label{grid-column:1/-1;color:var(--app-muted);font-size:11px;margin-bottom:4px}.coin-dot{color:#e6ae2f;font-size:17px;vertical-align:-1px}.overview-balance strong{font-size:26px;line-height:1}.overview-balance>small{color:var(--app-muted);font-size:11px;align-self:end;padding-bottom:1px}.ghost-small{grid-column:1/-1;border:0;background:var(--app-blue-soft);color:var(--app-blue);border-radius:9px;min-height:30px;margin-top:10px;font-size:11px;font-weight:800}.overview-divider{width:1px;background:var(--app-line)}.overview-pro{border:0;background:transparent;text-align:left;display:grid;grid-template-columns:38px 1fr 16px;gap:10px;align-items:center;padding:2px 0 2px 14px;color:var(--app-ink)}.pro-mini-icon{width:38px;height:38px;border-radius:12px;background:#eef2f7;color:#8c97a5;display:grid;place-items:center}.overview-pro small,.overview-pro em{display:block;color:var(--app-muted);font-size:10px;font-style:normal}.overview-pro b{display:block;font-size:14px;margin:2px 0}.overview-pro .pro-arrow{font-size:26px;color:#a3acb8;line-height:1}.overview-pro:active{transform:scale(.99)}.home-pro-active{color:var(--app-green)!important}.overview-pro:has(.home-pro-active) .pro-mini-icon{background:var(--app-green-soft);color:var(--app-green)}
.dashboard-list-section{margin-top:0}.dashboard-list-section .section-title-row{margin-bottom:10px}.dashboard-list-section .section-kicker,.listings-head .eyebrow{font-size:10px}.dashboard-list-section .section-title-row h2{font-size:22px;margin-top:2px}.dashboard-list-section .filter-button{min-height:38px;border:1px solid var(--app-line);box-shadow:none}.home-ad-card{background:var(--app-card);border:1px solid rgba(20,30,45,.035);border-radius:17px;padding:15px;margin-bottom:10px;box-shadow:var(--app-shadow)}.home-ad-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--app-muted);font-size:11px}.home-ad-card h3{font-size:17px;line-height:1.2;margin:10px 0 5px;letter-spacing:-.02em}.home-ad-card p{margin:0;color:#545d67;font-size:12px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-ad-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:12px}.home-ad-footer strong{font-size:17px;color:#1a9d4e}.home-ad-footer span{font-size:11px;color:var(--app-muted)}.home-empty{margin-top:8px}.listings-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:4px 0 22px}.listings-head h1{font-size:28px;line-height:1.05;margin:5px 0}.listings-head p{font-size:13px;color:var(--app-muted);margin:0}.listings-head .primary-button{min-height:42px}.coins-screen{padding-top:20px}.coins-balance-card{background:linear-gradient(145deg,#1f7be0,#2688eb 62%,#4d9df0);color:#fff;border-radius:20px;padding:20px;box-shadow:0 14px 28px rgba(38,136,235,.23);margin-bottom:24px}.coins-balance-card>span{font-size:12px;opacity:.84}.coins-balance-card strong{display:block;font-size:34px;line-height:1;margin:8px 0 18px}.coins-balance-card .primary-button{background:#fff;color:#1f7be0;box-shadow:none}.coins-history-head{margin-top:2px}
.bottom-nav{height:74px;padding:6px 10px calc(6px + env(safe-area-inset-bottom));gap:2px;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(20,30,45,.06);box-shadow:0 -6px 24px rgba(20,30,45,.04)}.nav-item{width:25%;max-width:none;border-radius:13px;font-size:10px;gap:2px;color:#8993a0}.nav-item .vk-icon{width:22px;height:22px}.nav-item.active{color:var(--app-blue);background:#edf5ff}.nav-item.active .vk-icon{filter:none}.icon-home{--icon:var(--icon, none)}
@media(max-width:560px){.dashboard-hero{align-items:stretch;flex-direction:column;gap:12px}.hero-create{width:100%}.dashboard-stats{gap:7px}.dashboard-stats .quick-stat{min-height:76px;padding:10px 7px;gap:6px}.dashboard-stats .stat-icon{width:34px;height:34px;border-radius:11px}.dashboard-stats .quick-stat strong{font-size:20px}.dashboard-stats .quick-stat span:not(.stat-icon){font-size:11px}.account-overview{grid-template-columns:1fr 1px 1.15fr;padding:13px 12px}.overview-pro{padding-left:10px;grid-template-columns:34px 1fr 12px;gap:7px}.pro-mini-icon{width:34px;height:34px}.overview-pro b{font-size:12px}.overview-balance strong{font-size:23px}.topbar-copy strong{font-size:14px}.page{padding-top:16px}}
html[data-vk-appearance="dark"] body{background:#161719}html[data-vk-appearance="dark"] .vk-topbar,html[data-vk-appearance="dark"] .bottom-nav{background:rgba(30,31,34,.9);border-color:#303236}html[data-vk-appearance="dark"] .dashboard-stats .quick-stat,html[data-vk-appearance="dark"] .account-overview,html[data-vk-appearance="dark"] .home-ad-card{background:#242629;color:#f5f5f5;border-color:#303236}html[data-vk-appearance="dark"] .dashboard-hero p,html[data-vk-appearance="dark"] .home-ad-card p{color:#a1a8b1}html[data-vk-appearance="dark"] .overview-divider{background:#383b40}html[data-vk-appearance="dark"] .filter-button{background:#303236;color:#f5f5f5;border-color:#3a3d42}html[data-vk-appearance="dark"] .nav-item.active{background:#20384f}html[data-vk-appearance="dark"] .ghost-small{background:#20384f}

/* Fullscreen onboarding: never expose the underlying app chrome. */
body.onboarding-active{overflow:hidden!important;background:var(--vk-bg)}
body.onboarding-active #app{visibility:hidden}
.modal.onboarding-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;isolation:isolate}
.modal.onboarding-modal .backdrop{display:none}
.modal.onboarding-modal .dialog{position:fixed!important;inset:0!important;left:0;top:0;bottom:auto;transform:none;width:100vw;max-width:none;max-height:none;height:100dvh;min-height:100vh;overflow:auto;border-radius:0;padding:calc(18px + env(safe-area-inset-top)) 20px calc(22px + env(safe-area-inset-bottom));box-shadow:none}
.modal.open.onboarding-modal .dialog{transform:none}
.modal.onboarding-modal .dialog>.close{top:calc(10px + env(safe-area-inset-top));right:14px;z-index:2;background:rgba(127,127,127,.18)}
.modal.onboarding-modal .onboarding{min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:10px 0 4px}
.modal.onboarding-modal .onboarding-visual{height:min(34vh,320px);min-height:190px}
html[data-vk-appearance="dark"] .modal.onboarding-modal .dialog{background:#161719;color:#f5f5f5}
html[data-vk-appearance="dark"] .modal.onboarding-modal .onboarding-visual{background:linear-gradient(135deg,#1d3348,#20272d)}
@media(prefers-color-scheme:dark){.modal.onboarding-modal .dialog{background:#161719;color:#f5f5f5}.modal.onboarding-modal .onboarding-visual{background:linear-gradient(135deg,#1d3348,#20272d)}}
@media(max-width:560px){.modal.onboarding-modal .dialog{padding-left:20px;padding-right:20px}.modal.onboarding-modal .onboarding-visual{height:30vh;min-height:180px}.modal.onboarding-modal .onboarding{justify-content:flex-start;padding-top:8px}}

/* One source of truth for appearance. The VK appearance wins over the
   browser preference once the bridge has provided it, so white and dark
   surfaces cannot be mixed accidentally. */
html[data-vk-appearance="light"]{
  --vk-bg:#f5f7fb;--vk-card:#fff;--vk-text:#17181a;--vk-muted:#818b98;--vk-line:#e7eaf0;
  --app-bg:#f5f7fb;--app-card:#fff;--app-ink:#17181a;--app-muted:#818b98;--app-line:#e7eaf0;
  color-scheme:light
}
html[data-vk-appearance="light"] body,
html[data-vk-appearance="light"] .app,
html[data-vk-appearance="light"] .modal.onboarding-modal .dialog{background:#f5f7fb;color:#17181a}
html[data-vk-appearance="light"] .vk-topbar,
html[data-vk-appearance="light"] .bottom-nav,
html[data-vk-appearance="light"] .dashboard-hero,
html[data-vk-appearance="light"] .quick-stat,
html[data-vk-appearance="light"] .account-overview,
html[data-vk-appearance="light"] .home-ad-card,
html[data-vk-appearance="light"] .ad-card,
html[data-vk-appearance="light"] .empty,
html[data-vk-appearance="light"] .profile-cover,
html[data-vk-appearance="light"] .profile-balance-card,
html[data-vk-appearance="light"] .profile-tile,
html[data-vk-appearance="light"] .profile-list,
html[data-vk-appearance="light"] .topup-card,
html[data-vk-appearance="light"] .topup-package,
html[data-vk-appearance="light"] .history-list,
html[data-vk-appearance="light"] .dialog{background:#fff;color:#17181a}
html[data-vk-appearance="light"] .onboarding-visual{background:#f7f9fc}

html[data-vk-appearance="dark"]{
  --vk-bg:#161719;--vk-card:#242629;--vk-text:#f5f5f5;--vk-muted:#9aa1aa;--vk-line:#383b40;
  --app-bg:#161719;--app-card:#242629;--app-ink:#f5f5f5;--app-muted:#9aa1aa;--app-line:#383b40;
  color-scheme:dark
}
html[data-vk-appearance="dark"] body,
html[data-vk-appearance="dark"] .app,
html[data-vk-appearance="dark"] .modal.onboarding-modal .dialog{background:#161719;color:#f5f5f5}
html[data-vk-appearance="dark"] .vk-topbar,
html[data-vk-appearance="dark"] .bottom-nav{background:#1e1f22!important;color:#f5f5f5}
html[data-vk-appearance="dark"] .dashboard-hero,
html[data-vk-appearance="dark"] .quick-stat,
html[data-vk-appearance="dark"] .account-overview,
html[data-vk-appearance="dark"] .home-ad-card,
html[data-vk-appearance="dark"] .ad-card,
html[data-vk-appearance="dark"] .empty,
html[data-vk-appearance="dark"] .profile-cover,
html[data-vk-appearance="dark"] .profile-balance-card,
html[data-vk-appearance="dark"] .profile-tile,
html[data-vk-appearance="dark"] .profile-list,
html[data-vk-appearance="dark"] .topup-card,
html[data-vk-appearance="dark"] .topup-package,
html[data-vk-appearance="dark"] .history-list,
html[data-vk-appearance="dark"] .dialog{background:#242629!important;color:#f5f5f5}
html[data-vk-appearance="dark"] .onboarding-visual{background:linear-gradient(135deg,#1d3348,#20272d)!important}
html[data-vk-appearance="dark"] .onboarding-features>div{background:#303236}
html[data-vk-appearance="dark"] .onboarding-features span{background:#242629}
html[data-vk-appearance="dark"] .home-ad-card p,
html[data-vk-appearance="dark"] .dashboard-hero p,
html[data-vk-appearance="dark"] .listings-head p{color:#a1a8b1}

/* Reference-style onboarding: quiet top skip, one strong action and no
   competing white cards inside a dark screen. */
.modal.onboarding-modal .dialog>.close{display:none}
.onboarding{position:relative}
.onboarding-skip{align-self:flex-end;display:block;border:0;background:transparent;color:var(--vk-text);font-size:13px;padding:2px 0 12px;margin-left:auto}
.onboarding-actions{display:block;margin-top:auto;padding-top:18px}
.onboarding-actions .primary-button{width:100%;min-height:50px;border-radius:14px;font-size:15px}
.onboarding-actions .primary-button span{font-size:22px;line-height:0;margin-left:auto}
.onboarding-features{display:none}
.onboarding-skip{align-self:center;margin:10px auto 0;padding:8px 18px 12px;font-size:14px}
.modal.onboarding-modal .onboarding-visual{height:min(47vh,470px);min-height:230px;margin:0 0 18px;border-radius:18px;box-shadow:none}
.modal.onboarding-modal .onboarding h2{font-size:26px;margin:8px 0 9px}
.modal.onboarding-modal .onboarding-lead{font-size:14px;line-height:1.5;max-width:520px}
@media(max-width:560px){.modal.onboarding-modal .onboarding-visual{height:min(47vh,390px);min-height:230px}.modal.onboarding-modal .onboarding h2{font-size:25px}.onboarding-skip{padding-bottom:10px}}


/* Access state: reference-style mobile card with one clear notification CTA. */
.access-stub{min-height:100vh;padding:16px 16px calc(24px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;background:var(--vk-bg,#f2f3f5)}
.access-card{width:min(100%,560px);padding:20px 0 4px;color:var(--vk-text,var(--text));}
.access-visual{position:relative;isolation:isolate;overflow:hidden;width:100%;aspect-ratio:1.14;border-radius:24px;background:linear-gradient(135deg,#dbeafe,#eef4ff);box-shadow:0 12px 34px rgba(49,91,156,.13)}
.access-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;position:relative;z-index:1}
.access-visual-glow{position:absolute;inset:auto -10% -34% -10%;height:55%;background:radial-gradient(ellipse,rgba(77,139,255,.32),transparent 68%);z-index:2;pointer-events:none}
.access-pager{display:flex;justify-content:center;gap:5px;padding:13px 0 18px}.access-pager i{display:block;width:7px;height:7px;border-radius:99px;background:var(--vk-line,#d8dce2)}.access-pager i.active{width:22px;background:var(--vk-blue,#447bba)}
.access-copy .eyebrow{display:block;margin-bottom:8px;color:var(--vk-muted,#818c99);letter-spacing:.08em}.access-copy h1{font-size:clamp(28px,7vw,42px);line-height:1.06;letter-spacing:-.035em;margin:0 0 14px;max-width:520px}.access-copy p{font-size:clamp(17px,4.4vw,22px);line-height:1.42;color:var(--vk-muted,#818c99);margin:0 0 12px;max-width:500px}.access-copy small{display:block;color:var(--vk-muted,#818c99);font-size:14px;line-height:1.5;max-width:500px}.access-subscribe{margin-top:24px}.access-subscribe-button{width:100%;min-height:54px;border-radius:15px;font-size:16px;box-shadow:0 7px 20px rgba(38,136,235,.25)}.access-subscribe-button.is-success{background:var(--green,#4bb34b);box-shadow:0 7px 20px rgba(75,179,75,.2)}.access-bell{font-size:22px;line-height:1;transform:rotate(-15deg);display:inline-block}.access-subscribe-status{margin:10px 4px 0;color:var(--vk-muted,#818c99);font-size:12px;line-height:1.45;text-align:center}.access-subscribe-status.is-success{color:var(--green,#4bb34b)}.access-subscribe-status.is-warning{color:#c48716}.access-subscribe-button.is-loading{pointer-events:none}.access-subscribe-button.is-loading::after{content:'';width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:access-spin .7s linear infinite}@keyframes access-spin{to{transform:rotate(360deg)}}
html[data-vk-appearance="dark"] .access-stub{background:#191a1c}.access-visual{background:linear-gradient(135deg,#202f47,#252a35)}html[data-vk-appearance="dark"] .access-visual{box-shadow:0 12px 34px rgba(0,0,0,.25)}
@media(max-width:560px){.access-stub{align-items:flex-start;padding-top:24px}.access-card{padding-top:0}.access-visual{border-radius:21px;aspect-ratio:1.04}.access-pager{padding-bottom:16px}.access-subscribe{margin-top:21px}}


/* Never reveal the administrator UI while access authentication is pending. */
#app.auth-pending{min-height:100vh;background:#191a1c;color:#f5f5f5;display:grid;place-items:center}
#app.auth-pending>*{visibility:hidden}
#app.auth-pending::before{content:'Проверяем доступ…';color:#8f969f;font-size:14px}

/* Final responsive/theme hardening. The VK-provided appearance is the source of truth. */
html[data-vk-appearance="light"]{color-scheme:light}
html[data-vk-appearance="dark"]{color-scheme:dark}
html[data-vk-appearance="dark"] .home-ad-footer strong,
html[data-vk-appearance="dark"] .home-ad-card h3,
html[data-vk-appearance="dark"] .section-title-row h2,
html[data-vk-appearance="dark"] .listings-head h1,
html[data-vk-appearance="dark"] .screen-head h2,
html[data-vk-appearance="dark"] .modal-head h2{color:#f5f5f5}
html[data-vk-appearance="dark"] .ad-card p,
html[data-vk-appearance="dark"] .profile-cover p,
html[data-vk-appearance="dark"] .screen-head p,
html[data-vk-appearance="dark"] .listings-head p{color:#a1a8b1}
html[data-vk-appearance="light"] body,
html[data-vk-appearance="light"] .app{background:#f5f7fb;color:#17181a}
html[data-vk-appearance="dark"] body,
html[data-vk-appearance="dark"] .app{background:#161719;color:#f5f5f5}

/* Prevent horizontal overflow on narrow phones and long VK/user content. */
html,body,#app{max-width:100%;overflow-x:hidden}
.page,.screen,.dialog,.modal-content,.create-shell,.ad-card,.home-ad-card,.profile-section,.account-overview{min-width:0}
.ad-card p,.home-ad-card p,.reason,.tx small,.modal-head p,.promotion small,.topup-package small{overflow-wrap:anywhere;word-break:break-word}
.dashboard-hero>div,.listings-head>div,.section-title-row>div{min-width:0}
@media(max-width:420px){
  .page,.screen{padding-left:12px;padding-right:12px}
  .vk-topbar{padding-left:12px;padding-right:12px}
  .dashboard-hero h1{font-size:26px}
  .dashboard-hero p{font-size:12px}
  .dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .dashboard-stats .quick-stat{min-width:0;padding:9px 5px;gap:5px;justify-content:flex-start}
  .dashboard-stats .stat-icon{width:30px;height:30px;min-width:30px;border-radius:9px}
  .dashboard-stats .stat-icon .vk-icon{width:17px;height:17px}
  .dashboard-stats .quick-stat strong{font-size:18px}
  .dashboard-stats .quick-stat span:not(.stat-icon){font-size:10px;white-space:nowrap}
  .account-overview{grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);padding:11px 9px}
  .overview-pro{padding-left:7px;grid-template-columns:30px minmax(0,1fr) 9px;gap:5px}
  .overview-pro b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .overview-pro small,.overview-pro em{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .overview-balance strong{font-size:21px}
  .overview-label{font-size:10px}
  .listings-head{align-items:stretch;flex-direction:column;gap:10px}
  .listings-head .primary-button{width:100%}
  .ad-actions{flex-wrap:wrap}
  .ad-actions button{min-width:calc(50% - 4px)}
  .dialog{padding-left:14px;padding-right:14px}
}
@media(max-width:340px){
  .dashboard-stats .stat-icon{display:none}
  .dashboard-stats .quick-stat{justify-content:center;text-align:center}
  .dashboard-stats .quick-stat strong{font-size:17px}
  .account-overview{display:block}
  .overview-divider{display:none}
  .overview-pro{margin-top:12px;padding:10px 0 0;border-top:1px solid var(--app-line)}
}

/* === Final dark-theme audit: every interactive surface uses the same palette. === */
html[data-vk-appearance="dark"] {
  --vk-bg:#161719;
  --vk-card:#242629;
  --vk-text:#f5f5f5;
  --vk-muted:#a1a8b1;
  --vk-line:#383b40;
  --vk-blue-soft:#20384f;
  --app-bg:#161719;
  --app-card:#242629;
  --app-card-2:#1e1f22;
  --app-input:#303236;
  --app-blue-soft:#20384f;
  --app-ink:#f5f5f5;
  --app-muted:#a1a8b1;
  --app-line:#383b40;
  --app-green-soft:#1e3520;
  --app-yellow-soft:#3a311e;
  --app-red-soft:#3b2325;
  --app-shadow:0 8px 26px rgba(0,0,0,.24);
  color-scheme:dark;
}
html[data-vk-appearance="dark"],
html[data-vk-appearance="dark"] body,
html[data-vk-appearance="dark"] #app,
html[data-vk-appearance="dark"] .app { background:var(--app-bg)!important; color:var(--app-ink)!important; }

html[data-vk-appearance="dark"] .vk-topbar,
html[data-vk-appearance="dark"] .topbar,
html[data-vk-appearance="dark"] .bottom-nav {
  background:rgba(30,31,34,.94)!important;
  color:var(--app-ink)!important;
  border-color:var(--app-line)!important;
  box-shadow:0 -6px 24px rgba(0,0,0,.14);
}
html[data-vk-appearance="dark"] .brand-mark { color:#fff; }
html[data-vk-appearance="dark"] .avatar-button { background:#303236!important; color:#8bb8e8!important; box-shadow:none; }
html[data-vk-appearance="dark"] .topbar-copy strong,
html[data-vk-appearance="dark"] .dashboard-hero h1,
html[data-vk-appearance="dark"] .section-title-row h2,
html[data-vk-appearance="dark"] .screen-head h2,
html[data-vk-appearance="dark"] .listings-head h1,
html[data-vk-appearance="dark"] .modal-head h2,
html[data-vk-appearance="dark"] .profile-cover h2,
html[data-vk-appearance="dark"] .home-ad-card h3,
html[data-vk-appearance="dark"] .ad-card h3,
html[data-vk-appearance="dark"] .tx b,
html[data-vk-appearance="dark"] .profile-row b,
html[data-vk-appearance="dark"] .profile-tile b,
html[data-vk-appearance="dark"] .topup-package b,
html[data-vk-appearance="dark"] .promotion b,
html[data-vk-appearance="dark"] .pkg b { color:var(--app-ink)!important; }
html[data-vk-appearance="dark"] .topbar-copy span,
html[data-vk-appearance="dark"] .dashboard-hero p,
html[data-vk-appearance="dark"] .listings-head p,
html[data-vk-appearance="dark"] .screen-head p,
html[data-vk-appearance="dark"] .profile-cover p,
html[data-vk-appearance="dark"] .home-ad-card p,
html[data-vk-appearance="dark"] .ad-card p,
html[data-vk-appearance="dark"] .ad-meta,
html[data-vk-appearance="dark"] .ad-id,
html[data-vk-appearance="dark"] .tx small,
html[data-vk-appearance="dark"] .profile-tile small,
html[data-vk-appearance="dark"] .profile-row small,
html[data-vk-appearance="dark"] .topup-package small,
html[data-vk-appearance="dark"] .promotion small,
html[data-vk-appearance="dark"] .pkg small,
html[data-vk-appearance="dark"] .amount-hint { color:var(--app-muted)!important; }

html[data-vk-appearance="dark"] .dashboard-stats .quick-stat,
html[data-vk-appearance="dark"] .account-overview,
html[data-vk-appearance="dark"] .home-ad-card,
html[data-vk-appearance="dark"] .ad-card,
html[data-vk-appearance="dark"] .empty,
html[data-vk-appearance="dark"] .history-list,
html[data-vk-appearance="dark"] .help-list,
html[data-vk-appearance="dark"] .profile-cover,
html[data-vk-appearance="dark"] .profile-balance-card,
html[data-vk-appearance="dark"] .profile-tile,
html[data-vk-appearance="dark"] .profile-list,
html[data-vk-appearance="dark"] .topup-card,
html[data-vk-appearance="dark"] .topup-package,
html[data-vk-appearance="dark"] .dialog,
html[data-vk-appearance="dark"] .hero-card,
html[data-vk-appearance="dark"] .quick-stat { 
  background:var(--app-card)!important;
  color:var(--app-ink)!important;
  border-color:var(--app-line)!important;
  box-shadow:var(--app-shadow);
}
html[data-vk-appearance="dark"] .help-row,
html[data-vk-appearance="dark"] .profile-row { background:transparent!important; color:var(--app-ink)!important; border-color:var(--app-line)!important; }
html[data-vk-appearance="dark"] .profile-action { background:var(--app-card)!important; color:var(--app-ink)!important; }
html[data-vk-appearance="dark"] .profile-list,
html[data-vk-appearance="dark"] .history-list { overflow:hidden; }

html[data-vk-appearance="dark"] .filter-button,
html[data-vk-appearance="dark"] .icon-button,
html[data-vk-appearance="dark"] .secondary-button,
html[data-vk-appearance="dark"] .close,
html[data-vk-appearance="dark"] .edit-btn {
  background:var(--app-input)!important;
  color:var(--app-ink)!important;
  border-color:var(--app-line)!important;
}
html[data-vk-appearance="dark"] .filter-option,
html[data-vk-appearance="dark"] .promotion,
html[data-vk-appearance="dark"] .pkg,
html[data-vk-appearance="dark"] .preview-box,
html[data-vk-appearance="dark"] .form input,
html[data-vk-appearance="dark"] .form textarea,
html[data-vk-appearance="dark"] .form select {
  background:var(--app-input)!important;
  color:var(--app-ink)!important;
  border-color:var(--app-line)!important;
}
html[data-vk-appearance="dark"] .filter-option.selected { background:var(--app-blue-soft)!important; }
html[data-vk-appearance="dark"] .filter-option.selected b { color:#8ab8e7!important; }
html[data-vk-appearance="dark"] .filter-option small { color:var(--app-muted)!important; }
html[data-vk-appearance="dark"] .filter-check { color:#8ab8e7; }

html[data-vk-appearance="dark"] .amount-input-wrap {
  background:var(--app-input)!important;
  border-color:var(--app-line)!important;
  color:var(--app-ink)!important;
}
html[data-vk-appearance="dark"] .amount-input-wrap:focus-within { background:var(--app-card)!important; border-color:#5a9ff1!important; }
html[data-vk-appearance="dark"] input::placeholder,
html[data-vk-appearance="dark"] textarea::placeholder { color:#777f89!important; opacity:1; }
html[data-vk-appearance="dark"] select option { background:#303236; color:#f5f5f5; }

html[data-vk-appearance="dark"] .active-icon { background:var(--app-green-soft)!important; color:#61c87a!important; }
html[data-vk-appearance="dark"] .review-icon { background:var(--app-yellow-soft)!important; color:#e0b04b!important; }
html[data-vk-appearance="dark"] .all-icon { background:#1e2f40!important; color:#8ab8e7!important; }
html[data-vk-appearance="dark"] .pro-mini-icon { background:#303236!important; color:#aab2bc!important; }
html[data-vk-appearance="dark"] .overview-divider { background:var(--app-line)!important; }
html[data-vk-appearance="dark"] .ghost-small { background:var(--app-blue-soft)!important; color:#8ab8e7!important; }
html[data-vk-appearance="dark"] .tile-icon,
html[data-vk-appearance="dark"] .row-icon,
html[data-vk-appearance="dark"] .help-icon { background:#1e2f40!important; color:#8ab8e7!important; }
html[data-vk-appearance="dark"] .pro-icon { background:var(--app-yellow-soft)!important; color:#e0b04b!important; }

html[data-vk-appearance="dark"] .status.good { background:#1e3520!important; color:#72d28a!important; }
html[data-vk-appearance="dark"] .status.wait { background:#3a311e!important; color:#e0b04b!important; }
html[data-vk-appearance="dark"] .status.bad { background:#3b2325!important; color:#ff8c8c!important; }
html[data-vk-appearance="dark"] .reason { background:#3a311e!important; color:#e4c16a!important; }
html[data-vk-appearance="dark"] .danger-btn { background:#3b2325!important; color:#ff8c8c!important; }
html[data-vk-appearance="dark"] .promote-btn { background:var(--app-blue-soft)!important; color:#8ab8e7!important; }
html[data-vk-appearance="dark"] .home-ad-footer strong { color:#5fc878!important; }

html[data-vk-appearance="dark"] .coins-balance-card { color:#fff!important; }
html[data-vk-appearance="dark"] .coins-balance-card .primary-button { background:#fff!important; color:#1f7be0!important; }
html[data-vk-appearance="dark"] .pro-active,
html[data-vk-appearance="dark"] .home-pro-active { color:#61c87a!important; }
html[data-vk-appearance="dark"] .account-balance { background:var(--app-blue-soft)!important; color:var(--app-ink)!important; }
html[data-vk-appearance="dark"] .profile-notice.app-plaque.is-danger {
  background:linear-gradient(135deg,#ff5252 0%,#c62828 100%)!important;
  color:#fff!important;
}

html[data-vk-appearance="dark"] .ad-actions { border-color:var(--app-line)!important; }
html[data-vk-appearance="dark"] .tx-detail-row { border-color:var(--app-line)!important; }
html[data-vk-appearance="dark"] .tx-details { background:var(--app-blue-soft)!important; color:var(--app-ink)!important; }
html[data-vk-appearance="dark"] .tx-detail-row span { color:var(--app-muted)!important; }
html[data-vk-appearance="dark"] .back-button { color:#8ab8e7!important; }
html[data-vk-appearance="dark"] .link-btn { color:#8ab8e7!important; }
html[data-vk-appearance="dark"] .toast.app-plaque { box-shadow:0 10px 28px rgba(0,0,0,.45); }
html[data-vk-appearance="dark"] .toast.app-plaque.is-info {
  background:linear-gradient(135deg,#3d9bff 0%,#2688eb 100%)!important;
  color:#fff!important;
}
html[data-vk-appearance="dark"] .toast.app-plaque.is-success {
  background:linear-gradient(135deg,#61c87a 0%,#2f9e44 100%)!important;
  color:#fff!important;
}
html[data-vk-appearance="dark"] .toast.app-plaque.is-warning {
  background:linear-gradient(135deg,#f0c14b 0%,#d48806 100%)!important;
  color:#1a1200!important;
}
html[data-vk-appearance="dark"] .toast.app-plaque.is-error,
html[data-vk-appearance="dark"] .toast.app-plaque.is-danger {
  background:linear-gradient(135deg,#ff5252 0%,#c62828 100%)!important;
  color:#fff!important;
}
html[data-vk-appearance="dark"] .backdrop { background:rgba(0,0,0,.70)!important; }
html[data-vk-appearance="dark"] .onboarding-visual { background:linear-gradient(135deg,#1d3348,#20272d)!important; }
html[data-vk-appearance="dark"] .onboarding-features>div { background:#303236!important; }
html[data-vk-appearance="dark"] .onboarding-features span { background:#242629!important; }
html[data-vk-appearance="dark"] .access-stub { background:#161719!important; }
html[data-vk-appearance="dark"] .access-card { color:var(--app-ink)!important; }
html[data-vk-appearance="dark"] .access-visual { background:linear-gradient(135deg,#202f47,#252a35)!important; }
html[data-vk-appearance="dark"] .access-copy p,
html[data-vk-appearance="dark"] .access-copy small,
html[data-vk-appearance="dark"] .access-subscribe-status { color:var(--app-muted)!important; }

html[data-vk-appearance="dark"] .promotion:hover,
html[data-vk-appearance="dark"] .pkg:hover { background:#383b40!important; }
html[data-vk-appearance="dark"] .promotion:disabled,
html[data-vk-appearance="dark"] .pkg:disabled { background:#292b2f!important; color:#777f89!important; }
html[data-vk-appearance="dark"] .promotion:disabled strong,
html[data-vk-appearance="dark"] .pkg:disabled strong { color:#777f89!important; }

@media(prefers-color-scheme:dark) {
  html:not([data-vk-appearance]) { color-scheme:dark; }
}

/* Paid-service badges and expandable service descriptions. */
.ad-promotions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.promo-badge{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 8px;border-radius:9px;background:#edf5ff;color:#2f6fae;font-size:11px;font-weight:700;border:1px solid rgba(68,123,186,.16)}
.promo-badge-icon{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#dcecff;font-size:11px;line-height:1}
.promo-badge-until{font-weight:600;color:var(--muted);margin-left:1px}
.promotion{display:block;width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.04)}
.promotion+ .promotion{margin-top:8px}
.promotion summary{list-style:none;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:13px 14px;cursor:pointer}
.promotion summary::-webkit-details-marker{display:none}
.promotion summary::after{content:'⌄';font-size:18px;color:var(--muted);margin-left:2px;transition:transform .18s ease}
.promotion[open] summary::after{transform:rotate(180deg)}
.promotion-icon{width:30px;height:30px;border-radius:9px;background:#edf5ff;color:var(--blue);display:grid;place-items:center;font-size:15px;font-weight:800}
.promotion-main{min-width:0}
.promotion-main b{display:block;font-size:14px;line-height:1.25}
.promotion-main small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.promotion>summary>strong{font-size:12px;color:var(--blue);white-space:nowrap}
.promotion.is-active>summary>strong{color:var(--green)}
.promotion-body{padding:0 14px 14px 58px}
.promotion-body p{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.5}
.promotion-active-until{display:block;color:var(--green);font-size:11px;font-weight:700;margin:0 0 10px}
.promotion-buy{min-height:40px;font-size:13px}

html[data-vk-appearance="dark"] .promo-badge{background:#20384f!important;color:#9bc8f3!important;border-color:#385a76!important}
html[data-vk-appearance="dark"] .promo-badge-icon{background:#294a66!important;color:#b9dcfb!important}
html[data-vk-appearance="dark"] .promotion{background:var(--app-card)!important;color:var(--app-ink)!important;border-color:var(--app-line)!important;box-shadow:none}
html[data-vk-appearance="dark"] .promotion summary{color:var(--app-ink)!important}
html[data-vk-appearance="dark"] .promotion-main small,
html[data-vk-appearance="dark"] .promotion-body p,
html[data-vk-appearance="dark"] .promotion-active-until{color:var(--app-muted)!important}
html[data-vk-appearance="dark"] .promotion-icon{background:#20384f!important;color:#9bc8f3!important}
html[data-vk-appearance="dark"] .promotion.is-active .promotion-icon{background:#1e3520!important;color:#72d28a!important}
html[data-vk-appearance="dark"] .promotion.is-active>summary>strong{color:#72d28a!important}
html[data-vk-appearance="dark"] .promotion>summary>strong{color:#9bc8f3!important}
html[data-vk-appearance="dark"] .promotion-active-until{color:#72d28a!important}

@media (max-width:520px){
  .promo-badge-code{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .promotion summary{grid-template-columns:30px minmax(0,1fr) auto;padding:12px}
  .promotion-body{padding:0 12px 12px 52px}
  .promotion-main b{font-size:13px}
}

/* Paid-service badges and expandable service descriptions. */
.ad-promotions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.promo-badge{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 8px;border-radius:9px;background:#edf5ff;color:#2f6fae;font-size:11px;font-weight:700;border:1px solid rgba(68,123,186,.16)}
.promo-badge-icon{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#dcecff;font-size:11px;line-height:1}
.promo-badge-until{font-weight:600;color:var(--muted);margin-left:1px}
.promotion{display:block;width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.04)}
.promotion + .promotion{margin-top:8px}
.promotion summary{list-style:none;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:13px 14px;cursor:pointer}
.promotion summary::-webkit-details-marker{display:none}
.promotion summary::after{content:'⌄';font-size:18px;color:var(--muted);transition:transform .18s ease}
.promotion[open] summary::after{transform:rotate(180deg)}
.promotion-icon{width:30px;height:30px;border-radius:9px;background:#edf5ff;color:var(--blue);display:grid;place-items:center;font-size:15px;font-weight:800}
.promotion-main{min-width:0}
.promotion-main b{display:block;font-size:14px;line-height:1.25}
.promotion-main small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.promotion>summary>strong{font-size:12px;color:var(--blue);white-space:nowrap}
.promotion.is-active>summary>strong{color:var(--green)}
.promotion-body{padding:0 14px 14px 58px}
.promotion-body p{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.5}
.promotion-active-until{display:block;color:var(--green);font-size:11px;font-weight:700;margin:0 0 10px}
.promotion-buy{min-height:40px;font-size:13px}
html[data-vk-appearance="dark"] .promo-badge{background:#20384f!important;color:#9bc8f3!important;border-color:#385a76!important}
html[data-vk-appearance="dark"] .promo-badge-icon{background:#294a66!important;color:#b9dcfb!important}
html[data-vk-appearance="dark"] .promotion{background:var(--app-card)!important;color:var(--app-ink)!important;border-color:var(--app-line)!important;box-shadow:none}
html[data-vk-appearance="dark"] .promotion summary{color:var(--app-ink)!important}
html[data-vk-appearance="dark"] .promotion-main small,
html[data-vk-appearance="dark"] .promotion-body p{color:var(--app-muted)!important}
html[data-vk-appearance="dark"] .promotion-icon{background:#20384f!important;color:#9bc8f3!important}
html[data-vk-appearance="dark"] .promotion.is-active .promotion-icon{background:#1e3520!important;color:#72d28a!important}
html[data-vk-appearance="dark"] .promotion.is-active>summary>strong{color:#72d28a!important}
html[data-vk-appearance="dark"] .promotion>summary>strong{color:#9bc8f3!important}
html[data-vk-appearance="dark"] .promotion-active-until{color:#72d28a!important}
@media (max-width:520px){
  .promo-badge-code{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .promotion summary{grid-template-columns:30px minmax(0,1fr) auto 18px;padding:12px}
  .promotion-body{padding:0 12px 12px 52px}
  .promotion-main b{font-size:13px}
}


/* Dark theme: form focus must not flash white; inputs stay on dark surfaces. */
html[data-vk-appearance="dark"] .form input:focus,
html[data-vk-appearance="dark"] .form textarea:focus,
html[data-vk-appearance="dark"] .form select:focus{
  background:#303236!important;
  color:#f5f5f5!important;
  border-color:#5a8fc4!important;
}
html[data-vk-appearance="dark"] .amount-input-wrap,
html[data-vk-appearance="dark"] .amount-input-wrap input{
  background:#303236!important;
  color:#f5f5f5!important;
  border-color:var(--app-line,#383b40)!important;
}
html[data-vk-appearance="dark"] .preview-box{
  background:#303236!important;
  color:#f5f5f5!important;
}
html[data-vk-appearance="dark"] .preview-box pre{color:#c8ced6!important}
html[data-vk-appearance="dark"] .close{
  background:#303236!important;
  color:#a1a8b1!important;
}
html[data-vk-appearance="dark"] .filter.active,
html[data-vk-appearance="dark"] .chip.active{
  background:#20384f!important;
  color:#9bc8f3!important;
}
/* When VK forces light, kill system dark preference bleed-through */
html[data-vk-appearance="light"] .form input,
html[data-vk-appearance="light"] .form textarea,
html[data-vk-appearance="light"] .form select,
html[data-vk-appearance="light"] .preview-box,
html[data-vk-appearance="light"] .promotion,
html[data-vk-appearance="light"] .pkg{
  background:#f8f9fa;
  color:#17181a;
}
html[data-vk-appearance="light"] .form input:focus,
html[data-vk-appearance="light"] .form textarea:focus,
html[data-vk-appearance="light"] .form select:focus{
  background:#fff;
  color:#17181a;
}


/* === Icon theme adaptation (mask + currentColor) ===
   Shape comes from --icon SVG mask; fill follows `color`.
   Light/dark only changes color tokens — no separate assets. */
:root{
  --icon-color:#447bba;
  --icon-muted:#818c99;
  --icon-on-primary:#ffffff;
  --icon-danger:#e64646;
  --icon-success:#4bb34b;
  --icon-warning:#9a6a00;
  --app-blue:#2688eb;
}
html[data-vk-appearance="light"]{
  --icon-color:#447bba;
  --icon-muted:#818c99;
  --icon-on-primary:#ffffff;
  --icon-danger:#e64646;
  --icon-success:#318b31;
  --icon-warning:#9a6a00;
  --app-blue:#2688eb;
}
html[data-vk-appearance="dark"]{
  --icon-color:#8ab8e7;
  --icon-muted:#a1a8b1;
  --icon-on-primary:#ffffff;
  --icon-danger:#ff8c8c;
  --icon-success:#72d28a;
  --icon-warning:#e0b04b;
  --app-blue:#8ab8e7;
}

/* Base mask icons inherit the theme accent */
.vk-icon{
  color:var(--icon-color);
  background:currentColor;
}

/* Navigation */
.nav-item{color:var(--icon-muted)}
.nav-item .vk-icon{color:currentColor}
.nav-item.active{color:var(--app-blue)}
.nav-item.active .vk-icon{color:currentColor;filter:none}
html[data-vk-appearance="dark"] .nav-item{color:#a1a8b1}
html[data-vk-appearance="dark"] .nav-item.active{
  color:#8ab8e7!important;
  background:#20384f!important;
}
html[data-vk-appearance="dark"] .nav-item.active .vk-icon{color:#8ab8e7!important}

/* Primary / FAB — always white glyph on blue */
.primary-button .vk-icon,
.fab .vk-icon,
.hero-create .vk-icon{
  color:var(--icon-on-primary)!important;
}

/* Muted contexts */
.empty-icon .vk-icon,
.section-icon .vk-icon,
.submit-checks .vk-icon,
.back-button .vk-icon,
.icon-chevron,
.icon-chevron.vk-icon{
  color:var(--icon-muted);
}
html[data-vk-appearance="dark"] .empty-icon .vk-icon,
html[data-vk-appearance="dark"] .section-icon .vk-icon,
html[data-vk-appearance="dark"] .submit-checks .vk-icon,
html[data-vk-appearance="dark"] .back-button .vk-icon{
  color:var(--icon-muted)!important;
}

/* Action buttons */
.edit-btn .vk-icon,
.promote-btn .vk-icon,
.icon-button .vk-icon,
.filter-button .vk-icon,
.ghost-small .vk-icon{
  color:var(--icon-color);
}
.danger-btn .vk-icon,
.danger-btn{
  color:var(--icon-danger);
}
html[data-vk-appearance="dark"] .edit-btn .vk-icon,
html[data-vk-appearance="dark"] .promote-btn .vk-icon,
html[data-vk-appearance="dark"] .icon-button .vk-icon,
html[data-vk-appearance="dark"] .filter-button .vk-icon{
  color:var(--icon-color)!important;
}
html[data-vk-appearance="dark"] .danger-btn,
html[data-vk-appearance="dark"] .danger-btn .vk-icon{
  color:var(--icon-danger)!important;
}

/* Stat / tile / row / help icon chips */
.stat-icon .vk-icon,
.tile-icon .vk-icon,
.row-icon .vk-icon,
.help-icon .vk-icon,
.preview-avatar .vk-icon,
.onboarding-icon .vk-icon,
.promotion-icon .vk-icon{
  color:var(--icon-color);
}
html[data-vk-appearance="dark"] .stat-icon .vk-icon,
html[data-vk-appearance="dark"] .tile-icon .vk-icon,
html[data-vk-appearance="dark"] .row-icon .vk-icon,
html[data-vk-appearance="dark"] .help-icon .vk-icon,
html[data-vk-appearance="dark"] .preview-avatar .vk-icon,
html[data-vk-appearance="dark"] .onboarding-icon .vk-icon{
  color:var(--icon-color)!important;
}

/* Status-tinted icon wells (keep readable on dark surfaces) */
html[data-vk-appearance="dark"] .active-icon{background:#1e3520!important}
html[data-vk-appearance="dark"] .active-icon .vk-icon{color:var(--icon-success)!important}
html[data-vk-appearance="dark"] .review-icon{background:#3a311e!important}
html[data-vk-appearance="dark"] .review-icon .vk-icon{color:var(--icon-warning)!important}
html[data-vk-appearance="dark"] .all-icon{background:#1e2f40!important}
html[data-vk-appearance="dark"] .all-icon .vk-icon{color:var(--icon-color)!important}

/* Promo badge glyphs (emoji stay as-is; mask icons if used later) */
html[data-vk-appearance="dark"] .promo-badge-icon{
  color:#b9dcfb!important;
}
html[data-vk-appearance="dark"] .promotion-icon{
  background:#20384f!important;
  color:var(--icon-color)!important;
}

/* Link-style controls */
.link-btn .vk-icon,
.back-button{
  color:var(--icon-color);
}
html[data-vk-appearance="dark"] .link-btn .vk-icon,
html[data-vk-appearance="dark"] .back-button{
  color:var(--icon-color)!important;
}


/* Red status plaque (ad status chips) */
.status.status-red,
.status.good.status-red{
  background:#e64646!important;
  color:#fff!important;
  border:none!important;
}
.status.status-red{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:8px;
  font-size:12px;
  font-weight:700;
}
html[data-vk-appearance="dark"] .status.status-red{
  background:#ff5252!important;
  color:#1a1a1a!important;
}

/* === Unified app plaques / banners === */
.app-plaque{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  font-size:13px;
  font-weight:600;
  line-height:1.35;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
  border:1px solid transparent;
}
.app-plaque .plaque-icon{
  flex:none;
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:800;
  background:rgba(255,255,255,.22);
  color:inherit;
  margin-top:1px;
}
.app-plaque .plaque-text{flex:1;min-width:0}
.app-plaque.is-danger,
.app-plaque.is-error{
  background:linear-gradient(135deg,#e64646 0%,#c62828 100%);
  color:#fff;
  border-color:rgba(0,0,0,.06);
}
.app-plaque.is-success{
  background:linear-gradient(135deg,#4bb34b 0%,#2f9e44 100%);
  color:#fff;
}
.app-plaque.is-warning{
  background:linear-gradient(135deg,#f0a202 0%,#d48806 100%);
  color:#1a1200;
}
.app-plaque.is-info{
  background:linear-gradient(135deg,#2688eb 0%,#1a6fc4 100%);
  color:#fff;
}
.profile-notice.app-plaque{
  margin:10px 0 12px;
  box-shadow:0 4px 14px rgba(230,70,70,.22);
}
.profile-notice[hidden]{display:none!important}
.modal-plaque{
  margin:4px 0 16px;
  text-align:left;
}
.stub-plaque{
  background:linear-gradient(135deg,#e64646 0%,#c62828 100%);
  color:#fff;
  border-radius:14px;
  padding:14px 16px;
  font-weight:700;
  text-align:center;
  margin:12px 0 18px;
  font-size:14px;
}
.stub-eyebrow{color:#e64646!important}
.stub-message{color:var(--muted);line-height:1.45}
html[data-vk-appearance="dark"] .app-plaque.is-danger,
html[data-vk-appearance="dark"] .app-plaque.is-error,
html[data-vk-appearance="dark"] .stub-plaque{
  background:linear-gradient(135deg,#ff5252 0%,#c62828 100%);
  color:#fff;
}
html[data-vk-appearance="dark"] .toast.app-plaque.is-info{
  background:linear-gradient(135deg,#3d9bff 0%,#2688eb 100%);
  color:#fff;
}
html[data-vk-appearance="dark"] .toast {
  box-shadow:0 10px 28px rgba(0,0,0,.45);
}

/* === Embedded icons (no CDN) — fixes empty squares in VK WebView === */
.vk-icon{
  display:inline-block;
  width:24px;
  height:24px;
  flex:none;
  background-color:currentColor;
  background-image:none !important;
  color:var(--icon-color, #447bba);
  -webkit-mask-image:var(--icon);
  mask-image:var(--icon);
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
}
.icon-home{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M12%203.2%203.5%2010.2V21h6.2v-6.3h4.6V21h6.2V10.2L12%203.2zm0%202.3%207%205.7V19.5h-3.2v-6.3H8.2v6.3H5V11.2l7-5.7z%22%2F%3E%3C%2Fsvg%3E");}
.icon-ads{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M7%202.5h7.2L19.5%208v13.5H7V2.5zm1.5%201.5v16h9.5V9h-4.3V4H8.5zM14.2%204.6v3H17l-2.8-3zM9.5%2011h7v1.5h-7V11zm0%203.5h7V16h-7v-1.5zm0%203.5h5V19h-5v-1.5z%22%2F%3E%3C%2Fsvg%3E");}
.icon-coins{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M12%202.5a7%207%200%200%200-5.5%2011.3A6.5%206.5%200%201%200%2016.3%208%207%207%200%200%200%2012%202.5zm0%201.5a5.5%205.5%200%200%201%204.5%208.6%206.5%206.5%200%200%200-7.7-6.9A5.5%205.5%200%200%201%2012%204zm-4.8%207.8a5%205%200%201%201%200%2010%205%205%200%200%201%200-10zm0%201.5a3.5%203.5%200%201%200%200%207%203.5%203.5%200%200%200%200-7z%22%2F%3E%3C%2Fsvg%3E");}
.icon-user{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M12%203.5a4.5%204.5%200%201%201%200%209%204.5%204.5%200%200%201%200-9zm0%201.5a3%203%200%201%200%200%206%203%203%200%200%200%200-6zM6.2%2020.5c0-3.4%202.7-5.8%205.8-5.8s5.8%202.4%205.8%205.8h-1.5c0-2.5-2-4.3-4.3-4.3S7.7%2018%207.7%2020.5H6.2z%22%2F%3E%3C%2Fsvg%3E");}
.icon-add{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M11.25%205h1.5v6.25H19v1.5h-6.25V19h-1.5v-6.25H5v-1.5h6.25V5z%22%2F%3E%3C%2Fsvg%3E");}
.icon-edit{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22m15.4%204.2%204.4%204.4-11%2011H4.4v-4.4l11-11zm1.1%201.1-9.9%209.9v2.2h2.2l9.9-9.9-2.2-2.2z%22%2F%3E%3C%2Fsvg%3E");}
.icon-delete{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M9.5%204h5l.5%201.5H19v1.5H5V5.5h4l.5-1.5zM6.5%208h11l-.7%2012.2c0%20.7-.6%201.3-1.3%201.3H8.5c-.7%200-1.3-.6-1.3-1.3L6.5%208zm2%201.5-.5%2010h1.5l.4-10H8.5zm3.2%200v10h1.5v-10h-1.5zm3.1%200-.4%2010h1.5l.5-10h-1.6z%22%2F%3E%3C%2Fsvg%3E");}
.icon-help{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M12%202.5a9.5%209.5%200%201%201%200%2019%209.5%209.5%200%200%201%200-19zm0%201.5a8%208%200%201%200%200%2016%208%208%200%200%200%200-16zm0%2011.2a1.1%201.1%200%201%201%200%202.2%201.1%201.1%200%200%201%200-2.2zm0-7.7c1.7%200%203%201.2%203%202.9%200%201.1-.5%201.8-1.5%202.4l-.6.4c-.5.3-.7.6-.7%201.2v.5h-1.5v-.6c0-1%20.4-1.7%201.3-2.3l.6-.4c.7-.4%201-1%201-1.6%200-.8-.6-1.4-1.6-1.4s-1.6.6-1.7%201.4H9.2C9.4%208.3%2010.5%207.5%2012%207.5z%22%2F%3E%3C%2Fsvg%3E");}
.icon-history{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M12%203.5a8.5%208.5%200%201%201-7.6%204.7l1.3.7A7%207%200%201%200%2012%205v2.2l3.2-2.6L12%202v1.5zM11.2%208h1.6v4.4l3.2%201.9-.8%201.3-4-2.4V8z%22%2F%3E%3C%2Fsvg%3E");}
.icon-star{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22m12%203.2%202.4%205%205.5.6-4.1%203.8%201.2%205.4L12%2015.4%207%2017.9l1.2-5.4L4%208.8l5.5-.6L12%203.2zm0%203.1L10.5%209.5l-3.4.4%202.5%202.3-.7%203.3%202.9-1.6%202.9%201.6-.7-3.3%202.5-2.3-3.4-.4L12%206.3z%22%2F%3E%3C%2Fsvg%3E");}
.icon-check{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M12%202.5a9.5%209.5%200%201%201%200%2019%209.5%209.5%200%200%201%200-19zm0%201.5a8%208%200%201%200%200%2016%208%208%200%200%200%200-16zm4.1%204.4%201.1%201.1-6.6%206.6-3.4-3.4%201.1-1.1%202.3%202.3%205.5-5.5z%22%2F%3E%3C%2Fsvg%3E");}
.icon-back{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M14.7%205.3%208%2012l6.7%206.7%201.1-1.1L10.2%2012l5.6-5.6-1.1-1.1z%22%2F%3E%3C%2Fsvg%3E");}
.icon-chevron{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22m9.3%205.3%206.7%206.7-6.7%206.7-1.1-1.1%205.6-5.6-5.6-5.6%201.1-1.1z%22%2F%3E%3C%2Fsvg%3E");}
.icon-filter{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M4%205h16v1.8l-6%206.2V19l-4-2v-5L4%206.8V5zm1.7%201.5%205.3%205.5V16l2%201v-5.5l5.3-5.5H5.7z%22%2F%3E%3C%2Fsvg%3E");}
.icon-rules{--icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M4%205h16v14H4V5zm1.5%201.5v11h13v-11h-13zM7%209h10v1.5H7V9zm0%203.5h10V14H7v-1.5zm0%203.5h7V17.5H7V16z%22%2F%3E%3C%2Fsvg%3E");}

.stat-icon .vk-icon,
.tile-icon .vk-icon,
.row-icon .vk-icon,
.nav-item .vk-icon,
.empty-icon .vk-icon,
.section-icon .vk-icon{
  width:20px;
  height:20px;
  opacity:1 !important;
  visibility:visible !important;
}
.nav-item .vk-icon{width:22px;height:22px;color:currentColor;}
.primary-button .vk-icon,
.fab .vk-icon{color:#fff !important;}
.stat-icon{display:grid;place-items:center;}
.active-icon .vk-icon{color:var(--icon-success, #4bb34b);}
.review-icon .vk-icon{color:var(--icon-warning, #9a6a00);}
.all-icon .vk-icon{color:var(--icon-color, #447bba);}
html[data-vk-appearance="dark"] .vk-icon{color:var(--icon-color, #8ab8e7);}
html[data-vk-appearance="dark"] .nav-item .vk-icon{color:currentColor;}
html[data-vk-appearance="dark"] .active-icon .vk-icon{color:var(--icon-success, #72d28a);}
html[data-vk-appearance="dark"] .review-icon .vk-icon{color:var(--icon-warning, #e0b04b);}
html[data-vk-appearance="dark"] .all-icon .vk-icon{color:var(--icon-color, #8ab8e7);}


/* Access stub — polished closed-state screen */
.app.access-stub{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:max(16px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));
  background:var(--app-bg, var(--soft, #0a0a0b));
}
.access-card{
  width:min(420px, 100%);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:0;
}
.access-visual{
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(160deg, #1a2a3a 0%, #12151a 100%);
  aspect-ratio:4/3;
  position:relative;
}
.access-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.access-copy{
  padding:22px 4px 0;
}
.access-copy .eyebrow{
  display:block;
  margin-bottom:10px;
  color:var(--app-muted, #818c99);
  letter-spacing:.06em;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
}
.access-copy h1{
  font-size:clamp(26px, 6.5vw, 34px);
  line-height:1.15;
  letter-spacing:-.03em;
  margin:0 0 12px;
  font-weight:800;
  color:var(--app-ink, #fff);
}
.access-copy p{
  font-size:16px;
  line-height:1.45;
  color:var(--app-muted, #a1a8b1);
  margin:0 0 10px;
}
.access-copy small{
  display:block;
  color:var(--app-muted, #818c99);
  font-size:13px;
  line-height:1.45;
  opacity:.92;
}
.access-subscribe{
  margin-top:22px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.access-subscribe-button{
  width:100%;
  min-height:52px;
  border-radius:14px;
  font-size:16px;
  font-weight:700;
  gap:10px;
  box-shadow:0 8px 22px rgba(38,136,235,.28);
}
.access-subscribe-button.is-success{
  background:#4bb34b !important;
  box-shadow:0 8px 22px rgba(75,179,75,.22);
  cursor:default;
}
.access-bell{font-size:18px;line-height:1}
.access-subscribe-status{
  margin:0 6px;
  color:var(--app-muted, #818c99);
  font-size:13px;
  line-height:1.4;
  text-align:center;
}
.access-subscribe-status.is-success{color:#4bb34b}
.access-subscribe-status.is-warning{color:#e0b04b}
html[data-vk-appearance="light"] .app.access-stub{
  background:var(--app-bg, #f0f2f5);
}
html[data-vk-appearance="light"] .access-visual{
  background:linear-gradient(160deg, #e8f1fb, #f5f7fb);
}
html[data-vk-appearance="light"] .access-copy h1{color:var(--app-ink, #1a1a1a)}
/* hide legacy pager dots if present in older markup */
.access-pager{display:none !important}

/* Home admin widget + featured ad */
.dashboard-hero{position:relative}
.dashboard-hero.hero-has-media{display:grid;gap:12px}
.hero-media{border-radius:16px;overflow:hidden;max-height:160px}
.hero-media img{display:block;width:100%;height:160px;object-fit:cover}
.hero-widget-btn{
  display:inline-flex;align-items:center;justify-content:center;
  margin-top:10px;padding:10px 14px;border-radius:12px;
  background:var(--vk-blue);color:#fff;font-weight:700;font-size:13px;
  text-decoration:none;
}
.featured-ad-card{--feat-accent:#2688eb;
  margin:12px 0 4px;padding:14px;border-radius:16px;
  background:linear-gradient(135deg,#2a3340 0%,#1c2430 100%);
  color:#f5f5f5;border:1px solid rgba(255,255,255,.06);
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
.featured-ad-badge{--feat-accent:#2688eb;
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  color:#ffd54f;margin-bottom:10px;
}
.featured-ad-copy b{display:block;font-size:16px;margin-bottom:6px}
.featured-ad-copy p{margin:0;color:#c5cbd3;font-size:13px;line-height:1.4}
.featured-ad-meta{display:flex;gap:10px;margin-top:8px;font-size:12px;color:#9aa3ad}
.featured-ad-note{display:block;margin-top:8px;color:#ffd54f;font-size:12px}
.featured-ad-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.featured-ad-id{font-size:12px;color:#8b949e}
html[data-vk-appearance="light"] .featured-ad-card{
  background:linear-gradient(135deg,#fff8e7 0%,#fff 55%);
  color:#17181a;border-color:rgba(240,162,2,.25);
}
html[data-vk-appearance="light"] .featured-ad-copy p{color:#5c6570}
html[data-vk-appearance="light"] .featured-ad-meta{color:#818c99}
.admin-widget-form{display:grid;gap:10px;margin:12px 0 16px}
.admin-widget-form label{display:grid;gap:5px;font-size:12px;font-weight:700;color:var(--vk-muted)}
.admin-widget-form input,.admin-widget-form textarea{
  border:1px solid var(--vk-line);background:var(--vk-bg);color:var(--vk-text);
  border-radius:11px;padding:10px 12px;font-size:14px;font-weight:600;
}
.admin-widget-form .check-row{
  display:flex;align-items:center;gap:8px;font-weight:600;color:var(--vk-text);
}
.admin-widget-form .check-row input{width:18px;height:18px}

/* Friendlier create/edit form */
.create-shell{padding-bottom:4px}
.create-progress{display:flex;align-items:center;gap:6px;margin:12px 0 4px}
.step-dot{border:0;background:transparent;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;color:var(--vk-muted);font-size:12px}
.step-dot span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--vk-bg);font-weight:800;font-size:11px}
.step-dot b{font-weight:700}
.step-dot.active{color:var(--vk-blue);background:var(--vk-blue-soft)}
.step-dot.active span{background:var(--vk-blue);color:#fff}
.step-dot.done span{background:#4bb34b;color:#fff}
.create-progress i{flex:1;height:2px;background:var(--vk-line);border-radius:2px;min-width:12px}
.create-progress i.done{background:#4bb34b}
.field-card{display:grid;gap:6px;margin:0 0 10px;padding:12px;border-radius:14px;background:var(--vk-bg);border:1px solid var(--vk-line)}
.field-card>span{font-size:12px;font-weight:700;color:var(--vk-muted)}
.field-card>span em{font-style:normal;font-weight:600;opacity:.7}
.field-card select,.field-card input,.field-card textarea{
  width:100%;border:0;background:var(--vk-card);border-radius:10px;padding:11px 12px;
  font-size:15px;font-weight:600;color:var(--vk-text);outline:0;
}
.field-card textarea{min-height:120px;resize:vertical;line-height:1.4}
.chip-field{margin-bottom:12px}
.chip-label{display:block;font-size:12px;font-weight:700;color:var(--vk-muted);margin-bottom:8px}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  border:1px solid var(--vk-line);background:var(--vk-card);color:var(--vk-text);
  border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;
}
.chip.is-on{background:var(--vk-blue);border-color:var(--vk-blue);color:#fff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.smart-hint{display:flex;gap:8px;align-items:flex-start;margin:8px 0 4px;padding:10px 12px;border-radius:12px;background:var(--vk-blue-soft);color:var(--vk-muted);font-size:12px;line-height:1.4}
.smart-hint.ok-hint{background:rgba(75,179,75,.12);color:#2f9e44}
.field-footer{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--vk-muted);margin-top:4px}
.field-footer .ok{color:#2f9e44;font-weight:700}
.wizard-actions{display:flex;gap:8px;margin-top:14px}
.wizard-actions .primary-button,.wizard-actions .secondary-button{flex:1}
.vk-preview{border-radius:16px;border:1px solid var(--vk-line);background:var(--vk-card);overflow:hidden;margin-bottom:12px}
.vk-preview-head{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--vk-line)}
.preview-avatar{width:36px;height:36px;border-radius:50%;background:var(--vk-blue-soft);color:var(--vk-blue);display:grid;place-items:center}
.preview-body{padding:12px 14px}
.preview-title{font-weight:800;font-size:15px;margin-bottom:6px}
.preview-text{font-size:14px;line-height:1.45;white-space:pre-wrap;color:var(--vk-text)}
.preview-info{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;font-size:12px;color:var(--vk-muted)}
.draft-note{font-size:11px;color:var(--vk-muted);margin-top:8px;min-height:14px}
.step-hint{color:var(--vk-muted)!important;font-size:13px!important}
.submit-info-plaque{margin-top:4px}
#wizardSubmit.is-loading{opacity:.75;pointer-events:none}

/* Admin tab */
.admin-screen .screen-head{margin-bottom:14px}
.admin-card{background:var(--vk-card);border:1px solid rgba(0,0,0,.035);border-radius:16px;padding:14px;margin-bottom:12px}
.admin-queues{display:grid;gap:8px;margin-top:10px}
.admin-queue-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 12px;border-radius:12px;background:var(--vk-bg)}
.admin-queue-row b{font-size:13px}
.admin-queue-row strong{font-size:15px;color:var(--vk-blue)}
.admin-queue-row small{grid-column:1/-1;color:var(--vk-muted);font-size:11px}
.admin-queue-status{padding:4px 2px;color:var(--vk-muted)}
.admin-hint{margin:10px 2px 0;font-size:12px;color:var(--vk-muted);line-height:1.4}
.admin-hint code{font-size:11px;background:var(--vk-bg);padding:2px 6px;border-radius:6px}
#navAdmin[hidden]{display:none!important}
.bottom-nav .nav-item{flex:1;min-width:0}

/* Moderation subsection under Ads */
.mod-section{margin-top:22px;padding-top:8px;border-top:1px solid var(--vk-line)}
.mod-section .section-kicker{color:#e64646}
.mod-ad-card{border-color:rgba(230,70,70,.18)}
.mod-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.mod-actions .primary-button.compact,
.mod-actions .secondary-button.compact{width:auto;min-height:36px;padding:0 12px;font-size:12px}
.danger-btn{color:#e64646!important;border-color:rgba(230,70,70,.35)!important}
html[data-vk-appearance="dark"] .mod-section{border-color:#303236}

/* Admin panel extended */
.admin-overview{margin-top:8px}
.admin-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.admin-stat{background:var(--vk-bg);border-radius:12px;padding:12px}
.admin-stat span{display:block;font-size:11px;color:var(--vk-muted)}
.admin-stat strong{display:block;font-size:20px;margin-top:4px}
.admin-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.admin-chip{background:var(--vk-bg);border-radius:999px;padding:6px 10px;font-size:11px}
.admin-chip b{margin-right:4px}
.admin-user-search{display:flex;gap:8px;margin:10px 0}
.admin-user-search input{flex:1;border:1px solid var(--vk-line);background:var(--vk-bg);border-radius:11px;padding:10px 12px;font-size:15px;font-weight:600;color:var(--vk-text)}
.admin-user-card{display:grid;gap:6px;padding:12px;border-radius:14px;background:var(--vk-bg)}
.admin-user-card b{font-size:16px}
.admin-user-card small{color:var(--vk-muted);font-size:12px}
.admin-user-card .text-danger{color:#e64646;font-size:13px;margin:4px 0}
.admin-econ-block{margin-top:10px}
.admin-econ-block b{display:block;font-size:12px;color:var(--vk-muted);margin-bottom:6px}
.admin-econ-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--vk-line);font-size:13px}
.admin-econ-row:last-child{border-bottom:0}
.admin-settings .check-row{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}

/* Widget color + photo editor */
.widget-editor{display:grid;gap:14px;margin:8px 0 12px}
@media(min-width:560px){.widget-editor{grid-template-columns:1.1fr .9fr;align-items:start}}
.color-field,.photo-field{margin:4px 0 10px}
.color-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.color-row input[type="color"]{width:42px;height:42px;border:0;padding:0;background:transparent;cursor:pointer;flex:none}
.color-row input[type="text"],.color-row input:not([type]){flex:1;border:1px solid var(--vk-line);background:var(--vk-bg);border-radius:11px;padding:10px 12px;font-size:14px;font-weight:600;color:var(--vk-text)}
.color-swatches{display:flex;flex-wrap:wrap;gap:8px}
.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid rgba(0,0,0,.12);padding:0;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.color-swatch.is-empty{border-style:dashed}
.compact-link{margin:0;padding:6px 8px;font-size:12px}
.photo-preview-wrap{border-radius:14px;overflow:hidden;background:var(--vk-bg);border:1px solid var(--vk-line);min-height:120px;display:grid;place-items:center}
.photo-preview-wrap img{display:block;width:100%;max-height:160px;object-fit:cover}
.photo-placeholder{color:var(--vk-muted);font-size:13px;padding:24px}
.photo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.photo-upload-btn{cursor:pointer;display:inline-flex;align-items:center}
.photo-hint{display:block;margin-top:6px;color:var(--vk-muted);font-size:11px;line-height:1.4}
.widget-live-preview .chip-label{margin-bottom:8px}
.widget-preview-card{border-radius:16px;padding:14px;background:var(--vk-card);border:1px solid var(--vk-line);min-height:120px}
.widget-preview-card .wlp-eyebrow{display:block;font-size:11px;opacity:.75;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.widget-preview-card h3{margin:0 0 6px;font-size:18px;line-height:1.15}
.widget-preview-card p{margin:0;font-size:13px;line-height:1.4;opacity:.9}
.widget-preview-card .wlp-btn{display:inline-flex;margin-top:10px;padding:8px 12px;border-radius:10px;background:var(--vk-blue);color:#fff;font-size:12px;font-weight:700}
.widget-preview-card .wlp-media{margin-top:10px;border-radius:12px;overflow:hidden}
.widget-preview-card .wlp-media img{display:block;width:100%;max-height:100px;object-fit:cover}

/* Admin panel — mobile fit */
.admin-screen{
  padding-left:max(12px, env(safe-area-inset-left));
  padding-right:max(12px, env(safe-area-inset-right));
  padding-bottom:calc(88px + env(safe-area-inset-bottom));
  box-sizing:border-box;
  overflow-x:hidden;
  max-width:100%;
}
.admin-screen .screen-head{padding-right:4px}
.admin-card{
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
}
.admin-user-search{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  margin:10px 0;
  width:100%;
  box-sizing:border-box;
}
.admin-user-search label,
.admin-user-search .admin-hint{
  grid-column:1 / -1;
}
.admin-user-search label{
  font-size:13px;
  font-weight:700;
}
.admin-user-search input{
  min-width:0;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  font-size:15px;
}
.admin-user-search .primary-button.compact{
  flex:none;
  white-space:nowrap;
  min-width:76px;
  padding:0 14px;
  width:auto;
}
.admin-user-card{
  max-width:100%;
  box-sizing:border-box;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.admin-user-card .mod-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:12px;
}
.admin-user-card .mod-actions .secondary-button.compact,
.admin-user-card .mod-actions .primary-button.compact{
  width:100%;
  min-height:40px;
  padding:0 8px;
  font-size:12px;
  justify-content:center;
  box-sizing:border-box;
}
.admin-user-card .mod-actions .danger-btn{
  grid-column:1 / -1;
}
.admin-econ-row{
  gap:8px;
  align-items:flex-start;
}
.admin-econ-row span{
  min-width:0;
  flex:1;
  overflow-wrap:anywhere;
}
.admin-econ-row strong{
  flex:none;
  white-space:nowrap;
  font-size:13px;
}
.admin-stat strong{font-size:18px}
.admin-chip-row{max-width:100%}
.admin-queue-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 10px;
  padding:8px 0;
  border-bottom:1px solid var(--vk-line);
  font-size:13px;
}
.admin-queue-row small{
  grid-column:1 / -1;
  color:var(--vk-muted);
  font-size:11px;
  overflow-wrap:anywhere;
}
.admin-queue-row strong{white-space:nowrap}
.section-title-row{
  gap:8px;
  flex-wrap:wrap;
}
.section-title-row h2{font-size:16px}
html[data-vk-appearance="dark"] .admin-user-search input{
  background:#1c1f24;
  border-color:#303236;
  color:#e7e8ea;
}

.admin-user-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:8px;
  width:100%;
}
.admin-user-actions button{
  width:100% !important;
  min-height:40px;
  box-sizing:border-box;
}
.admin-user-actions .danger-btn{
  grid-column:1 / -1;
}
.admin-user-actions .danger-btn + button{
  grid-column:1 / -1;
}

/* AI improve in create form */
.ai-improve-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 12px}
.ai-improve-bar .secondary-button{width:auto}
.ai-quota-hint{font-size:11px;color:var(--vk-muted);line-height:1.3;flex:1;min-width:140px}
.ai-result-box{margin:0 0 12px;padding:12px;border-radius:14px;background:var(--vk-bg);border:1px solid rgba(38,136,235,.25)}
.ai-result-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px}
.ai-result-head small{color:var(--vk-muted)}
.ai-result-text{font-size:14px;line-height:1.45;white-space:pre-wrap;margin-bottom:10px}
.ai-result-actions{display:flex;flex-wrap:wrap;gap:8px}
.ai-result-actions .primary-button,
.ai-result-actions .secondary-button{width:auto;min-height:36px;padding:0 12px}

/* Ad form photos */
.form-photos{margin:8px 0 12px}
.ad-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0}
.ad-photo-item{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--vk-bg);border:1px solid var(--vk-line)}
.ad-photo-thumb{width:100%;height:100%;background-size:cover;background-position:center;background-color:#2a2d33}
.ad-photo-remove{position:absolute;top:4px;right:4px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-size:18px;line-height:1;cursor:pointer}
.ad-photo-grid .photo-placeholder{grid-column:1/-1;text-align:center;padding:16px;color:var(--vk-muted);font-size:13px}


/* === FIX: Home widget admin styles must override the global VK theme ===
   The generic light/dark .dashboard-hero rules are declared later and dark
   mode uses !important, so inline parent styles were previously ignored.
   Widget-specific rules are intentionally last and use !important only here. */
.dashboard-hero.home-widget-custom{
  background:var(--home-widget-bg, inherit)!important;
  color:var(--home-widget-text, inherit)!important;
}
.dashboard-hero.home-widget-custom h1,
.dashboard-hero.home-widget-custom p,
.dashboard-hero.home-widget-custom .eyebrow,
.dashboard-hero.home-widget-custom .hero-widget-copy,
.dashboard-hero.home-widget-custom .hero-widget-copy *,
.dashboard-hero.home-widget-custom .hero-create{
  color:var(--home-widget-text, inherit)!important;
}
.dashboard-hero.home-widget-custom .hero-widget-btn{
  color:#fff!important;
}
.dashboard-hero.home-widget-custom .hero-media{
  background:transparent;
}
.dashboard-hero.home-widget-custom .hero-media img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Live preview uses the exact same precedence model as the real widget. */
.widget-preview-card.home-widget-preview-custom{
  background:var(--home-widget-preview-bg, inherit)!important;
  color:var(--home-widget-preview-text, inherit)!important;
}
.widget-preview-card.home-widget-preview-custom h3,
.widget-preview-card.home-widget-preview-custom p,
.widget-preview-card.home-widget-preview-custom .wlp-eyebrow,
.widget-preview-card.home-widget-preview-custom .wlp-btn{
  color:var(--home-widget-preview-text, inherit)!important;
}

/* Moderation queue on ads tab */
.moderation-section{
  margin-top:18px;
  padding-top:8px;
  border-top:1px solid var(--vk-line, var(--app-line, #e7eaf0));
}
.moderation-section .section-kicker{
  display:block;
  margin-bottom:2px;
}
.moderation-list .mod-actions{
  margin-top:10px;
}

/* Editable admin economy prices */
.admin-econ-edit{
  align-items:center;
}
.admin-econ-code{
  display:block;
  font-size:11px;
  color:var(--vk-muted, var(--app-muted, #818c99));
  font-weight:400;
  margin-top:2px;
}
.admin-price-edit{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:var(--app-input, #f8f9fa);
  border:1px solid var(--vk-line, #e7eaf0);
  border-radius:10px;
  padding:4px 8px;
  min-width:110px;
}
.admin-price-edit input{
  width:72px;
  border:0;
  background:transparent;
  font:inherit;
  font-weight:700;
  text-align:right;
  color:inherit;
  outline:none;
  padding:2px 0;
}
.admin-price-edit span{
  font-size:12px;
  color:var(--vk-muted, #818c99);
  white-space:nowrap;
}
html[data-vk-appearance="dark"] .admin-price-edit{
  background:var(--app-input, #303236);
  border-color:var(--app-line, #383b40);
}

/* Hide empty/broken home-widget chrome (empty blue pill, failed image slot) */
.hero-widget-btn[hidden],
.hero-widget-btn:empty{display:none!important}
.hero-media[hidden],
.hero-media:empty{display:none!important;height:0!important;margin:0!important;padding:0!important}

.ai-improve-block{margin:8px 0 12px}
.ai-improve-block .field-card{margin-bottom:8px}
.ai-improve-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}

.admin-mod-box{display:grid;gap:10px;margin-top:8px}
.admin-mod-box .mod-ad-card,
.admin-mod-box .home-ad-card{margin:0}
.admin-overview{min-height:40px}
.admin-settings{min-height:40px}
.admin-user-box{margin-top:8px}

.ai-chat-shell{display:flex;flex-direction:column;gap:10px;min-height:min(70vh,520px)}
.ai-chat-modes{display:flex;gap:8px}
.ai-chat-modes .filter-button.is-active{background:var(--vk-blue,#2688eb);color:#fff}
.ai-chat-log{
  flex:1;min-height:240px;max-height:min(45vh,360px);overflow:auto;
  display:flex;flex-direction:column;gap:8px;padding:10px;
  background:var(--vk-bg,#f5f7fa);border-radius:14px;
}
.ai-chat-bubble{max-width:92%;padding:10px 12px;border-radius:14px;font-size:14px;line-height:1.4;word-break:break-word}
.ai-chat-bubble.user{align-self:flex-end;background:var(--vk-blue,#2688eb);color:#fff;border-bottom-right-radius:4px}
.ai-chat-bubble.assistant{align-self:flex-start;background:#fff;border:1px solid rgba(0,0,0,.06);border-bottom-left-radius:4px}
html[data-vk-appearance="dark"] .ai-chat-bubble.assistant{background:#2a2d31;border-color:#3a3d42;color:#f0f2f5}
.ai-chat-actions{margin-top:8px}
.ai-chat-compose{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.ai-chat-compose textarea{
  border:1px solid var(--vk-line,#e1e3e6);border-radius:12px;padding:10px 12px;
  resize:vertical;min-height:44px;max-height:120px;background:var(--vk-bg,#fff);color:inherit
}
.ai-chat-compose .primary-button{min-height:44px;padding:0 14px}

.topup-package .topup-desc{display:block;margin-top:4px;font-size:11px;line-height:1.35;color:var(--vk-muted,#818c99);font-weight:500;max-width:240px}
.topup-package{align-items:flex-start}
.topup-package strong{padding-top:2px}

.pro-buy-shell{display:flex;flex-direction:column;gap:10px}
.pro-buy-desc{margin:0;color:var(--vk-muted,#818c99);font-size:14px;line-height:1.45}
.pro-buy-price{font-size:28px;font-weight:800;margin:4px 0}
.pro-buy-balance{margin:0;font-size:13px;color:var(--vk-muted,#818c99)}
.pro-buy-actions{display:grid;gap:8px;margin-top:6px;position:sticky;bottom:0;padding-bottom:4px;background:linear-gradient(to top, var(--vk-card,#fff) 70%, transparent)}
.pro-buy-actions .primary-button.wide,
.pro-buy-actions .secondary-button.wide{width:100%;min-height:48px}
#confirmPro.is-loading{opacity:.85;pointer-events:none}

.ai-chat-overlay{
  position:fixed;inset:0;z-index:80;display:none;
  align-items:flex-end;justify-content:center;
}
.ai-chat-overlay.open{display:flex}
.ai-chat-overlay-backdrop{
  position:absolute;inset:0;background:rgba(0,0,0,.35);
}
.ai-chat-panel{
  position:relative;z-index:1;width:min(720px,100%);
  max-height:min(88vh,640px);overflow:auto;
  background:var(--vk-card,#fff);border-radius:20px 20px 0 0;
  padding:16px 16px calc(16px + env(safe-area-inset-bottom));
  box-shadow:0 -8px 40px rgba(0,0,0,.25);
}
.ai-chat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.ai-chat-head h2{margin:4px 0 6px;font-size:22px}
.ai-chat-head p{margin:0;color:var(--vk-muted,#818c99);font-size:13px}
.ai-chat-close{position:static;flex-shrink:0}

.ai-msg-shell{display:flex;flex-direction:column;height:min(88vh,640px);max-height:min(88vh,640px);margin:-4px}
.ai-msg-top{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:4px 4px 10px;border-bottom:1px solid rgba(0,0,0,.06)}
.ai-msg-top-text b{display:block;font-size:17px}
.ai-msg-top-text small{color:var(--vk-muted,#818c99);font-size:12px}
.ai-msg-modes{display:flex;gap:6px}
.ai-mode-chip{border:0;background:var(--vk-bg,#f0f2f5);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--vk-text,#17181a)}
.ai-mode-chip.is-active{background:var(--vk-blue,#2688eb);color:#fff}
.ai-msg-log{flex:1;overflow:auto;padding:12px 6px;display:flex;flex-direction:column;gap:8px;background:var(--vk-bg,#f5f7fa)}
.ai-msg-attach-preview{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px;border-top:1px solid rgba(0,0,0,.05)}
.ai-msg-chip{display:inline-flex;align-items:center;gap:4px;background:#e8f0fe;border-radius:999px;padding:4px 8px;font-size:12px}
.ai-msg-chip button{border:0;background:transparent;font-size:16px;line-height:1;cursor:pointer;color:#668}
.ai-msg-composer{
  display:grid;grid-template-columns:40px 1fr 44px;gap:8px;align-items:end;
  padding:10px 8px;border-top:1px solid rgba(0,0,0,.08);background:var(--vk-card,#fff);
}
.ai-msg-attach-btn{
  width:40px;height:40px;border:0;border-radius:50%;background:var(--vk-bg,#f0f2f5);
  font-size:18px;display:grid;place-items:center;
}
.ai-msg-composer textarea{
  width:100%;min-height:40px;max-height:120px;resize:none;border:1px solid var(--vk-line,#e1e3e6);
  border-radius:20px;padding:10px 14px;font-size:15px;line-height:1.35;background:var(--vk-bg,#f5f7fa);
  color:inherit;outline:0;
}
.ai-msg-composer textarea:focus{border-color:var(--vk-blue,#2688eb);background:#fff}
.ai-msg-send{
  width:44px;height:44px;border:0;border-radius:50%;background:var(--vk-blue,#2688eb);color:#fff;
  font-size:18px;font-weight:700;display:grid;place-items:center;box-shadow:0 4px 12px rgba(38,136,235,.3);
}
.ai-msg-send.is-loading{opacity:.7;pointer-events:none}
.ai-msg-back{margin:6px auto 0;display:block}
html[data-vk-appearance="dark"] .ai-msg-log{background:#1b1c1e}
html[data-vk-appearance="dark"] .ai-msg-composer textarea{background:#2a2d31;border-color:#3a3d42}
html[data-vk-appearance="dark"] .ai-msg-attach-btn{background:#2a2d31}

/* ===== Admin UX redesign ===== */
.admin-screen{padding-bottom:12px}
.admin-hero{
  display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
  margin:0 0 14px;padding:16px;border-radius:18px;
  background:linear-gradient(135deg,#2688eb 0%,#4c9cf0 55%,#6eb0f5 100%);
  color:#fff;box-shadow:0 10px 28px rgba(38,136,235,.28);
}
.admin-hero .eyebrow{color:rgba(255,255,255,.85)}
.admin-hero h2{margin:4px 0 6px;font-size:26px;letter-spacing:-.02em}
.admin-hero p{margin:0;color:rgba(255,255,255,.9);font-size:13px;max-width:280px;line-height:1.4}
.admin-hero .filter-button{
  background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.35);
  backdrop-filter:blur(8px);flex-shrink:0;
}
.admin-tabs{
  display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;
  padding:0 2px 12px;margin:0 0 4px;scrollbar-width:none;
}
.admin-tabs::-webkit-scrollbar{display:none}
.admin-tab{
  flex:0 0 auto;border:0;border-radius:999px;padding:8px 14px;
  background:var(--vk-card,#fff);color:var(--vk-muted,#818c99);
  font-size:13px;font-weight:700;box-shadow:0 1px 0 rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.05);
}
.admin-tab.is-active{
  background:var(--vk-blue,#2688eb);color:#fff;border-color:transparent;
  box-shadow:0 6px 16px rgba(38,136,235,.25);
}
.admin-pane{display:none}
.admin-pane.is-active{display:block}
.admin-card-soft{
  background:var(--vk-card,#fff);border-radius:18px;padding:14px 14px 16px;
  border:1px solid rgba(0,0,0,.04);box-shadow:0 8px 24px rgba(15,23,42,.04);
  margin-bottom:12px;
}
.admin-card-head{
  display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;
}
.admin-card-head > div:first-child{display:flex;align-items:center;gap:10px}
.admin-card-head b{display:block;font-size:15px}
.admin-card-head small{display:block;color:var(--vk-muted,#818c99);font-size:12px;margin-top:1px}
.admin-card-icon{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:var(--vk-blue-soft,#edf5ff);font-size:18px;flex-shrink:0;
}
.admin-empty-hint{
  text-align:center;padding:28px 16px;color:var(--vk-muted,#818c99);
  display:grid;gap:6px;justify-items:center;
}
.admin-empty-emoji{font-size:28px}
.admin-empty-hint b{color:var(--vk-text,#17181a);font-size:15px}
.admin-empty-hint span{font-size:13px;max-width:260px;line-height:1.4}
.admin-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.admin-action-tile{
  text-align:left;border:1px solid rgba(0,0,0,.06);background:var(--vk-bg,#f5f7fa);
  border-radius:16px;padding:14px 12px;display:grid;gap:4px;
}
.admin-action-tile:active{transform:scale(.98)}
.admin-action-emoji{font-size:22px}
.admin-action-tile b{font-size:14px}
.admin-action-tile small{color:var(--vk-muted,#818c99);font-size:12px;line-height:1.35}
.admin-user-search{margin-top:4px}
.admin-hint{margin-top:10px;font-size:12px;color:var(--vk-muted,#818c99)}
.admin-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.admin-stat{
  background:var(--vk-bg,#f5f7fa);border-radius:14px;padding:12px 12px 14px;
  border:1px solid rgba(0,0,0,.03);
}
.admin-stat span{font-size:11px;color:var(--vk-muted,#818c99);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.admin-stat strong{display:block;margin-top:6px;font-size:20px;letter-spacing:-.02em}
.admin-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.admin-chip{
  background:var(--vk-blue-soft,#edf5ff);color:var(--vk-blue,#2688eb);
  border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600;
}
.admin-chip b{font-weight:800}
html[data-vk-appearance="dark"] .admin-hero{
  background:linear-gradient(135deg,#1a5fb0 0%,#2688eb 100%);
}
html[data-vk-appearance="dark"] .admin-tab{background:#2a2d31;border-color:#3a3d42;color:#b0b4ba}
html[data-vk-appearance="dark"] .admin-tab.is-active{background:#2688eb;color:#fff}
html[data-vk-appearance="dark"] .admin-card-soft{background:#232528;border-color:#2f3236}
html[data-vk-appearance="dark"] .admin-action-tile{background:#2a2d31;border-color:#3a3d42}
html[data-vk-appearance="dark"] .admin-stat{background:#2a2d31}
html[data-vk-appearance="dark"] .admin-card-icon{background:#1e3a5f}
@media (max-width:360px){
  .admin-action-grid{grid-template-columns:1fr}
  .admin-hero{flex-direction:column}
}

.ad-card-preview{
  border-radius:18px;overflow:hidden;background:var(--vk-card,#fff);
  border:1px solid rgba(0,0,0,.06);box-shadow:0 10px 28px rgba(15,23,42,.06);
  margin-bottom:12px;
}
.ad-card-preview-media{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:4px;
  background:#0f1216;min-height:120px;
}
.ad-card-preview-media.is-empty{display:block;min-height:88px}
.ad-card-preview-empty{
  display:grid;place-items:center;height:88px;color:rgba(255,255,255,.55);font-size:13px;padding:12px;text-align:center;
}
.ad-card-preview-shot{
  position:relative;aspect-ratio:1;background:#2a2d33 center/cover no-repeat;
}
.ad-card-preview-shot .ad-photo-remove{top:6px;right:6px}
.ad-card-preview-body{padding:14px 14px 10px}
.ad-card-preview-kicker{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--vk-blue,#2688eb);text-transform:uppercase;margin-bottom:6px}
.ad-card-preview-text{margin:0;font-size:15px;line-height:1.45;white-space:pre-wrap;color:var(--vk-text,#17181a)}
.ad-card-preview-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:13px;color:var(--vk-muted,#818c99)}
.ad-card-preview-footer{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06);font-size:12px;color:var(--vk-muted,#818c99)}
.ad-card-preview-tools{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px 14px}
.ai-chat-image{margin-top:8px;border-radius:12px;overflow:hidden;max-width:240px}
.ai-chat-image img{display:block;width:100%;height:auto;vertical-align:middle}
.ai-chat-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
html[data-vk-appearance="dark"] .ad-card-preview{background:#232528;border-color:#2f3236}

/* ===== Redesigned create / edit ad form ===== */
.cf-shell{display:flex;flex-direction:column;gap:0;max-height:min(92vh,820px)}
.cf-head{position:sticky;top:0;z-index:3;background:var(--vk-card,var(--card));padding:4px 0 10px;border-bottom:1px solid var(--vk-line,rgba(0,0,0,.06));margin:0 0 4px}
.cf-head-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cf-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--vk-blue,var(--blue));background:var(--vk-blue-soft,rgba(67,126,184,.12));padding:4px 10px;border-radius:999px;margin-bottom:6px}
.cf-title{margin:0;font-size:20px;line-height:1.2;letter-spacing:-.02em}
.cf-close{width:36px;height:36px;border:0;border-radius:50%;background:var(--vk-bg,var(--soft));color:var(--vk-muted,var(--muted));font-size:22px;line-height:1;flex:none}
.cf-close:hover{background:rgba(0,0,0,.08)}
.cf-progress{height:4px;border-radius:4px;background:var(--vk-line,rgba(0,0,0,.08));margin:12px 0 10px;overflow:hidden}
.cf-progress-bar{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--vk-blue,#2688eb),#5aa9f0);transition:width .28s ease}
.cf-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cf-step{border:0;background:var(--vk-bg,var(--soft));border-radius:12px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--vk-muted,var(--muted));font-size:11px;font-weight:600;transition:background .15s,color .15s}
.cf-step-num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.06);font-size:11px;font-weight:800}
.cf-step.is-active{color:var(--vk-blue,#2688eb);background:var(--vk-blue-soft,rgba(67,126,184,.14))}
.cf-step.is-active .cf-step-num{background:var(--vk-blue,#2688eb);color:#fff}
.cf-step.is-done .cf-step-num{background:#4bb34b;color:#fff}
.cf-hint{margin:10px 0 0;font-size:13px;color:var(--vk-muted,var(--muted));min-height:18px}
.cf-form{overflow:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.cf-pane{animation:cfIn .2s ease}
@keyframes cfIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cf-block{margin:0 0 16px}
.cf-block-title{font-size:14px;font-weight:800;margin:0 0 10px;letter-spacing:-.01em}
.cf-block-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.cf-block-title-row .cf-block-title{margin:0}
.cf-char{font-size:11px;font-weight:700;color:var(--vk-muted,var(--muted));white-space:nowrap}

/* Action cards */
.cf-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:420px){.cf-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cf-action-card{border:1.5px solid var(--vk-line,rgba(0,0,0,.08));background:var(--vk-card,var(--card));border-radius:14px;padding:12px 10px;text-align:left;display:flex;flex-direction:column;gap:2px;min-height:76px;transition:border-color .15s,box-shadow .15s,transform .12s}
.cf-action-card:active{transform:scale(.98)}
.cf-action-card.is-on{border-color:var(--vk-blue,#2688eb);box-shadow:none;background:var(--vk-blue-soft,rgba(67,126,184,.1))}
.cf-action-emoji{font-size:20px;line-height:1.2}
.cf-action-name{font-size:14px;font-weight:800}
.cf-action-hint{font-size:11px;color:var(--vk-muted,var(--muted));line-height:1.3}

/* Pills */
.cf-pill-grid{display:flex;flex-wrap:wrap;gap:8px}
.cf-pill{border:1px solid var(--vk-line,rgba(0,0,0,.1));background:var(--vk-bg,var(--soft));border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--vk-text,var(--text));cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s,border-color .12s,color .12s,transform .08s}
.cf-pill.is-on{background:var(--vk-blue,#2688eb);border-color:var(--vk-blue,#2688eb);color:#fff;box-shadow:0 4px 12px rgba(38,136,235,.28)}
.cf-pill:active{transform:scale(.97)}

/* Textarea */
.cf-textarea-wrap{border:1.5px solid var(--vk-line,rgba(0,0,0,.1));border-radius:14px;background:var(--vk-bg,var(--soft));overflow:hidden;transition:border-color .15s,box-shadow .15s}
.cf-textarea-wrap:focus-within{border-color:var(--vk-blue,#2688eb);box-shadow:none}
.cf-textarea-wrap textarea{width:100%;border:0;background:transparent;padding:12px 14px;min-height:140px;resize:vertical;line-height:1.45;color:var(--vk-text,var(--text));outline:none}
.cf-field-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;flex-wrap:wrap}
.cf-text-hint{font-size:12px;color:var(--vk-muted,var(--muted));font-weight:600}
.cf-text-hint.is-ok{color:#2f9e44}
.cf-ai-btn{border:0;background:linear-gradient(135deg,#5b7cfa,#2688eb);color:#fff;font-weight:700;font-size:12px;padding:8px 12px;border-radius:999px;white-space:nowrap}
.cf-ai-quota{margin:6px 0 0;font-size:11px;color:var(--vk-muted,var(--muted))}

/* Photos */
.cf-photo-grid{margin:0 0 10px}
.cf-photo-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:110px;border:1.5px dashed var(--vk-line,rgba(0,0,0,.18));border-radius:16px;background:var(--vk-bg,var(--soft));cursor:pointer;padding:16px;text-align:center;transition:border-color .15s,background .15s}
.cf-photo-drop:hover,.cf-photo-drop:focus-within{border-color:var(--vk-blue,#2688eb);background:var(--vk-blue-soft,rgba(67,126,184,.08))}
.cf-photo-drop-icon{font-size:28px;line-height:1}
.cf-photo-drop-title{font-size:14px;font-weight:800}
.cf-photo-drop-sub{font-size:11px;color:var(--vk-muted,var(--muted))}

/* Fields row */
.cf-row-2{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:10px}
@media (min-width:480px){.cf-row-2{grid-template-columns:1fr 1fr}}
.cf-field{display:grid;gap:6px}
.cf-label{font-size:12px;font-weight:700;color:var(--vk-muted,var(--muted))}
.cf-label em{font-style:normal;font-weight:500;opacity:.75}
.cf-field input{border:1.5px solid var(--vk-line,rgba(0,0,0,.1));border-radius:12px;background:var(--vk-bg,var(--soft));padding:11px 12px;outline:none;color:var(--vk-text,var(--text))}
.cf-field input:focus{border-color:var(--vk-blue,#2688eb);box-shadow:none}

.cf-note{font-size:12px;line-height:1.4;color:var(--vk-muted,var(--muted));padding:10px 12px;border-radius:12px;background:var(--vk-bg,var(--soft));margin:4px 0 0}
.cf-note-ok{background:rgba(75,179,75,.12);color:#2f9e44}
.cf-note-warn{background:rgba(255,168,0,.12);color:#b87400}

/* Preview card */
.cf-preview{border:1px solid var(--vk-line,rgba(0,0,0,.08));border-radius:18px;overflow:hidden;background:var(--vk-card,var(--card));box-shadow:0 8px 28px rgba(0,0,0,.06);margin-bottom:12px}
.cf-preview-media{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:4px;background:var(--vk-bg,var(--soft));min-height:72px}
.cf-preview-media.is-empty{display:flex;align-items:center;justify-content:center}
.cf-preview-empty{font-size:13px;color:var(--vk-muted,var(--muted));padding:20px}
.cf-preview-shot{position:relative;aspect-ratio:1;background-size:cover;background-position:center;background-color:#2a2d33}
.cf-preview-body{padding:14px 14px 10px}
.cf-preview-kicker{font-size:12px;font-weight:800;color:var(--vk-blue,#2688eb);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}
.cf-preview-text{margin:0;font-size:14px;line-height:1.45;white-space:pre-wrap;color:var(--vk-text,var(--text))}
.cf-preview-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.cf-tag{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--vk-bg,var(--soft));color:var(--vk-text,var(--text))}
.cf-tag-price{background:rgba(75,179,75,.14);color:#2f9e44}
.cf-preview-foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:12px;color:var(--vk-muted,var(--muted))}
.cf-preview-tools{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px 14px}
.cf-tool-btn{border:0;background:var(--vk-bg,var(--soft));border-radius:10px;padding:8px 12px;font-size:12px;font-weight:700;color:var(--vk-text,var(--text))}
.cf-tool-danger{color:#e64646;background:rgba(230,70,70,.1)}

.cf-draft{text-align:center;font-size:11px;color:var(--vk-muted,var(--muted));min-height:14px;margin:6px 0}
.cf-actions{display:flex;gap:8px;margin-top:12px;position:sticky;bottom:0;padding-top:8px;background:linear-gradient(180deg,transparent,var(--vk-card,var(--card)) 28%);z-index:2}
.cf-actions .primary-button,.cf-actions .secondary-button{flex:1;min-height:48px;border-radius:14px;font-weight:800}
.cf-btn-back{flex:0 0 30%!important}
.cf-btn-next,.cf-btn-submit{flex:1!important}
#wizardSubmit.is-loading{opacity:.75;pointer-events:none}

html[data-vk-appearance="dark"] .cf-head{border-bottom-color:#2f3236}
html[data-vk-appearance="dark"] .cf-action-card{background:#232528;border-color:#2f3236}
html[data-vk-appearance="dark"] .cf-action-card.is-on{background:rgba(67,126,184,.18)}
html[data-vk-appearance="dark"] .cf-textarea-wrap,
html[data-vk-appearance="dark"] .cf-field input,
html[data-vk-appearance="dark"] .cf-photo-drop,
html[data-vk-appearance="dark"] .cf-pill{background:#1c1e22;border-color:#2f3236}
html[data-vk-appearance="dark"] .cf-preview{background:#232528;border-color:#2f3236}
html[data-vk-appearance="dark"] .cf-close{background:#2a2d33}

/* Field validation states */
.cf-error{
  margin:6px 0 0;
  font-size:12px;
  font-weight:600;
  color:#e64646;
  line-height:1.35;
}
.cf-error[hidden]{display:none!important}
.cf-textarea-wrap.is-invalid,
.cf-field input.is-invalid,
.cf-action-grid.is-invalid,
.cf-pill-grid.is-invalid{
  border-color:#e64646!important;
  box-shadow:0 0 0 3px rgba(230,70,70,.15)!important;
}
.cf-action-grid.is-invalid,
.cf-pill-grid.is-invalid{
  border:1.5px solid #e64646;
  border-radius:14px;
  padding:8px;
  box-shadow:0 0 0 3px rgba(230,70,70,.12);
}
.cf-textarea-wrap.is-valid,
.cf-field input.is-valid{
  border-color:#4bb34b!important;
  box-shadow:0 0 0 3px rgba(75,179,75,.12)!important;
}
html[data-vk-appearance="dark"] .cf-error{color:#ff6b6b}
html[data-vk-appearance="dark"] .cf-textarea-wrap.is-invalid,
html[data-vk-appearance="dark"] .cf-field input.is-invalid{
  border-color:#ff6b6b!important;
  box-shadow:0 0 0 3px rgba(255,107,107,.18)!important;
}

/* AI chat photo result */
.ai-chat-bubble .ai-chat-image{
  margin-top:10px;
  border-radius:14px;
  overflow:hidden;
  max-width:min(100%,280px);
  background:#e8eef5;
  border:1px solid rgba(0,0,0,.06);
}
.ai-chat-bubble .ai-chat-image img{
  display:block;
  width:100%;
  height:auto;
  max-height:320px;
  object-fit:cover;
  vertical-align:middle;
}
.ai-chat-image-missing{
  padding:14px;
  font-size:13px;
  color:var(--vk-muted,#818c99);
  text-align:center;
}
.ai-chat-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.ai-chat-actions .primary-button,
.ai-chat-actions .secondary-button{
  min-height:36px;
  font-size:13px;
}
html[data-vk-appearance="dark"] .ai-chat-bubble .ai-chat-image{
  background:#2a2d31;
  border-color:#3a3d42;
}

/* Photo thumbs: real <img> so AI data-URL previews show in VK WebView */
.ad-photo-thumb{
  width:100%;
  height:100%;
  background:#2a2d33;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.ad-photo-thumb-img,
.cf-preview-shot-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.ad-photo-thumb-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  color:rgba(255,255,255,.55);
  background:#2a2d33;
}
.cf-preview-shot{
  position:relative;
  overflow:hidden;
}

.ai-suggested-text{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(38,136,235,.08);
  border:1px solid rgba(38,136,235,.18);
  font-size:14px;
  line-height:1.45;
  white-space:pre-wrap;
  word-break:break-word;
}
html[data-vk-appearance="dark"] .ai-suggested-text{
  background:rgba(38,136,235,.15);
  border-color:rgba(38,136,235,.28);
}

/* ===== Admin Console ===== */
.console-card .admin-card-head{align-items:flex-start}
.console-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.console-toolbar{display:flex;flex-direction:column;gap:10px;margin:12px 0 8px}
.console-search-wrap input{
  width:100%;
  border:1px solid var(--vk-line,#e7eaf0);
  border-radius:12px;
  padding:11px 14px;
  font-size:14px;
  background:var(--vk-input,#f8f9fa);
  color:var(--app-ink,#17181a);
}
.console-filters{display:flex;flex-wrap:wrap;gap:6px}
.console-chip{
  border:1px solid var(--vk-line,#e7eaf0);
  background:var(--app-card,#fff);
  color:var(--app-ink,#17181a);
  border-radius:999px;
  padding:6px 12px;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
}
.console-chip.is-active{
  background:#2688eb;
  border-color:#2688eb;
  color:#fff;
}
.console-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.console-meta-row input,
.console-meta-row select{
  border:1px solid var(--vk-line,#e7eaf0);
  border-radius:10px;
  padding:8px 10px;
  font-size:13px;
  background:var(--vk-input,#f8f9fa);
  color:var(--app-ink,#17181a);
  min-width:0;
}
.console-meta-row input{flex:1;min-width:120px}
.console-count{font-size:12px;color:var(--vk-muted,#818c99);margin-left:auto}
.console-stats{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:10px;
}
.console-stat-pill{
  font-size:11px;
  padding:4px 8px;
  border-radius:8px;
  background:rgba(0,0,0,.04);
  color:var(--vk-muted,#818c99);
}
.console-stat-pill b{color:var(--app-ink,#17181a);margin-right:4px}
.console-feed{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-height:min(62vh,560px);
  overflow:auto;
  padding:6px 2px 12px;
  -webkit-overflow-scrolling:touch;
}
.console-event{
  display:block;
  border-radius:14px;
  background:var(--app-card,#fff);
  border:1px solid var(--vk-line,#e7eaf0);
  border-left:4px solid #c4c8d0;
  overflow:visible;
  min-height:64px;
}
.console-event.severity-ok{border-left-color:#4bb34b}
.console-event.severity-warn{border-left-color:#f5a623}
.console-event.severity-danger{border-left-color:#e64646}
.console-event.severity-info{border-left-color:#2688eb}
.console-event-body{padding:12px 14px}
.console-event-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
}
.console-kind-badge{
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.02em;
  color:#2688eb;
}
.console-event.kind-access .console-kind-badge{color:#2688eb}
.console-event.kind-ad .console-kind-badge{color:#9b87f5}
.console-event.kind-economy .console-kind-badge{color:#e0a21a}
.console-event.kind-promo .console-kind-badge{color:#2ecf8f}
.console-event.kind-block .console-kind-badge{color:#ff6b6b}
.console-event-head time{
  font-size:11px;
  color:var(--vk-muted,#818c99);
  white-space:nowrap;
  flex:none;
}
.console-event-title{
  font-size:15px;
  font-weight:700;
  line-height:1.35;
  color:var(--app-ink,#17181a);
  word-break:break-word;
}
.console-event-detail{
  font-size:13px;
  color:var(--vk-muted,#818c99);
  margin-top:4px;
  line-height:1.45;
  word-break:break-word;
}
.console-event-foot{margin-top:10px}
.console-user{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  font-size:12px;
  color:var(--vk-muted,#818c99);
  max-width:100%;
}
.console-user-label{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.console-user:hover{color:#2688eb}
.console-avatar{
  width:22px;height:22px;border-radius:50%;object-fit:cover;background:#e7eaf0;flex:none;
}
.console-avatar-fallback{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;
  font-size:11px;font-weight:700;color:#fff;background:#2688eb;flex:none;
}
html[data-vk-appearance="dark"] .console-event{
  background:#2a2d31;
  border-color:#3a3d42;
}
html[data-vk-appearance="dark"] .console-event-title{
  color:#f2f3f5 !important;
}
html[data-vk-appearance="dark"] .console-event-detail,
html[data-vk-appearance="dark"] .console-event-head time,
html[data-vk-appearance="dark"] .console-user{
  color:#b0b6be !important;
}
html[data-vk-appearance="dark"] .console-avatar{background:#3a3d42}
@media (prefers-color-scheme: dark){
  html:not([data-vk-appearance="light"]) .console-event{
    background:#2a2d31;
    border-color:#3a3d42;
  }
  html:not([data-vk-appearance="light"]) .console-event-title{
    color:#f2f3f5 !important;
  }
  html:not([data-vk-appearance="light"]) .console-event-detail,
  html:not([data-vk-appearance="light"]) .console-event-head time,
  html:not([data-vk-appearance="light"]) .console-user{
    color:#b0b6be !important;
  }
}
#consoleAutoBtn.is-active{
  background:#e8f5e9;border-color:#4bb34b;color:#2a7a2a;
}
html[data-vk-appearance="dark"] .console-search-wrap input,
html[data-vk-appearance="dark"] .console-meta-row input,
html[data-vk-appearance="dark"] .console-meta-row select{
  background:#2a2d31;border-color:#3a3d42;color:#f0f0f0;
}
html[data-vk-appearance="dark"] .console-chip{
  background:#2a2d31;border-color:#3a3d42;color:#e8e8e8;
}
html[data-vk-appearance="dark"] .console-chip.is-active{
  background:#2688eb;border-color:#2688eb;color:#fff;
}
html[data-vk-appearance="dark"] .console-stat-pill{background:rgba(255,255,255,.06)}
html[data-vk-appearance="dark"] .console-stat-pill b{color:#f0f0f0}


/* Test / QA banners — compact */
.app-test-banner{
  display:flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  background:#fff8e6;
  color:#7a5a10;
  font-size:11px;
  line-height:1.25;
  border-bottom:1px solid rgba(180,120,0,.15);
  z-index:50;
}
.app-test-banner.is-active-test{
  background:#eaf6ea;
  color:#1b5e20;
  border-bottom-color:rgba(46,125,50,.2);
}
.app-test-banner-icon{flex-shrink:0;font-size:12px;line-height:1}
.app-test-banner-text{
  flex:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-height:1.25em;
}
.home-test-plaque{
  margin:0 12px 8px;
  padding:6px 10px !important;
  font-size:11px !important;
  gap:6px !important;
}
.home-test-plaque .plaque-text{font-size:11px;line-height:1.3}
.home-test-plaque .plaque-text b{font-size:11px}
html[data-vk-appearance="dark"] .app-test-banner{
  background:linear-gradient(90deg,#3d3420,#2a2418);
  color:#ffd999;
  border-bottom-color:rgba(255,200,100,.2);
}
html[data-vk-appearance="dark"] .app-test-banner.is-active-test{
  background:linear-gradient(90deg,#1b3d22,#14301a);
  color:#a5d6a7;
}

.admin-settings-grid{display:flex;flex-direction:column;gap:8px}
.admin-setting-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 12px;border-radius:12px;border:1px solid var(--app-line,#e7eaf0);
  background:var(--app-card,#fff);
}
.admin-setting-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.admin-setting-copy b{font-size:13px;font-weight:600}
.admin-setting-copy small{font-size:11px;color:var(--app-muted,#818c99)}
.admin-setting-row input[type=checkbox]{width:18px;height:18px;flex-shrink:0}
.admin-setting-delay{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--app-line,#e7eaf0);
  font-size:13px;font-weight:600;
}
.admin-setting-delay input{width:88px;padding:8px 10px;border-radius:10px;border:1px solid var(--app-line,#e7eaf0);background:var(--app-input,#f8f9fa)}
html[data-vk-appearance="dark"] .admin-setting-row,
html[data-vk-appearance="dark"] .admin-setting-delay{background:#242629;border-color:#383b40}

/* AI chat apply actions */
.ai-chat-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.ai-btn-add{
  border:0;
  border-radius:12px;
  padding:10px 14px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  background:#4bb34b;
  color:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
}
.ai-btn-add:active{filter:brightness(.95)}
.ai-btn-cancel{
  border:1px solid var(--app-line,#e7eaf0);
  border-radius:12px;
  padding:10px 14px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  background:var(--app-card,#fff);
  color:var(--app-ink,#17181a);
}
.ai-btn-regen{
  border:0;
  border-radius:12px;
  padding:10px 14px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  background:#2688eb;
  color:#fff;
}
.ai-chat-image img{
  display:block;
  width:100%;
  max-height:240px;
  object-fit:cover;
  border-radius:12px;
  margin-top:8px;
}
.ai-chat-image-missing{
  margin-top:8px;
  padding:12px;
  border-radius:12px;
  background:var(--app-input,#f0f2f5);
  color:var(--app-muted,#818c99);
  font-size:13px;
  text-align:center;
}

.ai-chat-lock-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 12px;
  margin:0 0 4px;
  font-size:12px;
  color:var(--app-muted,#818c99);
  background:var(--app-input,#f5f7fb);
  border-radius:12px;
}
.ai-chat-lock-status .link-btn{font-size:12px;font-weight:600;white-space:nowrap}
.ai-msg-modes .is-disabled{opacity:.5}
.ai-suggested-text{
  margin-top:8px;
  padding:10px 12px;
  border-radius:12px;
  background:var(--app-input,#f0f2f5);
  font-size:13px;
  line-height:1.4;
  white-space:pre-wrap;
}

/* ===== Convenience UX (2026-08-23) ===== */
.ads-toolbar-actions{display:flex;gap:8px;align-items:center}
.ads-search-row{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}
.ads-search-row input[type="search"]{
  width:100%;border:1px solid var(--vk-line,var(--line,#e7eaf0));border-radius:12px;
  padding:11px 14px;font-size:14px;background:var(--vk-input,var(--app-input,#f8f9fa));
  color:var(--app-ink,var(--text,#17181a));
}
.ads-refresh-meta{font-size:11px;color:var(--vk-muted,var(--muted,#818c99))}
.ad-id-btn{
  border:0;background:transparent;padding:0;font:inherit;font-weight:700;cursor:pointer;
  color:var(--vk-muted,var(--muted,#818c99));
}
.ad-id-btn:active,.ad-id-btn:hover{color:var(--vk-blue,#2688eb)}
.ad-rel-time{opacity:.75}
.ghost-btn{
  border:1px solid var(--vk-line,var(--line,#e7eaf0));background:transparent;
  border-radius:10px;min-height:36px;padding:0 10px;font-weight:600;color:var(--muted,#818c99);
}
.status-ok{background:rgba(75,179,75,.14);color:#2a7a2a}
.status-queue{background:rgba(38,136,235,.14);color:#1a6bc4}
html[data-vk-appearance="dark"] .status-ok{background:rgba(114,210,138,.16);color:#72d28a}
html[data-vk-appearance="dark"] .status-queue{background:rgba(138,184,231,.16);color:#8ab8e7}
.confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}
.primary-button.is-danger{background:#e64646;box-shadow:0 5px 16px rgba(230,70,70,.25)}
.skeleton-card{pointer-events:none;min-height:96px}
.sk{display:block;height:12px;border-radius:8px;margin:8px 0;background:linear-gradient(90deg,rgba(127,127,127,.12),rgba(127,127,127,.22),rgba(127,127,127,.12));background-size:200% 100%;animation:sk-shimmer 1.1s ease-in-out infinite}
.sk-line.short{width:36%}.sk-line.mid{width:68%}.sk-line{width:92%}
@keyframes sk-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.sk{animation:none}}
html[data-vk-appearance="dark"] .ads-search-row input[type="search"]{background:#2a2d31;border-color:#3a3d42;color:#f0f0f0}
html[data-vk-appearance="dark"] .ghost-btn{border-color:#3a3d42;color:#a1a8b1}
.home-ad-card[data-go-ads]{cursor:pointer}
.home-ad-card[data-go-ads]:active{transform:scale(.99)}

/* =========================================================
   Visual polish pass — 2026-08-23
   Unified rhythm, depth, contrast (light + dark)
   ========================================================= */

:root {
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --radius-xl: 22px;
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --tap: 0.14s var(--ease-out);
}

/* —— Global surfaces —— */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
.app {
  background: var(--app-bg, var(--soft, #f5f7fb));
}

/* —— Top bar —— */
.vk-topbar, .topbar {
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  border-bottom: 1px solid color-mix(in srgb, var(--app-line, #e7eaf0) 80%, transparent);
}

/* —— Bottom nav —— */
.bottom-nav {
  border-top: 1px solid var(--app-line, #e7eaf0);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  padding-bottom: max(8px, env(safe-area-inset-bottom));
  box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.06);
}
.nav-item {
  border-radius: 14px;
  transition: background var(--tap), color var(--tap), transform .1s ease;
}
.nav-item:active {
  transform: scale(0.96);
}
.nav-item.active {
  font-weight: 700;
}
html[data-vk-appearance="dark"] .bottom-nav {
  box-shadow: 0 -10px 32px rgba(0, 0, 0, 0.35);
}

/* —— Primary / secondary buttons —— */
.primary-button {
  border-radius: 14px;
  letter-spacing: -0.01em;
  transition: transform .12s var(--ease-out), box-shadow .18s var(--ease-out), filter .15s ease;
}
.primary-button:active {
  transform: scale(0.98);
  filter: brightness(0.96);
}
.primary-button.wide {
  width: 100%;
}
.secondary-button, .filter-button, .ghost-small {
  border-radius: 12px;
  transition: background var(--tap), border-color var(--tap), transform .1s ease;
}
.filter-button:active, .ghost-small:active {
  transform: scale(0.97);
}

/* —— Cards (ads / home) —— */
.ad-card,
.home-ad-card {
  border-radius: var(--radius-lg);
  padding: 16px;
  margin-bottom: 12px;
  border: 1px solid color-mix(in srgb, var(--app-line, #e7eaf0) 90%, transparent);
  background: var(--app-card, #fff);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03), 0 8px 24px rgba(15, 23, 42, 0.04);
  transition: transform .14s var(--ease-out), box-shadow .2s ease;
}
.ad-card:active,
.home-ad-card:active {
  transform: scale(0.995);
}
.ad-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.ad-id-btn {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.01em;
  color: var(--app-blue, #2688eb) !important;
  padding: 4px 8px;
  margin: -4px -8px;
  border-radius: 8px;
  transition: background var(--tap);
}
.ad-id-btn:active {
  background: var(--app-blue-soft, #edf5ff);
}
.ad-card h3,
.home-ad-card h3 {
  font-size: 17px;
  line-height: 1.25;
  letter-spacing: -0.02em;
  margin: 0 0 6px;
  font-weight: 700;
}
.ad-card p,
.home-ad-card p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--app-muted, #818c99);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ad-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 12px;
  font-size: 12.5px;
  color: var(--app-muted, #818c99);
  align-items: center;
}
.ad-meta span:first-child {
  font-weight: 700;
  color: var(--app-ink, #17181a);
  font-size: 14px;
}
.ad-rel-time {
  opacity: 0.85;
  font-size: 12px;
}

/* Status pills */
.status {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.2;
  white-space: nowrap;
}
.status-ok {
  background: rgba(75, 179, 75, 0.16);
  color: #2d9b3f;
}
.status-queue {
  background: rgba(38, 136, 235, 0.14);
  color: #1a6bc4;
}
.status.wait {
  background: rgba(245, 166, 35, 0.16);
  color: #b57600;
}
.status.bad {
  background: rgba(230, 70, 70, 0.14);
  color: #d63c3c;
}
html[data-vk-appearance="dark"] .status-ok {
  background: rgba(114, 210, 138, 0.18);
  color: #72d28a;
}
html[data-vk-appearance="dark"] .status-queue {
  background: rgba(138, 184, 231, 0.18);
  color: #8ab8e7;
}
html[data-vk-appearance="dark"] .status.wait {
  background: rgba(224, 176, 75, 0.18);
  color: #e0b04b;
}
html[data-vk-appearance="dark"] .status.bad {
  background: rgba(255, 140, 140, 0.16);
  color: #ff8c8c;
}

/* Ad action buttons — clean 2-col grid */
.ad-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 14px;
}
.ad-actions .edit-btn,
.ad-actions .danger-btn,
.ad-actions .promote-btn {
  min-height: 42px;
  border-radius: 12px;
  font-size: 13.5px;
  font-weight: 650;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid transparent;
  transition: transform .1s ease, filter .12s ease, background var(--tap);
}
.ad-actions .edit-btn {
  background: var(--app-input, #f0f2f5);
  color: var(--app-ink, #17181a);
  border-color: var(--app-line, #e7eaf0);
}
.ad-actions .danger-btn {
  background: rgba(230, 70, 70, 0.12);
  color: #e64646;
  border-color: rgba(230, 70, 70, 0.22);
}
.ad-actions .promote-btn {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, #1f7be0, #2688eb);
  color: #fff;
  box-shadow: 0 6px 16px rgba(38, 136, 235, 0.28);
  border: 0;
}
.ad-actions button:active {
  transform: scale(0.98);
}
html[data-vk-appearance="dark"] .ad-actions .edit-btn {
  background: #303236;
  border-color: #3a3d42;
  color: #f0f0f0;
}
html[data-vk-appearance="dark"] .ad-actions .danger-btn {
  background: rgba(255, 100, 100, 0.14);
  border-color: rgba(255, 100, 100, 0.28);
  color: #ff8c8c;
}
html[data-vk-appearance="dark"] .ad-card,
html[data-vk-appearance="dark"] .home-ad-card {
  background: #242629;
  border-color: #32353a;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}
html[data-vk-appearance="dark"] .ad-meta span:first-child {
  color: #f2f3f5;
}

/* —— Search / toolbar —— */
.ads-search-row input[type="search"] {
  border-radius: 14px;
  min-height: 44px;
  padding: 12px 16px;
  border: 1px solid var(--app-line, #e7eaf0);
  background: var(--app-input, #f8f9fa);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.ads-search-row input[type="search"]:focus {
  outline: none;
  border-color: var(--app-blue, #2688eb);
  box-shadow:none;
}
.ads-toolbar-actions {
  gap: 6px;
}
#adsRefreshBtn {
  min-width: 42px;
  padding: 0 12px;
  font-size: 18px;
  font-weight: 600;
}

/* —— Promo badges —— */
.promo-badge,
.ad-promo-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(38, 136, 235, 0.12);
  color: var(--app-blue, #2688eb);
  margin: 8px 6px 0 0;
}

/* —— Dashboard —— */
.dashboard-hero {
  border-radius: var(--radius-xl);
}
.quick-stat {
  border-radius: 16px;
  transition: transform .12s var(--ease-out);
}
.account-overview {
  border-radius: var(--radius-lg);
}

/* —— Profile —— */
.profile-tile,
.profile-row {
  border-radius: 14px;
  transition: background var(--tap), transform .1s ease;
}
.profile-tile:active,
.profile-row:active {
  transform: scale(0.99);
}

/* —— Modal / create form —— */
.modal .dialog,
.modal-content,
.create-shell {
  border-radius: 20px 20px 0 0;
}
.cf-pill {
  min-height: 38px;
  padding: 8px 16px;
  border-radius: 999px;
  font-weight: 650;
}
.cf-pill.is-on {
  box-shadow: 0 4px 14px rgba(38, 136, 235, 0.32);
}
.cf-action-card {
  border-radius: 16px;
  transition: border-color var(--tap), background var(--tap), transform .1s ease;
}
.cf-action-card.is-on {
  box-shadow: 0 6px 18px rgba(38, 136, 235, 0.2);
}
.cf-action-card:active {
  transform: scale(0.98);
}

/* —— Admin —— */
.admin-tab {
  border-radius: 12px;
  transition: background var(--tap), color var(--tap);
}
.admin-card {
  border-radius: var(--radius-lg);
}
.console-event {
  transition: transform .1s ease;
}
.console-event:active {
  transform: scale(0.995);
}

/* —— Empty states —— */
.empty {
  border-radius: var(--radius-lg);
  padding: 28px 20px;
  text-align: center;
}
.empty b {
  display: block;
  font-size: 16px;
  margin-bottom: 6px;
}
.empty span {
  color: var(--app-muted, #818c99);
  font-size: 13.5px;
  line-height: 1.45;
}

/* —— Toast —— */
.toast.app-plaque {
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.18);
}

/* —— Listings head —— */
.listings-head h1,
#topbarTitle {
  letter-spacing: -0.03em;
}
.section-title-row h2 {
  letter-spacing: -0.02em;
}

/* —— Smooth scroll in feeds —— */
.console-feed,
.ads-list,
.moderation-list {
  scroll-behavior: smooth;
}

/* —— Skeleton shimmer polish —— */
.sk {
  border-radius: 10px;
}

/* —— Safe area page padding —— */
.page, .screen {
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
}

/* —— Fix status.wait typo fallback —— */
.status.wait {
  background: rgba(245, 166, 35, 0.16);
  color: #b57600;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* —— Modal scroll isolation (prevents underlying page bounce / pull-refresh) —— */
html.modal-open,
body.modal-open {
  overflow: hidden !important;
  overscroll-behavior: none;
  touch-action: none;
}
body.modal-open #app {
  pointer-events: none;
  user-select: none;
}
body.modal-open #modal {
  pointer-events: auto;
  touch-action: auto;
  user-select: auto;
}
body.modal-open #modal .dialog {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
  max-height: min(92vh, 820px);
}
/* Keep toast above locked UI */
body.modal-open #toast {
  pointer-events: none;
}


/* —— Home: no yellow beta plaque; top strip only via JS when /teston —— */
#homeTestPlaque,
.home-test-plaque {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}
#appTestBanner[hidden],
.app-test-banner[hidden] {
  display: none !important;
}
#appTestBanner:not([hidden]),
.app-test-banner:not([hidden]) {
  display: flex !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}

.dashboard-hero {
  min-height: 200px;
  padding: 22px 18px 20px;
  border-radius: 22px;
  margin-bottom: 14px;
}
.dashboard-hero.hero-has-media {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  min-height: 280px;
}
.dashboard-hero h1,
#homeHeroTitle {
  font-size: clamp(28px, 7vw, 36px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  margin: 6px 0 10px;
}
.dashboard-hero p,
#homeHeroBody {
  font-size: 15px;
  line-height: 1.45;
  max-width: 36em;
}
.dashboard-hero .eyebrow,
#homeHeroEyebrow {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.hero-media,
#homeHeroMedia {
  display: block;
  width: 100%;
  min-height: 160px;
  max-height: 240px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(0,0,0,.12);
  background-size: cover;
  background-position: center;
}
.hero-media:not([hidden]) {
  min-height: 180px;
}
.hero-media img,
#homeHeroMedia img {
  width: 100%;
  height: 100%;
  min-height: 180px;
  max-height: 240px;
  object-fit: cover;
  display: block;
  border-radius: 16px;
}
.hero-widget-btn {
  display: inline-flex;
  margin-top: 12px;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 12px;
  font-weight: 700;
}
.hero-create {
  margin: 0;
  width: 100%;
  min-height: 48px;
  border-radius: 14px;
  font-size: 15px;
}
.home-create-action {
  margin: 12px 0 16px;
}
.dashboard-hero.home-widget-custom {
  min-height: 220px;
}
.dashboard-hero.home-widget-custom.hero-has-media {
  min-height: 320px;
}
@media (min-width: 560px) {
  .dashboard-hero.hero-has-media {
    grid-template-columns: 1.15fr 0.85fr;
    align-items: stretch;
  }
  .hero-media:not([hidden]),
  #homeHeroMedia:not([hidden]) {
    min-height: 100%;
    max-height: none;
  }
  .hero-media img,
  #homeHeroMedia img {
    min-height: 220px;
    max-height: none;
    height: 100%;
  }
}


/* —— Economy admin —— */
.econ-section{margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--app-line,#e7eaf0)}
.econ-section:last-child{border-bottom:0;margin-bottom:0}
.econ-h{margin:0 0 8px;font-size:16px;letter-spacing:-.02em}
.econ-access-list,.econ-limits{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.econ-access-row,.econ-limit-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 12px;border-radius:12px;background:var(--app-input,#f0f2f5);
}
.econ-access-row span,.econ-limit-row span{display:flex;flex-direction:column;gap:2px;min-width:0}
.econ-access-row small{color:var(--app-muted,#818c99);font-size:12px}
.econ-access-row select,.econ-limit-row input{
  flex:none;min-width:140px;border-radius:10px;border:1px solid var(--app-line,#e7eaf0);
  background:var(--app-card,#fff);color:var(--app-ink);padding:8px 10px;
}
.econ-limit-row input{width:88px;text-align:right}
.econ-limit-row small{color:var(--app-muted);font-size:11px;min-width:52px}
.econ-access-master{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 4px;
  font-size:13px;color:var(--app-muted);
}
.promo-create-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;
}
.promo-create-grid input,.promo-create-grid select{
  border-radius:10px;border:1px solid var(--app-line);background:var(--app-input);
  color:var(--app-ink);padding:10px 12px;min-height:42px;
}
.promo-code-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 12px;border-radius:12px;background:var(--app-input);margin-bottom:8px;
}
.promo-code-row.is-off{opacity:.55}
.promo-code-row b{display:block;font-size:14px}
.promo-code-row small{color:var(--app-muted);font-size:12px}
.promo-code-actions{display:flex;gap:6px;flex:none}
.promo-redeem-card{
  margin:12px 0 18px;padding:14px;border-radius:14px;
  background:var(--app-card);border:1px solid var(--app-line);
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
}
.promo-redeem-card label{font-size:13px;font-weight:700;display:block;margin-bottom:8px}
.promo-redeem-row{
  display:flex;
  gap:8px;
  align-items:stretch;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.promo-redeem-row input{
  flex:1 1 auto;
  min-width:0;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  border-radius:12px;
  border:1px solid var(--app-line);
  background:var(--app-input);
  color:var(--app-ink);
  padding:11px 12px;
  min-height:44px;
}
.promo-redeem-row .primary-button,
.promo-redeem-row #promoRedeemBtn{
  flex:0 0 auto;
  white-space:nowrap;
  max-width:42%;
  padding-left:12px;
  padding-right:12px;
}
.topup-screen{
  max-width:100%;
  overflow-x:hidden;
  box-sizing:border-box;
  padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px));
}
@media(max-width:380px){
  .promo-redeem-row{flex-direction:column}
  .promo-redeem-row .primary-button,
  .promo-redeem-row #promoRedeemBtn{max-width:none;width:100%}
}
html[data-vk-appearance="dark"] .econ-access-row,
html[data-vk-appearance="dark"] .econ-limit-row,
html[data-vk-appearance="dark"] .promo-code-row{
  background:#303236;
}
html[data-vk-appearance="dark"] .promo-create-grid input,
html[data-vk-appearance="dark"] .promo-create-grid select,
html[data-vk-appearance="dark"] .promo-redeem-row input,
html[data-vk-appearance="dark"] .econ-access-row select,
html[data-vk-appearance="dark"] .econ-limit-row input{
  background:#242629;border-color:#3a3d42;color:#f0f0f0;
}
@media(max-width:560px){
  .promo-create-grid{grid-template-columns:1fr}
  .econ-access-row,.econ-limit-row{flex-wrap:wrap}
}

/* —— Home hero: full-bleed media + free text position —— */
.dashboard-hero{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  isolation:isolate;
}
.dashboard-hero .hero-bg-media{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
.dashboard-hero .hero-bg-media img,
.dashboard-hero .hero-bg-media video,
.dashboard-hero .hero-bg-img,
.dashboard-hero .hero-bg-video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.dashboard-hero.hero-has-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(0,0,0,var(--hero-overlay, 0.35));
  pointer-events:none;
}
.dashboard-hero .hero-copy,
.dashboard-hero #homeHeroCopy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1 1 auto;
  padding:4px 2px;
  min-height:0;
  width:100%;
}
.dashboard-hero .hero-create,
.dashboard-hero #createBtn{
  position:relative;
  z-index:2;
  margin-top:auto;
}
.dashboard-hero .eyebrow{
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
}
/* Horizontal */
.dashboard-hero.hero-align-left .hero-copy{ align-items:flex-start; text-align:left; }
.dashboard-hero.hero-align-center .hero-copy{ align-items:center; text-align:center; }
.dashboard-hero.hero-align-right .hero-copy{ align-items:flex-end; text-align:right; }
/* Vertical via justify on flex column */
.dashboard-hero.hero-valign-top .hero-copy{ justify-content:flex-start; }
.dashboard-hero.hero-valign-center .hero-copy{ justify-content:center; }
.dashboard-hero.hero-valign-bottom .hero-copy{ justify-content:flex-end; }

/* Editor position grid */
.widget-pos-field, .widget-media-field{
  border:1px solid var(--app-line,#e7eaf0);
  border-radius:14px;
  padding:12px;
  margin:10px 0;
}
.widget-pos-field legend, .widget-media-field legend{
  font-size:13px; font-weight:700; padding:0 6px;
}
.widget-pos-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:10px;
}
.widget-pos-preview{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(3,28px);
  gap:4px;
  max-width:160px;
  margin:8px auto 0;
  background:var(--app-input,#f0f2f5);
  border-radius:10px;
  padding:6px;
}
.wpos-cell{
  border-radius:6px;
  background:rgba(38,136,235,.15);
  cursor:pointer;
  border:1px solid transparent;
}
.wpos-cell.is-on{
  background:#2688eb;
  border-color:#1a6bc4;
}
.widget-live-preview{ margin-top:12px; }
.wlp-card{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  min-height:180px;
  padding:16px;
  display:flex;
  background:var(--app-card-2,#1e1f22);
  color:#f5f5f5;
}
.wlp-bg{ position:absolute; inset:0; z-index:0; }
.wlp-bg img, .wlp-bg video{ width:100%; height:100%; object-fit:cover; }
.wlp-card.has-media::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:rgba(0,0,0,var(--hero-overlay,.35));
}
.wlp-copy{
  position:relative; z-index:2;
  display:flex; flex-direction:column; gap:4px; flex:1;
}
.wlp-card.hero-align-left .wlp-copy{ align-items:flex-start; text-align:left; }
.wlp-card.hero-align-center .wlp-copy{ align-items:center; text-align:center; }
.wlp-card.hero-align-right .wlp-copy{ align-items:flex-end; text-align:right; }
.wlp-card.hero-valign-top .wlp-copy{ justify-content:flex-start; }
.wlp-card.hero-valign-center .wlp-copy{ justify-content:center; }
.wlp-card.hero-valign-bottom .wlp-copy{ justify-content:flex-end; }
.wlp-eyebrow{ font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.color-row{ display:flex; gap:8px; align-items:center; margin:6px 0; }
.color-row input[type="color"]{ width:42px; height:42px; border:0; padding:0; background:transparent; }
.color-row input[type="text"]{ flex:1; min-height:42px; border-radius:10px; border:1px solid var(--app-line); background:var(--app-input); color:var(--app-ink); padding:8px 10px; }
.color-swatches{ display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.color-swatch{ width:28px; height:28px; border-radius:8px; border:1px solid rgba(0,0,0,.12); padding:0; cursor:pointer; }

/* Photo: gallery + camera */
.cf-photo-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:8px;
}
.cf-photo-btn{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:96px;
  padding:14px 10px;
  border-radius:16px;
  border:1.5px dashed var(--app-line,#3a3d42);
  background:var(--app-input,#303236);
  color:var(--app-ink,#f0f0f0);
  cursor:pointer;
  text-align:center;
}
.cf-photo-btn:active{ transform:scale(0.98); }
.cf-photo-btn .cf-photo-drop-title{ font-weight:700; font-size:14px; }
.cf-photo-btn .cf-photo-drop-sub{ font-size:11px; color:var(--app-muted,#a1a8b1); }
.cf-photo-btn .cf-photo-drop-icon{ font-size:22px; line-height:1; }

/* Free text position on hero */
.dashboard-hero.hero-free-pos{
  position:relative;
  overflow:hidden;
  /* height comes from min-height set in JS from widget.min_height */
}
.dashboard-hero.hero-free-pos .hero-copy,
.dashboard-hero.hero-free-pos #homeHeroCopy{
  position:absolute;
  z-index:2;
  margin:0;
  padding:10px 12px;
  width:auto !important;
  max-width:min(88%, 380px);
  pointer-events:none;
  /* top-left anchor — left/top set inline from text_x_pct / text_y_pct */
  right:auto;
  bottom:auto;
}
.dashboard-hero.hero-free-pos .hero-create{
  position:relative;
  z-index:3;
  margin-top:auto;
}

/* Editor drag */
.widget-live-preview-lg{ margin-bottom:14px; }
.wlp-card{ position:relative; overflow:hidden; touch-action:none; }
.wlp-copy{
  --wlp-scale: 1;
  box-sizing: border-box;
  max-width: min(88%, 380px);
  padding: 10px 12px;
  border-radius: 12px;
  line-height: 1.35;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
  white-space: normal;
}
.wlp-copy .wlp-eyebrow,
.wlp-copy #wlpEyebrow{
  display: block;
  font-size: calc(11px * var(--wlp-scale, 1));
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.3;
  margin: 0 0 4px;
  opacity: .95;
}
.wlp-copy b,
.wlp-copy #wlpTitle{
  display: block;
  font-size: calc(16px * var(--wlp-scale, 1));
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.01em;
  margin: 0 0 6px;
  overflow-wrap: break-word;
  word-break: normal;
  white-space: normal;
}
.wlp-copy p,
.wlp-copy #wlpBody{
  display: block;
  font-size: calc(13px * var(--wlp-scale, 1));
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
  opacity: .95;
  overflow-wrap: break-word;
  word-break: normal;
  white-space: pre-line;
}
.wlp-copy.wlp-draggable{
  position:absolute;
  z-index:3;
  max-width: min(88%, 380px);
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(0,0,0,.32);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  cursor:grab;
  touch-action:none;
  user-select:none;
  transform: none !important;
}
.wlp-copy.wlp-draggable.is-dragging{
  cursor:grabbing;
  background:rgba(38,136,235,.42);
  box-shadow:0 0 0 2px #2688eb;
}
.wlp-drag-hint{
  display:block;
  margin-top:6px;
  font-size:10px;
  opacity:.65;
  letter-spacing:.04em;
  font-weight:600;
}

.wlp-coords{
  text-align:center;
  font-size:12px;
  color:var(--app-muted);
  margin-top:6px;
}
.widget-editor-v2 .widget-editor-form{ margin-top:8px; }
.widget-photo-upload-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 8px}
.widget-photo-upload-row .filter-button{padding:9px 12px}
.widget-upload-status{color:var(--app-muted,var(--vk-muted));font-size:11px;line-height:1.35}


/* =========================================================
   Console v2 — clearer, denser, more usable
   ========================================================= */
.console-card-v2{
  padding:16px 14px 12px !important;
  border-radius:20px !important;
}
.console-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.console-title{
  margin:0;
  font-size:20px;
  letter-spacing:-.03em;
  font-weight:800;
  color:var(--app-ink,#17181a);
}
.console-sub{
  margin:4px 0 0;
  font-size:13px;
  line-height:1.35;
  color:var(--app-muted,#818c99);
  max-width:28em;
}
.console-top-actions{
  display:flex;
  gap:8px;
  flex:none;
}
.console-icon-btn{
  min-height:38px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid var(--app-line,#e7eaf0);
  background:var(--app-input,#f0f2f5);
  color:var(--app-ink,#17181a);
  font-size:13px;
  font-weight:650;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.console-icon-btn-primary{
  background:linear-gradient(135deg,#1f7be0,#2688eb);
  border-color:transparent;
  color:#fff;
  box-shadow:0 6px 16px rgba(38,136,235,.28);
}
.console-icon-btn.is-active{
  border-color:#4bb34b;
  background:rgba(75,179,75,.14);
  color:#2a9b3f;
}
.console-icon-btn-dot{
  width:8px;height:8px;border-radius:50%;
  background:#818c99;
}
.console-icon-btn.is-active .console-icon-btn-dot{
  background:#4bb34b;
  box-shadow:0 0 0 3px rgba(75,179,75,.25);
}

.console-toolbar{ gap:12px; margin:0 0 12px; }
.console-search-wrap{
  position:relative;
}
.console-search-wrap .console-search-icon{
  position:absolute;
  left:14px; top:50%;
  transform:translateY(-50%);
  opacity:.55;
  font-size:15px;
  pointer-events:none;
}
.console-search-wrap input{
  width:100%;
  min-height:46px;
  padding:12px 14px 12px 38px;
  border-radius:14px;
  border:1px solid var(--app-line,#e7eaf0);
  background:var(--app-input,#f8f9fa);
  color:var(--app-ink);
  font-size:15px;
}
.console-search-wrap input:focus{
  outline:none;
  border-color:#2688eb;
  box-shadow:none;
}
.console-meta-row{
  display:grid;
  grid-template-columns:1fr 100px auto;
  gap:8px;
  align-items:end;
}
.console-field{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.console-field label{
  font-size:11px;
  font-weight:700;
  color:var(--app-muted);
  letter-spacing:.02em;
  text-transform:uppercase;
}
.console-field input,
.console-field select{
  min-height:42px;
  border-radius:12px;
  border:1px solid var(--app-line);
  background:var(--app-input);
  color:var(--app-ink);
  padding:8px 12px;
  width:100%;
}
.console-count-pill{
  min-height:42px;
  padding:0 14px;
  border-radius:12px;
  background:var(--app-blue-soft,#edf5ff);
  color:var(--app-blue,#2688eb);
  font-weight:800;
  font-size:15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
}

/* Kind tabs */
.console-kind-strip{
  display:flex;
  gap:6px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding:2px 2px 10px;
  margin:0 0 8px;
  scrollbar-width:none;
}
.console-kind-strip::-webkit-scrollbar{ display:none; }
.console-kind-tab{
  flex:none;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  min-width:76px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--app-line,#e7eaf0);
  background:var(--app-card,#fff);
  color:var(--app-ink);
  cursor:pointer;
  transition:background .12s ease, border-color .12s ease, transform .1s ease;
}
.console-kind-tab .ck-emoji{ font-size:14px; opacity:.85; }
.console-kind-tab .ck-label{ font-size:12px; font-weight:700; }
.console-kind-tab .ck-count{
  font-size:11px;
  font-weight:700;
  color:var(--app-muted);
}
.console-kind-tab.is-active{
  background:#2688eb;
  border-color:#2688eb;
  color:#fff;
  box-shadow:0 6px 16px rgba(38,136,235,.28);
}
.console-kind-tab.is-active .ck-count{ color:rgba(255,255,255,.85); }
.console-kind-tab:active{ transform:scale(0.97); }

/* Feed */
.console-card-v2 .console-feed{
  max-height:min(58vh, 520px);
  gap:10px;
  padding:4px 0 8px;
}
.console-empty-state{
  text-align:center;
  padding:36px 18px;
  color:var(--app-muted);
}
.console-empty-state b{
  display:block;
  color:var(--app-ink);
  font-size:16px;
  margin:8px 0 6px;
}
.console-empty-state span{ font-size:13px; line-height:1.45; }
.console-empty-icon{ font-size:28px; opacity:.7; }

.console-event{
  display:grid;
  grid-template-columns:40px 1fr;
  gap:0 12px;
  align-items:start;
  border-radius:16px;
  background:var(--app-card,#fff);
  border:1px solid var(--app-line,#e7eaf0);
  border-left:none;
  padding:12px 12px 12px 10px;
  min-height:0;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.console-event-icon{
  width:40px; height:40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-size:16px;
  background:rgba(38,136,235,.12);
  color:#2688eb;
  flex:none;
}
.console-event.tone-purple .console-event-icon{ background:rgba(155,135,245,.16); color:#9b87f5; }
.console-event.tone-gold .console-event-icon{ background:rgba(224,162,26,.16); color:#e0a21a; }
.console-event.tone-green .console-event-icon{ background:rgba(46,207,143,.14); color:#2ecf8f; }
.console-event.tone-danger .console-event-icon{ background:rgba(255,107,107,.14); color:#ff6b6b; }
.console-event.tone-info .console-event-icon{ background:rgba(38,136,235,.12); color:#2688eb; }

.console-event.severity-danger{
  border-color:rgba(230,70,70,.35);
  background:rgba(230,70,70,.06);
}
.console-event.severity-warn{
  border-color:rgba(245,166,35,.35);
}
.console-event.severity-ok{
  border-color:rgba(75,179,75,.28);
}

.console-event-body{ padding:0; min-width:0; }
.console-event-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
}
.console-kind-badge{
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--app-muted);
}
.console-event-head time{
  font-size:11px;
  color:var(--app-muted);
  white-space:nowrap;
}
.console-event-title{
  font-size:14.5px;
  font-weight:700;
  line-height:1.35;
  color:var(--app-ink,#17181a);
  word-break:break-word;
}
.console-event-detail{
  font-size:12.5px;
  color:var(--app-muted);
  margin-top:3px;
  line-height:1.4;
  word-break:break-word;
}
.console-event-foot{
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
}
.console-user{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  font-size:12px;
  color:var(--app-muted);
  max-width:calc(100% - 80px);
}
.console-user-label{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.console-filter-user{
  flex:none;
  min-height:30px;
  padding:0 10px;
  border-radius:9px;
  border:1px solid var(--app-line);
  background:var(--app-input);
  color:var(--app-ink);
  font-size:11px;
  font-weight:700;
}
.console-footnote{
  margin:10px 2px 0;
  font-size:11px;
  line-height:1.4;
  color:var(--app-muted);
  opacity:.9;
}

html[data-vk-appearance="dark"] .console-title{ color:#f2f3f5; }
html[data-vk-appearance="dark"] .console-icon-btn{
  background:#303236; border-color:#3a3d42; color:#f0f0f0;
}
html[data-vk-appearance="dark"] .console-kind-tab{
  background:#242629; border-color:#3a3d42; color:#f0f0f0;
}
html[data-vk-appearance="dark"] .console-kind-tab.is-active{
  background:#2688eb; border-color:#2688eb; color:#fff;
}
html[data-vk-appearance="dark"] .console-event{
  background:#2a2d31; border-color:#3a3d42;
}
html[data-vk-appearance="dark"] .console-event-title{ color:#f2f3f5 !important; }
html[data-vk-appearance="dark"] .console-event-detail,
html[data-vk-appearance="dark"] .console-event-head time,
html[data-vk-appearance="dark"] .console-user{ color:#b0b6be !important; }
html[data-vk-appearance="dark"] .console-count-pill{
  background:#20384f; color:#8ab8e7;
}
html[data-vk-appearance="dark"] .console-search-wrap input,
html[data-vk-appearance="dark"] .console-field input,
html[data-vk-appearance="dark"] .console-field select{
  background:#303236; border-color:#3a3d42; color:#f0f0f0;
}
html[data-vk-appearance="dark"] .console-filter-user{
  background:#303236; border-color:#3a3d42; color:#f0f0f0;
}

@media(max-width:560px){
  .console-meta-row{ grid-template-columns:1fr 1fr; }
  .console-count-pill{ grid-column:1 / -1; }
  .console-top{ flex-direction:column; }
  .console-top-actions{ width:100%; }
  .console-icon-btn{ flex:1; justify-content:center; }
}


/* =========================================================
   Status cards — soft illustrated empty / beta / error states
   ========================================================= */
.status-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  padding:18px 16px;
  border-radius:22px;
  margin:10px 0 14px;
  border:1px solid transparent;
  overflow:hidden;
  position:relative;
  min-height:120px;
}
.status-card-copy{ min-width:0; position:relative; z-index:1; }
.status-card-badge{
  display:inline-flex;
  align-items:center;
  padding:3px 10px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  margin-bottom:8px;
  background:rgba(121,46,192,.18);
  color:#7b3fe4;
}
.status-card-title{
  display:block;
  font-size:18px;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.2;
  margin:0 0 6px;
  color:var(--app-ink,#17181a);
}
.status-card-text{
  margin:0 0 12px;
  font-size:13.5px;
  line-height:1.45;
  color:var(--app-muted,#5c6570);
  max-width:28em;
}
.status-card-btn{
  min-height:36px;
  padding:0 14px;
  border-radius:12px;
  border:0;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
  color:#fff;
  background:#7b3fe4;
}
.status-card-btn.tone-sky{ background:#2688eb; }
.status-card-btn.tone-mint{ background:#2bb673; }
.status-card-btn.tone-amber{ background:#e0a21a; }
.status-card-btn.tone-rose{ background:#e64646; }

.status-card-btn.tone-violet{ background:#7b3fe4; }
.status-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;align-items:center}
.status-card-actions .secondary-button{min-height:44px}

.status-card-art{
  width:88px;
  height:88px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:none;
  position:relative;
  z-index:1;
  background:rgba(255,255,255,.45);
  box-shadow:0 8px 24px rgba(20,30,45,.08);
}
.status-card-emoji{
  font-size:40px;
  line-height:1;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.12));
}

/* tones */
.status-card.tone-violet{
  background:linear-gradient(145deg,#f3e9ff 0%,#eef2ff 55%,#f7f5ff 100%);
  border-color:rgba(123,63,228,.12);
}
.status-card.tone-sky{
  background:linear-gradient(145deg,#e8f3ff 0%,#eef6ff 60%,#f5f9ff 100%);
  border-color:rgba(38,136,235,.14);
}
.status-card.tone-mint{
  background:linear-gradient(145deg,#e6faf0 0%,#eefcf5 60%,#f5fff9 100%);
  border-color:rgba(43,182,115,.14);
}
.status-card.tone-amber{
  background:linear-gradient(145deg,#fff6e5 0%,#fff9ee 60%,#fffcf5 100%);
  border-color:rgba(224,162,26,.16);
}
.status-card.tone-rose{
  background:linear-gradient(145deg,#ffe9eb 0%,#fff1f2 60%,#fff7f8 100%);
  border-color:rgba(230,70,70,.14);
}

html[data-vk-appearance="dark"] .status-card.tone-violet{
  background:linear-gradient(145deg,#2a2438 0%,#242629 100%);
  border-color:#3d3550;
}
html[data-vk-appearance="dark"] .status-card.tone-sky{
  background:linear-gradient(145deg,#1e2a38 0%,#242629 100%);
  border-color:#2f3d4d;
}
html[data-vk-appearance="dark"] .status-card.tone-mint{
  background:linear-gradient(145deg,#1e2f28 0%,#242629 100%);
  border-color:#2d4038;
}
html[data-vk-appearance="dark"] .status-card.tone-amber{
  background:linear-gradient(145deg,#322a1e 0%,#242629 100%);
  border-color:#4a3f2c;
}
html[data-vk-appearance="dark"] .status-card.tone-rose{
  background:linear-gradient(145deg,#332226 0%,#242629 100%);
  border-color:#4a3034;
}
html[data-vk-appearance="dark"] .status-card-title{ color:#f2f3f5; }
html[data-vk-appearance="dark"] .status-card-text{ color:#a1a8b1; }
html[data-vk-appearance="dark"] .status-card-art{ background:rgba(255,255,255,.06); }
html[data-vk-appearance="dark"] .status-card-badge{
  background:rgba(155,135,245,.22);
  color:#c4b5fd;
}

.home-beta-slot{ margin-bottom:4px; }

@media(max-width:400px){
  .status-card{ grid-template-columns:1fr; }
  .status-card-art{ width:72px; height:72px; margin:0 auto; }
  .status-card-emoji{ font-size:34px; }
}

.wlp-hint{
  text-align:center;
  font-size:12px;
  color:var(--app-muted,#818c99);
  margin:4px 0 0;
}
.wlp-copy.wlp-draggable{
  will-change: transform;
  min-width:120px;
  box-sizing:border-box;
}
.wlp-copy.wlp-draggable.is-dragging{
  outline:2px dashed rgba(38,136,235,.7);
}

/* Widget media controls + reliable cover rendering */
.wlp-bg{overflow:hidden;pointer-events:none;}
.wlp-bg img,.wlp-bg video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform-origin:center center;will-change:transform;}
.widget-photo-presets{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px;}
.widget-text-position{margin:8px 0 12px;}
.widget-text-position .color-field-label{display:block;margin-bottom:6px;}
.widget-pos-preview{max-width:190px;margin:0;}
.wpos-cell{display:grid;place-items:center;font-size:14px;color:var(--app-ink);}
.wpos-cell.is-on{color:#fff;}

/* Console: cards must never shrink into each other on mobile. */
.console-card-v2 .console-feed{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden;}
.console-card-v2 .console-event{flex:0 0 auto;min-height:92px;width:100%;box-sizing:border-box;align-self:stretch;overflow:hidden;}
.console-event-body,.console-event-title,.console-event-detail{min-width:0;max-width:100%;overflow-wrap:anywhere;}
.console-load-more{flex:0 0 auto;width:100%;min-height:42px;border:1px solid var(--app-line);border-radius:12px;background:var(--app-input);color:var(--app-ink);font-size:13px;font-weight:700;cursor:pointer;margin-top:2px;}
.console-load-more:disabled{opacity:.55;}
@media(max-width:560px){
  .console-card-v2{padding:12px 10px 10px !important;}
  .console-card-v2 .console-feed{max-height:min(54vh,480px);gap:8px;}
  .console-card-v2 .console-event{grid-template-columns:34px minmax(0,1fr);gap:0 9px;padding:10px 9px 10px 8px;min-height:84px;border-radius:14px;}
  .console-event-icon{width:34px;height:34px;border-radius:10px;font-size:14px;}
  .console-event-title{font-size:13px;line-height:1.3;}
  .console-event-detail{font-size:11.5px;line-height:1.35;}
  .console-event-foot{margin-top:7px;}
}

/* Admin mobile QA hardening */
.admin-pane,.admin-card,.admin-card-head,.admin-card-head > div,.admin-widget-form,.admin-widget-form > *{min-width:0;}
.admin-card{overflow:hidden;}
.admin-card-head{flex-wrap:wrap;}
.admin-card-head > div:first-child{min-width:0;}
.admin-card-head small,.admin-card-head b{overflow-wrap:anywhere;}
.form input,.form textarea,.form select{box-sizing:border-box;max-width:100%;min-width:0;}


/* Home widget text block — readable typography with --wlp-scale */
.dashboard-hero .hero-widget-copy,
.dashboard-hero .hero-copy,
.dashboard-hero #homeHeroCopy,
.dashboard-hero [data-widget-copy]{
  --wlp-scale: 1;
  --pill-color: 0,0,0;
  --pill-opacity: 0.28;
  --pill-blur: 6px;
  box-sizing: border-box;
  max-width: min(88%, 380px);
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(var(--pill-color), var(--pill-opacity));
  backdrop-filter: blur(var(--pill-blur));
  -webkit-backdrop-filter: blur(var(--pill-blur));
  line-height: 1.35;
  overflow-wrap: anywhere;
  word-break: normal;
  transform: none !important;
}
/* Eyebrow / title / body — match real DOM ids used on home */
.dashboard-hero .hero-copy .eyebrow,
.dashboard-hero .hero-widget-copy .eyebrow,
.dashboard-hero .hero-widget-copy .wlp-eyebrow,
.dashboard-hero #homeHeroEyebrow{
  display:block;
  font-size: calc(11px * var(--wlp-scale, 1)) !important;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.3;
  margin: 0 0 4px;
}
.dashboard-hero .hero-copy h1,
.dashboard-hero .hero-widget-copy h1,
.dashboard-hero .hero-widget-copy b,
.dashboard-hero .hero-widget-copy .wlp-title,
.dashboard-hero #homeHeroTitle{
  display:block;
  font-size: calc(18px * var(--wlp-scale, 1)) !important;
  font-weight: 800;
  line-height: 1.22 !important;
  letter-spacing: -.015em;
  margin: 0 0 6px !important;
  overflow-wrap: anywhere;
  max-width: 100%;
}
.dashboard-hero .hero-copy p,
.dashboard-hero .hero-widget-copy p,
.dashboard-hero #homeHeroBody{
  display:block;
  font-size: calc(13px * var(--wlp-scale, 1)) !important;
  font-weight: 500;
  line-height: 1.4 !important;
  margin: 0 !important;
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: pre-line;
}


/* Live photo preview in widget editor */
.widget-live-preview-sticky{
  position: sticky;
  top: 0;
  z-index: 6;
  padding-bottom: 8px;
  background: var(--app-card, #1c1f24);
  margin-bottom: 10px;
}
.wlp-live-label{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--app-muted, #818c99);
  margin: 0 0 6px;
}
.wlp-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  border-radius: inherit;
}
.wlp-bg img,
.wlp-bg video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  transform-origin: center center;
  display: block;
  will-change: transform, object-position;
}
.wlp-card.has-media .wlp-bg{
  background: #111;
}


/* People / user admin card */
.admin-user-card-rich{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:14px;background:var(--app-card,#242629);border:1px solid rgba(255,255,255,.06)}
.admin-user-head{display:flex;align-items:center;gap:12px}
.admin-user-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#333}
.admin-user-avatar.is-empty{display:flex;align-items:center;justify-content:center;font-size:22px}
.admin-user-meta b{display:block;font-size:16px}
.admin-user-meta small{color:var(--app-muted,#a1a8b1)}
.admin-user-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.admin-stat{background:var(--app-card-2,#f0f2f5);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;border:1px solid rgba(0,0,0,.04)}
html[data-vk-appearance="dark"] .admin-stat{background:rgba(0,0,0,.22);border-color:rgba(255,255,255,.06)}
.admin-stat span{font-size:11px;color:var(--app-muted,#a1a8b1);text-transform:uppercase;letter-spacing:.03em}
.admin-stat strong{font-size:15px}
.admin-stat strong.is-on{color:#72d28a}
.admin-stat strong.is-warn{color:#f0b429}
.admin-stat strong.is-danger{color:#ff8c8c}
.admin-stat small{font-size:11px;color:var(--app-muted,#a1a8b1);line-height:1.3}
.admin-user-section{border-top:1px solid rgba(255,255,255,.06);padding-top:10px}
.admin-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted,#a1a8b1);margin-bottom:8px}
.admin-user-actions{display:flex;flex-wrap:wrap;gap:6px}
.admin-coins-row{display:flex;gap:6px;align-items:center;margin-bottom:8px}
.admin-coins-input{flex:1;min-width:0;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 10px;color:inherit}
.admin-last-topup{display:flex;flex-direction:column;gap:2px;margin:8px 0;font-size:13px}
.admin-last-topup span{font-size:11px;color:var(--app-muted,#a1a8b1)}
.admin-tx-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow:auto}
.admin-tx-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:8px;background:rgba(0,0,0,.18);font-size:13px}
.admin-tx-row small{display:block;color:var(--app-muted,#a1a8b1);font-size:11px}
.admin-tx-row .tx-plus{color:#72d28a}
.admin-tx-row .tx-minus{color:#ff8c8c}
.admin-user-block{margin:0;font-size:13px}
.badge-soft{opacity:.8;font-size:11px}


/* ===== Widget editor v3 — clean mobile UI ===== */
.we-shell{
  display:flex;
  flex-direction:column;
  gap:0;
  margin:-4px -2px 0;
  max-height:min(92vh, 720px);
}
.we-topbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:0 2px 10px;
}
.we-title{margin:2px 0 0;font-size:20px;line-height:1.2}
.we-close{
  width:36px;height:36px;border:0;border-radius:10px;
  background:rgba(255,255,255,.08);color:inherit;font-size:22px;line-height:1;
  flex-shrink:0;
}
.we-preview-wrap{
  position:sticky;top:0;z-index:5;
  background:var(--app-card,#242629);
  padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.we-preview-card{
  min-height:150px !important;
  max-height:200px;
  border-radius:14px;
  overflow:hidden;
  background:#111;
}
.we-preview-meta{
  display:flex;justify-content:space-between;align-items:center;
  gap:8px;margin-top:6px;font-size:11px;color:var(--app-muted,#a1a8b1);
}
.we-preview-hint{opacity:.85}
.we-tabs{
  display:flex;gap:4px;padding:10px 0 8px;
  position:sticky;top:210px;z-index:4;
  background:var(--app-card,#242629);
}
.we-tab{
  flex:1;border:0;border-radius:10px;padding:9px 6px;
  background:rgba(255,255,255,.06);color:inherit;font-size:13px;font-weight:600;
}
.we-tab.is-on{background:#2688eb;color:#fff}
.we-panels{flex:1;overflow:auto;padding-bottom:8px;min-height:0}
.we-panel{display:none;flex-direction:column;gap:10px}
.we-panel.is-on{display:flex}
.we-field{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--app-muted,#a1a8b1)}
.we-field input,.we-field textarea{
  font:inherit;font-weight:500;color:inherit;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);
  border-radius:12px;padding:10px 12px;
}
.we-field textarea{resize:vertical;min-height:72px}
.we-check{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.2);
  font-size:14px;font-weight:600;
}
.we-check input{width:18px;height:18px;accent-color:#2688eb}
.we-slider{display:flex;flex-direction:column;gap:4px}
.we-slider-head{display:flex;justify-content:space-between;font-size:12px;color:var(--app-muted,#a1a8b1)}
.we-slider-head strong{color:inherit;font-size:13px}
.we-slider input[type=range]{width:100%;accent-color:#2688eb}
.we-upload-row{display:flex;gap:8px}
.we-file-btn,.we-btn{
  flex:1;text-align:center;padding:11px 12px;border-radius:12px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);
  color:inherit;font-size:14px;font-weight:600;cursor:pointer;
}
.we-btn{border:0;background:#2688eb;color:#fff}
.we-inline-btns{display:flex;flex-wrap:wrap;gap:6px}
.we-chip{
  border:0;border-radius:999px;padding:7px 12px;
  background:rgba(255,255,255,.08);color:inherit;font-size:12px;font-weight:600;
}
.we-pos-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px;
}
.we-pos-btn{
  border:0;border-radius:10px;padding:12px 0;
  background:rgba(255,255,255,.07);color:inherit;font-size:16px;
}
.we-pos-btn.is-on{background:#2688eb;color:#fff}
.we-color-block{display:flex;flex-direction:column;gap:6px}
.we-label{font-size:12px;font-weight:700;color:var(--app-muted,#a1a8b1);text-transform:uppercase;letter-spacing:.03em}
.we-color-row{display:flex;gap:8px;align-items:center}
.we-color-row input[type=color]{width:42px;height:42px;border:0;border-radius:10px;padding:0;background:transparent}
.we-color-row input[type=text]{
  flex:1;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);
  border-radius:10px;padding:10px 12px;color:inherit;font:inherit;
}
.we-swatches{display:flex;flex-wrap:wrap;gap:6px}
.we-swatches .color-swatch{width:28px;height:28px;border-radius:8px;border:2px solid rgba(255,255,255,.15)}
.we-micro{margin:0;font-size:12px;color:var(--app-muted,#a1a8b1);line-height:1.4}
.we-note{font-size:13px;padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.22)}
.we-footer{
  position:sticky;bottom:0;z-index:6;
  padding:10px 0 2px;background:linear-gradient(transparent, var(--app-card,#242629) 30%);
}
/* neutralize old sticky preview that ate the screen */
.widget-live-preview-sticky{position:static !important;padding:0 !important;margin:0 !important}
.widget-editor-v2 .wlp-drag-hint{display:none}
.modal .dialog:has(.we-shell){padding-bottom:8px}

/* VPN block gate */
.vpn-gate{
  position:fixed;inset:0;z-index:10000;
  display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(10,12,16,.92);
  backdrop-filter:blur(10px);
}
.vpn-gate-card{
  width:min(420px,100%);
  background:var(--app-card,#242629);
  color:var(--app-ink,#f5f5f5);
  border-radius:18px;padding:22px 18px 18px;
  box-shadow:0 12px 40px rgba(0,0,0,.45);
  text-align:center;
}
.vpn-gate-icon{font-size:40px;margin-bottom:8px}
.vpn-gate-card h1{margin:0 0 10px;font-size:22px}
.vpn-gate-card p{margin:0 0 14px;font-size:14px;line-height:1.45;color:var(--app-muted,#a1a8b1)}
.vpn-gate-steps{
  text-align:left;margin:0 0 16px;padding:12px 12px 12px 28px;
  background:rgba(0,0,0,.22);border-radius:12px;
  font-size:13px;line-height:1.5;
}
.vpn-gate-steps li{margin:6px 0}
.vpn-gate-note{margin:12px 0 0;font-size:11px;opacity:.75}
body.vpn-blocked{overflow:hidden}


/* Widget text stays inside card via translate anchor */
.wlp-copy, .hero-copy, .hero-widget-copy, #homeHeroCopy{
  position:absolute !important;
  z-index:2;
  margin:0;
  box-sizing:border-box;
}
.we-preview-card{
  min-height:180px !important;
  max-height:240px;
  height:auto;
}
.we-check-inline{
  margin:8px 0 4px;
  padding:8px 10px;
}
.we-micro.is-error, #wMediaUploadStatus.is-error{
  color:#ff8c8c !important;
  font-weight:600;
}
.wlp-card.has-media{background:#111}
.wlp-card:not(.has-media){
  background:linear-gradient(145deg,#1c1f24,#2a3340);
}


/* ========== Admin panel v2 ========== */
.admin-screen-v2{
  padding: 0 0 24px;
  gap: 0;
}
.ap-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 4px 2px 12px;
}
.ap-header-main{display:flex;align-items:center;gap:12px;min-width:0}
.ap-badge{
  flex-shrink:0;
  font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:6px 8px;border-radius:8px;
  background:linear-gradient(135deg,#2688eb,#4c6ef5);
  color:#fff;
}
.ap-title{margin:0;font-size:22px;line-height:1.15;font-weight:800}
.ap-sub{margin:2px 0 0;font-size:12px;color:var(--app-muted,#a1a8b1)}
.ap-refresh{
  flex-shrink:0;
  border:0;border-radius:12px;
  padding:10px 12px;
  background:rgba(255,255,255,.08);
  color:inherit;font-size:13px;font-weight:700;
  display:inline-flex;align-items:center;gap:6px;
}
.ap-nav{
  display:flex;
  gap:6px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding: 0 0 12px;
  position: sticky;
  top: 0;
  z-index: 8;
  background: var(--app-bg, #161719);
  margin: 0 -2px;
  padding-left: 2px;
  padding-right: 2px;
}
.ap-nav::-webkit-scrollbar{display:none}
.ap-nav-item{
  flex:0 0 auto;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;
  min-width:64px;
  padding:10px 12px;
  border:0;border-radius:14px;
  background:rgba(255,255,255,.05);
  color:var(--app-muted,#a1a8b1);
  font-size:11px;font-weight:700;
}
.ap-nav-item .ap-nav-ico{font-size:16px;line-height:1;opacity:.9}
.ap-nav-item.is-active{
  background:#2688eb;
  color:#fff;
  box-shadow:0 6px 16px rgba(38,136,235,.35);
}
.ap-body{display:flex;flex-direction:column;gap:12px}
.admin-pane{display:none;flex-direction:column;gap:12px}
.admin-pane.is-active{display:flex}
.ap-pane-intro{padding:2px 2px 0}
.ap-pane-intro h2{margin:0;font-size:18px;font-weight:800}
.ap-pane-intro p{margin:4px 0 0;font-size:13px;color:var(--app-muted,#a1a8b1);line-height:1.4}
.ap-card{
  background:var(--app-card,#242629);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  padding:14px;
}
.ap-card-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-bottom:12px;
}
.ap-card-title{display:flex;align-items:center;gap:10px;min-width:0}
.ap-card-title b{display:block;font-size:14px}
.ap-card-title small{display:block;font-size:11px;color:var(--app-muted,#a1a8b1);font-weight:500}
.ap-card-dot{
  width:10px;height:10px;border-radius:50%;flex-shrink:0;
  background:#2688eb;
}
.ap-card-dot.ton-blue{background:#2688eb}
.ap-card-dot.ton-amber{background:#f0a202}
.ap-card-dot.ton-purple{background:#9b59b6}
.ap-card-dot.ton-gold{background:#e6b422}
.ap-card-dot.ton-slate{background:#7f8c9a}
.ap-btn{
  border:0;border-radius:10px;padding:8px 12px;
  background:rgba(255,255,255,.08);color:inherit;
  font-size:12px;font-weight:700;
}
.ap-module-grid{display:flex;flex-direction:column;gap:10px}
.ap-module{
  display:flex;align-items:center;gap:12px;width:100%;
  text-align:left;
  border:1px solid rgba(255,255,255,.07);
  background:var(--app-card,#242629);
  border-radius:16px;padding:14px 12px;
  color:inherit;cursor:pointer;
}
.ap-module:active{transform:scale(.99)}
.ap-module-ico{
  width:44px;height:44px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(38,136,235,.15);font-size:22px;flex-shrink:0;
}
.ap-module-body{flex:1;min-width:0}
.ap-module-body b{display:block;font-size:15px;margin-bottom:2px}
.ap-module-body small{display:block;font-size:12px;color:var(--app-muted,#a1a8b1);line-height:1.35}
.ap-module-go{font-size:22px;opacity:.35;flex-shrink:0}
/* legacy cards inherit v2 look */
.admin-screen-v2 .admin-card,
.admin-screen-v2 .admin-card-soft{
  background:var(--app-card,#242629);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  padding:14px;
  box-shadow:none;
}
.admin-screen-v2 .admin-hero{display:none}
.admin-screen-v2 .admin-tabs{display:none}
.admin-screen-v2 .admin-stat-grid{gap:10px}
.admin-screen-v2 .admin-stat{
  background:var(--app-card-2,#f0f2f5);
  border-radius:12px;padding:12px;
  border:1px solid rgba(0,0,0,.05);
  color:var(--text,#17181a);
}
html[data-vk-appearance="dark"] .admin-screen-v2 .admin-stat{
  background:rgba(0,0,0,.22);
  border-color:rgba(255,255,255,.06);
  color:inherit;
}
html[data-vk-appearance="light"] .admin-screen-v2 .ap-nav{
  background:var(--app-bg,#f5f7fb);
}
html[data-vk-appearance="light"] .ap-nav-item{
  background:rgba(0,0,0,.04);
  color:#6d7885;
}
html[data-vk-appearance="light"] .ap-nav-item.is-active{
  background:#2688eb;color:#fff;
}
html[data-vk-appearance="light"] .ap-card,
html[data-vk-appearance="light"] .ap-module,
html[data-vk-appearance="light"] .admin-screen-v2 .admin-card{
  background:#fff;
  border-color:rgba(0,0,0,.06);
}

.ap-denied-wrap{
  min-height:40vh;display:flex;align-items:center;justify-content:center;padding:24px 12px;
}
/* display:flex выше перебивает [hidden] — явно прячем */
.ap-denied-wrap[hidden],
#adminAccessDenied[hidden]{
  display:none !important;
  min-height:0 !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  border:none !important;
}
.ap-denied{
  text-align:center;max-width:320px;margin:0 auto;
  padding:28px 20px;border-radius:18px;
  background:var(--app-card,#242629);
  border:1px solid rgba(255,255,255,.06);
}
.ap-denied-ico{font-size:36px;margin-bottom:10px;opacity:.9}
.ap-denied h2{margin:0 0 8px;font-size:18px;font-weight:800}
.ap-denied p{margin:0;font-size:14px;color:var(--app-muted,#a1a8b1);line-height:1.45}
.ap-denied-hint{margin-top:10px !important;font-size:12px !important;opacity:.85}
html[data-vk-appearance="light"] .ap-denied{background:#fff;border-color:rgba(0,0,0,.06)}

#homeHero[hidden],
.dashboard-hero[hidden]{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  height:0 !important;
  overflow:hidden !important;
  border:none !important;
}

.ap-body{gap:10px}
.admin-screen-v2 .ap-nav{margin-bottom:4px;padding-bottom:8px}
.admin-screen-v2 .ap-pane-intro{margin-top:0}


/* Text region crop-style frame */
.we-preview-crop{ min-height:200px !important; max-height:280px; }

/* Text region frame — horizontal text, never 1-letter column */
.wlp-text-frame{
  position:absolute;
  z-index:3;
  left:8%; top:12%;
  transform:none;
  box-sizing:border-box;
  /* Prefer content width but never shrink to 1 glyph */
  width:fit-content;
  max-width:88%;
  min-width:min(120px, 70%);
  padding:12px 14px;
  border:1.5px solid rgba(255,255,255,.92);
  border-radius:6px;
  box-shadow:0 0 0 9999px rgba(0,0,0,.28), 0 2px 12px rgba(0,0,0,.35);
  touch-action:none;
  cursor:grab;
  --wlp-scale:1;
}
.wlp-text-frame.is-dragging{ cursor:grabbing; border-color:#2688eb; }
.wlp-frame-grid{
  position:absolute; inset:0;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  grid-template-rows:1fr 1fr 1fr;
  pointer-events:none;
  z-index:0;
}
.wlp-frame-grid span{
  border-right:1px solid rgba(255,255,255,.28);
  border-bottom:1px solid rgba(255,255,255,.28);
}
.wlp-frame-grid span:nth-child(3n){ border-right:0; }
.wlp-frame-grid span:nth-child(n+7){ border-bottom:0; }
.wlp-text-frame .wlp-copy{
  position:relative !important;
  z-index:1;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  pointer-events:none;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  white-space:normal !important;
  hyphens:manual !important;
  line-height:1.35;
  writing-mode:horizontal-tb !important;
}
.wlp-text-frame .wlp-copy b,
.wlp-text-frame .wlp-copy #wlpTitle,
.wlp-text-frame .wlp-copy p,
.wlp-text-frame .wlp-copy #wlpBody,
.wlp-text-frame .wlp-copy .wlp-eyebrow,
.wlp-text-frame .wlp-copy #wlpEyebrow{
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
}

.wlp-handle{
  position:absolute;
  width:14px; height:14px;
  border-radius:3px;
  background:#fff;
  border:2px solid #2688eb;
  padding:0;
  z-index:4;
  touch-action:none;
  box-shadow:0 1px 4px rgba(0,0,0,.35);
}
.wlp-handle-nw{ left:-7px; top:-7px; cursor:nwse-resize; }
.wlp-handle-ne{ right:-7px; top:-7px; cursor:nesw-resize; }
.wlp-handle-sw{ left:-7px; bottom:-7px; cursor:nesw-resize; }

.wlp-handle-se{ right:-7px; bottom:-7px; cursor:nwse-resize; }

/* Free-position widget button in editor preview */
.wlp-btn-frame{
  position:absolute;
  z-index:5;
  left:50%; top:78%;
  transform:translate(-50%,-50%);
  box-sizing:border-box;
  padding:4px;
  border:1.5px dashed rgba(255,255,255,.85);
  border-radius:14px;
  background:transparent;
  touch-action:none;
  cursor:grab;
  min-width:48px;
  user-select:none;
}
.wlp-btn-frame.is-dragging{
  cursor:grabbing;
  border-color:#2688eb;
  box-shadow:0 0 0 2px rgba(38,136,235,.45);
}
.wlp-btn-frame .wlp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  margin:0;
  min-height:36px;
  padding:0 16px;
  border-radius:12px;
  background:#2688eb;
  color:#fff;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  text-decoration:none;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
  will-change:transform;
}
.wlp-btn-frame .wlp-handle{
  width:12px; height:12px;
  /* handles must not scale with the button */
  transform:none !important;
}

/* Live free button on home hero */
.dashboard-hero .hero-widget-btn.hero-widget-btn-free,
.dashboard-hero.hero-free-pos .hero-widget-btn.hero-widget-btn-free{
  position:absolute !important;
  z-index:4;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 18px;
  border-radius:12px;
  font-weight:700;
  font-size:14px;
  text-decoration:none;
  box-shadow:0 6px 16px rgba(0,0,0,.28);
  background:var(--vk-blue, #2688eb);
  color:#fff;
  white-space:nowrap;
  max-width:90%;
}

.we-crop-tools{ margin-top:10px; }
.we-crop-tools .we-slider-head{
  display:flex; justify-content:space-between; align-items:center;
  font-size:12px; font-weight:700; margin-bottom:4px;
}
.we-crop-tools input[type=range]{ width:100%; margin-bottom:10px; }


/* ── Status card: publication blocked (and reusable) ── */
.status-modal-wrap{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:4px 2px 2px;
}
.status-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:14px;
  padding:22px 18px 20px;
  border-radius:22px;
  background:linear-gradient(160deg, #fff5f5 0%, #ffe8e8 45%, #fff 100%);
  border:1px solid rgba(230,70,70,.12);
  box-shadow:0 12px 32px rgba(230,70,70,.10), 0 2px 8px rgba(0,0,0,.04);
  overflow:hidden;
}
.status-card-blocked .status-card-blob{
  position:absolute;
  width:160px; height:160px;
  right:-30px; top:-40px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,107,107,.22) 0%, transparent 70%);
  pointer-events:none;
}
.status-card-visual{
  position:relative;
  width:112px; height:112px;
  display:grid; place-items:center;
  flex-shrink:0;
}
.status-card-illust{
  width:100px; height:100px;
  filter:drop-shadow(0 10px 18px rgba(230,70,70,.28));
}
.status-card-body{ position:relative; z-index:1; width:100%; }
.status-card-kicker{
  display:inline-block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#e64646;
  margin-bottom:6px;
}
.status-card-title{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.02em;
  color:#1a1a1a;
}
.status-card-sub{
  margin:0;
  font-size:14px;
  line-height:1.45;
  color:#6b7280;
}
.status-card-reason{
  margin:10px 0 0;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(230,70,70,.08);
  border:1px solid rgba(230,70,70,.14);
  font-size:14px;
  line-height:1.45;
  color:#3f3f46;
  text-align:left;
}
.status-card-reason-label{
  display:block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#e64646;
  margin-bottom:4px;
}
.status-card-action{ margin-top:2px; }
.status-card.is-compact{
  flex-direction:row;
  align-items:flex-start;
  text-align:left;
  gap:12px;
  padding:14px 14px;
  border-radius:16px;
}
.status-card.is-compact .status-card-visual{
  width:56px; height:56px;
}
.status-card.is-compact .status-card-illust{
  width:52px; height:52px;
  filter:drop-shadow(0 6px 10px rgba(230,70,70,.22));
}
.status-card.is-compact .status-card-title{
  font-size:15px;
  margin:0 0 4px;
}
.status-card.is-compact .status-card-kicker{ margin-bottom:2px; font-size:10px; }
.status-card.is-compact .status-card-sub{ font-size:12px; }
.status-card.is-compact .status-card-reason{
  margin-top:8px;
  padding:8px 10px;
  font-size:12px;
}
.profile-notice-status{
  margin:10px 0 12px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}

html[data-vk-appearance="dark"] .status-card{
  background:linear-gradient(160deg, #2a1818 0%, #1f1515 50%, #1a1c20 100%);
  border-color:rgba(230,70,70,.22);
  box-shadow:0 12px 32px rgba(0,0,0,.35);
}
html[data-vk-appearance="dark"] .status-card-title{ color:#f5f5f5; }
html[data-vk-appearance="dark"] .status-card-sub{ color:#a1a8b1; }
html[data-vk-appearance="dark"] .status-card-reason{
  background:rgba(230,70,70,.14);
  border-color:rgba(230,70,70,.22);
  color:#e4e4e7;
}


/* Custom category input (when «Другое» selected) */
.cf-custom-wrap{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.cf-custom-wrap[hidden]{ display:none !important; }
.cf-field-label{
  font-size:12px;
  font-weight:700;
  color:var(--vk-muted, #818c99);
}
.cf-custom-wrap input{
  min-height:44px;
  border-radius:12px;
  border:1px solid var(--vk-line, rgba(0,0,0,.12));
  background:var(--vk-input, var(--app-input, #fff));
  color:var(--vk-text, inherit);
  padding:10px 14px;
  font-size:15px;
}
.cf-custom-wrap input:focus{
  outline:none;
  border-color:var(--vk-blue, #2688eb);
  box-shadow:none;
}

/* Colored server pills */
.cf-server-pills .cf-pill-server{
  font-weight:700;
  letter-spacing:.01em;
}
.cf-server-pills .cf-pill-server.is-on{
  color:#fff !important;
}


/* Soft status cards with SVG art */
.status-card.sc-soft{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  padding:18px 16px;
  border-radius:22px;
  margin:10px 0 14px;
  border:1px solid transparent;
  overflow:hidden;
  position:relative;
  min-height:128px;
  box-shadow:0 8px 28px rgba(20,30,45,.06);
}
.status-card.sc-soft .status-card-art{
  width:96px;
  height:96px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.55);
  box-shadow:0 10px 28px rgba(20,30,45,.08);
  flex:none;
}
.status-card.sc-soft .status-card-art svg{
  width:72px;
  height:72px;
  display:block;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.12));
}
.status-card.sc-soft .status-card-title{
  font-size:18px;
  font-weight:800;
  letter-spacing:-.02em;
  margin:0 0 6px;
  display:block;
}
.status-card.sc-soft .status-card-text{
  margin:0 0 12px;
  font-size:13.5px;
  line-height:1.45;
  color:var(--app-muted,#5c6570);
}
.status-card.sc-soft .status-card-badge{
  display:inline-flex;
  padding:3px 10px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  margin-bottom:8px;
  background:rgba(124,58,237,.16);
  color:#7c3aed;
}

/* Blocked card stays vertical — isolate from soft grid */
.status-card.status-card-blocked{
  display:flex !important;
  flex-direction:column;
  grid-template-columns:unset;
  text-align:center;
  align-items:center;
}

/* Onboarding beta first slide */
.onboarding-beta .onboarding-visual-beta{
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at 50% 40%, #ede9fe 0%, #f5f7fb 70%);
  border-radius:24px;
  min-height:200px;
  height:min(36vh,300px);
}
.onboarding-beta-art{
  width:min(200px,56vw);
  height:min(200px,56vw);
  display:grid;
  place-items:center;
}
.onboarding-beta-art svg{
  width:85%;
  height:85%;
  filter:drop-shadow(0 16px 32px rgba(124,58,237,.25));
}
.onboarding-beta .eyebrow-beta,
.eyebrow.eyebrow-beta{
  display:inline-flex;
  align-items:center;
  padding:4px 12px;
  border-radius:999px;
  background:rgba(124,58,237,.14);
  color:#7c3aed;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.onboarding-beta h2{
  font-size:26px;
  letter-spacing:-.03em;
  margin:12px 0 10px;
}
.onboarding-beta .onboarding-lead{
  font-size:15px;
  line-height:1.5;
  color:var(--vk-muted,#6b7280);
  max-width:28em;
  margin:0 auto;
  text-align:center;
}
.onboarding-beta{
  text-align:center;
}
.onboarding-beta .onboarding-pager{ justify-content:center; }
.onboarding-beta .onboarding-actions{ margin-top:22px; }

html[data-vk-appearance="dark"] .onboarding-beta .onboarding-visual-beta{
  background:radial-gradient(circle at 50% 40%, #2a2438 0%, #1a1c20 70%);
}
html[data-vk-appearance="dark"] .status-card.sc-soft .status-card-art{
  background:rgba(255,255,255,.06);
}
html[data-vk-appearance="dark"] .status-card.sc-soft .status-card-text{
  color:#a1a8b1;
}

@media(max-width:400px){
  .status-card.sc-soft{
    grid-template-columns:1fr;
    text-align:center;
  }
  .status-card.sc-soft .status-card-art{ margin:0 auto; }
  .status-card.sc-soft .status-card-badge{ margin-left:auto; margin-right:auto; }
}


/* ── Item catalog ── */
.catalog-screen{ padding: 12px 14px 90px; }
.catalog-head h2{ margin: 4px 0 6px; font-size: 22px; letter-spacing: -.02em; }
.catalog-sub{ margin: 0 0 12px; color: var(--vk-muted, #818c99); font-size: 13px; line-height: 1.4; }
.catalog-toolbar{ display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.catalog-toolbar input[type="search"]{
  min-height: 42px; border-radius: 12px; border: 1px solid var(--vk-line, rgba(0,0,0,.1));
  padding: 0 14px; font-size: 15px; background: var(--vk-bg, #fff); color: inherit;
}
.catalog-sections{ display: flex; flex-wrap: wrap; gap: 6px; }
.catalog-sec-btn{
  border: 1px solid var(--vk-line, rgba(0,0,0,.1)); background: var(--vk-bg, #f5f5f5);
  border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 700; cursor: pointer; color: inherit;
}
.catalog-sec-btn.is-on{ background: var(--vk-blue, #2688eb); border-color: transparent; color: #fff; }
.catalog-list{ display: flex; flex-direction: column; gap: 10px; }
.catalog-card{
  display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: center;
  padding: 12px; border-radius: 16px; border: 1px solid var(--vk-line, rgba(0,0,0,.08));
  background: var(--vk-bg, #fff); cursor: pointer; text-align: left; width: 100%;
  color: inherit; font: inherit;
}
.catalog-card:active{ transform: scale(.99); }
.catalog-card-img{
  width: 72px; height: 72px; border-radius: 12px; object-fit: cover;
  background: linear-gradient(145deg, #eef2ff, #f5f5f7); display: grid; place-items: center;
  font-size: 28px; overflow: hidden;
}
.catalog-card-img img{ width: 100%; height: 100%; object-fit: cover; }
.catalog-card-title{ font-weight: 800; font-size: 15px; margin: 0 0 2px; }
.catalog-card-sub{ font-size: 12px; color: var(--vk-muted, #818c99); margin: 0 0 4px; }
.catalog-card-price{ font-size: 13px; font-weight: 700; color: var(--vk-blue, #2688eb); }
.catalog-card-meta{ font-size: 11px; color: var(--vk-muted, #818c99); margin-top: 4px; }

.catalog-detail-art{ width: 100%; max-height: 220px; object-fit: contain; border-radius: 16px; background: #f3f4f6; }
.catalog-attrs{ list-style: none; padding: 0; margin: 12px 0; }
.catalog-attrs li{ display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(0,0,0,.06); font-size: 13px; }
.catalog-attrs li span:first-child{ color: var(--vk-muted, #818c99); }
.catalog-attrs li span:last-child{ font-weight: 700; text-align: right; }

.catalog-pick-btn{ margin-top: 8px; }

/* Admin catalog editor */
.cat-admin-list{ display: flex; flex-direction: column; gap: 8px; max-height: 50vh; overflow: auto; }
.cat-admin-row{
  display: flex; gap: 10px; align-items: center; padding: 10px; border-radius: 12px;
  border: 1px solid var(--vk-line, rgba(0,0,0,.08)); background: var(--vk-bg, #fff);
}
.cat-admin-row img{ width: 44px; height: 44px; border-radius: 8px; object-fit: cover; }
.cat-admin-row .grow{ flex: 1; min-width: 0; }
.cat-admin-row b{ display: block; font-size: 14px; }
.cat-admin-row small{ color: var(--vk-muted, #818c99); }
.cat-form .cf-block{ margin-bottom: 12px; }
.cat-form label{ display: block; font-size: 12px; font-weight: 700; margin-bottom: 4px; color: var(--vk-muted, #818c99); }
.cat-form input, .cat-form select, .cat-form textarea{
  width: 100%; min-height: 40px; border-radius: 10px; border: 1px solid var(--vk-line, var(--app-line, rgba(0,0,0,.1)));
  padding: 8px 12px; font-size: 14px;
  background: var(--vk-input, var(--app-input, #f0f2f5));
  color: var(--vk-text, var(--text, #1a1a1a));
  box-sizing: border-box;
  caret-color: var(--vk-blue, #2688eb);
}
.cat-form input::placeholder, .cat-form textarea::placeholder, .cat-form select::placeholder{
  color: var(--vk-muted, var(--muted, #818c99));
  opacity: 1;
}
html[data-vk-appearance="dark"] .cat-form input,
html[data-vk-appearance="dark"] .cat-form select,
html[data-vk-appearance="dark"] .cat-form textarea{
  background: #2a2d31 !important;
  border-color: #3a3d42 !important;
  color: #f0f2f5 !important;
}
html[data-vk-appearance="dark"] .cat-form input::placeholder,
html[data-vk-appearance="dark"] .cat-form textarea::placeholder{
  color: #8b919a !important;
  opacity: 1;
}
html[data-vk-appearance="dark"] .cat-form input:focus,
html[data-vk-appearance="dark"] .cat-form select:focus,
html[data-vk-appearance="dark"] .cat-form textarea:focus{
  border-color: #5a9fd4 !important;
  box-shadow: 0 0 0 3px rgba(90,159,212,.2);
  outline: none;
}
html[data-vk-appearance="dark"] .cat-admin-row{
  background: #1c1e22;
  border-color: #2f3236;
  color: #f0f2f5;
}
html[data-vk-appearance="dark"] .cat-form label{
  color: #a1a8b1;
}
.cat-form textarea{ min-height: 80px; resize: vertical; }
.cat-attr-row{ display: grid; grid-template-columns: 1fr 1fr auto; gap: 6px; margin-bottom: 6px; }
.cat-form-actions{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.cat-thumb-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.cat-thumb{ width: 64px; height: 64px; border-radius: 10px; object-fit: cover; position: relative; }
.cat-thumb-wrap{ position: relative; }
.cat-thumb-wrap button{
  position: absolute; top: -6px; right: -6px; width: 22px; height: 22px; border-radius: 50%;
  border: 0; background: #e64646; color: #fff; font-size: 12px; cursor: pointer;
}

html[data-vk-appearance="dark"] .catalog-card,
html[data-vk-appearance="dark"] .cat-admin-row{
  background: #1c1e22; border-color: #2f3236;
}
html[data-vk-appearance="dark"] .catalog-card-img,
html[data-vk-appearance="dark"] .catalog-detail-art{ background: #2a2d33; }

.home-catalog-teaser{ margin: 12px 0 8px; }
.home-catalog-btn{
  width:100%; display:flex; align-items:center; gap:12px; text-align:left;
  padding:14px 16px; border-radius:16px; border:1px solid rgba(0,0,0,.08);
  background:linear-gradient(135deg,#f3e8ff,#eef2ff); color:inherit; font:inherit; cursor:pointer;
}
.home-catalog-ico{ font-size:28px; line-height:1; }
.home-catalog-btn b{ display:block; font-size:15px; }
.home-catalog-btn small{ display:block; color:#6b7280; font-size:12px; margin-top:2px; }
.home-catalog-go{ margin-left:auto; font-size:22px; color:#9ca3af; }
html[data-vk-appearance="dark"] .home-catalog-btn{
  background:linear-gradient(135deg,#2a2438,#242629); border-color:#3d3550;
}

/* beta banner permanently disabled */
.app-test-banner,.home-beta-slot{display:none!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;}

/* bottom create CTA removed — yellow empty-state button is the primary CTA */
.home-create-action{display:none!important;}


/* ===== Feature lock / PRO gate banner ===== */
.feature-lock-banner{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  padding:16px 16px 14px;
  margin:12px 0 4px;
  color:var(--app-ink,#1a1a1a);
  background:linear-gradient(145deg, rgba(91,124,250,.12), rgba(38,136,235,.08) 40%, rgba(255,255,255,.92));
  border:1px solid rgba(91,124,250,.22);
  box-shadow:0 10px 28px rgba(38,136,235,.12);
}
.feature-lock-banner.is-pro{
  background:linear-gradient(145deg, rgba(251,191,36,.18), rgba(91,124,250,.10) 45%, rgba(255,255,255,.95));
  border-color:rgba(251,191,36,.35);
  box-shadow:0 12px 32px rgba(251,191,36,.14);
}
.feature-lock-banner.is-staff{
  background:linear-gradient(145deg, rgba(148,163,184,.16), rgba(255,255,255,.94));
  border-color:rgba(100,116,139,.22);
}
.feature-lock-glow{
  position:absolute; inset:-40% -20% auto auto; width:180px; height:180px;
  background:radial-gradient(circle, rgba(91,124,250,.35), transparent 70%);
  pointer-events:none;
}
.feature-lock-banner.is-pro .feature-lock-glow{
  background:radial-gradient(circle, rgba(251,191,36,.4), transparent 70%);
}
.feature-lock-icon{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;font-size:22px;
  background:rgba(255,255,255,.85);
  box-shadow:0 4px 14px rgba(0,0,0,.06);
  margin-bottom:10px;
}
.feature-lock-kicker{
  display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:#5b7cfa;margin-bottom:4px;
}
.feature-lock-banner.is-pro .feature-lock-kicker{color:#d97706}
.feature-lock-copy b,
.feature-lock-copy h2{
  display:block;margin:0 0 6px;font-size:17px;font-weight:800;letter-spacing:-.02em;
  line-height:1.25;
}
.feature-lock-copy p{
  margin:0;font-size:13px;line-height:1.45;color:var(--vk-muted,#6d7885);
}
.feature-lock-actions{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;
}
.feature-lock-actions .primary-button,
.feature-lock-actions .secondary-button{flex:1 1 auto;min-width:140px}
.feature-lock-price-row{
  display:flex;justify-content:space-between;gap:10px;align-items:baseline;
  margin-top:10px;font-size:13px;
}
.feature-lock-price-row strong{font-size:18px;font-weight:800}
.feature-lock-banner--modal{margin:0}

/* Full-screen PRO offer over create form — does not replace modal content */
.feature-pro-sheet{
  position:fixed;inset:0;z-index:10050;display:flex;align-items:stretch;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .22s ease;
}
.feature-pro-sheet.open{opacity:1;pointer-events:auto}
.feature-pro-sheet-backdrop{
  position:absolute;inset:0;background:rgba(10,12,20,.55);backdrop-filter:blur(8px);
}
.feature-pro-sheet-card{
  position:relative;z-index:1;width:100%;height:100%;max-width:560px;
  display:flex;flex-direction:column;
  padding:0;
  transform:translateY(8px);transition:transform .22s ease;
}
.feature-pro-sheet.open .feature-pro-sheet-card{transform:translateY(0)}
.feature-pro-sheet-x{
  position:absolute;top:12px;left:12px;right:auto;
  width:40px;height:40px;border:0;border-radius:50%;
  background:rgba(0,0,0,.08);color:var(--vk-text,#1b1f24);
  font-size:26px;line-height:1;cursor:pointer;z-index:5;
  display:grid;place-items:center;padding:0;
}
.feature-pro-sheet-x span{display:block;transform:translateY(-1px)}

.feature-pro-full{
  flex:1;display:flex;flex-direction:column;
  min-height:100%;height:100%;
  background:linear-gradient(165deg,#fff8e7 0%,#ffffff 38%,#f3f7ff 100%);
  padding:0;
  box-sizing:border-box;
  overflow:hidden;
}
.feature-pro-full-scroll{
  flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:calc(56px + env(safe-area-inset-top,0px)) 22px 12px;
  box-sizing:border-box;
}
.feature-pro-full-footer{
  flex-shrink:0;
  padding:14px 18px calc(14px + env(safe-area-inset-bottom,0px));
  background:rgba(255,255,255,.96);
  border-top:1px solid rgba(0,0,0,.06);
  box-shadow:0 -8px 28px rgba(0,0,0,.06);
  display:flex;flex-direction:column;gap:10px;
}
.feature-pro-full-meta{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-end;
}
.feature-pro-full-price-block,
.feature-pro-full-balance-block{
  display:flex;flex-direction:column;gap:2px;
}
.feature-pro-full-balance-block{text-align:right}
.feature-pro-full-price-label{
  font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--vk-muted,#6d7885);
}
.feature-pro-full-price-block strong,
.feature-pro-full-balance-block strong{
  font-size:20px;font-weight:800;letter-spacing:-.02em;
}
.feature-pro-full-balance-block strong.is-low{color:#e11d48}
.feature-pro-buy-btn{
  min-height:52px!important;font-size:16px!important;font-weight:800!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#2688eb,#5b7cfa)!important;
  box-shadow:0 10px 24px rgba(38,136,235,.35)!important;
  display:flex!important;align-items:center;justify-content:center;gap:8px;
}
.feature-pro-buy-star{font-size:18px;filter:drop-shadow(0 1px 0 rgba(0,0,0,.1))}
.feature-pro-full-back{margin-top:2px;text-align:center}

.feature-pro-full-art{
  position:relative;height:120px;display:grid;place-items:center;margin-bottom:8px;
}
.feature-pro-full-orb{
  position:absolute;width:140px;height:140px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(251,191,36,.55),rgba(91,124,250,.18) 55%,transparent 70%);
  filter:blur(2px);
}
.feature-pro-full-star{
  position:relative;z-index:1;
  width:72px;height:72px;border-radius:22px;
  display:grid;place-items:center;font-size:36px;
  background:#fff;box-shadow:0 12px 32px rgba(251,191,36,.25);
}
.feature-pro-full-body{flex:1;display:flex;flex-direction:column;gap:8px}
.feature-pro-full-body h2{
  margin:0;font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.2;
}
.feature-pro-full-desc{
  margin:0;font-size:15px;line-height:1.5;color:var(--vk-muted,#6d7885);
}
.feature-pro-full-perks{
  list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px;
}
.feature-pro-full-perks li{
  position:relative;padding:10px 12px 10px 36px;
  border-radius:12px;background:rgba(255,255,255,.7);
  border:1px solid rgba(251,191,36,.2);
  font-size:13px;font-weight:600;line-height:1.35;
}
.feature-pro-full-perks li::before{
  content:"✓";position:absolute;left:12px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;border-radius:50%;
  background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;
  font-size:11px;font-weight:800;display:grid;place-items:center;
}
.feature-pro-full-price{display:none}
.feature-pro-full-actions{display:none}

.feature-lock-banner--sheet{display:none}

html[data-vk-appearance="dark"] .feature-pro-full,
[data-theme="dark"] .feature-pro-full{
  background:linear-gradient(165deg,#2a2418 0%,#1c1f28 40%,#151820 100%);
  color:#f2f3f5;
}
html[data-vk-appearance="dark"] .feature-pro-full-star,
[data-theme="dark"] .feature-pro-full-star{background:#252830;box-shadow:0 12px 32px rgba(0,0,0,.35)}
html[data-vk-appearance="dark"] .feature-pro-full-desc,
[data-theme="dark"] .feature-pro-full-desc{color:#9aa3ad}
html[data-vk-appearance="dark"] .feature-pro-full-perks li,
[data-theme="dark"] .feature-pro-full-perks li{
  background:rgba(255,255,255,.04);border-color:rgba(251,191,36,.18);
}
html[data-vk-appearance="dark"] .feature-pro-full-price,
[data-theme="dark"] .feature-pro-full-price{border-top-color:rgba(255,255,255,.08)}
html[data-vk-appearance="dark"] .feature-pro-sheet-x,
[data-theme="dark"] .feature-pro-sheet-x{background:rgba(255,255,255,.1);color:#fff}


html[data-vk-appearance="dark"] .feature-lock-banner,
[data-theme="dark"] .feature-lock-banner{
  background:linear-gradient(145deg, rgba(91,124,250,.22), rgba(30,34,48,.95));
  border-color:rgba(91,124,250,.3);color:#f2f3f5;
}
html[data-vk-appearance="dark"] .feature-lock-banner.is-pro,
[data-theme="dark"] .feature-lock-banner.is-pro{
  background:linear-gradient(145deg, rgba(251,191,36,.2), rgba(30,34,48,.96));
  border-color:rgba(251,191,36,.3);
}
html[data-vk-appearance="dark"] .feature-lock-icon,
[data-theme="dark"] .feature-lock-icon{background:rgba(255,255,255,.08)}
html[data-vk-appearance="dark"] .feature-lock-copy p,
[data-theme="dark"] .feature-lock-copy p{color:#9aa3ad}
html[data-vk-appearance="dark"] .feature-lock-banner--sheet,
[data-theme="dark"] .feature-lock-banner--sheet{background:#1c1f28}
html[data-vk-appearance="dark"] .feature-pro-sheet-x,
[data-theme="dark"] .feature-pro-sheet-x{background:rgba(255,255,255,.08);color:#fff}


.feature-pro-full-perks li.is-donut,
.pro-buy-perks li.is-donut{
  background:linear-gradient(135deg,rgba(168,85,247,.12),rgba(251,191,36,.12));
  border-color:rgba(168,85,247,.28);
}
.feature-pro-full-perks li.is-donut::before,
.pro-buy-perks li.is-donut::before{
  content:"💜";
  background:linear-gradient(135deg,#a855f7,#7c3aed);
  font-size:10px;
}
.pro-buy-perks{
  list-style:none;margin:12px 0 14px;padding:0;display:grid;gap:8px;
}
.pro-buy-perks li{
  position:relative;padding:10px 12px 10px 36px;
  border-radius:12px;background:rgba(0,0,0,.03);
  border:1px solid rgba(0,0,0,.06);
  font-size:13px;font-weight:600;line-height:1.35;
}
.pro-buy-perks li::before{
  content:"✓";position:absolute;left:12px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;border-radius:50%;
  background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;
  font-size:11px;font-weight:800;display:grid;place-items:center;
}
html[data-vk-appearance="dark"] .pro-buy-perks li,
[data-theme="dark"] .pro-buy-perks li{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08);
}

.feature-pro-full-why{
  margin:8px 0 0;padding:10px 12px;border-radius:12px;
  background:rgba(91,124,250,.1);border:1px solid rgba(91,124,250,.18);
  font-size:13px;line-height:1.4;color:var(--vk-text,#2c2d2e);
}
html[data-vk-appearance=dark] .feature-pro-full-why,
[data-theme=dark] .feature-pro-full-why{
  background:rgba(91,124,250,.15);border-color:rgba(91,124,250,.25);color:#e7e8ea;
}

html[data-vk-appearance="dark"] .feature-pro-full-footer,
[data-theme="dark"] .feature-pro-full-footer{
  background:rgba(28,31,40,.98);border-top-color:rgba(255,255,255,.08);
  box-shadow:0 -8px 28px rgba(0,0,0,.35);
}
html[data-vk-appearance="dark"] .feature-pro-sheet-x,
[data-theme="dark"] .feature-pro-sheet-x{
  background:rgba(40,44,56,.95);color:#f2f3f5;
}


/* Celebration / congrats modal */
.congrats-shell{
  text-align:center;
  padding:8px 4px 4px;
  position:relative;
}
.congrats-burst{
  position:absolute;left:50%;top:28px;width:120px;height:120px;
  transform:translateX(-50%);
  background:radial-gradient(circle,rgba(251,191,36,.35),rgba(91,124,250,.12) 45%,transparent 70%);
  pointer-events:none;
}
.congrats-emoji{
  position:relative;z-index:1;
  font-size:48px;line-height:1;
  margin:8px 0 12px;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.12));
  animation:congratsPop .45s ease;
}
.congrats-title{
  margin:0 0 8px;font-size:22px;font-weight:800;letter-spacing:-.02em;
}
.congrats-text{
  margin:0;font-size:15px;line-height:1.45;color:var(--vk-muted,#6d7885);
}
.congrats-details{
  margin:12px 0 0;padding:10px 12px;border-radius:12px;
  background:rgba(38,136,235,.08);border:1px solid rgba(38,136,235,.15);
  font-size:13px;font-weight:600;color:inherit;
}
.congrats-btn{margin-top:18px}
@keyframes congratsPop{
  0%{transform:scale(.6);opacity:0}
  70%{transform:scale(1.08)}
  100%{transform:scale(1);opacity:1}
}
html[data-vk-appearance="dark"] .congrats-details,
[data-theme="dark"] .congrats-details{
  background:rgba(91,124,250,.15);border-color:rgba(91,124,250,.25);
}

.admin-search-results{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.admin-search-hit{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  padding:10px 12px;border-radius:14px;border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.8);cursor:pointer;
}
.admin-search-hit:active{transform:scale(.99)}
.admin-search-hit-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.admin-search-hit-meta b{font-size:14px}
.admin-search-hit-meta small{opacity:.7;font-size:12px}
.admin-search-hit-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
html[data-vk-appearance="dark"] .admin-search-hit,
[data-theme="dark"] .admin-search-hit{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);
}


/* Console: from → to route + clickable avatar */
.console-route{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  font-size:12px;font-weight:600;margin:2px 0 4px;color:var(--text-secondary,#818c99);
}
.console-route-from{color:var(--text-primary,#000)}
.console-route-arrow{opacity:.55}
.console-route-to{color:#2688eb}
.console-avatar-link{
  display:inline-flex;border-radius:50%;line-height:0;
  text-decoration:none;cursor:pointer;
}
.console-avatar-link:hover{outline:2px solid #2688eb;outline-offset:1px}
.console-avatar-link .console-avatar{pointer-events:none}
.console-vk-link{
  font-size:12px;font-weight:600;color:#2688eb;text-decoration:none;
  padding:2px 6px;border-radius:6px;
}
.console-vk-link:hover{background:rgba(38,136,235,.12)}
html[data-vk-appearance="dark"] .console-route-from{color:#e1e3e6}
html[data-vk-appearance="dark"] .console-route-to{color:#71aaeb}


/* ===== Full-screen Console ===== */
.console-screen-fs{
  position:fixed !important;
  inset:0 !important;
  z-index:80 !important;
  display:flex;
  flex-direction:column;
  background:var(--app-bg, #f2f3f5);
  padding:0 !important;
  margin:0 !important;
  max-width:none !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden;
  box-sizing:border-box;
}
.console-screen-fs[hidden]{display:none !important}
.console-fs-top{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
  padding:calc(10px + env(safe-area-inset-top)) 12px 10px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(20,30,45,.08);
  z-index:2;
}
.console-fs-back{
  flex:0 0 auto;
  border:0;
  background:#eef2f6;
  color:#2688eb;
  font-weight:700;
  font-size:14px;
  padding:8px 12px;
  border-radius:10px;
  cursor:pointer;
}
.console-fs-back:active{opacity:.85}
.console-fs-titles{flex:1;min-width:0}
.console-fs-title{
  margin:0;
  font-size:18px;
  font-weight:800;
  line-height:1.2;
}
.console-fs-sub{
  margin:2px 0 0;
  font-size:12px;
  color:#818c99;
}
.console-fs-body{
  flex:1 1 auto;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:10px 12px calc(16px + env(safe-area-inset-bottom));
  min-height:0;
}
.console-fs-body .console-card,
.console-fs-body .console-card-v2,
.console-fs-body .ap-card{
  min-height:calc(100vh - 120px);
  display:flex;
  flex-direction:column;
}
.console-fs-body .console-feed{
  flex:1 1 auto;
  max-height:none !important;
  min-height:50vh;
}
body.console-fs-active .vk-topbar,
body.console-fs-active .bottom-nav{
  visibility:hidden !important;
  pointer-events:none !important;
}
body.console-fs-active{
  overflow:hidden;
}
html[data-vk-appearance="dark"] .console-screen-fs{
  background:#161719;
}
html[data-vk-appearance="dark"] .console-fs-top{
  background:rgba(30,31,34,.96);
  border-bottom-color:#303236;
}
html[data-vk-appearance="dark"] .console-fs-back{
  background:#2a2c30;
  color:#71aaeb;
}
html[data-vk-appearance="dark"] .console-fs-title{color:#e7e8ea}
html[data-vk-appearance="dark"] .console-fs-sub{color:#8b9199}

.profile-balance-split{display:block;margin-top:4px;font-size:12px;color:#818c99;font-weight:500}
.profile-balance-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.transfer-card{margin-top:10px}
.transfer-card label{display:block;margin:8px 0 4px;font-size:13px;font-weight:600}
.transfer-card input{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.08);font-size:15px}
.transfer-hint{font-size:13px;color:#818c99;margin:0 0 8px;line-height:1.35}
html[data-vk-appearance="dark"] .transfer-card input{background:#2a2c30;border-color:#3a3d42;color:#e7e8ea}
html[data-vk-appearance="dark"] .profile-balance-split{color:#8b9199}

.admin-balance-banner{
  display:flex;flex-direction:column;gap:6px;
  margin:0 0 12px;padding:12px 14px;border-radius:14px;
  background:linear-gradient(135deg,#1a3a5c 0%,#243447 100%);
  border:1px solid rgba(38,136,235,.35);
}
.admin-balance-label{font-size:12px;color:#9eb6d0;font-weight:600;letter-spacing:.02em}
.admin-balance-value{font-size:22px;font-weight:800;color:#fff;line-height:1.2}
.admin-balance-sub{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:#b0c4d8}
.admin-balance-sub b{color:#e8f1ff;font-weight:700}
.admin-balance-sub .is-on{color:#4cd964}
.admin-stat-coins strong{font-size:18px}
html[data-vk-appearance="light"] .admin-balance-banner{
  background:linear-gradient(135deg,#e8f2ff 0%,#f0f6ff 100%);
  border-color:rgba(38,136,235,.25);
}
html[data-vk-appearance="light"] .admin-balance-label{color:#5a7a9a}
html[data-vk-appearance="light"] .admin-balance-value{color:#1a3a5c}
html[data-vk-appearance="light"] .admin-balance-sub{color:#5a7a9a}
html[data-vk-appearance="light"] .admin-balance-sub b{color:#1a3a5c}


/* === Admin panel structure UX (2026-08-23) === */
.admin-screen-v2{
  display:flex;
  flex-direction:column;
  gap:0;
  min-height:100%;
}
.ap-header{
  position:sticky; top:0; z-index:5;
  background:var(--app-bg,#0e0f12);
  padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ap-crumb{
  display:flex; align-items:center; gap:6px;
  padding:8px 2px 10px;
  font-size:12px; color:var(--app-muted,#8b949e);
}
.ap-crumb-root{opacity:.7}
.ap-crumb-sep{opacity:.4}
.ap-crumb-cur{color:inherit; font-weight:700; opacity:1}
.ap-nav-grouped{
  display:flex; flex-direction:column; gap:10px;
  padding:0 0 12px;
  position:sticky; top:56px; z-index:4;
  background:var(--app-bg,#0e0f12);
  max-height:none;
  overflow:visible;
  flex-wrap:nowrap;
}
.ap-nav-group{min-width:0}
.ap-nav-group-label{
  font-size:10px; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; color:var(--app-muted,#8b949e);
  padding:0 4px 6px; opacity:.85;
}
.ap-nav-group-items{
  display:flex; flex-wrap:nowrap; gap:6px;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  scrollbar-width:none; padding-bottom:2px;
}
.ap-nav-group-items::-webkit-scrollbar{display:none}
.ap-nav-grouped .ap-nav-item{
  flex:0 0 auto;
  display:flex; align-items:center; gap:8px;
  padding:8px 12px;
  border-radius:12px;
  min-height:44px;
}
.ap-nav-meta{display:flex; flex-direction:column; align-items:flex-start; gap:1px; line-height:1.15}
.ap-nav-hint{font-size:10px; font-weight:600; opacity:.55}
.ap-nav-item.is-active{
  background:rgba(38,136,235,.22);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(38,136,235,.45);
}
.ap-nav-item.is-active .ap-nav-hint{opacity:.8}
.ap-nav-ai-entry:not(:disabled){
  background:rgba(155,89,182,.10);
}
.ap-nav-ai-entry:not(:disabled) .ap-nav-ico{
  color:#9b59b6;
}
.ap-nav-ai-entry.is-disabled,
.ap-nav-ai-entry:disabled{
  opacity:.42;
  filter:grayscale(1);
  cursor:not-allowed;
  background:rgba(127,134,145,.06);
  color:var(--app-muted,#8b949e);
  box-shadow:none;
}
.ap-nav-ai-entry:disabled .ap-nav-hint{opacity:.75}
.ap-pane-kicker{
  font-size:11px; font-weight:700; letter-spacing:.04em;
  text-transform:uppercase; color:#2688eb; margin-bottom:4px;
}
.ap-quick .ap-module-ico{background:rgba(38,136,235,.12)}
.ap-module[data-admin-go="moderation"] .ap-module-ico{background:rgba(240,162,2,.15)}
.ap-module[data-admin-go="users"] .ap-module-ico{background:rgba(155,89,182,.15)}
.ap-module[data-admin-go="console"] .ap-module-ico{background:rgba(46,204,113,.12)}
.ap-module[data-admin-go="economy"] .ap-module-ico{background:rgba(230,180,34,.15)}
.ap-body{padding-top:4px; padding-bottom:88px}
html[data-vk-appearance="light"] .ap-header,
html[data-vk-appearance="light"] .ap-nav-grouped{
  background:var(--app-bg,#f5f7fb);
}
html[data-vk-appearance="light"] .ap-nav-item.is-active{
  background:rgba(38,136,235,.12);
  color:#1a1a1a;
}


/* Tabs / bottom-nav fix 2026-08-23 */
.bottom-nav{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:40;
  display:flex;
  align-items:stretch;
  justify-content:space-around;
  pointer-events:auto !important;
}
.bottom-nav .nav-item{
  flex:1 1 0;
  width:auto;
  max-width:none;
  min-width:0;
  pointer-events:auto !important;
}
body.console-fs-active .bottom-nav{
  display:none !important;
}
/* Admin sticky nav must not cover the whole app when screen hidden.
   .admin-screen-v2 sets display:flex which overrides the browser default for [hidden]. */
#adminScreen[hidden],
.admin-screen-v2[hidden]{
  display:none !important;
}
#adminScreen[hidden],
#adminScreen[hidden] *{
  pointer-events:none !important;
}
#adminScreen:not([hidden]) .ap-nav-grouped{
  position:relative;
  top:auto;
  z-index:2;
}
#adminScreen:not([hidden]) .ap-header{
  position:relative;
  top:auto;
}

@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}


/* ===== Payment full-screen overlay (shop style) ===== */
.pay-overlay{
  position:fixed; inset:0; z-index:2147483000;
  display:none;
  align-items:center; justify-content:center;
  padding: max(16px, env(safe-area-inset-top)) 20px max(16px, env(safe-area-inset-bottom));
  box-sizing:border-box;
  pointer-events:auto;
}
.pay-overlay.is-open{ display:flex !important; }
.pay-overlay[hidden]{ display:none !important; }
body.pay-lock .bottom-nav,
body.pay-lock .topbar{
  pointer-events:none !important;
}
.pay-overlay-backdrop{
  position:absolute; inset:0;
  background:rgba(8,10,14,.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.pay-overlay-card{
  position:relative; z-index:1;
  width:min(320px, 100%);
  padding:28px 22px 24px;
  border-radius:22px;
  text-align:center;
  background:linear-gradient(165deg, #2a2d35 0%, #1a1c22 55%, #14161b 100%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 24px 60px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06);
  color:#f3f4f6;
}
html[data-vk-appearance="light"] .pay-overlay-card{
  background:linear-gradient(165deg, #ffffff 0%, #f3f5f8 100%);
  border-color:rgba(0,0,0,.06);
  color:#1b1f24;
  box-shadow:0 20px 50px rgba(0,0,0,.18);
}
.pay-shop{
  position:relative;
  height:88px;
  margin:0 auto 10px;
  width:140px;
}
.pay-shop-shelf{
  position:absolute; left:10%; right:10%; bottom:8px; height:10px;
  border-radius:6px;
  background:linear-gradient(90deg, #c4a35a, #e8d48b, #c4a35a);
  box-shadow:0 4px 0 #8a6d2f;
}
.pay-bag{
  position:absolute; left:50%; bottom:14px; transform:translateX(-50%);
  font-size:42px; line-height:1;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.35));
  animation:payBagBob 1.6s ease-in-out infinite;
}
.pay-coin{
  position:absolute; font-size:22px; line-height:1;
  animation:payCoinFall 1.5s ease-in infinite;
  opacity:.95;
}
.pay-coin-1{ left:18%; animation-delay:0s; }
.pay-coin-2{ left:48%; animation-delay:.35s; }
.pay-coin-3{ left:72%; animation-delay:.7s; }
@keyframes payCoinFall{
  0%{ transform:translateY(-28px) scale(.7); opacity:0; }
  25%{ opacity:1; }
  70%{ opacity:1; }
  100%{ transform:translateY(42px) scale(1); opacity:0; }
}
@keyframes payBagBob{
  0%,100%{ transform:translateX(-50%) translateY(0); }
  50%{ transform:translateX(-50%) translateY(-4px); }
}
.pay-spinner{
  width:28px; height:28px; margin:6px auto 12px;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.15);
  border-top-color:#f5c542;
  animation:spin .8s linear infinite;
}
html[data-vk-appearance="light"] .pay-spinner{
  border-color:rgba(0,0,0,.1);
  border-top-color:#e2a90a;
}
.pay-overlay-title{
  margin:0 0 6px; font-size:20px; font-weight:800; letter-spacing:-.02em;
}
.pay-overlay-text{
  margin:0 0 8px; font-size:14px; line-height:1.4;
  color:rgba(255,255,255,.78);
}
html[data-vk-appearance="light"] .pay-overlay-text{ color:#5b6570; }
.pay-overlay-hint{
  margin:0; font-size:12px; opacity:.55;
}


.promo-redeem-card.is-active{
  border-color:rgba(52,199,89,.45);
  background:rgba(52,199,89,.08);
}
.promo-redeem-card.is-active #promoRedeemInput{
  opacity:.95;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.promo-active-badge{
  margin-top:10px;
  font-size:13px;
  font-weight:700;
  color:#2f9e44;
}
html[data-vk-appearance="dark"] .promo-active-badge{ color:#51cf66; }
html[data-vk-appearance="dark"] .promo-redeem-card.is-active{
  background:rgba(52,199,89,.12);
  border-color:rgba(81,207,102,.4);
}
.promo-cancel-btn{
  flex:0 0 auto;
  white-space:nowrap;
  min-height:44px;
  padding:0 14px;
}
.promo-redeem-card.is-active .promo-redeem-row .primary-button{ display:none; }

.topup-pay-banner{
  margin:0 0 14px;padding:12px 14px;border-radius:14px;font-size:14px;line-height:1.4;font-weight:600;
  display:flex;align-items:flex-start;gap:10px;box-sizing:border-box;
}
.topup-pay-banner[hidden]{display:none!important}
.topup-pay-banner .tpb-ico{flex:none;font-size:18px;line-height:1.2}
.topup-pay-banner .tpb-body{flex:1;min-width:0}
.topup-pay-banner .tpb-title{display:block;font-weight:800;margin-bottom:2px}
.topup-pay-banner .tpb-text{display:block;font-weight:500;opacity:.92;font-size:13px}
.topup-pay-banner.is-error{background:rgba(244,67,54,.14);border:1px solid rgba(244,67,54,.4);color:#ff8a80}
.topup-pay-banner.is-warn{background:rgba(255,171,0,.14);border:1px solid rgba(255,171,0,.4);color:#ffd54f}
.topup-pay-banner.is-ok{background:rgba(52,199,89,.14);border:1px solid rgba(52,199,89,.4);color:#69f0ae}
html[data-vk-appearance="light"] .topup-pay-banner.is-error{background:#fdecea;border-color:#f5c2c0;color:#b71c1c}
html[data-vk-appearance="light"] .topup-pay-banner.is-warn{background:#fff8e1;border-color:#ffe082;color:#e65100}
html[data-vk-appearance="light"] .topup-pay-banner.is-ok{background:#e8f5e9;border-color:#a5d6a7;color:#1b5e20}

/* ===== Pay method picker ===== */
.pay-method-sheet{padding:4px 2px 8px}
.pay-method-head{margin-bottom:14px}
.pay-method-eyebrow{
  display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--app-muted,#818c99);margin-bottom:6px;
}
.pay-method-head h2{margin:0 0 6px;font-size:22px;font-weight:800;letter-spacing:-.02em}
.pay-method-head p{margin:0;font-size:13px;line-height:1.45;color:var(--app-muted,#818c99)}
.pay-method-amount{
  margin:12px 0 0;padding:10px 12px;border-radius:12px;
  background:rgba(0,119,255,.08);border:1px solid rgba(0,119,255,.18);
  font-size:13px;color:var(--app-ink,#e7e9ec);
}
.pay-method-amount b{font-weight:800}
.pay-method-list{display:flex;flex-direction:column;gap:10px;margin:4px 0 12px}
.pay-method-card{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:14px 14px;border-radius:16px;text-align:left;cursor:pointer;
  border:1px solid var(--app-line,rgba(255,255,255,.08));
  background:var(--app-card,#242629);color:inherit;
  transition:transform .12s ease, border-color .12s ease, background .12s ease;
}
.pay-method-card:active{transform:scale(.985)}
.pay-method-card.is-primary{
  border-color:rgba(0,119,255,.45);
  background:linear-gradient(135deg, rgba(0,119,255,.16), rgba(0,119,255,.06));
}
.pay-method-ico{
  flex:none;width:44px;height:44px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;background:rgba(255,255,255,.06);
}
.pay-method-ico-sbp{background:#1D1346}
.pay-method-ico-card{background:rgba(255,255,255,.08)}
.pay-method-ico-votes{background:rgba(0,119,255,.2)}
.pay-method-main{flex:1;min-width:0}
.pay-method-main b{display:block;font-size:15px;font-weight:800;margin-bottom:2px}
.pay-method-main small{display:block;font-size:12px;line-height:1.35;color:var(--app-muted,#818c99)}
.pay-method-badge{
  flex:none;font-size:11px;font-weight:800;padding:4px 8px;border-radius:999px;
  letter-spacing:.02em;
}
.pay-method-badge-soon{
  background:rgba(255,255,255,.08);color:var(--app-muted,#a1a8b1);
}
.pay-method-chevron{
  flex:none;font-size:22px;font-weight:700;color:#5a9ff1;line-height:1;padding-right:2px;
}
.pay-method-foot{
  margin:0;font-size:12px;line-height:1.4;color:var(--app-muted,#818c99);text-align:center;
}
html[data-vk-appearance="light"] .pay-method-card{
  background:#f5f7fa;border-color:rgba(0,0,0,.06);
}
html[data-vk-appearance="light"] .pay-method-card.is-primary{
  background:linear-gradient(135deg, rgba(0,119,255,.1), rgba(0,119,255,.04));
  border-color:rgba(0,119,255,.35);
}
html[data-vk-appearance="light"] .pay-method-amount{
  background:rgba(0,119,255,.06);border-color:rgba(0,119,255,.14);color:#1b1f24;
}

/* ===== Full-screen ban banner ===== */
body.app-banned{overflow:hidden}
.app.access-stub.is-banned{
  min-height:100vh;min-height:100dvh;
  padding:0!important;margin:0;
  display:flex;align-items:stretch;justify-content:center;
  background:#0c0d10!important;
}
.ban-screen{
  position:relative;width:100%;min-height:100vh;min-height:100dvh;
  display:flex;align-items:center;justify-content:center;
  padding:max(20px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));
  box-sizing:border-box;overflow:hidden;
}
.ban-screen-bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(244,67,54,.28), transparent 55%),
    radial-gradient(ellipse 60% 40% at 80% 100%, rgba(0,119,255,.12), transparent 50%),
    linear-gradient(165deg, #14161b 0%, #0c0d10 50%, #101218 100%);
}
.ban-screen-bg::after{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:18px 18px;opacity:.5;
}
.ban-screen-card{
  position:relative;z-index:1;
  width:min(400px,100%);
  padding:28px 22px 22px;
  border-radius:24px;
  text-align:center;
  background:linear-gradient(165deg, rgba(36,38,44,.96) 0%, rgba(22,24,30,.98) 100%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 28px 64px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06);
  color:#f2f3f5;
}
.ban-screen-icon{
  position:relative;width:72px;height:72px;margin:0 auto 16px;
  display:flex;align-items:center;justify-content:center;
}
.ban-screen-ring{
  position:absolute;inset:0;border-radius:50%;
  border:2px solid rgba(244,67,54,.45);
  box-shadow:0 0 0 8px rgba(244,67,54,.1);
  animation:banPulse 2.2s ease-in-out infinite;
}
.ban-screen-lock{font-size:34px;line-height:1;position:relative;z-index:1}
@keyframes banPulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.06);opacity:.75}
}
.ban-screen-eyebrow{
  display:block;font-size:11px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:#8b939e;margin-bottom:8px;
}
.ban-screen-title{
  margin:0 0 12px;font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.15;
}
.ban-screen-reason{
  margin:0 0 12px;padding:12px 14px;border-radius:14px;
  background:rgba(244,67,54,.12);border:1px solid rgba(244,67,54,.28);
  font-size:15px;font-weight:600;line-height:1.45;color:#ffc9c4;
}
.ban-screen-hint{
  margin:0 0 18px;font-size:13px;line-height:1.45;color:#9aa3ad;
}
.ban-screen-cta{
  display:inline-flex!important;align-items:center;justify-content:center;gap:8px;
  min-height:48px;font-weight:800;border-radius:14px;
  background:linear-gradient(135deg,#2a7de1,#1a5fb4)!important;
  box-shadow:0 10px 28px rgba(26,95,180,.35);
}
.ban-screen-cta:active{transform:scale(.98)}
.ban-screen-foot{
  margin:12px 0 0;font-size:12px;color:#6d7680;
}
html[data-vk-appearance="light"] .app.access-stub.is-banned{background:#eef0f3!important}
html[data-vk-appearance="light"] .ban-screen-bg{
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(244,67,54,.18), transparent 55%),
    linear-gradient(165deg, #f7f8fa 0%, #eef0f3 100%);
}
html[data-vk-appearance="light"] .ban-screen-card{
  background:#fff;border-color:rgba(0,0,0,.06);color:#1b1f24;
  box-shadow:0 20px 50px rgba(0,0,0,.12);
}
html[data-vk-appearance="light"] .ban-screen-reason{
  background:#fdecea;border-color:#f5c2c0;color:#b71c1c;
}
html[data-vk-appearance="light"] .ban-screen-hint{color:#5b6570}
html[data-vk-appearance="light"] .ban-screen-foot{color:#8a939e}

a.ban-screen-cta{text-decoration:none;color:#fff!important;box-sizing:border-box}
a.ban-screen-cta.is-loading{opacity:.75;pointer-events:none}

.vk-icon.icon-shield{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2l7 3v6c0 5.25-3.4 9.74-7 11-3.6-1.26-7-5.75-7-11V5l7-3zm0 2.18L7 5.9v5.1c0 3.9 2.5 7.4 5 8.7 2.5-1.3 5-4.8 5-8.7V5.9l-5-1.72z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2l7 3v6c0 5.25-3.4 9.74-7 11-3.6-1.26-7-5.75-7-11V5l7-3zm0 2.18L7 5.9v5.1c0 3.9 2.5 7.4 5 8.7 2.5-1.3 5-4.8 5-8.7V5.9l-5-1.72z'/%3E%3C/svg%3E");
  background:currentColor;
}

/* ux-audit: hidden screens */
.screen[hidden],
.page[hidden],
main[hidden],
section[hidden],
.catalog-screen[hidden],
.topup-screen[hidden],
.profile-screen[hidden],
.console-screen-fs[hidden],
.admin-screen[hidden],
.home-page[hidden],
.listings-page[hidden]{
  display:none !important;
  pointer-events:none !important;
}
/* Toast above bottom nav */
.toast, .toast.app-plaque{
  z-index: 12000 !important;
  bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important;
}
/* Topup: comfortable bottom padding under nav */
body.topup-active .topup-screen{
  padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px));
}
/* Prevent horizontal overflow glitches */
.app, .page, .screen{ max-width:100vw; overflow-x:hidden; }
/* Nav items equal width with 5 tabs */
.bottom-nav .nav-item{ flex:1 1 0; width:auto; max-width:none; min-width:0; }
.bottom-nav{ display:flex; }
/* Better tap targets */
.nav-item{ min-height:52px; }
/* Secondary buttons full-width stacks on narrow admin cards */
@media(max-width:400px){
  .admin-user-actions{ display:flex; flex-direction:column; }
  .admin-user-actions .secondary-button,
  .admin-user-actions .primary-button{ width:100%; }
}

/* ===== Enhanced onboarding + legal documents (v3) ===== */
.modal.onboarding-modal .onboarding-visual{
  height: min(36vh, 340px);
  min-height: 200px;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(20,40,80,.12), inset 0 0 0 1px rgba(255,255,255,.06);
  transition: transform .25s ease;
}
.modal.onboarding-modal .onboarding-visual:active{ transform: scale(.985); }
.onboarding-pager{ margin: 4px 0 14px; gap: 6px; }
.onboarding-pager i{ width: 7px; height: 7px; background: var(--vk-line, #d8dce2); }
.onboarding-pager i.active{ width: 22px; background: linear-gradient(90deg, var(--vk-blue,#2688eb), #5ba3f5); }
.onboarding h2{ font-size: clamp(22px, 5.5vw, 28px); letter-spacing: -.03em; margin: 4px 0 8px; }
.onboarding-lead{ font-size: 14px; line-height: 1.55; margin: 0 0 16px; }
.onboarding-features{ gap: 10px; margin: 0 0 16px; }
.onboarding-features > div{
  padding: 10px 11px;
  border-radius: 14px;
  background: var(--vk-bg, #f2f3f5);
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
}
.onboarding-features span{
  width: 34px; height: 34px; border-radius: 11px;
  background: linear-gradient(145deg, rgba(38,136,235,.12), rgba(38,136,235,.06));
  color: var(--vk-blue, #2688eb);
}
.onboarding-features b{ font-size: 12px; }
.onboarding-features small{ font-size: 10px; line-height: 1.3; white-space: normal; }

/* Beta visual polish */
.onboarding-visual-beta{
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 50% 40%, #ede9fe 0%, #f3f0ff 45%, #eef2ff 100%) !important;
  border: 1px solid rgba(124,58,237,.12);
}
.onboarding-beta-art{ transform: scale(1.05); }
html[data-vk-appearance="dark"] .onboarding-visual-beta{
  background: linear-gradient(145deg, #1a2a3a 0%, #0f1720 50%, #1e293b 100%) !important;
  border-color: rgba(255,255,255,.06);
}

/* Legal slide */
.onboarding-visual-legal{
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 40% 40%, #e8f1ff 0%, #edf5ff 50%, #f5f7fb 100%) !important;
  border: 1px solid rgba(38,136,235,.12);
  position: relative;
  overflow: hidden;
}
html[data-vk-appearance="dark"] .onboarding-visual-legal{
  background: linear-gradient(145deg, #0f172a 0%, #1e293b 40%, #0f172a 100%) !important;
  border-color: rgba(255,255,255,.06);
}
.onboarding-visual-legal::before{
  content: "";
  position: absolute; inset: -40%;
  background: radial-gradient(circle at 30% 40%, rgba(38,136,235,.25), transparent 50%),
              radial-gradient(circle at 70% 60%, rgba(99,102,241,.18), transparent 45%);
  animation: legal-glow 8s ease-in-out infinite alternate;
}
@keyframes legal-glow{ from{ transform: scale(1); } to{ transform: scale(1.15); } }
.onboarding-legal-art{
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
}
.legal-icon-ring{
  width: 88px; height: 88px; border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.12);
  display: grid; place-items: center;
  font-size: 40px;
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
  backdrop-filter: blur(8px);
}
.legal-badge{
  font-size: 12px; font-weight: 800; letter-spacing: .06em;
  padding: 5px 14px; border-radius: 999px;
  background: rgba(38,136,235,.25); color: #93c5fd;
  border: 1px solid rgba(38,136,235,.35);
}

.onboarding-legal-links{ display: grid; gap: 8px; margin: 0 0 12px; }
.onboarding-legal-card{
  display: grid; grid-template-columns: 40px 1fr 18px; gap: 10px; align-items: center;
  padding: 12px 14px; border-radius: 14px;
  background: var(--vk-bg, #f2f3f5);
  border: 1px solid var(--vk-line, rgba(0,0,0,.06));
  text-decoration: none; color: inherit;
  transition: background .15s, border-color .15s, transform .15s;
}
.onboarding-legal-card:active{ transform: scale(.98); }
.onboarding-legal-card:hover{ border-color: rgba(38,136,235,.35); }
.legal-card-icon{ font-size: 22px; line-height: 1; text-align: center; }
.legal-card-body{ min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.legal-card-body b{ font-size: 13px; font-weight: 650; color: var(--vk-text); }
.legal-card-body small{ font-size: 11px; color: var(--vk-muted); line-height: 1.3; }
.legal-card-arrow{ font-size: 20px; color: var(--vk-muted); font-weight: 300; }
.onboarding-legal-note{
  font-size: 11.5px; line-height: 1.45; color: var(--vk-muted);
  margin: 0 0 4px; text-align: center;
}
.eyebrow-legal{ color: var(--vk-blue, #2688eb) !important; letter-spacing: .06em; }

html[data-vk-appearance="dark"] .onboarding-legal-card,
@media(prefers-color-scheme: dark){
  .onboarding-legal-card{ background: #2a2d33; border-color: rgba(255,255,255,.08); }
  .onboarding-features > div{ background: #2a2d33; }
}
html[data-vk-appearance="dark"] .onboarding-legal-card{ background: #2a2d33; border-color: rgba(255,255,255,.08); }
html[data-vk-appearance="dark"] .onboarding-features > div{ background: #2a2d33; }

/* Slightly stronger primary on last legal slide */
.onboarding-legal .onboarding-actions .primary-button{
  min-height: 52px; font-size: 15.5px; font-weight: 650;
  box-shadow: 0 8px 22px rgba(38,136,235,.28);
}

@media(max-width:560px){
  .modal.onboarding-modal .onboarding-visual{ height: min(32vh, 280px); min-height: 180px; }
  .legal-icon-ring{ width: 76px; height: 76px; font-size: 34px; border-radius: 24px; }
  .onboarding-legal-card{ padding: 11px 12px; }
}


/* ===== Onboarding v5: CTA visible above system nav ===== */
.modal.onboarding-modal .dialog{
  display:flex!important;
  flex-direction:column!important;
  /* Extra bottom space for Android nav / gesture bar */
  padding:calc(10px + env(safe-area-inset-top,0px)) 18px calc(20px + env(safe-area-inset-bottom,0px) + 28px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
}
.modal.onboarding-modal .dialog>.close{
  top:calc(6px + env(safe-area-inset-top,0px));
  right:10px;
}
.modal.onboarding-modal .onboarding{
  flex:1 0 auto!important;
  min-height:min(100%, calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 70px))!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  padding:0!important;
}
.modal.onboarding-modal .onboarding-visual{
  flex:0 0 auto;
  height:min(30vh, 240px)!important;
  min-height:130px!important;
  max-height:260px;
  margin:0 0 10px!important;
  border-radius:16px!important;
}
.modal.onboarding-modal .onboarding-visual-beta,
.modal.onboarding-modal .onboarding-visual-legal{
  height:min(26vh, 200px)!important;
  min-height:120px!important;
}
.modal.onboarding-modal .onboarding-pager{
  flex:0 0 auto;
  margin:0 0 8px!important;
}
.modal.onboarding-modal .onboarding .eyebrow{flex:0 0 auto;margin-bottom:2px}
.modal.onboarding-modal .onboarding h2{
  flex:0 0 auto;
  font-size:clamp(20px, 5.5vw, 24px)!important;
  margin:2px 0 6px!important;
  line-height:1.15;
}
.modal.onboarding-modal .onboarding-lead{
  flex:0 0 auto;
  font-size:13.5px!important;
  line-height:1.4!important;
  margin:0 0 8px!important;
}
.modal.onboarding-modal .onboarding-features{
  flex:0 0 auto;
  margin:0 0 6px!important;
  gap:6px;
}
.modal.onboarding-modal .onboarding-features > div{padding:8px 9px}
.modal.onboarding-modal .onboarding-legal-links{
  flex:0 1 auto;
  margin:0 0 6px!important;
  gap:6px;
  display:grid;
}
.modal.onboarding-modal .onboarding-legal-card{padding:10px 12px}
.modal.onboarding-modal .onboarding-legal-note{
  flex:0 0 auto;
  margin:0 0 2px!important;
  font-size:11px;
  line-height:1.35;
}
/* CTA sits at bottom of content column, always fully visible */
.modal.onboarding-modal .onboarding-actions{
  flex:0 0 auto!important;
  margin-top:auto!important;
  padding-top:14px!important;
  padding-bottom:0!important;
  display:block!important;
  position:relative;
  z-index:2;
}
.modal.onboarding-modal .onboarding-actions .primary-button{
  width:100%!important;
  min-height:50px!important;
  border-radius:14px!important;
  font-size:15.5px!important;
  font-weight:650!important;
  box-shadow:0 6px 18px rgba(38,136,235,.28);
}
.onboarding-skip{display:none!important}

/* Legal slide: slightly smaller hero so 4 cards + button fit */
.modal.onboarding-modal .onboarding-legal .onboarding-visual{
  height:min(22vh, 160px)!important;
  min-height:100px!important;
}

@media(max-height:720px){
  .modal.onboarding-modal .onboarding-visual{height:min(24vh, 180px)!important;min-height:110px!important}
  .modal.onboarding-modal .onboarding-features{display:none}
  .modal.onboarding-modal .onboarding-legal .onboarding-visual{height:min(18vh, 130px)!important;min-height:90px!important}
}


/* ===== YooKassa-style demo payment UI ===== */
.yk-pay{padding:2px 0 6px}
.yk-pay-brand{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.yk-logo{
  font-size:13px;font-weight:800;letter-spacing:.02em;
  padding:6px 10px;border-radius:8px;
  background:linear-gradient(135deg,#8b3dff,#5b2be0);color:#fff;
}
.yk-logo-sbp{background:linear-gradient(135deg,#1D1346,#3d2a8a)}
.yk-secure{font-size:11px;color:var(--app-muted,#818c99);font-weight:600}
.yk-amount-bar{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;
  padding:12px 14px;border-radius:14px;margin-bottom:14px;
  background:rgba(38,136,235,.1);border:1px solid rgba(38,136,235,.2);
}
.yk-amount-bar span{font-size:12px;color:var(--app-muted,#818c99)}
.yk-amount-bar b{font-size:20px;font-weight:800;letter-spacing:-.02em}
.yk-amount-bar small{font-size:12px;color:var(--app-muted,#818c99);margin-left:auto}

.yk-card-preview{
  position:relative;height:148px;border-radius:16px;margin-bottom:16px;padding:18px 18px 14px;
  background:linear-gradient(135deg,#1a2744 0%,#2c3e6b 50%,#1e2a4a 100%);
  color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.25);
  overflow:hidden;
}
.yk-card-preview.is-mir{background:linear-gradient(135deg,#0a6b3c,#0d8f52)}
.yk-card-preview.is-visa{background:linear-gradient(135deg,#1a1f71,#2a3a9e)}
.yk-card-preview.is-mc{background:linear-gradient(135deg,#3a1a1a,#8b2e1a)}
.yk-card-chip{
  width:36px;height:26px;border-radius:5px;margin-bottom:18px;
  background:linear-gradient(135deg,#e8d48b,#c4a35a);
}
.yk-card-num{font-size:18px;font-weight:600;letter-spacing:.12em;font-variant-numeric:tabular-nums;margin-bottom:16px}
.yk-card-row{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.06em;opacity:.9;text-transform:uppercase}

.yk-form{display:flex;flex-direction:column;gap:10px}
.yk-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.yk-field{display:flex;flex-direction:column;gap:5px}
.yk-field span{font-size:11px;font-weight:700;color:var(--app-muted,#818c99);text-transform:uppercase;letter-spacing:.04em}
.yk-field input{
  min-height:46px;border-radius:12px;border:1px solid rgba(127,127,127,.25);
  background:var(--app-bg,#f5f7fb);color:var(--app-ink,#17181a);
  padding:0 12px;font-size:16px;font-variant-numeric:tabular-nums;
}
html[data-vk-appearance="dark"] .yk-field input{background:#1c1e22;border-color:rgba(255,255,255,.1);color:#f5f5f5}
.yk-field input:focus{outline:none;border-color:var(--vk-blue,#2688eb);box-shadow:none}
.yk-form-error{margin:0;font-size:12px;color:#e64646;font-weight:600}
.yk-submit{margin-top:4px;min-height:50px;font-size:15px;font-weight:700}
.yk-back{display:block;width:100%;text-align:center;margin-top:10px;background:none;border:0;color:var(--app-muted,#818c99);font-size:13px;padding:8px}
.yk-demo-note{margin:10px 0 0;font-size:11px;line-height:1.4;color:var(--app-muted,#818c99);text-align:center}

.yk-sbp-hint{margin:0 0 10px;font-size:13px;color:var(--app-muted,#818c99);line-height:1.4}
.yk-bank-search{margin-bottom:10px}
.yk-bank-search input{
  width:100%;min-height:42px;border-radius:12px;border:1px solid rgba(127,127,127,.22);
  background:var(--app-bg,#f5f7fb);color:var(--app-ink,#17181a);padding:0 12px;font-size:15px;
}
html[data-vk-appearance="dark"] .yk-bank-search input{background:#1c1e22;border-color:rgba(255,255,255,.1);color:#f5f5f5}
.yk-bank-list{display:flex;flex-direction:column;gap:6px;max-height:42vh;overflow:auto;-webkit-overflow-scrolling:touch;margin-bottom:4px}
.yk-bank{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:10px 12px;border-radius:12px;border:1px solid rgba(127,127,127,.15);
  background:var(--app-card,#fff);color:inherit;text-align:left;cursor:pointer;
}
html[data-vk-appearance="dark"] .yk-bank{background:#242629;border-color:rgba(255,255,255,.08)}
.yk-bank:active{transform:scale(.98)}
.yk-bank-ico{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  font-size:14px;font-weight:800;flex-shrink:0;
}
.yk-bank-name{flex:1;font-size:14px;font-weight:650}
.yk-bank-arr{color:var(--app-muted,#818c99);font-size:18px}

.yk-sbp-qr-block{text-align:center;padding:8px 0 4px}
.yk-sbp-qr{
  width:160px;height:160px;margin:0 auto 14px;padding:12px;border-radius:16px;
  background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.yk-qr-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:3px;width:100%;height:100%}
.yk-qr-grid i{display:block;border-radius:1px;background:#e8e8e8}
.yk-qr-grid i.on{background:#111}
.yk-sbp-qr-text{margin:0 0 4px;font-size:14px;line-height:1.4}
.yk-sbp-qr-sub{margin:0;font-size:12px;color:var(--app-muted,#818c99)}

.yk-demo-result{text-align:center;padding:12px 4px 8px}
.yk-demo-result-ico{
  width:64px;height:64px;margin:0 auto 14px;border-radius:50%;
  background:rgba(75,179,75,.15);color:#4bb34b;
  display:grid;place-items:center;font-size:28px;font-weight:800;
}
.yk-demo-result h2{margin:0 0 8px;font-size:20px}
.yk-demo-result p{margin:0 0 6px;font-size:14px;color:var(--app-muted,#818c99);line-height:1.45}
.yk-demo-result-sub{font-size:13px!important}

/* Remove "soon" look if any leftover */
.pay-method-badge-soon{display:none!important}


/* Payment overlay cancel */
.pay-overlay-card{ position:relative; }
.pay-overlay-cancel{
  position:absolute; top:10px; right:12px;
  width:36px; height:36px; border:0; border-radius:50%;
  background:rgba(255,255,255,.1); color:#fff;
  font-size:24px; line-height:1; cursor:pointer; z-index:3;
  display:grid; place-items:center;
}
html[data-vk-appearance="light"] .pay-overlay-cancel{
  background:rgba(0,0,0,.06); color:#333;
}
.pay-overlay-cancel:active{ transform:scale(.92); }
.pay-overlay-cancel-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:40px; padding:0 18px; border-radius:12px;
  border:1px solid rgba(255,255,255,.18);
  background:transparent; color:rgba(255,255,255,.88);
  font-size:14px; font-weight:600; cursor:pointer;
}
html[data-vk-appearance="light"] .pay-overlay-cancel-btn{
  border-color:rgba(0,0,0,.12); color:#444;
}
.pay-method-ico-sbp{
  background:#0B0A2A !important;
  padding:4px !important;
  overflow:hidden;
}
.pay-method-ico-sbp img{ width:100%; height:100%; object-fit:contain; }
.yk-logo-sbp{
  display:inline-flex !important; align-items:center; gap:6px;
  background:#0B0A2A !important;
  padding:6px 10px !important;
}
.yk-logo-sbp img{ width:20px; height:20px; object-fit:contain; }





/* ========== Free mode: paid UI fully removed, layout rebuilds ========== */
body.free-mode .account-overview,
body.free-mode #homeBalanceCard,
body.free-mode .home-balance-card,
body.free-mode #homePro,
body.free-mode #homeTopup,
body.free-mode #homeRewardAdBtn,
body.free-mode .home-reward-ad-btn,
body.free-mode .profile-balance-card,
body.free-mode #profileTopup,
body.free-mode #profileTransferOpen,
body.free-mode #profilePro,
body.free-mode #profileHistory,
body.free-mode #transferCard,
body.free-mode #promoRedeemCard,
body.free-mode #historyList,
body.free-mode .profile-section:has(#historyList),
body.free-mode .promote-btn,
body.free-mode [data-promote],
body.free-mode .ad-promotions,
body.free-mode .promo-badge,
body.free-mode #aiChatOpenBtn,
body.free-mode #aiQuotaHint,
body.free-mode .cf-ai-btn,
body.free-mode .cf-ai-quota,
body.free-mode #aiChatOverlay,
body.free-mode .topup-screen,
body.free-mode [data-screen="topup"]{
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: none !important;
}
/* Catalog tab always hidden */
.nav-item[data-screen="catalog"]{
  display: none !important;
}
button.is-soon,
#cfCatalogPick:disabled{
  opacity: .55;
  cursor: not-allowed;
  pointer-events: none;
}
/* Tighter home when free-mode (no balance card gap) */
body.free-mode .home-page .welcome{ margin-bottom: 12px; }
body.free-mode .profile-grid{ margin-top: 4px; }


/* Staff / admin full-screen lock */
.feature-lock-full.is-staff-lock .feature-lock-hero-glow{
  background:radial-gradient(circle at 30% 30%,rgba(59,130,246,.45),rgba(99,102,241,.2) 50%,transparent 70%);
}
.feature-lock-full.is-staff-lock .feature-lock-hero-badge{
  background:linear-gradient(145deg,#1e3a5f,#0f172a);
  box-shadow:0 14px 36px rgba(37,99,235,.35);
  color:#fff;
}
.feature-lock-full.is-staff-lock .feature-lock-kicker{
  color:#60a5fa;
}
.feature-lock-hero{
  position:relative;height:140px;display:grid;place-items:center;margin:8px 0 12px;
}
.feature-lock-hero-glow{
  position:absolute;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(148,163,184,.4),rgba(100,116,139,.15) 55%,transparent 70%);
  filter:blur(2px);
}
.feature-lock-hero-badge{
  position:relative;z-index:1;
  width:84px;height:84px;border-radius:24px;
  display:grid;place-items:center;font-size:40px;
  background:#fff;box-shadow:0 14px 36px rgba(15,23,42,.18);
}
html[data-vk-appearance="dark"] .feature-lock-hero-badge{
  background:#1c1f26;
}
.feature-lock-actions-bar{
  margin-top:auto;padding-top:18px;display:flex;flex-direction:column;gap:10px;
}
.feature-lock-ok{
  min-height:52px!important;font-size:16px!important;font-weight:750!important;
  border-radius:16px!important;
}
.promotion-need-staff{
  border:1px solid rgba(96,165,250,.35)!important;
  color:var(--vk-text)!important;
}


/* ===== PRO CTA — green + shine ===== */
.pro-cta-btn,
.feature-pro-buy-btn,
.promotion-need-pro{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  border:0 !important;
  color:#fff !important;
  font-weight:800 !important;
  letter-spacing:.01em;
  background:linear-gradient(135deg,#16a34a 0%,#22c55e 45%,#4ade80 100%) !important;
  box-shadow:0 10px 28px rgba(34,197,94,.4), inset 0 1px 0 rgba(255,255,255,.25) !important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
  animation:proCtaPulse 2.4s ease-in-out infinite;
}
.pro-cta-btn:active,
.feature-pro-buy-btn:active,
.promotion-need-pro:active{
  transform:scale(.97) !important;
  filter:brightness(.96);
}
.pro-cta-shine{
  position:absolute; inset:-20% -40%;
  background:linear-gradient(105deg, transparent 40%, rgba(255,255,255,.45) 50%, transparent 60%);
  transform:translateX(-120%) rotate(8deg);
  animation:proShine 2.8s ease-in-out infinite;
  pointer-events:none; z-index:0;
}
.pro-cta-btn > span:not(.pro-cta-shine),
.feature-pro-buy-btn > span:not(.pro-cta-shine){
  position:relative; z-index:1;
}
.pro-cta-star,
.feature-pro-buy-star{
  display:inline-block;
  animation:proStarTwinkle 1.6s ease-in-out infinite;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));
}
@keyframes proShine{
  0%, 55%{ transform:translateX(-130%) rotate(8deg); opacity:0; }
  60%{ opacity:1; }
  85%{ transform:translateX(130%) rotate(8deg); opacity:.9; }
  100%{ transform:translateX(130%) rotate(8deg); opacity:0; }
}
@keyframes proCtaPulse{
  0%,100%{ box-shadow:0 10px 28px rgba(34,197,94,.38), inset 0 1px 0 rgba(255,255,255,.22); }
  50%{ box-shadow:0 14px 36px rgba(34,197,94,.55), 0 0 0 4px rgba(34,197,94,.12), inset 0 1px 0 rgba(255,255,255,.28); }
}
@keyframes proStarTwinkle{
  0%,100%{ transform:scale(1) rotate(0deg); }
  40%{ transform:scale(1.15) rotate(-8deg); }
  70%{ transform:scale(1.05) rotate(6deg); }
}

/* PRO success burst */
.pro-success-burst{
  position:fixed; inset:0; z-index:2147483640;
  pointer-events:none; display:grid; place-items:center;
}
.pro-success-burst i{
  position:absolute; width:9px; height:9px; border-radius:2px;
  background:var(--c,#22c55e);
  opacity:0; transform:translate(0,0) scale(var(--s,1));
}
.pro-success-burst.is-on i{
  animation:proParticle .9s ease-out forwards;
  animation-delay:var(--d,0s);
}
.pro-success-star{
  font-size:56px; opacity:0; transform:scale(.4);
  filter:drop-shadow(0 8px 24px rgba(251,191,36,.5));
}
.pro-success-burst.is-on .pro-success-star{
  animation:proStarPop .7s cubic-bezier(.2,1.2,.4,1) forwards;
}
@keyframes proParticle{
  0%{ opacity:1; transform:translate(0,0) scale(var(--s,1)) rotate(0deg); }
  100%{ opacity:0; transform:translate(var(--dx),var(--dy)) scale(0.2) rotate(180deg); }
}
@keyframes proStarPop{
  0%{ opacity:0; transform:scale(.3) rotate(-20deg); }
  40%{ opacity:1; transform:scale(1.25) rotate(8deg); }
  100%{ opacity:0; transform:scale(.8) rotate(0deg); }
}

/* ===== AI CTA button ===== */
.cf-ai-btn.ai-cta-btn,
button.cf-ai-btn{
  position:relative !important;
  overflow:hidden !important;
  border:0 !important;
  color:#fff !important;
  font-weight:750 !important;
  font-size:13px !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#7c3aed 0%,#6366f1 40%,#3b82f6 100%) !important;
  box-shadow:0 8px 22px rgba(99,102,241,.4) !important;
  display:inline-flex !important;
  align-items:center; gap:8px;
  animation:aiCtaFloat 3s ease-in-out infinite;
  transition:transform .15s ease, box-shadow .15s ease !important;
}
.cf-ai-btn.ai-cta-btn:active{ transform:scale(.96) !important; }
.ai-cta-glow{
  position:absolute; inset:-30%;
  background:conic-gradient(from 0deg, transparent, rgba(255,255,255,.35), transparent 40%);
  animation:aiSpin 4s linear infinite;
  opacity:.55; pointer-events:none;
}
.ai-cta-spark{
  position:relative; z-index:1;
  display:inline-block;
  animation:aiSpark 1.4s ease-in-out infinite;
}
.ai-cta-label{ position:relative; z-index:1; }
@keyframes aiSpin{ to{ transform:rotate(360deg); } }
@keyframes aiCtaFloat{
  0%,100%{ box-shadow:0 8px 22px rgba(99,102,241,.38); transform:translateY(0); }
  50%{ box-shadow:0 12px 28px rgba(124,58,237,.5), 0 0 0 3px rgba(99,102,241,.12); transform:translateY(-1px); }
}
@keyframes aiSpark{
  0%,100%{ transform:scale(1) rotate(0deg); filter:brightness(1); }
  50%{ transform:scale(1.2) rotate(12deg); filter:brightness(1.25); }
}


/* PRO discount */
.admin-pro-price-fields{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.admin-pro-price-fields .admin-price-edit{display:inline-flex;align-items:center;gap:4px}
.admin-price-lbl{font-size:11px;color:var(--vk-muted,#818c99);font-weight:600;margin-right:2px}

.pro-price-wrap{
  display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;
}
.pro-price-old{
  font-size:14px;font-weight:600;
  color:var(--vk-muted,#818c99);
  text-decoration:line-through;
  opacity:.75;
}
.pro-price-new{
  font-size:20px;font-weight:800;letter-spacing:-.02em;
  color:var(--vk-text,#1b1f24);
}
html[data-vk-appearance="dark"] .pro-price-new{color:#f5f5f5}
.pro-discount-badge{
  display:inline-flex;align-items:center;gap:3px;
  padding:4px 10px;border-radius:999px;
  font-size:12px;font-weight:800;letter-spacing:.02em;
  color:#fff;
  background:linear-gradient(135deg,#ef4444,#f97316 55%,#eab308);
  box-shadow:0 4px 14px rgba(239,68,68,.4);
  animation:proDiscPulse 1.6s ease-in-out infinite;
  white-space:nowrap;
}
.pro-discount-fire{display:inline-block;animation:proDiscWiggle 1.2s ease-in-out infinite}
@keyframes proDiscPulse{
  0%,100%{ transform:scale(1); box-shadow:0 4px 14px rgba(239,68,68,.35); }
  50%{ transform:scale(1.06); box-shadow:0 6px 20px rgba(249,115,22,.55); }
}
@keyframes proDiscWiggle{
  0%,100%{ transform:rotate(0deg) scale(1); }
  30%{ transform:rotate(-12deg) scale(1.15); }
  60%{ transform:rotate(10deg) scale(1.1); }
}
.feature-pro-full-price-block .pro-sheet-price{
  display:block;font-weight:inherit;font-size:inherit;
}
.feature-pro-full-price-block .pro-price-new{font-size:22px}


/* ===== Widget editor v2 ===== */
.we2{display:flex;flex-direction:column;gap:10px;max-height:min(92vh,820px);overflow:hidden}
.we2-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 2px}
.we2-top h2{margin:2px 0 0;font-size:22px}
.we2-close{width:40px;height:40px;border:0;border-radius:50%;background:rgba(127,127,127,.15);color:inherit;font-size:24px;line-height:1;cursor:pointer}
.we2-canvas-wrap{flex:0 0 auto}
.we2-canvas{
  position:relative;width:100%;aspect-ratio:16/11;min-height:160px;max-height:40vh;
  border-radius:18px;overflow:hidden;
  background:linear-gradient(145deg,#1a1d24,#2a3140);
  color:#fff;touch-action:none;user-select:none;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
  flex:none;
  transition:height .05s linear, min-height .05s linear;
}
.we2-size-badge{
  position:absolute;right:10px;bottom:10px;z-index:8;
  padding:4px 8px;border-radius:999px;
  background:rgba(0,0,0,.55);color:#fff;
  font-size:11px;font-weight:700;pointer-events:none;
  backdrop-filter:blur(6px);
}
.we2-canvas-wrap{flex:0 0 auto; max-height:42vh;}
.we2-media{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;pointer-events:none}

.we2-overlay{position:absolute;inset:0;pointer-events:none}
/* Snap grid — visible while dragging layers / photo */
.we2-grid{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  opacity:0;transition:opacity .12s ease;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.14) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.14) 1px, transparent 1px);
  background-size: 5% 5%;
  background-position: 0 0;
}
.we2-canvas.show-grid .we2-grid{ opacity:1; }
/* Center guides */
.we2-grid::before{
  content:"";
  position:absolute;left:50%;top:0;bottom:0;width:1px;
  background:rgba(96,165,250,.65);
  transform:translateX(-50%);
}
.we2-grid::after{
  content:"";
  position:absolute;top:50%;left:0;right:0;height:1px;
  background:rgba(96,165,250,.65);
  transform:translateY(-50%);
}

.we2-layer{
  position:absolute;left:0;top:0;
  z-index:2;touch-action:none;
  will-change:left,top;
}
.we2-btn-layer{ /* center via JS translate(-50%,-50%) */ }
.we2-text-layer{
  transform:none !important;
  transform-origin:0 0;
}
/* Match live home text pill + font scaling */
.we2-text-layer .we2-layer-box{
  --wlp-scale: 1;
  --pill-color: 0,0,0;
  --pill-opacity: 0.28;
  --pill-blur: 6px;
  background: rgba(var(--pill-color), var(--pill-opacity));
  backdrop-filter: blur(var(--pill-blur));
  -webkit-backdrop-filter: blur(var(--pill-blur));
  border-radius: 12px;
  padding: 10px 12px;
  max-width: min(88%, 380px);
}
.we2-text-layer .we2-eyebrow{
  font-size: calc(11px * var(--wlp-scale, 1)) !important;
}
.we2-text-layer .we2-title{
  font-size: calc(18px * var(--wlp-scale, 1)) !important;
  line-height: 1.22;
}
.we2-text-layer .we2-body{
  font-size: calc(13px * var(--wlp-scale, 1)) !important;
  line-height: 1.4;
}

.we2-layer.is-dim{opacity:.45;pointer-events:none}
.we2-layer.is-active{opacity:1;z-index:5;pointer-events:auto}
.we2-layer-box{
  position:relative;padding:10px 12px;min-width:80px;
  border:2px solid transparent;border-radius:12px;
}
.we2-layer.is-active .we2-layer-box{
  border-color:rgba(59,130,246,.95);
  box-shadow:0 0 0 1px rgba(255,255,255,.25), 0 8px 24px rgba(0,0,0,.35);
  background:rgba(15,23,42,.12);
}
.we2-layer.is-dragging .we2-layer-box{
  border-color:#60a5fa;
  box-shadow:0 0 0 2px rgba(96,165,250,.5);
}
.we2-handle{
  position:absolute;width:18px;height:18px;border-radius:6px;
  background:#3b82f6;border:2px solid #fff;
  box-shadow:0 2px 8px rgba(0,0,0,.35);
  opacity:0;pointer-events:none;
  z-index:3;
}
.we2-layer.is-active .we2-handle{opacity:1;pointer-events:auto}
.we2-handle[data-handle="nw"]{left:-9px;top:-9px;cursor:nwse-resize}
.we2-handle[data-handle="ne"]{right:-9px;top:-9px;cursor:nesw-resize}
.we2-handle[data-handle="sw"]{left:-9px;bottom:-9px;cursor:nesw-resize}
.we2-handle[data-handle="se"]{right:-9px;bottom:-9px;cursor:nwse-resize}
.we2-layer-body{display:flex;flex-direction:column;gap:4px;max-width:70vw}
.we2-eyebrow{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.9}
.we2-title{font-size:18px;font-weight:800;line-height:1.15}
.we2-body{margin:0;font-size:13px;line-height:1.35;opacity:.92}
.we2-btn-box{padding:6px}
.we2-btn-preview{
  border:0;border-radius:12px;padding:10px 18px;
  background:#2688eb;color:#fff;font-weight:700;font-size:14px;
  pointer-events:none;white-space:nowrap;
  box-shadow:0 6px 16px rgba(38,136,235,.35);
}
.we2-status{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:6px 2px 0;font-size:12px;color:var(--vk-muted,#818c99)}
.we2-coords{font-weight:700;font-variant-numeric:tabular-nums;color:var(--vk-text,#1b1f24)}
html[data-vk-appearance="dark"] .we2-coords{color:#e7e9ec}
.we2-layers{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:4px 0}
.we2-layer-tab{
  border:1px solid rgba(127,127,127,.2);border-radius:12px;
  background:rgba(127,127,127,.08);color:inherit;
  padding:10px 6px;font-size:12px;font-weight:700;cursor:pointer;
}
.we2-layer-tab.is-on{
  background:linear-gradient(135deg,#2688eb,#5b7cfa);color:#fff;border-color:transparent;
  box-shadow:0 6px 16px rgba(38,136,235,.3);
}
.we2-tools{flex:1 1 auto;overflow:auto;min-height:0;padding-bottom:4px}
.we2-panel{display:none;gap:10px}
.we2-panel.is-on{display:grid}
.we2-scale-row{
  display:grid;grid-template-columns:auto auto 1fr auto auto;gap:8px;align-items:center;
  font-size:13px;font-weight:600;
}
.we2-scale-row input[type=range]{width:100%}
.we2-step{
  width:36px;height:36px;border-radius:10px;border:1px solid rgba(127,127,127,.25);
  background:rgba(127,127,127,.1);color:inherit;font-size:18px;font-weight:700;cursor:pointer;
}
.we2-pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.we2-footer{padding-top:4px;flex:0 0 auto}
.we2 .we-field{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--vk-muted,#818c99)}
.we2 .we-field input,.we2 .we-field textarea{
  border:1px solid rgba(127,127,127,.22);border-radius:12px;padding:10px 12px;
  background:var(--vk-card,#fff);color:inherit;font:inherit;font-weight:500;
}
html[data-vk-appearance="dark"] .we2 .we-field input,
html[data-vk-appearance="dark"] .we2 .we-field textarea{background:#242629;border-color:#3a3d42}
.we2 .we-check{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}
.we2 .we-micro{margin:0;font-size:12px;opacity:.7;line-height:1.35}
.we2 .we-upload-row{display:flex;flex-wrap:wrap;gap:8px}
.we2 .we-file-btn,.we2 .we-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:40px;padding:0 14px;border-radius:12px;border:1px solid rgba(127,127,127,.25);
  background:rgba(127,127,127,.1);color:inherit;font-weight:700;font-size:13px;cursor:pointer;
}
.we2 .we-btn-ghost{opacity:.8}
.we2 .we-color-block{display:grid;gap:6px}
.we2 .we-color-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.we2 .we-color-row input[type=text]{flex:1;min-width:90px;border-radius:10px;border:1px solid rgba(127,127,127,.22);padding:8px 10px;background:transparent;color:inherit}
.we2 .color-swatch{width:28px;height:28px;border-radius:8px;border:2px solid rgba(255,255,255,.5);cursor:pointer;padding:0}
.we2 .we-pos-btn{
  min-height:40px;border-radius:10px;border:1px solid rgba(127,127,127,.2);
  background:rgba(127,127,127,.08);color:inherit;font-size:14px;cursor:pointer;
}
.modal.open .dialog:has(.we2){max-width:480px;width:100%;padding:14px 14px 12px}


/* LIGHT THEME ADMIN FIX 20260824 */
html[data-vk-appearance="light"] .admin-stat,
html[data-vk-appearance="light"] .admin-screen-v2 .admin-stat {
  background: #f0f2f5 !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  color: #17181a !important;
}
html[data-vk-appearance="light"] .admin-stat span,
html[data-vk-appearance="light"] .admin-stat small {
  color: #6d7885 !important;
}
html[data-vk-appearance="light"] .admin-stat strong {
  color: #17181a !important;
}
html[data-vk-appearance="light"] .admin-user-card-rich {
  background: #fff;
  border-color: rgba(0,0,0,.08);
}
html[data-vk-appearance="light"] .admin-user-section {
  border-top-color: rgba(0,0,0,.08);
}
html[data-vk-appearance="light"] .ap-btn {
  background: rgba(0,0,0,.05);
  color: #17181a;
}
html[data-vk-appearance="light"] .ap-module {
  background: #fff;
  border-color: rgba(0,0,0,.08);
  color: #17181a;
}
html[data-vk-appearance="light"] .ap-module-ico {
  background: rgba(38,136,235,.12);
}
html[data-vk-appearance="light"] .ap-card {
  background: #fff;
  border-color: rgba(0,0,0,.08);
  color: #17181a;
}
html[data-vk-appearance="light"] .ap-card-title small,
html[data-vk-appearance="light"] .ap-module-body small {
  color: #6d7885;
}
html[data-vk-appearance="light"] .we-note {
  background: #f0f2f5;
  color: #17181a;
}
html[data-vk-appearance="light"] .admin-chip {
  background: #edf5ff;
  color: #2688eb;
}
/* queue / list rows inside admin cards */
html[data-vk-appearance="light"] .admin-screen-v2 .admin-card-soft,
html[data-vk-appearance="light"] .admin-screen-v2 .admin-card {
  background: #fff !important;
  border-color: rgba(0,0,0,.08) !important;
  color: #17181a;
}

/* BANNERS LIGHT THEME FIX 20260824 */
html[data-vk-appearance="light"] .onboarding-visual-beta,
html[data-vk-appearance="light"] .modal.onboarding-modal .onboarding-visual-beta {
  background: radial-gradient(circle at 50% 40%, #ede9fe 0%, #f3f0ff 45%, #eef2ff 100%) !important;
  border: 1px solid rgba(124,58,237,.12) !important;
}
html[data-vk-appearance="light"] .onboarding-visual-legal,
html[data-vk-appearance="light"] .modal.onboarding-modal .onboarding-visual-legal {
  background: radial-gradient(circle at 40% 40%, #e8f1ff 0%, #edf5ff 50%, #f5f7fb 100%) !important;
  border: 1px solid rgba(38,136,235,.12) !important;
}
html[data-vk-appearance="light"] .featured-ad-card {
  background: linear-gradient(135deg, #fff8e6 0%, #ffffff 55%, #f5f7fb 100%) !important;
  color: #17181a !important;
  border: 1px solid rgba(230,180,34,.25) !important;
  box-shadow: 0 8px 22px rgba(20,30,45,.06) !important;
}
html[data-vk-appearance="light"] .featured-ad-badge { color: #b8860b !important; }
html[data-vk-appearance="light"] .featured-ad-copy p { color: #5c6570 !important; }
html[data-vk-appearance="light"] .featured-ad-meta,
html[data-vk-appearance="light"] .featured-ad-id { color: #818c99 !important; }
html[data-vk-appearance="light"] .featured-ad-note { color: #9a6a00 !important; }


/* LEGAL VIEWER FIX */
.legal-viewer{display:flex;flex-direction:column;max-height:min(90dvh,720px)}
.legal-viewer-body{overflow:auto;-webkit-overflow-scrolling:touch;padding:8px 4px 20px;max-height:min(70dvh,560px)}
.legal-viewer-content{font-size:14px;line-height:1.5;color:var(--text,#17181a)}
.legal-viewer-content h1,.legal-viewer-content h2{font-size:18px;margin:12px 0 8px}
.legal-viewer-content p{margin:0 0 10px}
.legal-viewer-content a{color:var(--blue2,#2688eb)}
button.onboarding-legal-card{width:100%;border:1px solid rgba(0,0,0,.08);background:var(--card,#fff);text-align:left;cursor:pointer}
html[data-vk-appearance="dark"] button.onboarding-legal-card{border-color:rgba(255,255,255,.08);background:#242629;color:#f5f5f5}


/* Wall-style ad preview (matches community post) */
.cf-preview.wall-preview{
  border-radius: 14px;
  overflow: hidden;
  background: var(--card, #fff);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.wall-preview-head{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px 8px;
}
.wall-preview-avatar{
  width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(145deg, #2688eb, #1a5bb8);
  color: #fff; font-size: 11px; font-weight: 800;
  display: grid; place-items: center; flex-shrink: 0;
}
.wall-preview-meta{ min-width: 0; }
.wall-preview-name{
  display: block; font-size: 14px; font-weight: 700;
  color: var(--text, #17181a); line-height: 1.25;
}
.wall-preview-time{
  display: block; font-size: 12px; color: var(--muted, #818c99); margin-top: 1px;
}
.wall-preview-text{
  margin: 0;
  padding: 4px 14px 12px;
  font-size: 15px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--text, #17181a);
}
.wall-preview-media{
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2px !important;
  min-height: 0 !important;
  background: #000 !important;
}
.wall-preview-media.is-empty{
  display: none !important;
}
.wall-preview-media .cf-preview-shot{
  aspect-ratio: 16/10;
  max-height: 280px;
}
.wall-preview-media .cf-preview-shot-img{
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.wall-preview-media:not(.is-empty):has(.cf-preview-shot:nth-child(2)){
  grid-template-columns: 1fr 1fr !important;
}
.wall-preview-actions{
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 14px;
  border-top: 1px solid rgba(0,0,0,.06);
  font-size: 13px;
  color: var(--muted, #818c99);
  font-weight: 600;
}
.wall-preview .cf-preview-tools{
  border-top: 1px solid rgba(0,0,0,.06);
  background: var(--soft, #f5f7fb);
}
html[data-vk-appearance="dark"] .cf-preview.wall-preview{
  background: #242629;
  border-color: #303236;
}
html[data-vk-appearance="dark"] .wall-preview-name{ color: #f5f5f5; }
html[data-vk-appearance="dark"] .wall-preview-text{ color: #e8eaed; }
html[data-vk-appearance="dark"] .wall-preview-actions,
html[data-vk-appearance="dark"] .wall-preview .cf-preview-tools{
  border-color: #303236;
  background: #1c1e22;
}

.free-confirm-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:14px}
.free-confirm-row span{color:var(--muted,#818c99);flex-shrink:0}
.free-confirm-row b{text-align:right}
html[data-vk-appearance=dark] .free-confirm-row{border-color:rgba(255,255,255,.08)}

/* FREE AI CTA — same attractive style as form */
.free-form-shell .cf-ai-btn.ai-cta-btn,
#freeAiImprove.cf-ai-btn{
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  align-items: center;
  gap: 6px;
  border: 0;
  background: linear-gradient(135deg, #6d5efc 0%, #2688eb 55%, #3aa0ff 100%) !important;
  color: #fff !important;
  font-weight: 700;
  font-size: 13px;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 18px rgba(38,136,235,.35);
  position: relative;
  overflow: hidden;
}
.free-form-shell .ai-cta-label{ position: relative; z-index: 1; }
.free-form-shell .ai-cta-spark{ position: relative; z-index: 1; }
.free-form-shell .free-ai-row{ margin-top: 10px; }
body.free-mode #freeAiImprove,
body.free-mode .free-form-shell .cf-ai-btn{
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.console-peer-link{
  color:#2688eb !important;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px dashed rgba(38,136,235,.45);
}
.console-peer-link:active{ opacity:.8; }
html[data-vk-appearance="dark"] .console-peer-link{ color:#8ab8e7 !important; }

/* —— AI chat v2 —— */
.ai-msg-shell-v2{
  height:min(92vh,680px);
  max-height:min(92vh,680px);
  margin:0;
  background:var(--app-bg,#f2f4f7);
  border-radius:18px;
  overflow:hidden;
}
.ai-msg-shell-v2 .ai-msg-top{
  display:flex;
  align-items:center;
  gap:10px;
  grid-template-columns:unset;
  padding:12px 14px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(15,23,42,.06);
  position:sticky;
  top:0;
  z-index:2;
}
html[data-vk-appearance="dark"] .ai-msg-shell-v2 .ai-msg-top{
  background:rgba(30,31,34,.94);
  border-bottom-color:#303236;
}
.ai-msg-back-icon,
.ai-msg-close{
  width:36px;height:36px;
  border-radius:12px;
  border:0;
  background:var(--app-input,#eef0f3);
  color:var(--app-ink,#17181a);
  font-size:20px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  flex:none;
}
.ai-msg-shell-v2 .ai-msg-top-text{ flex:1; min-width:0; }
.ai-msg-shell-v2 .ai-msg-top-text b{
  font-size:16px;
  letter-spacing:-.02em;
}
.ai-msg-shell-v2 .ai-msg-top-text small{
  display:block;
  margin-top:2px;
  font-size:11px;
  color:var(--app-muted,#818c99);
}
.ai-msg-shell-v2 .ai-msg-log{
  padding:14px 12px 18px;
  gap:10px;
  background:linear-gradient(180deg,#eef2f7 0%, #f5f7fa 40%);
}
html[data-vk-appearance="dark"] .ai-msg-shell-v2 .ai-msg-log{
  background:linear-gradient(180deg,#161719 0%, #1b1c1e 50%);
}
.ai-chat-bubble{
  max-width:min(92%, 420px);
  padding:12px 14px;
  border-radius:18px;
  font-size:14.5px;
  line-height:1.45;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.ai-chat-bubble.user{
  align-self:flex-end;
  background:linear-gradient(135deg,#2688eb,#1a6fd0);
  color:#fff;
  border:0;
  border-bottom-right-radius:6px;
}
.ai-chat-bubble.assistant{
  align-self:flex-start;
  background:#fff;
  border:1px solid rgba(15,23,42,.06);
  border-bottom-left-radius:6px;
  color:var(--app-ink,#17181a);
}
html[data-vk-appearance="dark"] .ai-chat-bubble.assistant{
  background:#2a2d31;
  border-color:#3a3d42;
  color:#f0f2f5;
}
.ai-chat-bubble.ai-welcome{
  max-width:100%;
  padding:16px;
  background:linear-gradient(145deg,#f0e9ff 0%, #e8f1ff 55%, #fff 100%);
  border:1px solid rgba(123,63,228,.12);
}
html[data-vk-appearance="dark"] .ai-chat-bubble.ai-welcome{
  background:linear-gradient(145deg,#2a2438,#242629);
  border-color:#3d3550;
}
.ai-welcome-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  background:rgba(123,63,228,.14);
  color:#6d3ad6;
  margin-bottom:10px;
}
.ai-welcome p{ margin:0 0 8px; }
.ai-welcome-hint{ font-size:13px; color:var(--app-muted,#5c6570); }
.ai-welcome-seed, .ai-welcome-beta{
  margin-top:10px !important;
  font-size:12.5px;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(38,136,235,.08);
}
.ai-welcome-beta{ background:rgba(123,63,228,.1); }
.ai-msg-shell-v2 .ai-msg-composer{
  display:grid;
  grid-template-columns:40px 1fr 44px;
  gap:8px;
  align-items:end;
  padding:10px 12px 14px;
  background:rgba(255,255,255,.96);
  border-top:1px solid rgba(15,23,42,.06);
  position:sticky;
  bottom:0;
}
html[data-vk-appearance="dark"] .ai-msg-shell-v2 .ai-msg-composer{
  background:rgba(30,31,34,.96);
  border-top-color:#303236;
}
.ai-msg-shell-v2 .ai-msg-composer textarea{
  min-height:44px;
  max-height:120px;
  border-radius:14px;
  border:1px solid var(--app-line,#e1e4ea);
  padding:11px 12px;
  font-size:15px;
  resize:none;
  background:var(--app-input,#f5f6f8);
  color:var(--app-ink);
}
.ai-msg-shell-v2 .ai-msg-attach-btn,
.ai-msg-shell-v2 .ai-msg-send{
  width:40px;height:44px;
  border-radius:14px;
  border:0;
  display:grid;
  place-items:center;
  font-size:18px;
  cursor:pointer;
}
.ai-msg-shell-v2 .ai-msg-attach-btn{
  background:var(--app-input,#eef0f3);
  color:var(--app-ink);
}
.ai-msg-shell-v2 .ai-msg-send{
  width:44px;
  background:linear-gradient(135deg,#2688eb,#1a6fd0);
  color:#fff;
  box-shadow:0 6px 14px rgba(38,136,235,.28);
}
.ai-msg-shell-v2 .ai-msg-send.is-loading{ opacity:.65; }
.ai-chat-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.ai-chat-actions .ai-btn-add,
.ai-chat-actions .ai-btn-regen,
.ai-chat-actions .ai-btn-cancel,
.ai-photo-confirm button{
  min-height:38px;
  padding:0 14px;
  border-radius:12px;
  border:0;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
}
.ai-btn-add, .ai-photo-confirm [data-ai-photo-yes]{
  background:#2688eb;
  color:#fff;
}
.ai-btn-regen{
  background:rgba(38,136,235,.12);
  color:#1a6fd0;
}
.ai-btn-cancel, .ai-photo-confirm [data-ai-photo-no]{
  background:var(--app-input,#eef0f3);
  color:var(--app-ink);
}
.ai-suggested-text{
  margin-top:8px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(38,136,235,.08);
  font-size:13.5px;
  line-height:1.4;
  white-space:pre-wrap;
}
.ai-chat-image img{
  display:block;
  max-width:100%;
  border-radius:14px;
  margin-top:8px;
}
.ai-chat-panel{
  max-width:min(560px,100%);
  width:100%;
  padding:8px !important;
  border-radius:20px !important;
}
.ai-chat-overlay.open{
  align-items:flex-end;
  justify-content:center;
  padding:0;
}
@media(min-width:640px){
  .ai-chat-overlay.open{ align-items:center; padding:16px; }
}

.ai-chat-lock-status{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px 14px 14px;
  background:rgba(255,255,255,.97);
  border-top:1px solid rgba(15,23,42,.08);
}
html[data-vk-appearance="dark"] .ai-chat-lock-status{
  background:rgba(30,31,34,.97);
  border-top-color:#303236;
}
.ai-lock-label{
  font-size:13px;
  font-weight:700;
  color:var(--app-ink,#17181a);
}
.ai-lock-actions{
  display:flex !important;
  flex-wrap:wrap;
  gap:8px;
}
.ai-lock-actions .ai-btn-add,
.ai-chat-actions .ai-btn-add{
  flex:1 1 auto;
  min-width:140px;
  min-height:42px;
  background:linear-gradient(135deg,#2688eb,#1a6fd0) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:12px !important;
  font-weight:800 !important;
  font-size:14px !important;
}
.ai-lock-actions .ai-btn-regen,
.ai-lock-actions .ai-btn-cancel,
.ai-chat-actions .ai-btn-regen,
.ai-chat-actions .ai-btn-cancel{
  min-height:42px;
  padding:0 14px;
  border-radius:12px;
  font-weight:700;
  font-size:13px;
  border:0;
}
.ai-suggested-text{
  margin-top:8px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(38,136,235,.1);
  border:1px solid rgba(38,136,235,.18);
  font-size:14px;
  line-height:1.45;
  white-space:pre-wrap;
  color:var(--app-ink,#17181a);
}
html[data-vk-appearance="dark"] .ai-suggested-text{
  background:rgba(38,136,235,.14);
  border-color:#3a4a5c;
  color:#f0f2f5;
}

.profile-staff-role{display:inline-flex;margin:8px 0 4px;padding:6px 10px;border-radius:999px;font-weight:700;font-size:13px}.profile-staff-role.administrator{color:#e64646;background:rgba(230,70,70,.12)}.profile-staff-role.moderator{color:#3da85b;background:rgba(61,168,91,.12)}
.profile-staff-balances{margin:12px 0}.staff-balance-tabs{display:flex;gap:8px;margin-bottom:10px}.staff-balance-tabs button{border:0;background:var(--field-bg,#f1f3f5);padding:8px 14px;border-radius:10px;font-weight:700}.staff-balance-tabs button.is-active{background:var(--button-bg,#2688eb);color:#fff}.staff-balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.staff-balance-grid>div{padding:14px;border-radius:14px;background:var(--card-bg,#fff);box-shadow:0 1px 5px rgba(0,0,0,.06)}.staff-balance-grid span{display:block;font-size:12px;opacity:.65}.staff-balance-grid b{display:block;font-size:20px;margin-top:5px}.profile-payout-card{margin-top:12px;padding:15px;border-radius:16px;background:var(--card-bg,#fff);box-shadow:0 1px 6px rgba(0,0,0,.07)}.payout-head{display:flex;justify-content:space-between;align-items:flex-start}.payout-head h3{margin:4px 0 0;font-size:28px}.payout-role{padding:6px 9px;border-radius:999px;font-size:12px;font-weight:700}.payout-role.admin{color:#e64646;background:rgba(230,70,70,.12)}.payout-role.moderator{color:#3da85b;background:rgba(61,168,91,.12)}.payout-actions{display:flex;gap:8px;margin:12px 0}.payout-requisites{font-size:12px;opacity:.7;margin-bottom:8px;word-break:break-word}.payout-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid rgba(128,128,128,.15);font-size:13px}.payout-row small{display:block;opacity:.55;margin-top:2px}.payout-master-actions{margin-top:10px}

/* Official staff profile / payout states */
.profile-notice-status.is-not-official{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:10px 0 14px;
  padding:14px 15px;
  border-radius:16px;
  background:#fff1f1;
  border:1px solid rgba(230,70,70,.16);
  box-shadow:none;
  color:#7a2525;
}
.profile-notice-status.is-not-official .profile-notice-icon{
  flex:0 0 28px;
  width:28px;height:28px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#e64646;color:#fff;
  font-weight:900;font-size:16px;
}
.profile-notice-status.is-not-official b{
  display:block;
  color:#d43b3b;
  font-size:15px;
  line-height:1.25;
  margin-bottom:4px;
}
.profile-notice-status.is-not-official span{
  display:block;
  color:#8a4b4b;
  font-size:13px;
  line-height:1.42;
}
html[data-vk-appearance="dark"] .profile-notice-status.is-not-official{
  background:rgba(230,70,70,.10);
  border-color:rgba(255,110,110,.22);
}
html[data-vk-appearance="dark"] .profile-notice-status.is-not-official b{color:#ff8585}
html[data-vk-appearance="dark"] .profile-notice-status.is-not-official span{color:#d6a2a2}

.staff-balance-tabs{display:flex;gap:8px;margin-bottom:10px}
.staff-balance-tabs span{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:10px;background:var(--field-bg,#f1f3f5);color:var(--vk-muted,#818c99);font-weight:800;font-size:13px}
.staff-balance-tabs span.is-active{background:var(--button-bg,#2688eb);color:#fff}
.staff-balance-grid>div{min-width:0}
.staff-balance-grid small{display:block;margin-top:5px;font-size:11px;color:var(--vk-muted,#818c99);line-height:1.3}
.staff-rub-balance.is-unavailable{background:#f1f2f4!important;box-shadow:none!important;color:#c2c5c9!important;border:1px solid rgba(0,0,0,.02)}
.staff-rub-balance.is-unavailable span,.staff-rub-balance.is-unavailable b,.staff-rub-balance.is-unavailable small{color:#c2c5c9!important}
.staff-rub-balance.is-unavailable b{font-weight:700}
html[data-vk-appearance="dark"] .staff-rub-balance.is-unavailable{background:#2b2d30!important;color:#62676d!important;border-color:#34373b}
html[data-vk-appearance="dark"] .staff-rub-balance.is-unavailable span,html[data-vk-appearance="dark"] .staff-rub-balance.is-unavailable b,html[data-vk-appearance="dark"] .staff-rub-balance.is-unavailable small{color:#62676d!important}

.profile-payout-card{border:1px solid rgba(0,0,0,.045)}
.payout-balance-hint{display:block;margin-top:3px;color:var(--vk-muted,#818c99);font-size:11px}
.payout-actions{align-items:stretch}
.payout-actions .payout-withdraw{flex:1}
.payout-withdraw.is-disabled,.payout-withdraw:disabled{background:#e8eaed!important;color:#aeb3b9!important;border-color:#e8eaed!important;box-shadow:none!important;cursor:not-allowed;opacity:1}
.payout-requisites{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border-radius:12px;background:var(--vk-soft,#f5f7fb);margin-bottom:10px}
.payout-requisites b{font-size:12px;color:var(--vk-text,#17181a)}
.payout-requisites span{font-size:12px;color:var(--vk-muted,#818c99);line-height:1.35}
.payout-method-hint{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.payout-method-hint span{padding:5px 8px;border-radius:999px;background:rgba(38,136,235,.08);color:#447bba;font-size:10px;font-weight:700}
.payout-history-title{margin:12px 0 4px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--vk-muted,#818c99)}
.payout-op.plus{color:#39a45a}.payout-op.minus{color:#e64646}
.payout-empty{padding:10px 0;color:var(--vk-muted,#818c99);font-size:12px}
.payout-request-row{background:rgba(38,136,235,.025);padding:10px 8px;border-radius:12px;margin-top:6px;border-top:0}
.payout-form-modal{padding:2px 0 4px}
.payout-form-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.payout-form-head h3{margin:2px 0 5px;font-size:21px}
.payout-form-head p{margin:0;color:var(--vk-muted,#818c99);font-size:12px;line-height:1.4;max-width:460px}
.payout-form-head .modal-close{border:0;background:var(--vk-soft,#f5f7fb);width:34px;height:34px;border-radius:10px;font-size:22px;color:var(--vk-muted,#818c99)}
.payout-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0 12px}
.payout-method{border:1px solid rgba(0,0,0,.06);background:var(--vk-soft,#f5f7fb);color:var(--vk-muted,#818c99);min-height:42px;border-radius:12px;font-weight:800;font-size:12px}
.payout-method.is-active{background:#2688eb;color:#fff;border-color:#2688eb;box-shadow:0 5px 12px rgba(38,136,235,.16)}
.payout-method-intro{display:flex;flex-direction:column;gap:3px;margin:2px 0 10px;padding:10px 12px;border-radius:12px;background:rgba(38,136,235,.07)}
.payout-method-intro b{font-size:13px}.payout-method-intro span{font-size:11px;color:var(--vk-muted,#818c99);line-height:1.35}
.payout-field{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.payout-field span{font-size:11px;font-weight:800;color:var(--vk-muted,#818c99)}
.payout-field input{width:100%;box-sizing:border-box;min-height:44px;padding:0 12px;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:var(--vk-input,#f8f9fa);color:var(--vk-text,#17181a);font-size:14px;outline:none}
.payout-field input:focus{border-color:#2688eb;box-shadow:none}
.payout-form-actions{display:flex;gap:8px;margin-top:16px}
.payout-form-actions button{flex:1}
html[data-vk-appearance="dark"] .payout-form-head .modal-close,html[data-vk-appearance="dark"] .payout-method{border-color:#3b3e42}
html[data-vk-appearance="dark"] .payout-field input{border-color:#3b3e42;background:#303236;color:#f5f5f5}
html[data-vk-appearance="dark"] .payout-method-intro{background:rgba(138,184,231,.10)}
@media(max-width:420px){.payout-methods{grid-template-columns:1fr}.payout-actions{flex-direction:column}.payout-form-actions{flex-direction:column}.staff-balance-grid{grid-template-columns:1fr}}

/* Per-command staff permissions */
.admin-command-access-section{overflow:hidden}
.admin-command-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.admin-command-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.admin-command-group{border:1px solid rgba(127,127,127,.18);border-radius:14px;padding:10px;background:rgba(127,127,127,.045)}
.admin-command-group-title{font-size:13px;font-weight:800;margin:0 2px 8px;opacity:.9}
.admin-command-row{display:grid;grid-template-columns:22px minmax(125px,1fr) minmax(120px,1.35fr);gap:8px;align-items:center;padding:9px 7px;border-radius:10px;cursor:pointer}
.admin-command-row + .admin-command-row{border-top:1px solid rgba(127,127,127,.10)}
.admin-command-row:active{background:rgba(127,127,127,.08)}
.admin-command-row input{width:18px;height:18px;margin:0;accent-color:#2688eb}
.admin-command-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.admin-command-main b{font-size:13px;white-space:nowrap}
.admin-command-main small{font-size:11px;opacity:.72;line-height:1.2}
.admin-command-desc{font-size:11px;opacity:.62;line-height:1.25}
.admin-master-only-command-note{margin-top:10px;padding:9px 10px;border-radius:10px;background:rgba(255,193,7,.08)}
@media (max-width:600px){.admin-command-row{grid-template-columns:22px 1fr}.admin-command-desc{grid-column:2}.admin-command-main small{display:block}.admin-command-group{padding:8px}}


/* Force-hide admin nav without permission (display:flex otherwise wins over [hidden]) */
.ap-nav-item[hidden],
.ap-nav-group[hidden],
.admin-tab[hidden],
[data-admin-go][hidden],
.ap-module[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.admin-pane[hidden] {
  display: none !important;
}
.admin-pane.is-active:not([hidden]) {
  display: flex !important;
}


/* Payout cabinet UX */
.payout-btn-ghost{
  border:0;background:transparent;color:var(--vk-muted,#818c99);
  font-size:13px;font-weight:600;padding:8px 10px;border-radius:10px;
  text-decoration:underline;text-underline-offset:3px;opacity:.85;
}
.payout-btn-ghost:active{opacity:1}
.payout-btn-withdraw{min-width:140px}
.payout-requisites{
  margin:10px 0;padding:10px 12px;border-radius:12px;font-size:13px;line-height:1.4;
  background:rgba(128,128,128,.08);
}
.payout-requisites.is-ok{
  background:rgba(61,168,91,.12);color:inherit;
  display:flex;gap:8px;align-items:flex-start;
}
.payout-requisites.is-empty{opacity:.8}
.payout-req-ico{color:#3da85b;font-weight:800}
.payout-pending-banner{
  margin:8px 0;padding:8px 12px;border-radius:10px;font-size:12px;font-weight:700;
  background:rgba(240,162,2,.15);color:#b87a00;
}
.payout-master-panel{margin-top:14px;padding-top:12px;border-top:1px solid rgba(128,128,128,.15)}
.payout-master-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin-bottom:8px}
.payout-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.req-method-tabs{display:flex;gap:8px;margin:12px 0 14px}
.req-method{
  flex:1;border:1px solid rgba(128,128,128,.2);background:var(--field-bg,#f1f3f5);
  border-radius:12px;padding:10px 8px;font-weight:700;font-size:13px;color:inherit;
}
.req-method.is-on{background:#2688eb;color:#fff;border-color:#2688eb}
.req-form label{display:block;margin:0 0 10px;font-size:13px;font-weight:600}
.req-form input{
  display:block;width:100%;box-sizing:border-box;margin-top:6px;
  padding:12px 14px;border-radius:12px;border:1px solid rgba(128,128,128,.2);
  font-size:15px;background:var(--card-bg,#fff);color:inherit;
}
.req-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
html[data-vk-appearance="dark"] .req-form input{background:#2a2c30;border-color:#3a3d42}
html[data-vk-appearance="dark"] .req-method{background:#2a2c30}
@media(max-width:420px){.req-row{grid-template-columns:1fr}}

.admin-payout-requests .payout-admin-row{align-items:flex-start}
.payout-admin-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.payout-admin-block{padding-top:4px}

.master-block{margin:0 0 8px}
.master-add-row{display:flex;gap:8px;margin:10px 0}
.master-add-row input{flex:1;min-width:0;padding:10px 12px;border-radius:12px;border:1px solid rgba(128,128,128,.2);font-size:14px;background:var(--field-bg,#f1f3f5);color:inherit}
.master-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.master-emp-row{align-items:center}
.master-emp-actions{display:flex;gap:6px}
@media(max-width:420px){.master-quick-grid{grid-template-columns:1fr}}

.payout-staff-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.payout-staff-card{
  padding:12px;border-radius:14px;
  background:rgba(128,128,128,.06);
  border:1px solid rgba(128,128,128,.12);
}
.payout-staff-main{display:flex;gap:12px;align-items:center}
.payout-staff-av{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;background:#ddd}
.payout-staff-av.is-empty{display:grid;place-items:center;font-size:18px}
.payout-staff-meta{flex:1;min-width:0}
.payout-staff-meta b{display:block;font-size:14px}
.payout-staff-meta small{display:block;font-size:11px;opacity:.7;margin-top:2px}
.payout-staff-req{opacity:.85!important}
.payout-staff-bal{text-align:right;flex:none}
.payout-staff-bal strong{display:block;font-size:15px;margin-bottom:6px}
@media(max-width:420px){
  .payout-staff-main{flex-wrap:wrap}
  .payout-staff-bal{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center}
  .payout-staff-bal strong{margin:0}
}

/* Master admin full-screen */
.master-screen-fs{
  position:fixed; inset:0; z-index:40;
  display:flex; flex-direction:column;
  background:var(--app-bg,#f5f6f8);
}
.master-screen-fs[hidden]{display:none!important}
.master-fs-body{flex:1; overflow:auto; padding:12px 14px 28px; -webkit-overflow-scrolling:touch}
.master-fs-card{
  background:var(--app-card,#fff);
  border-radius:16px;
  padding:14px 16px;
  margin-bottom:12px;
  box-shadow:0 1px 6px rgba(0,0,0,.06);
}
html[data-vk-appearance="dark"] .master-fs-card{background:#242629}
.master-fs-h{margin:0 0 8px;font-size:16px;font-weight:800}
.master-fs-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}
.master-fs-card-head .master-fs-h{margin:0}
.master-add-row{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  align-items:center !important;
  margin:12px 0 14px !important;
  width:100% !important;
}
#masterOfficialLink.master-add-input,
.master-add-input{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  height:44px !important;
  min-height:44px !important;
  box-sizing:border-box !important;
  padding:0 14px !important;
  margin:0 !important;
  border-radius:12px !important;
  border:1px solid rgba(0,0,0,.12) !important;
  background:#f2f3f5 !important;
  color:#1a1a1a !important;
  font-size:15px !important;
  line-height:44px !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  opacity:1 !important;
  visibility:visible !important;
}
html[data-vk-appearance="dark"] #masterOfficialLink.master-add-input,
html[data-vk-appearance="dark"] .master-add-input{
  background:#2a2c30 !important;
  border-color:#3a3d42 !important;
  color:#e7e8ea !important;
}
.master-add-btn{
  flex:0 0 auto !important;
  height:44px !important;
  min-width:110px !important;
  padding:0 16px !important;
  white-space:nowrap !important;
}
.master-emp-list{display:flex;flex-direction:column;gap:10px}
.master-emp-card{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px 12px; border-radius:14px;
  background:rgba(128,128,128,.06);
}
.master-emp-left{display:flex;align-items:center;gap:10px;min-width:0}
.master-emp-av{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none;background:#ddd}
.master-emp-av.is-empty{display:grid;place-items:center}
.master-emp-meta{min-width:0}
.master-emp-meta b{display:block;font-size:14px}
.master-emp-meta small{display:block;font-size:11px;opacity:.65}
.master-emp-actions{display:flex;gap:6px;flex-shrink:0}
.master-fs-top .master-fs-refresh{margin-left:auto}

.profile-staff-role.master{
  color:#e64646;
  background:rgba(230,70,70,.12);
  border:1px solid rgba(230,70,70,.25);
  font-weight:800;
}

/* ========== Desktop / PC adaptation ========== */
:root{
  --app-max:720px;
  --app-max-wide:1080px;
  --app-max-admin:1200px;
}

@media (min-width: 768px){
  :root{ --app-max: 860px; }

  .page{
    width:min(var(--app-max),100%);
    padding:28px 24px 40px;
  }
  .topbar{
    padding:0 max(20px, calc((100vw - var(--app-max)) / 2));
  }
  .bottom-nav{
    left:50%;
    transform:translateX(-50%);
    width:min(var(--app-max), 100%);
    max-width:100%;
    border-radius:18px 18px 0 0;
    box-shadow:0 -4px 24px rgba(0,0,0,.08);
  }
  body.console-fs-active .bottom-nav,
  body.onboarding-active .bottom-nav{
    transform:none;
    left:0;
    width:100%;
  }

  /* Ads grid */
  #adsList,
  .ads-list,
  .home-ads-grid,
  #homeAdsList{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
  }
  #adsList .ad-card,
  .ads-list .ad-card,
  .home-ads-grid .home-ad-card,
  #homeAdsList .home-ad-card{
    margin:0 !important;
    height:100%;
  }

  /* Profile */
  .profile-section,
  .account-overview{
    max-width:none;
  }
  .profile-quick-grid,
  .profile-tiles,
  #profileQuickActions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
  }

  /* Admin: side nav + content */
  #adminScreen.page,
  #adminScreen{
    width:min(var(--app-max-admin), 100%);
  }
  .ap-body{
    display:grid !important;
    grid-template-columns:240px minmax(0,1fr);
    gap:18px;
    align-items:start;
  }
  .ap-nav,
  .ap-sidebar,
  aside.ap-nav{
    position:sticky;
    top:72px;
    max-height:calc(100vh - 100px);
    overflow:auto;
  }
  .ap-content,
  .ap-main,
  .ap-panes{
    min-width:0;
  }
  .ap-module-grid,
  .admin-stat-grid,
  .master-quick-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
  .admin-settings-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  /* Modals / create form */
  .modal .dialog:not(.onboarding-modal .dialog){
    max-width:min(560px, 92vw);
    margin:0 auto;
  }
  .modal.onboarding-modal .dialog{
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .modal.onboarding-modal .onboarding{
    width:min(520px, 100%);
    margin:0 auto;
    justify-content:center;
    min-height:auto;
    padding:24px 0;
  }
  .modal.onboarding-modal .onboarding-visual{
    height:min(38vh, 360px);
    border-radius:20px;
  }

  /* Fullscreen console / master */
  .console-screen-fs .console-fs-body,
  .master-screen-fs .master-fs-body{
    width:min(960px, 100%);
    margin:0 auto;
    padding:16px 24px 40px;
  }
  .console-fs-top,
  .master-fs-top{
    padding-left:max(16px, calc((100vw - 960px) / 2));
    padding-right:max(16px, calc((100vw - 960px) / 2));
  }

  /* Topup */
  .topup-packages{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:12px;
  }

  /* Hover affordances on PC */
  @media (hover:hover) and (pointer:fine){
    .nav-item:hover,
    .ap-nav-item:hover,
    .ap-module:hover,
    .ad-card:hover,
    .home-ad-card:hover,
    .secondary-button:hover,
    .primary-button:hover{
      filter:brightness(1.03);
      transform:translateY(-1px);
      transition:transform .15s ease, filter .15s ease, box-shadow .15s ease;
    }
    .ad-card:hover,
    .home-ad-card:hover{
      box-shadow:0 8px 24px rgba(0,0,0,.1);
    }
  }
}

@media (min-width: 1024px){
  :root{ --app-max: 960px; }

  .page{
    width:min(var(--app-max),100%);
    padding:32px 28px 48px;
  }
  .topbar{
    padding:0 max(24px, calc((100vw - var(--app-max)) / 2));
  }
  .bottom-nav{
    width:min(var(--app-max), 100%);
  }

  #adsList,
  .ads-list,
  .home-ads-grid,
  #homeAdsList{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:16px;
  }

  .ap-body{
    grid-template-columns:260px minmax(0,1fr);
    gap:22px;
  }
  .ap-module-grid,
  .admin-stat-grid{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  }
  .master-quick-grid{
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  }
  .payout-staff-list{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
  }

  .console-screen-fs .console-fs-body,
  .master-screen-fs .master-fs-body{
    width:min(1100px, 100%);
  }
  .console-fs-top,
  .master-fs-top{
    padding-left:max(20px, calc((100vw - 1100px) / 2));
    padding-right:max(20px, calc((100vw - 1100px) / 2));
  }

  .modal.onboarding-modal .onboarding{
    width:min(640px, 100%);
  }
}

@media (min-width: 1280px){
  :root{ --app-max: 1040px; }
  #adminScreen.page,
  #adminScreen{
    width:min(1240px, 100%);
  }
  .ap-body{
    grid-template-columns:280px minmax(0,1fr);
  }
}

/* Tablet landscape / small laptop: keep single column ads if narrow iframe */
@media (min-width: 768px) and (max-width: 900px){
  .ap-body{
    grid-template-columns:200px minmax(0,1fr);
  }
}

/* When app is embedded in wide VK desktop frame but iframe is tall */
@media (min-width: 600px){
  .app{
    min-height:100vh;
  }
  .create-shell,
  .cf-shell{
    max-width:min(640px, 100%);
    margin-left:auto;
    margin-right:auto;
  }
}


/* Admin PC: nav left, content right (nav is sibling of .ap-body).
   IMPORTANT: only when NOT [hidden] — otherwise display:grid !important
   overrides [hidden]{display:none} and tabs break (admin stays visible on Profile). */
@media (min-width: 900px){
  #adminScreen.admin-screen-v2:not([hidden]),
  #adminScreen:not([hidden]){
    display:grid !important;
    grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: 20px;
    width: min(1240px, 100%) !important;
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
  }
  /* Explicit lock: hidden always wins over the grid rule above */
  #adminScreen[hidden],
  #adminScreen.admin-screen-v2[hidden]{
    display: none !important;
    pointer-events: none !important;
  }
  #adminScreen > .ap-header,
  #adminScreen > .ap-crumb{
    grid-column: 1 / -1;
  }
  #adminScreen > .ap-nav{
    grid-column: 1;
    grid-row: 3;
    position: sticky;
    top: 72px;
    align-self: start;
    max-height: calc(100vh - 96px);
    overflow: auto;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    border-right: 1px solid rgba(128,128,128,.12);
  }
  #adminScreen > .ap-nav .ap-nav-group{
    width: 100%;
  }
  #adminScreen > .ap-nav .ap-nav-group-items{
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    overflow: visible !important;
  }
  #adminScreen > .ap-nav .ap-nav-item{
    width: 100% !important;
    justify-content: flex-start !important;
  }
  #adminScreen > .ap-body{
    grid-column: 2;
    grid-row: 3;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
  }
}


/* === Admin privileges & welcome banner === */
#profileTopup.is-admin-locked,
button.is-admin-locked{
  opacity: .92;
  cursor: default;
  background: linear-gradient(135deg, #2a3340, #20384f) !important;
  color: #c9d6e8 !important;
  box-shadow: none !important;
  pointer-events: none;
}
#profileHistory,
#historyList,
.profile-section:has(#historyList),
.profile-section:has(#profileHistory){
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.admin-welcome-banner{
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 14px calc(18px + env(safe-area-inset-bottom));
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}
.admin-welcome-banner.open{
  opacity: 1;
  pointer-events: auto;
}
.admin-welcome-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(8,10,14,.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.admin-welcome-card{
  position: relative;
  width: min(420px, 100%);
  background: linear-gradient(165deg, #1e2229 0%, #16191f 55%, #12151a 100%);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  padding: 28px 22px 22px;
  box-shadow: 0 24px 60px rgba(0,0,0,.45);
  color: #f5f5f5;
  text-align: center;
  overflow: hidden;
  transform: translateY(12px) scale(.98);
  transition: transform .28s cubic-bezier(.2,.8,.2,1);
}
.admin-welcome-banner.open .admin-welcome-card{
  transform: none;
}
.admin-welcome-glow{
  position: absolute;
  top: -40%;
  left: 50%;
  width: 280px;
  height: 280px;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(38,136,235,.35), transparent 70%);
  pointer-events: none;
}
.admin-welcome-badge{
  display: inline-block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(38,136,235,.18);
  color: #8ab8e7;
  margin-bottom: 12px;
}
.admin-welcome-ico{
  font-size: 42px;
  line-height: 1;
  margin-bottom: 10px;
  filter: drop-shadow(0 8px 18px rgba(38,136,235,.35));
}
.admin-welcome-card h2{
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.2;
}
.admin-welcome-lead{
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.45;
  color: #a1a8b1;
}
.admin-welcome-perks{
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-align: left;
}
.admin-welcome-perks li{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
}
.admin-welcome-perks .aw-ico{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(38,136,235,.16);
  font-size: 18px;
  flex-shrink: 0;
}
.admin-welcome-perks b{
  display: block;
  font-size: 14px;
  margin-bottom: 2px;
}
.admin-welcome-perks small{
  display: block;
  font-size: 12px;
  color: #a1a8b1;
}
.admin-welcome-thanks{
  min-height: 48px;
  font-size: 15px;
  font-weight: 700;
  border-radius: 14px;
}
body.admin-welcome-open{
  overflow: hidden;
}
html[data-vk-appearance="light"] .admin-welcome-card{
  background: linear-gradient(165deg, #ffffff 0%, #f5f7fb 100%);
  color: #17181a;
  border-color: rgba(0,0,0,.06);
}
html[data-vk-appearance="light"] .admin-welcome-lead,
html[data-vk-appearance="light"] .admin-welcome-perks small{
  color: #6d7885;
}
html[data-vk-appearance="light"] .admin-welcome-perks li{
  background: #f0f2f5;
  border-color: rgba(0,0,0,.04);
}
html[data-vk-appearance="light"] .admin-welcome-badge{
  background: rgba(38,136,235,.12);
  color: #2688eb;
}


/* === Payout cabinet dark theme hardening === */
.profile-payout-card{
  background: var(--app-card, var(--card, #242629)) !important;
  color: var(--app-ink, var(--text, #f5f5f5));
  border: 1px solid var(--app-line, rgba(255,255,255,.08)) !important;
  box-shadow: none !important;
}
.profile-payout-card .section-kicker{
  color: var(--app-muted, #a1a8b1);
}
.profile-payout-card h3{
  color: var(--app-ink, var(--text, #f5f5f5));
}
.profile-payout-card .admin-hint{
  color: var(--app-muted, #a1a8b1);
}
.payout-requisites{
  background: rgba(255,255,255,.05) !important;
  color: var(--app-ink, var(--text, #f5f5f5));
  border: 1px solid rgba(255,255,255,.06);
}
.payout-requisites.is-ok{
  background: rgba(61,168,91,.14) !important;
  border-color: rgba(61,168,91,.25);
}
.payout-requisites.is-empty{
  background: rgba(255,255,255,.04) !important;
  color: var(--app-muted, #a1a8b1);
}
.payout-requisites b,
.payout-requisites span{
  color: inherit !important;
}
.payout-pending-banner{
  background: rgba(240,162,2,.16) !important;
  color: #f0c36a !important;
  border: 1px solid rgba(240,162,2,.25);
}
.payout-btn-ghost{
  color: var(--app-muted, #a1a8b1) !important;
}
.payout-row{
  border-top-color: rgba(255,255,255,.08) !important;
  color: var(--app-ink, var(--text, #f5f5f5));
}
.staff-balance-grid>div{
  background: var(--app-card, #242629) !important;
  box-shadow: none !important;
  border: 1px solid rgba(255,255,255,.06);
  color: var(--app-ink, #f5f5f5);
}
.staff-balance-tabs button{
  background: var(--app-input, #303236) !important;
  color: var(--app-ink, #f5f5f5);
}
.staff-balance-tabs button.is-active{
  background: #2688eb !important;
  color: #fff !important;
}

/* Light theme keeps readable surfaces */
html[data-vk-appearance="light"] .profile-payout-card{
  background: #ffffff !important;
  color: #17181a;
  border-color: rgba(0,0,0,.06) !important;
}
html[data-vk-appearance="light"] .profile-payout-card h3,
html[data-vk-appearance="light"] .profile-payout-card .admin-hint{
  color: inherit;
}
html[data-vk-appearance="light"] .payout-requisites{
  background: #f5f7fb !important;
  border-color: rgba(0,0,0,.04);
  color: #17181a;
}
html[data-vk-appearance="light"] .payout-requisites.is-ok{
  background: rgba(61,168,91,.12) !important;
}
html[data-vk-appearance="light"] .payout-pending-banner{
  background: rgba(240,162,2,.15) !important;
  color: #b87a00 !important;
}
html[data-vk-appearance="light"] .staff-balance-grid>div{
  background: #fff !important;
  border-color: rgba(0,0,0,.06);
  color: #17181a;
}
html[data-vk-appearance="light"] .staff-balance-tabs button{
  background: #f1f3f5 !important;
  color: #17181a;
}

/* Explicit dark overrides (WebView without data-vk-appearance still dark body) */
html[data-vk-appearance="dark"] .profile-payout-card,
body.dark .profile-payout-card,
#app[data-theme="dark"] .profile-payout-card{
  background: #242629 !important;
  color: #f5f5f5 !important;
  border-color: #383b40 !important;
}
html[data-vk-appearance="dark"] .payout-requisites,
body.dark .payout-requisites{
  background: #303236 !important;
  color: #f5f5f5 !important;
}
html[data-vk-appearance="dark"] .payout-requisites.is-ok{
  background: rgba(61,168,91,.16) !important;
}
html[data-vk-appearance="dark"] .payout-pending-banner{
  background: rgba(240,162,2,.18) !important;
  color: #f0c36a !important;
}

/* History permanently hidden for all users */
#profileHistory,
button#profileHistory,
#historyList,
.profile-section:has(#historyList),
.profile-section:has(#profileHistory){
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  pointer-events: none !important;
}


/* === Tab switch hard-lock (fix sticky admin on Profile) === */
#adminScreen[hidden],
#adminScreen.admin-screen-v2[hidden],
#profileScreen[hidden],
#homeScreen[hidden],
#ads[hidden],
#topupScreen[hidden],
#consoleScreen[hidden],
#masterScreen[hidden],
#catalogScreen[hidden]{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
#adminScreen:not([hidden]),
#profileScreen:not([hidden]),
#homeScreen:not([hidden]),
#ads:not([hidden]){
  visibility: visible;
  height: auto;
  max-height: none;
  overflow: visible;
  pointer-events: auto;
}


/* === Admin blocks list === */
.blocks-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.blocks-filter{
  border:0;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700;
  background:rgba(255,255,255,.06);color:var(--app-muted,#a1a8b1);cursor:pointer;
}
.blocks-filter.is-on{background:#2688eb;color:#fff}
.admin-blocks-box{display:flex;flex-direction:column;gap:10px}
.blocks-card{
  border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:12px;
  background:rgba(0,0,0,.18);
}
.blocks-card-top{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.blocks-av{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none;background:#333}
.blocks-av.is-empty{display:grid;place-items:center;font-size:18px}
.blocks-card-meta{min-width:0;flex:1}
.blocks-card-meta b{display:block;font-size:14px}
.blocks-card-meta small{display:block;font-size:11px;opacity:.65}
.blocks-kind{
  display:inline-block;margin-top:4px;padding:3px 8px;border-radius:999px;
  font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
}
.blocks-kind.ton-amber{background:rgba(240,162,2,.18);color:#f0c36a}
.blocks-kind.ton-red{background:rgba(230,70,70,.16);color:#ff8e8e}
.blocks-kind.ton-purple{background:rgba(155,89,182,.18);color:#d2a6e8}
.blocks-kind.ton-slate{background:rgba(127,140,154,.18);color:#b0bac4}
.blocks-card-rows{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:12px}
.blocks-card-rows>div{display:flex;justify-content:space-between;gap:10px}
.blocks-card-rows span{opacity:.6}
.blocks-card-rows strong{font-weight:600;text-align:right}
.blocks-card-actions{display:flex;flex-wrap:wrap;gap:6px}
html[data-vk-appearance="light"] .blocks-card{background:#f5f7fb;border-color:rgba(0,0,0,.06)}
html[data-vk-appearance="light"] .blocks-filter{background:rgba(0,0,0,.05);color:#6d7885}

/* Multi-tenant switcher + apply banner */
.tenant-switch{position:relative;margin:8px 12px 4px;z-index:5}
.tenant-switch--home{margin:10px 16px 0}
.tenant-switch-btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.25);color:inherit;
  border-radius:12px;padding:10px 14px;font-size:14px;font-weight:700;cursor:pointer;
}
.tenant-switch-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tenant-switch-chevron{opacity:.6}
.tenant-switch-menu{
  position:absolute;left:0;right:0;top:calc(100% + 4px);
  background:var(--card-bg,#1c1c1e);border:1px solid rgba(255,255,255,.1);
  border-radius:12px;padding:6px;box-shadow:0 12px 40px rgba(0,0,0,.45);z-index:20;
}
.tenant-switch-item{
  display:block;width:100%;text-align:left;border:0;background:transparent;color:inherit;
  padding:10px 12px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;
}
.tenant-switch-item.is-active, .tenant-switch-item:hover{background:rgba(38,136,235,.18)}
.tenant-apply-banner{
  margin:12px 0;padding:14px;border-radius:16px;
  background:linear-gradient(135deg,rgba(38,136,235,.16),rgba(120,80,220,.12));
  border:1px solid rgba(38,136,235,.25);
}
.tenant-apply-banner-text b{display:block;font-size:15px;margin-bottom:6px}
.tenant-apply-banner-text p{margin:0 0 12px;font-size:13px;line-height:1.45;opacity:.9}
.tenant-apply-form label{display:block;margin:0 0 10px;font-size:13px;font-weight:600}
.tenant-apply-form input,.tenant-apply-form textarea,.tenant-apply-form select{
  display:block;width:100%;margin-top:4px;padding:10px 12px;border-radius:10px;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:inherit;font:inherit;
}
html[data-vk-appearance="light"] .tenant-switch-btn{background:#fff;border-color:rgba(0,0,0,.08)}
html[data-vk-appearance="light"] .tenant-switch-menu{background:#fff;border-color:rgba(0,0,0,.08)}
html[data-vk-appearance="light"] .tenant-apply-form input,
html[data-vk-appearance="light"] .tenant-apply-form textarea,
html[data-vk-appearance="light"] .tenant-apply-form select{background:#f5f7fb;border-color:rgba(0,0,0,.08);color:#1a1a1a}

.tenant-apply-banner-host{margin:12px 0 16px;padding:0 0}
.tenant-apply-banner{
  margin:0;padding:16px;border-radius:16px;
  background:linear-gradient(135deg,rgba(38,136,235,.18),rgba(120,80,220,.14));
  border:1px solid rgba(38,136,235,.28);
}
.tenant-apply-banner-text b{display:block;font-size:15px;margin-bottom:8px;line-height:1.3}
.tenant-apply-banner-text p{margin:0 0 14px;font-size:13px;line-height:1.45;opacity:.92}
.tenant-apply-banner .primary-button{width:100%}
html[data-vk-appearance="light"] .tenant-apply-banner{
  background:linear-gradient(135deg,rgba(38,136,235,.1),rgba(120,80,220,.08));
  border-color:rgba(38,136,235,.22);
  color:#1a1a1a;
}


/* Multi-tenant UI v3 */
.tenant-switch{position:relative;margin:8px 12px 10px;z-index:6}
.tenant-switch--home{margin:8px 12px 4px}
.tenant-switch-btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.28);color:inherit;
  border-radius:14px;padding:11px 14px;font-size:14px;font-weight:700;cursor:pointer;
  box-shadow:0 4px 16px rgba(0,0,0,.12);
}
.tenant-switch-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.tenant-switch-chevron{opacity:.65;font-size:12px}
.tenant-switch-menu{
  position:absolute;left:0;right:0;top:calc(100% + 6px);
  background:var(--card-bg,#1c1c1e);border:1px solid rgba(255,255,255,.12);
  border-radius:14px;padding:6px;box-shadow:0 16px 48px rgba(0,0,0,.5);z-index:40;
  max-height:240px;overflow:auto;
}
.tenant-switch-item{
  display:block;width:100%;text-align:left;border:0;background:transparent;color:inherit;
  padding:11px 12px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;
}
.tenant-switch-item.is-active, .tenant-switch-item:hover{background:rgba(38,136,235,.2)}
.tenant-apply-banner-host{margin:14px 0 18px}
.tenant-apply-banner{
  margin:0;padding:16px;border-radius:16px;
  background:linear-gradient(135deg,rgba(38,136,235,.2),rgba(120,80,220,.14));
  border:1px solid rgba(38,136,235,.3);
}
.tenant-apply-banner-text b{display:block;font-size:15px;margin-bottom:8px;line-height:1.3}
.tenant-apply-banner-text p{margin:0 0 14px;font-size:13px;line-height:1.5;opacity:.92}
.tenant-apply-banner .primary-button{width:100%}
.tenant-apply-form label{display:block;margin:0 0 10px;font-size:13px;font-weight:600}
.tenant-apply-form input,.tenant-apply-form textarea,.tenant-apply-form select{
  display:block;width:100%;margin-top:4px;padding:10px 12px;border-radius:10px;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:inherit;font:inherit;box-sizing:border-box;
}
html[data-vk-appearance="light"] .tenant-switch-btn{background:#fff;border-color:rgba(0,0,0,.08);color:#17181a}
html[data-vk-appearance="light"] .tenant-switch-menu{background:#fff;border-color:rgba(0,0,0,.08)}
html[data-vk-appearance="light"] .tenant-apply-banner{
  background:linear-gradient(135deg,rgba(38,136,235,.12),rgba(120,80,220,.08));
  border-color:rgba(38,136,235,.22);color:#1a1a1a;
}
html[data-vk-appearance="light"] .tenant-apply-form input,
html[data-vk-appearance="light"] .tenant-apply-form textarea,
html[data-vk-appearance="light"] .tenant-apply-form select{background:#f5f7fb;border-color:rgba(0,0,0,.08);color:#1a1a1a}
.ap-nav-item[data-admin-tab="platform"] .ap-nav-ico{font-size:16px}

/* Topbar market picker */
.topbar-market{cursor:pointer;user-select:none;border-radius:12px;padding:4px 6px;margin:-4px -6px;flex:1;min-width:0}
.topbar-market:active,.topbar-market:focus{outline:none;background:rgba(38,136,235,.12)}
#appTopbar{position:relative}
.topbar-market-menu{
  position:absolute;left:12px;right:12px;top:calc(100% + 6px);
  background:var(--card-bg,#1c1c1e);border:1px solid rgba(255,255,255,.12);
  border-radius:14px;padding:6px;box-shadow:0 16px 48px rgba(0,0,0,.45);z-index:50;
  max-height:min(320px,50vh);overflow:auto;
}
.tenant-switch-item--apply{
  margin-top:4px;border-top:1px solid rgba(255,255,255,.08);border-radius:10px;
  color:#5b9bff;font-weight:700;
}
html[data-vk-appearance="light"] .topbar-market-menu{background:#fff;border-color:rgba(0,0,0,.08)}
html[data-vk-appearance="light"] .tenant-switch-item--apply{border-top-color:rgba(0,0,0,.06);color:#2688eb}
.tenant-switch--home[hidden],#homeTenantSwitch[hidden]{display:none!important}

.platform-howto{padding:4px 2px 8px;font-size:13px;line-height:1.45;opacity:.92}
.platform-howto ol{margin:0;padding-left:1.2em}
.platform-howto li{margin:6px 0}
.platform-card .blocks-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.platform-list .empty{padding:16px;text-align:center;opacity:.7}

.tenant-setup-banner-host{margin:12px 0 14px}
.tenant-setup-banner{
  padding:16px;border-radius:16px;
  background:linear-gradient(135deg,rgba(80,200,120,.18),rgba(38,136,235,.12));
  border:1px solid rgba(80,200,120,.35);
}
.tenant-setup-banner-text b{display:block;font-size:15px;margin-bottom:8px}
.tenant-setup-banner-text p{margin:0 0 14px;font-size:13px;line-height:1.45;opacity:.92}
.tenant-setup-banner .primary-button{width:100%}
.tenant-setup-hint{font-size:12px;opacity:.75;margin:0 0 12px;line-height:1.4}
html[data-vk-appearance="light"] .tenant-setup-banner{
  background:linear-gradient(135deg,rgba(80,200,120,.12),rgba(38,136,235,.08));
  border-color:rgba(40,160,90,.25);color:#1a1a1a;
}

/* ═══ Tenant setup wizard ═══ */
.tenant-wizard{display:flex;flex-direction:column;gap:12px;max-height:min(70vh,640px);overflow:auto;padding-bottom:8px}
.tenant-wizard-progress{margin-bottom:4px}
.tw-progress-bar{height:6px;border-radius:99px;background:rgba(127,127,127,.2);overflow:hidden}
.tw-progress-bar>span{display:block;height:100%;background:linear-gradient(90deg,#2688eb,#50c878);border-radius:99px;transition:width .25s ease}
.tw-progress-label{font-size:12px;opacity:.8;margin-top:6px}
.tw-step{border:1px solid rgba(127,127,127,.22);border-radius:14px;padding:12px 14px;background:rgba(127,127,127,.06)}
.tw-step.is-done{border-color:rgba(80,200,120,.35);background:rgba(80,200,120,.08)}
.tw-step>header{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.tw-num{flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;background:rgba(38,136,235,.2);color:#2688eb}
.tw-step.is-done .tw-num{background:rgba(80,200,120,.25);color:#2a9b5a}
.tw-step header b{display:block;font-size:14px}
.tw-step header small{display:block;font-size:12px;opacity:.7;font-weight:400}
.tw-badge{margin-left:auto;font-size:14px;opacity:.85}
.tw-body label{display:block;margin:8px 0;font-size:12px;font-weight:600}
.tw-body input{width:100%;margin-top:4px;padding:10px 12px;border-radius:10px;border:1px solid rgba(127,127,127,.25);background:rgba(0,0,0,.2);color:inherit;font-size:14px;box-sizing:border-box}
.tw-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tw-actions .primary-button,.tw-actions .ghost-button,.tw-link-btn{
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;border:none
}
.tw-link-btn.primary-button,.tw-actions .primary-button{background:#2688eb;color:#fff}
.tw-link-btn.ghost-button,.tw-actions .ghost-button{background:rgba(127,127,127,.15);color:inherit}
.tw-ol{margin:0 0 8px 18px;padding:0;font-size:13px;line-height:1.45}
.tw-ol li{margin:4px 0}
.tw-hint{font-size:12px;opacity:.75;line-height:1.4;margin:8px 0 0}
.tw-msg{font-size:12px;margin-top:8px;min-height:1em}
.tw-msg.is-ok{color:#2a9b5a}
.tw-msg.is-err{color:#e64646}
html[data-vk-appearance="light"] .tw-step{background:#f5f7fb;border-color:rgba(0,0,0,.08)}
html[data-vk-appearance="light"] .tw-body input{background:#fff;border-color:rgba(0,0,0,.1);color:#1a1a1a}
html[data-vk-appearance="light"] .tw-step.is-done{background:rgba(80,200,120,.1)}


/* Platform admin tabs */
.plat-tabs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px;padding:0 2px}
.plat-tab{
  border:1px solid rgba(127,127,127,.25);background:rgba(127,127,127,.08);
  color:inherit;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer
}
.plat-tab.is-active{background:rgba(38,136,235,.22);border-color:rgba(38,136,235,.45);color:#7eb6ff}
.plat-tab-count{
  display:inline-block;min-width:1.2em;margin-left:4px;padding:0 5px;border-radius:8px;
  background:rgba(0,0,0,.25);font-size:11px
}
.plat-tab-refresh{margin-left:auto}
.plat-badge{
  display:inline-block;font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px;
  background:rgba(38,136,235,.25);color:#9ec9ff;vertical-align:middle;margin-left:4px
}
.platform-card--primary{border-color:rgba(38,136,235,.35)}
.tm-label{display:block;margin:10px 0;font-size:12px;font-weight:600}
.tm-label input{width:100%;margin-top:4px;padding:10px 12px;border-radius:10px;border:1px solid rgba(127,127,127,.25);
  background:rgba(0,0,0,.2);color:inherit;box-sizing:border-box;font-size:14px}
html[data-vk-appearance="light"] .plat-tab{background:#f0f2f5;border-color:rgba(0,0,0,.08)}
html[data-vk-appearance="light"] .plat-tab.is-active{background:#e8f2ff;border-color:#2688eb;color:#1a6ec4}
html[data-vk-appearance="light"] .tm-label input{background:#fff;color:#1a1a1a}

.apply-groups-wrap{margin-bottom:8px}
.apply-groups-wrap select{
  width:100%;margin-top:4px;padding:10px 12px;border-radius:10px;
  border:1px solid rgba(127,127,127,.25);background:rgba(0,0,0,.2);color:inherit;font-size:14px
}
html[data-vk-appearance="light"] .apply-groups-wrap select{background:#fff;color:#1a1a1a;border-color:rgba(0,0,0,.1)}


/* ═══════════════════════════════════════════════════════════
   Admin panel v3 — modern, clear hierarchy
   ═══════════════════════════════════════════════════════════ */
.admin-screen-v2{
  --ap-radius:16px;
  --ap-gap:12px;
  --ap-surface:rgba(255,255,255,.04);
  --ap-surface-2:rgba(255,255,255,.07);
  --ap-border:rgba(255,255,255,.08);
  --ap-accent:#3d8bfd;
  --ap-accent-soft:rgba(61,139,253,.16);
  padding:12px 14px 96px;
  max-width:720px;
  margin:0 auto;
}
html[data-vk-appearance="light"] .admin-screen-v2{
  --ap-surface:#fff;
  --ap-surface-2:#f3f5f8;
  --ap-border:rgba(0,0,0,.06);
  --ap-accent:#2688eb;
  --ap-accent-soft:rgba(38,136,235,.12);
}

.admin-screen-v2 .ap-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  margin:4px 0 14px;padding:0;
  background:transparent;border:none;box-shadow:none;
}
.admin-screen-v2 .ap-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;
  letter-spacing:.02em;text-transform:uppercase;
  background:var(--ap-accent-soft);color:var(--ap-accent);
  border:1px solid transparent;
}
.admin-screen-v2 .ap-title{
  margin:6px 0 2px;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2;
}
.admin-screen-v2 .ap-sub{
  margin:0;font-size:13px;opacity:.65;line-height:1.35;
}
.admin-screen-v2 .ap-refresh{
  width:40px;height:40px;border-radius:12px;border:1px solid var(--ap-border);
  background:var(--ap-surface);color:inherit;font-size:18px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.admin-screen-v2 .ap-refresh:active{transform:scale(.96)}

.admin-screen-v2 .ap-crumb{
  display:none; /* cleaner: title + tabs enough */
}

/* Horizontal chip nav */
.admin-screen-v2 .ap-nav.ap-nav-grouped{
  display:flex;flex-direction:column;gap:10px;
  margin:0 0 16px;padding:0;border:none;background:transparent;
  position:sticky;top:0;z-index:20;
  padding:8px 0 10px;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  background:linear-gradient(to bottom, var(--app-bg, #0e0f12) 60%, transparent);
}
html[data-vk-appearance="light"] .admin-screen-v2 .ap-nav.ap-nav-grouped{
  background:linear-gradient(to bottom, var(--app-bg,#f4f5f7) 60%, transparent);
}
.admin-screen-v2 .ap-nav-group{margin:0}
.admin-screen-v2 .ap-nav-group-label{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  opacity:.45;margin:0 2px 6px;
}
.admin-screen-v2 .ap-nav-group-items{
  display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;
  padding:2px 2px 6px;scrollbar-width:none;-ms-overflow-style:none;
}
.admin-screen-v2 .ap-nav-group-items::-webkit-scrollbar{display:none}
.admin-screen-v2 .ap-nav-item{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border-radius:999px;
  border:1px solid var(--ap-border);background:var(--ap-surface);
  color:inherit;font-size:13px;font-weight:600;cursor:pointer;
  white-space:nowrap;transition:background .15s,border-color .15s,transform .1s;
}
.admin-screen-v2 .ap-nav-item .ap-nav-hint{display:none}
.admin-screen-v2 .ap-nav-item .ap-nav-ico{font-size:14px;opacity:.85}
.admin-screen-v2 .ap-nav-item.is-active{
  background:var(--ap-accent);border-color:transparent;color:#fff;
  box-shadow:0 6px 16px rgba(38,136,235,.28);
}
.admin-screen-v2 .ap-nav-item:active{transform:scale(.97)}
.admin-screen-v2 .ap-nav-meta{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.admin-screen-v2 .ap-nav-txt{font-size:13px;font-weight:650}

/* Panes */
.admin-screen-v2 .admin-pane{animation:apFade .22s ease}
@keyframes apFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.admin-screen-v2 .ap-pane-intro{margin:0 0 14px}
.admin-screen-v2 .ap-pane-kicker{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--ap-accent);margin-bottom:4px;
}
.admin-screen-v2 .ap-pane-intro h2{
  margin:0 0 4px;font-size:20px;font-weight:800;letter-spacing:-.02em;
}
.admin-screen-v2 .ap-pane-intro p{margin:0;font-size:13px;opacity:.6;line-height:1.4}

.admin-screen-v2 .ap-card{
  background:var(--ap-surface);border:1px solid var(--ap-border);
  border-radius:var(--ap-radius);padding:14px 14px 12px;margin:0 0 var(--ap-gap);
  box-shadow:0 1px 0 rgba(255,255,255,.03) inset;
}
html[data-vk-appearance="light"] .admin-screen-v2 .ap-card{
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.admin-screen-v2 .ap-card-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-bottom:12px;
}
.admin-screen-v2 .ap-card-title b{font-size:15px;font-weight:700}
.admin-screen-v2 .ap-card-title small{font-size:12px;opacity:.55}
.admin-screen-v2 .ap-card-dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
}
.admin-screen-v2 .ap-btn{
  border-radius:10px;padding:8px 12px;font-size:12px;font-weight:650;
  border:1px solid var(--ap-border);background:var(--ap-surface-2);color:inherit;cursor:pointer;
}

/* Overview modules as big tappable rows */
.admin-screen-v2 .ap-module-grid{display:grid;gap:10px}
.admin-screen-v2 .ap-module{
  display:flex;align-items:center;gap:12px;
  padding:14px;border-radius:14px;
  border:1px solid var(--ap-border);background:var(--ap-surface-2);
  text-align:left;cursor:pointer;color:inherit;
  transition:transform .12s,border-color .15s;
}
.admin-screen-v2 .ap-module:active{transform:scale(.985)}
.admin-screen-v2 .ap-module-ico{
  width:42px;height:42px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:var(--ap-accent-soft);font-size:18px;flex-shrink:0;
}
.admin-screen-v2 .ap-module-body b{font-size:15px;font-weight:700}
.admin-screen-v2 .ap-module-body small{font-size:12px;opacity:.55;line-height:1.35}
.admin-screen-v2 .ap-module-go{opacity:.3;font-size:20px}

/* Platform tabs polish */
.admin-screen-v2 .plat-tabs{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  margin:0 0 14px;padding:0;
}
.admin-screen-v2 .plat-tab{
  border-radius:999px;padding:9px 14px;font-size:12px;font-weight:650;
  border:1px solid var(--ap-border);background:var(--ap-surface);color:inherit;
}
.admin-screen-v2 .plat-tab.is-active{
  background:var(--ap-accent);border-color:transparent;color:#fff;
}
.admin-screen-v2 .plat-tab-count{
  background:rgba(0,0,0,.2);border-radius:8px;padding:1px 6px;margin-left:4px;font-size:11px;
}
.admin-screen-v2 .plat-tab.is-active .plat-tab-count{background:rgba(255,255,255,.22)}
.admin-screen-v2 .platform-card{
  border-radius:14px;padding:14px;margin-bottom:10px;
  border:1px solid var(--ap-border);background:var(--ap-surface-2);
}
.admin-screen-v2 .blocks-card-actions{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;
}
.admin-screen-v2 .blocks-card-actions .primary-button,
.admin-screen-v2 .blocks-card-actions .secondary-button,
.admin-screen-v2 .blocks-card-actions .ghost-button{
  flex:1 1 auto;min-width:120px;border-radius:10px;padding:10px 12px;font-size:13px;
}

/* Stats on overview */
.admin-screen-v2 .admin-stat-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
}
.admin-screen-v2 .admin-stat{
  border-radius:14px;padding:14px;border:1px solid var(--ap-border);
  background:var(--ap-surface-2);
}
.admin-screen-v2 .admin-stat b{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em}
.admin-screen-v2 .admin-stat span{font-size:12px;opacity:.55}

/* Pending apply banner tone */
.tenant-apply-banner--pending{
  background:linear-gradient(135deg,rgba(240,162,2,.14),rgba(38,136,235,.08));
  border-color:rgba(240,162,2,.3);
}

.apply-load-bar{margin:0 0 14px;padding:12px;border-radius:14px;border:1px solid rgba(38,136,235,.25);background:rgba(38,136,235,.08)}
.apply-load-bar .primary-button{margin-bottom:8px}


/* ═══════════════════════════════════════════════════════════════
   Admin panel v4 — clean, mobile-first, single-row tabs
   ═══════════════════════════════════════════════════════════════ */
.admin-screen-v4{
  --ap4-bg: transparent;
  --ap4-card: rgba(255,255,255,.05);
  --ap4-card-2: rgba(255,255,255,.08);
  --ap4-line: rgba(255,255,255,.09);
  --ap4-text: inherit;
  --ap4-muted: rgba(255,255,255,.55);
  --ap4-accent: #3d8bfd;
  --ap4-accent-soft: rgba(61,139,253,.18);
  --ap4-radius: 16px;
  --ap4-gap: 12px;
  padding: 10px 12px 100px;
  max-width: 720px;
  margin: 0 auto;
  min-height: 60vh;
}
html[data-vk-appearance="light"] .admin-screen-v4{
  --ap4-card: #ffffff;
  --ap4-card-2: #f2f4f7;
  --ap4-line: rgba(0,0,0,.07);
  --ap4-muted: rgba(0,0,0,.48);
  --ap4-accent: #2688eb;
  --ap4-accent-soft: rgba(38,136,235,.12);
}

/* Top bar */
.admin-screen-v4 .ap4-top{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:12px; margin: 2px 0 12px; padding: 0;
}
.admin-screen-v4 .ap4-role{
  display:inline-flex; align-items:center;
  padding: 3px 9px; border-radius: 999px;
  font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
  background: var(--ap4-accent-soft); color: var(--ap4-accent);
  margin-bottom: 4px;
}
.admin-screen-v4 .ap4-title{
  margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -.03em; line-height: 1.15;
}
.admin-screen-v4 .ap4-sub{
  margin: 2px 0 0; font-size: 13px; color: var(--ap4-muted); line-height: 1.3;
}
.admin-screen-v4 .ap4-icon-btn{
  width: 40px; height: 40px; border-radius: 12px;
  border: 1px solid var(--ap4-line); background: var(--ap4-card);
  color: inherit; font-size: 18px; cursor: pointer;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.admin-screen-v4 .ap4-icon-btn:active{ transform: scale(.96); }

/* Tabs — single horizontal scroller */
.admin-screen-v4 .ap4-tabs,
.admin-screen-v4 #adminTabs.ap4-tabs{
  display: flex; flex-wrap: nowrap; gap: 6px;
  overflow-x: auto; overflow-y: hidden;
  margin: 0 0 14px; padding: 4px 2px 10px;
  scrollbar-width: none; -ms-overflow-style: none;
  position: sticky; top: 0; z-index: 30;
  background: linear-gradient(to bottom, var(--app-bg, #121317) 70%, transparent);
  border: none; box-shadow: none;
}
html[data-vk-appearance="light"] .admin-screen-v4 .ap4-tabs{
  background: linear-gradient(to bottom, var(--app-bg, #f4f5f7) 70%, transparent);
}
.admin-screen-v4 .ap4-tabs::-webkit-scrollbar{ display: none; }

.admin-screen-v4 .ap4-tab,
.admin-screen-v4 #adminTabs .ap4-tab,
.admin-screen-v4 #adminTabs .ap-nav-item{
  flex: 0 0 auto;
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 3px; min-width: 64px; padding: 10px 12px;
  border-radius: 14px; border: 1px solid var(--ap4-line);
  background: var(--ap4-card); color: inherit;
  font-size: 11px; font-weight: 650; cursor: pointer;
  white-space: nowrap; line-height: 1.1;
  transition: background .12s, border-color .12s, transform .1s, color .12s;
}
.admin-screen-v4 .ap4-tab-ico{ font-size: 16px; line-height: 1; opacity: .9; }
.admin-screen-v4 .ap4-tab-txt{ font-size: 11px; }
.admin-screen-v4 .ap4-tab.is-active,
.admin-screen-v4 #adminTabs .ap4-tab.is-active,
.admin-screen-v4 #adminTabs .ap-nav-item.is-active{
  background: var(--ap4-accent); border-color: transparent; color: #fff;
  box-shadow: 0 8px 20px rgba(38,136,235,.28);
}
.admin-screen-v4 .ap4-tab:active{ transform: scale(.97); }

/* Hide legacy grouped nav leftovers if any */
.admin-screen-v4 .ap-nav-group-label,
.admin-screen-v4 .ap-nav-hint,
.admin-screen-v4 .ap-crumb{ display: none !important; }

/* Body / panes */
.admin-screen-v4 .ap4-body,
.admin-screen-v4 .ap-body{ padding: 0; }
.admin-screen-v4 .admin-pane{
  animation: ap4In .2s ease;
}
@keyframes ap4In{
  from{ opacity: 0; transform: translateY(8px); }
  to{ opacity: 1; transform: none; }
}

.admin-screen-v4 .ap-pane-intro{ margin: 0 0 12px; }
.admin-screen-v4 .ap-pane-kicker{
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; color: var(--ap4-accent); margin-bottom: 2px;
}
.admin-screen-v4 .ap-pane-intro h2{
  margin: 0 0 2px; font-size: 18px; font-weight: 800; letter-spacing: -.02em;
}
.admin-screen-v4 .ap-pane-intro p{
  margin: 0; font-size: 13px; color: var(--ap4-muted); line-height: 1.35;
}

/* Cards */
.admin-screen-v4 .ap-card,
.admin-screen-v4 .admin-card,
.admin-screen-v4 .admin-card-soft{
  background: var(--ap4-card);
  border: 1px solid var(--ap4-line);
  border-radius: var(--ap4-radius);
  padding: 14px;
  margin: 0 0 var(--ap4-gap);
  box-shadow: none;
}
html[data-vk-appearance="light"] .admin-screen-v4 .ap-card{
  box-shadow: 0 6px 18px rgba(15,23,42,.05);
}
.admin-screen-v4 .ap-card-head{
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; margin-bottom: 12px;
}
.admin-screen-v4 .ap-card-title{ display: flex; align-items: center; gap: 10px; min-width: 0; }
.admin-screen-v4 .ap-card-title b{ display: block; font-size: 14px; font-weight: 700; }
.admin-screen-v4 .ap-card-title small{ display: block; font-size: 12px; color: var(--ap4-muted); font-weight: 500; }
.admin-screen-v4 .ap-card-dot{
  width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
}
.admin-screen-v4 .ap-card-dot.ton-blue{ background: #3d8bfd; }
.admin-screen-v4 .ap-card-dot.ton-green{ background: #2a9b5a; }
.admin-screen-v4 .ap-card-dot.ton-orange{ background: #f0a202; }
.admin-screen-v4 .ap-card-dot.ton-red{ background: #e64646; }
.admin-screen-v4 .ap-card-dot.ton-purple{ background: #9b59b6; }
.admin-screen-v4 .ap-card-dot.ton-amber{ background: #f0a202; }
.admin-screen-v4 .ap-card-dot.ton-gold{ background: #e6b422; }
.admin-screen-v4 .ap-card-dot.ton-slate{ background: #7f8c9a; }

.admin-screen-v4 .ap-btn{
  border-radius: 10px; padding: 8px 12px; font-size: 12px; font-weight: 650;
  border: 1px solid var(--ap4-line); background: var(--ap4-card-2);
  color: inherit; cursor: pointer;
}

/* Overview modules */
.admin-screen-v4 .ap-module-grid{
  display: grid; grid-template-columns: 1fr; gap: 8px;
}
.admin-screen-v4 .ap-module{
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px; border-radius: 14px;
  border: 1px solid var(--ap4-line); background: var(--ap4-card-2);
  text-align: left; cursor: pointer; color: inherit;
}
.admin-screen-v4 .ap-module:active{ transform: scale(.985); }
.admin-screen-v4 .ap-module-ico{
  width: 40px; height: 40px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  background: var(--ap4-accent-soft); font-size: 17px; flex-shrink: 0;
}
.admin-screen-v4 .ap-module-body{ flex: 1; min-width: 0; }
.admin-screen-v4 .ap-module-body b{ display: block; font-size: 14px; font-weight: 700; }
.admin-screen-v4 .ap-module-body small{ display: block; font-size: 12px; color: var(--ap4-muted); line-height: 1.3; }
.admin-screen-v4 .ap-module-go{ opacity: .3; font-size: 18px; }

/* Stats */
.admin-screen-v4 .admin-stat-grid{
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px;
}
.admin-screen-v4 .admin-stat{
  border-radius: 14px; padding: 12px; border: 1px solid var(--ap4-line);
  background: var(--ap4-card-2);
}
.admin-screen-v4 .admin-stat b{
  display: block; font-size: 20px; font-weight: 800; letter-spacing: -.02em;
}
.admin-screen-v4 .admin-stat span{ font-size: 12px; color: var(--ap4-muted); }

/* Platform sub-tabs */
.admin-screen-v4 .plat-tabs{
  display: flex; flex-wrap: wrap; gap: 6px; align-items: center;
  margin: 0 0 12px;
}
.admin-screen-v4 .plat-tab{
  border-radius: 999px; padding: 8px 12px; font-size: 12px; font-weight: 650;
  border: 1px solid var(--ap4-line); background: var(--ap4-card); color: inherit; cursor: pointer;
}
.admin-screen-v4 .plat-tab.is-active{
  background: var(--ap4-accent); border-color: transparent; color: #fff;
}
.admin-screen-v4 .plat-tab-count{
  display: inline-block; min-width: 1.1em; margin-left: 4px;
  padding: 0 5px; border-radius: 8px; background: rgba(0,0,0,.2); font-size: 11px;
}
.admin-screen-v4 .plat-tab.is-active .plat-tab-count{ background: rgba(255,255,255,.22); }
.admin-screen-v4 .plat-tab-refresh{ margin-left: auto; }

.admin-screen-v4 .platform-card,
.admin-screen-v4 .blocks-card{
  border-radius: 14px; padding: 12px 14px; margin-bottom: 8px;
  border: 1px solid var(--ap4-line); background: var(--ap4-card-2);
}
.admin-screen-v4 .blocks-card-meta b{ font-size: 14px; }
.admin-screen-v4 .blocks-card-meta small{ color: var(--ap4-muted); font-size: 12px; }
.admin-screen-v4 .blocks-card-rows{
  display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px;
  margin-top: 10px; font-size: 12px;
}
.admin-screen-v4 .blocks-card-rows span{ color: var(--ap4-muted); }
.admin-screen-v4 .blocks-card-rows strong{ font-weight: 700; }
.admin-screen-v4 .blocks-card-actions{
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px;
}
.admin-screen-v4 .blocks-card-actions .primary-button,
.admin-screen-v4 .blocks-card-actions .secondary-button,
.admin-screen-v4 .blocks-card-actions .ghost-button{
  flex: 1 1 auto; min-width: 110px; border-radius: 10px;
  padding: 10px 12px; font-size: 13px;
}

/* Forms inside admin */
.admin-screen-v4 input[type="search"],
.admin-screen-v4 input[type="text"],
.admin-screen-v4 input[type="number"],
.admin-screen-v4 select,
.admin-screen-v4 textarea{
  border-radius: 12px; border: 1px solid var(--ap4-line);
  background: var(--ap4-card-2); color: inherit;
}
.admin-screen-v4 .empty{
  padding: 20px 12px; text-align: center; color: var(--ap4-muted); font-size: 13px;
}

/* Hide old admin-hero / legacy tabs if still in DOM */
.admin-screen-v4 .admin-hero,
.admin-screen-v4 .admin-tabs{ display: none !important; }

/* Compatibility: map old ap-nav-item styles if JS adds is-active to old class */
.admin-screen-v4 #adminTabs button.is-active{
  background: var(--ap4-accent); border-color: transparent; color: #fff;
}


/* ── Admin pane surfaces v5 ─────────────────────────────────────── */
.admin-screen-v4 .ap4-hero{
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  margin: 0 0 14px;
}
.admin-screen-v4 .ap4-kicker{
  display:block; font-size:11px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color: var(--ap4-accent); margin-bottom:2px;
}
.admin-screen-v4 .ap4-hero h2{
  margin:0; font-size:20px; font-weight:800; letter-spacing:-.02em;
}
.admin-screen-v4 .ap4-hero p{
  margin:4px 0 0; font-size:13px; color:var(--ap4-muted); line-height:1.35;
}
.admin-screen-v4 .ap4-chip-btn{
  flex-shrink:0; border-radius:999px; padding:8px 12px; font-size:12px; font-weight:650;
  border:1px solid var(--ap4-line); background:var(--ap4-card); color:inherit; cursor:pointer;
}
.admin-screen-v4 .ap4-chip-btn:active{ transform:scale(.97); }

.admin-screen-v4 .ap4-quick{
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:8px;
  margin: 0 0 14px;
}
.admin-screen-v4 .ap4-quick-item{
  display:flex; align-items:center; gap:10px; text-align:left;
  padding:12px; border-radius:14px; border:1px solid var(--ap4-line);
  background:var(--ap4-card); color:inherit; cursor:pointer;
}
.admin-screen-v4 .ap4-quick-item:active{ transform:scale(.98); }
.admin-screen-v4 .ap4-qi{
  width:36px; height:36px; border-radius:11px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:var(--ap4-accent-soft); font-size:15px;
}
.admin-screen-v4 .ap4-quick-item b{ display:block; font-size:13px; font-weight:700; }
.admin-screen-v4 .ap4-quick-item small{ display:block; font-size:11px; color:var(--ap4-muted); margin-top:1px; }

.admin-screen-v4 .ap4-card{
  background:var(--ap4-card); border:1px solid var(--ap4-line);
  border-radius:16px; padding:14px; margin:0 0 12px;
}
.admin-screen-v4 .ap4-card-flush{ padding: 10px 12px; }
.admin-screen-v4 .ap4-card-h{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-bottom:10px;
}
.admin-screen-v4 .ap4-card-h b{ display:block; font-size:14px; font-weight:700; }
.admin-screen-v4 .ap4-card-h small{ display:block; font-size:12px; color:var(--ap4-muted); }

.admin-screen-v4 .ap4-search-row{
  display:flex; gap:8px; align-items:center;
}
.admin-screen-v4 .ap4-search-row input{
  flex:1; min-width:0; padding:12px 14px; border-radius:12px;
  border:1px solid var(--ap4-line); background:var(--ap4-card-2); color:inherit; font-size:14px;
}

.admin-screen-v4 .ap4-actions-list{ display:flex; flex-direction:column; gap:8px; }
.admin-screen-v4 .ap4-action{
  display:flex; align-items:center; gap:12px; width:100%;
  padding:14px; border-radius:14px; border:1px solid var(--ap4-line);
  background:var(--ap4-card); color:inherit; cursor:pointer; text-align:left;
}
.admin-screen-v4 .ap4-action:active{ transform:scale(.985); }
.admin-screen-v4 .ap4-action-body{ flex:1; min-width:0; }
.admin-screen-v4 .ap4-action-body b{ display:block; font-size:14px; font-weight:700; }
.admin-screen-v4 .ap4-action-body small{ display:block; font-size:12px; color:var(--ap4-muted); margin-top:2px; }
.admin-screen-v4 .ap4-chev{ font-size:20px; opacity:.3; }

.admin-screen-v4 .ap4-seg{
  display:flex; flex-wrap:nowrap; gap:6px; overflow-x:auto;
  margin:0 0 12px; padding-bottom:4px; scrollbar-width:none;
}
.admin-screen-v4 .ap4-seg::-webkit-scrollbar{ display:none; }
.admin-screen-v4 .ap4-seg-btn{
  flex:0 0 auto; border-radius:999px; padding:9px 12px; font-size:12px; font-weight:650;
  border:1px solid var(--ap4-line); background:var(--ap4-card); color:inherit; cursor:pointer;
}
.admin-screen-v4 .ap4-seg-btn.is-active{
  background:var(--ap4-accent); border-color:transparent; color:#fff;
}
.admin-screen-v4 .ap4-count{
  display:inline-block; margin-left:4px; padding:0 6px; border-radius:8px;
  background:rgba(0,0,0,.2); font-size:11px;
}
.admin-screen-v4 .ap4-seg-btn.is-active .ap4-count{ background:rgba(255,255,255,.22); }

.admin-screen-v4 .ap4-steps{
  margin:0; padding-left:18px; font-size:13px; line-height:1.55; color:var(--ap4-muted);
}
.admin-screen-v4 .ap4-steps li{ margin:4px 0; }
.admin-screen-v4 .ap4-note{ margin:0; font-size:13px; color:var(--ap4-muted); line-height:1.45; }
.admin-screen-v4 .ap4-denied{
  margin-bottom:12px; padding:14px; border-radius:14px;
  border:1px solid rgba(230,70,70,.3); background:rgba(230,70,70,.1);
  font-size:13px;
}

/* Content rendered by JS inside boxes */
.admin-screen-v4 .ap4-fill .empty{ padding:28px 12px; }
.admin-screen-v4 .admin-stat-grid{ margin-top:4px; }
.admin-screen-v4 .platform-card,
.admin-screen-v4 .blocks-card{
  background:var(--ap4-card-2);
}


/* JS-rendered admin items */
.admin-screen-v4 .ap4-item{
  display:block; padding:14px; margin:0 0 10px;
  border-radius:14px; border:1px solid var(--ap4-line);
  background: var(--ap4-card-2);
}
.admin-screen-v4 .ap4-item-top{
  display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px;
}
.admin-screen-v4 .ap4-item-id{ font-size:12px; color:var(--ap4-muted); font-weight:600; }
.admin-screen-v4 .ap4-item-title{
  margin:0 0 6px; font-size:15px; font-weight:750; letter-spacing:-.01em; line-height:1.25;
}
.admin-screen-v4 .ap4-item-text{
  margin:0 0 10px; font-size:13px; line-height:1.4; color:var(--ap4-muted);
}
.admin-screen-v4 .ap4-item-meta{
  display:flex; justify-content:space-between; gap:10px; margin-bottom:12px;
  font-size:13px;
}
.admin-screen-v4 .ap4-item-meta strong{ font-weight:750; }
.admin-screen-v4 .ap4-item-meta span{ color:var(--ap4-muted); }
.admin-screen-v4 .ap4-item-actions{
  display:flex; flex-wrap:wrap; gap:8px;
}
.admin-screen-v4 .ap4-item-actions .primary-button,
.admin-screen-v4 .ap4-item-actions .secondary-button{
  flex:1 1 auto; min-width:100px; border-radius:10px; padding:10px 12px; font-size:13px;
}
.admin-screen-v4 .ap4-chip-row{
  display:flex; flex-wrap:wrap; gap:6px; margin-top:12px;
}
.admin-screen-v4 .admin-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:999px; font-size:12px;
  border:1px solid var(--ap4-line); background:var(--ap4-card);
}
.admin-screen-v4 .admin-chip b{ font-weight:750; }
.admin-screen-v4 .ap4-alert{
  margin-top:12px; padding:12px 14px; border-radius:12px;
  background:rgba(230,70,70,.12); border:1px solid rgba(230,70,70,.28);
  font-size:13px; font-weight:650; color:#ff8f8f;
}
html[data-vk-appearance="light"] .admin-screen-v4 .ap4-alert{ color:#b42318; }

.admin-screen-v4 .blocks-card-top{
  display:flex; align-items:center; gap:12px; margin-bottom:10px;
}
.admin-screen-v4 .blocks-kind{
  display:inline-block; margin-top:4px; padding:2px 8px; border-radius:999px;
  font-size:11px; font-weight:700;
  background:var(--ap4-accent-soft); color:var(--ap4-accent);
}

/* Multi-tenant UI disabled: no switch / connect other markets */
.topbar-market{cursor:default!important;user-select:none}
.topbar-market:active,.topbar-market:focus{background:transparent!important}
.topbar-market-menu{display:none!important}
.tenant-switch-menu{display:none!important}
.tenant-apply-banner-host,
.tenant-setup-banner-host,
.tenant-apply-banner,
.tenant-setup-banner{display:none!important;visibility:hidden!important}
.tenant-current-label{font-size:14px;font-weight:600;padding:8px 12px;color:var(--app-text,inherit);opacity:.9}

/* Hide platform/markets multi-tenant admin section */
[data-admin-tab="platform"],
[data-admin-go="platform"],
[data-admin-pane="platform"],
.ap-nav-master-entry[data-admin-tab="platform"]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* ═══════════════════════════════════════════
   Form balance: wider inputs, smaller action buttons
   ═══════════════════════════════════════════ */

/* Generic input in flex rows (input + button side by side) */
.admin-settings > div[style*="display:flex"],
.admin-coins-row,
.master-add-row,
.promo-redeem-row,
.admin-user-search,
.cf-row-inline {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
}

/* Inputs take all free space */
.admin-settings input[type="text"],
.admin-settings input[type="url"],
.admin-settings input[type="number"],
.admin-settings input:not([type="checkbox"]):not([type="radio"]),
.admin-coins-input,
#officialEmployeeLink,
.master-add-input,
#masterOfficialLink,
.promo-redeem-row input,
.admin-user-search input,
input.admin-coins-input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  padding: 0 14px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.06) !important;
  color: inherit !important;
  font-size: 15px !important;
  line-height: 44px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

html[data-vk-appearance="light"] .admin-settings input[type="text"],
html[data-vk-appearance="light"] .admin-settings input[type="url"],
html[data-vk-appearance="light"] .admin-settings input[type="number"],
html[data-vk-appearance="light"] .admin-settings input:not([type="checkbox"]):not([type="radio"]),
html[data-vk-appearance="light"] .admin-coins-input,
html[data-vk-appearance="light"] #officialEmployeeLink,
html[data-vk-appearance="light"] .master-add-input,
html[data-vk-appearance="light"] #masterOfficialLink {
  background: #f2f3f5 !important;
  border-color: rgba(0,0,0,.12) !important;
  color: #1a1a1a !important;
}

/* Compact action buttons next to inputs — smaller, fixed */
.admin-settings .primary-button.compact,
.admin-settings .secondary-button.compact,
.admin-coins-row .primary-button,
.admin-coins-row .primary-button.compact,
.admin-coins-row .secondary-button,
.master-add-btn,
.master-add-row .primary-button,
.master-add-row .primary-button.compact,
#officialEmployeeAdd,
#masterOfficialAdd,
.promo-redeem-row .primary-button,
.admin-user-search .primary-button.compact {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 88px !important;
  max-width: 120px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

/* Wide primary buttons (full-width actions like Save) stay comfortable but not huge */
.admin-settings .primary-button.wide,
.ap-card .primary-button.wide,
#adminSettingsSave,
button.primary-button.wide {
  min-height: 46px !important;
  height: auto !important;
  padding: 0 18px !important;
  font-size: 15px !important;
  border-radius: 14px !important;
}

/* Secondary / filter buttons a bit tighter */
.admin-settings .filter-button,
.admin-settings .secondary-button:not(.compact),
.ap-card .filter-button {
  min-height: 40px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  border-radius: 12px !important;
}

/* Number/settings value chips next to labels */
.admin-settings input[type="number"] {
  max-width: 100% !important;
}

/* Ensure ap-card form rows don't squash inputs */
.ap-card .admin-settings,
#officialEmployeesCard .admin-settings {
  width: 100%;
}
#officialEmployeesCard .admin-settings > div {
  width: 100%;
}

/* ═══════════════════════════════════════════
   Fix: mobile compact buttons must NOT be 100% width
   when sitting next to an input in a search/form row
   ═══════════════════════════════════════════ */

.ap4-search-row,
.admin-user-search,
.admin-coins-row,
.master-add-row,
.promo-redeem-row,
.admin-settings > div[style*="display:flex"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.ap4-search-row input,
.ap4-search-row input[type="search"],
.ap4-search-row input[type="text"],
#adminUserId,
.admin-user-search input,
.admin-coins-row input,
.master-add-row input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  line-height: 44px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Override the mobile rule: .primary-button.compact{width:100%} */
.ap4-search-row .primary-button,
.ap4-search-row .primary-button.compact,
.admin-user-search .primary-button.compact,
.admin-coins-row .primary-button,
.admin-coins-row .primary-button.compact,
.master-add-row .primary-button.compact,
#adminUserLookup,
#officialEmployeeAdd,
#masterOfficialAdd {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 110px !important;
  min-width: 80px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  white-space: nowrap !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

@media (max-width: 560px) {
  .ap4-search-row .primary-button.compact,
  .admin-user-search .primary-button.compact,
  .admin-coins-row .primary-button.compact,
  .master-add-row .primary-button.compact,
  #adminUserLookup,
  #officialEmployeeAdd,
  #masterOfficialAdd,
  .promo-redeem-row .primary-button {
    width: auto !important;
    max-width: 110px !important;
    flex: 0 0 auto !important;
  }

  .ap4-search-row input,
  #adminUserId,
  .admin-coins-input,
  .master-add-input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }
}

/* Dark theme inputs in search rows */
html[data-vk-appearance="dark"] .ap4-search-row input,
html[data-vk-appearance="dark"] #adminUserId {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: inherit !important;
}

/* ═══════════════════════════════════════════
   Free-form create ad — modern redesign (ff-*)
   ═══════════════════════════════════════════ */
.ff-shell{
  display:flex !important;
  flex-direction:column !important;
  max-height:min(92vh,720px);
  width:min(100%,480px);
  margin:0 auto;
  background:var(--app-card,#1c1e22);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
}
html[data-vk-appearance="light"] .ff-shell{background:#fff;box-shadow:0 16px 48px rgba(20,30,45,.18)}

.ff-head{
  padding:16px 16px 12px;
  border-bottom:1px solid rgba(255,255,255,.06);
  flex:none;
}
html[data-vk-appearance="light"] .ff-head{border-bottom-color:rgba(0,0,0,.06)}
.ff-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ff-head-text{min-width:0;flex:1}
.ff-badge{
  display:inline-block;
  font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:#5b9cf5;margin-bottom:4px;
}
.ff-title{margin:0;font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.ff-lead{margin:8px 0 0;font-size:13px;line-height:1.45;color:var(--app-muted,rgba(255,255,255,.55))}
.ff-close{
  width:36px;height:36px;border:0;border-radius:50%;
  background:rgba(255,255,255,.08);color:inherit;
  font-size:22px;line-height:1;cursor:pointer;flex:none;
}
html[data-vk-appearance="light"] .ff-close{background:rgba(0,0,0,.06)}
.ff-close:active{transform:scale(.94)}

.ff-body{
  flex:1;overflow:auto;-webkit-overflow-scrolling:touch;
  padding:12px 16px 8px;
  display:flex;flex-direction:column;gap:12px;
}

.ff-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  padding:14px;
}
html[data-vk-appearance="light"] .ff-card{
  background:#f5f6f8;border-color:rgba(0,0,0,.05);
}

.ff-label{
  display:block;font-size:12px;font-weight:700;
  color:var(--app-muted,rgba(255,255,255,.5));
  margin-bottom:8px;letter-spacing:.01em;
}
.ff-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}
.ff-label-row .ff-label{margin:0}
.ff-label-sub{font-size:11px;color:var(--app-muted,rgba(255,255,255,.4))}
.ff-optional{font-weight:500;opacity:.65}

.ff-textarea-wrap{
  border-radius:14px;overflow:hidden;
  border:1.5px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.2);
  transition:border-color .15s,box-shadow .15s;
}
html[data-vk-appearance="light"] .ff-textarea-wrap{
  background:#fff;border-color:rgba(0,0,0,.1);
}
.ff-textarea-wrap:focus-within{
  border-color:#2688eb;
  box-shadow:none;
}
.ff-textarea-wrap textarea{
  width:100%;border:0;background:transparent;
  padding:12px 14px;min-height:150px;resize:vertical;
  line-height:1.5;font-size:15px;color:inherit;outline:none;
  box-sizing:border-box;
}

.ff-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}
.ff-hint{font-size:12px;font-weight:600;color:var(--app-muted,rgba(255,255,255,.45))}
.ff-hint.is-ok{color:#4bb34b}
.ff-hint.is-warn{color:#e5a00d}
.ff-count{font-size:11px;font-weight:600;color:var(--app-muted,rgba(255,255,255,.35));font-variant-numeric:tabular-nums}

.ff-ai{
  margin-top:10px;width:100%;
  display:flex;align-items:center;justify-content:center;gap:8px;
  border:0;border-radius:12px;padding:11px 14px;
  background:linear-gradient(135deg,#5b7cfa,#2688eb);
  color:#fff;font-weight:700;font-size:13px;cursor:pointer;
}
.ff-ai:active{filter:brightness(.95);transform:scale(.99)}
.ff-ai-ico{font-size:15px}

.ff-photo-actions{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.ff-chip{
  border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);
  color:inherit;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;
}
html[data-vk-appearance="light"] .ff-chip{border-color:rgba(0,0,0,.1);background:#fff}
.ff-chip:active{transform:scale(.97)}

.ff-photo-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
}
.ff-photo-tile{
  aspect-ratio:1;border-radius:12px;overflow:hidden;position:relative;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  display:grid;place-items:center;
}
.ff-photo-img{width:100%;height:100%;object-fit:cover}
.ff-photo-ph{font-size:22px;opacity:.5}
.ff-photo-rm{
  position:absolute;top:4px;right:4px;width:24px;height:24px;border:0;border-radius:50%;
  background:rgba(0,0,0,.65);color:#fff;font-size:14px;line-height:1;cursor:pointer;
}
.ff-photo-add{
  border:1.5px dashed rgba(255,255,255,.2);background:transparent;cursor:pointer;color:inherit;
  flex-direction:column;gap:2px;
}
.ff-photo-add-ico{font-size:22px;opacity:.7}
.ff-photo-add-txt{font-size:11px;font-weight:600;opacity:.55}
.ff-photo-empty{font-size:12px;color:var(--app-muted);padding:8px 0;grid-column:1/-1}

.ff-input,.ff-select{
  width:100%;box-sizing:border-box;
  height:44px;padding:0 14px;border-radius:12px;
  border:1.5px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.2);color:inherit;font-size:15px;outline:none;
}
html[data-vk-appearance="light"] .ff-input,
html[data-vk-appearance="light"] .ff-select{
  background:#fff;border-color:rgba(0,0,0,.1);color:#1a1a1a;
}
.ff-input:focus,.ff-select:focus{
  border-color:#2688eb;box-shadow:none;
}
.ff-help{margin:6px 0 0;font-size:12px;line-height:1.4;color:var(--app-muted,rgba(255,255,255,.45))}
.ff-help.is-warn{color:#e5a00d}

.ff-footer{
  flex:none;padding:12px 16px 16px;
  border-top:1px solid rgba(255,255,255,.06);
  display:flex;flex-direction:column;gap:8px;
  background:inherit;
}
html[data-vk-appearance="light"] .ff-footer{border-top-color:rgba(0,0,0,.06)}

.ff-primary{
  width:100%;height:48px;border:0;border-radius:14px;
  background:linear-gradient(135deg,#3d9bff,#2688eb);
  color:#fff;font-weight:800;font-size:15px;cursor:pointer;
  box-shadow:0 8px 20px rgba(38,136,235,.28);
}
.ff-primary:disabled{opacity:.45;cursor:default;box-shadow:none}
.ff-primary.is-loading{opacity:.7;pointer-events:none}
.ff-primary:not(:disabled):active{transform:scale(.985)}

.ff-secondary{
  width:100%;height:42px;border:0;border-radius:12px;
  background:transparent;color:var(--app-muted,rgba(255,255,255,.6));
  font-weight:600;font-size:13px;cursor:pointer;
}
.ff-secondary:active{opacity:.8}

/* Confirm step */
.ff-wall{
  border-radius:16px;overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.25);
}
html[data-vk-appearance="light"] .ff-wall{background:#fff;border-color:rgba(0,0,0,.08)}
.ff-wall-head{display:flex;align-items:center;gap:10px;padding:12px 14px}
.ff-wall-av{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(145deg,#2688eb,#5a9ff1);
  color:#fff;font-size:11px;font-weight:900;
  display:grid;place-items:center;flex:none;
}
.ff-wall-meta b{display:block;font-size:14px}
.ff-wall-meta span{display:block;font-size:11px;color:var(--app-muted);margin-top:2px}
.ff-wall-text{padding:0 14px 12px;font-size:14px;line-height:1.5;white-space:pre-wrap}
.ff-wall-media{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:4px;padding:0 14px 10px}
.ff-wall-media-item{aspect-ratio:1;border-radius:8px;overflow:hidden;background:rgba(255,255,255,.05)}
.ff-wall-media-item img{width:100%;height:100%;object-fit:cover}
.ff-wall-media-empty{display:grid;place-items:center;height:100%;font-size:20px;opacity:.4}
.ff-wall-bar{
  display:flex;gap:16px;padding:10px 14px;
  border-top:1px solid rgba(255,255,255,.06);
  font-size:12px;color:var(--app-muted);
}

.ff-parsed{margin-top:4px}
.ff-parsed-title{font-size:12px;font-weight:700;color:var(--app-muted);margin-bottom:8px}
.ff-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.ff-tag{
  display:inline-block;padding:5px 10px;border-radius:999px;
  background:rgba(38,136,235,.18);color:#7eb6ff;font-size:12px;font-weight:700;
}
.ff-tag.muted{background:rgba(255,255,255,.06);color:var(--app-muted)}
.ff-kv{
  display:flex;justify-content:space-between;gap:12px;
  padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);
  font-size:13px;
}
.ff-kv span{color:var(--app-muted)}
.ff-kv b{font-weight:700;text-align:right}

.ff-fix-fix{
  margin-top:8px;padding:14px;border-radius:14px;
  background:rgba(229,160,13,.08);border:1px solid rgba(229,160,13,.2);
}
.ff-fix-title{font-size:13px;font-weight:800;margin-bottom:10px;color:#e5a00d}
.ff-fix-fix .ff-label{margin-top:8px}
.ff-fix-fix .ff-label:first-of-type{margin-top:0}

/* Modal hosting free form: give more height */
#modal.open .ff-shell,
.modal.open .ff-shell{max-height:min(94vh,760px)}


/* Single close for free-form: use modal system X only */
.modal.open .dialog > .close {
  z-index: 20;
}
.ff-shell .ff-head {
  padding-right: 48px; /* room for system close */
}
.ff-close {
  display: none !important; /* never show duplicate custom close */
}

/* Master payout staff cards — credit + debit */
.payout-staff-card{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);margin-bottom:8px}
.payout-staff-main{display:flex;align-items:center;gap:10px}
.payout-staff-bal-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.payout-staff-amount{font-size:16px;font-weight:800}
.payout-staff-actions{display:flex;gap:8px;flex-wrap:wrap}
.payout-staff-actions .primary-button.compact,
.payout-staff-actions .secondary-button.compact{min-width:88px;max-width:120px;height:40px;min-height:40px;padding:0 12px;font-size:13px}
.admin-perm-section-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;opacity:.55;margin:8px 0 4px}
.admin-permission-list{max-height:320px;overflow:auto;-webkit-overflow-scrolling:touch;padding-right:4px}
.admin-permission-row{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:13px;line-height:1.35}
.admin-permission-row input{margin-top:3px;flex:none}

/* Profile: not official + payout cabinet */
.profile-notice.is-not-official{
  display:block;margin:10px 0 12px;padding:12px 14px;border-radius:14px;
  background:rgba(229,160,13,.12);border:1px solid rgba(229,160,13,.28);
}
.profile-not-official-badge{display:flex;gap:10px;align-items:flex-start}
.profile-not-official-badge .pno-ico{font-size:20px;line-height:1}
.profile-not-official-badge b{display:block;font-size:14px;margin-bottom:2px}
.profile-not-official-badge small{display:block;font-size:12px;line-height:1.4;opacity:.85}
.payout-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.payout-head h3{margin:4px 0 0;font-size:26px;font-weight:800}
.payout-bal-hint{display:block;font-size:11px;opacity:.55;margin-top:2px}
.payout-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.payout-status{font-size:11px;font-weight:800;padding:4px 8px;border-radius:999px}
.payout-status.is-ok{background:rgba(75,179,75,.15);color:#2f9e44}
.payout-status.is-warn{background:rgba(229,160,13,.18);color:#c28100}
.payout-pending-banner{margin:10px 0;padding:10px 12px;border-radius:12px;background:rgba(38,136,235,.1);font-size:12px;line-height:1.4}
.payout-pending-banner.is-soft{background:rgba(255,255,255,.05)}
.payout-ops{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.payout-ops-title{font-size:12px;font-weight:800;margin-bottom:8px;opacity:.7}
.payout-op-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}
.payout-op-row b{display:block}
.payout-op-row small{display:block;opacity:.55;font-size:11px;margin-top:2px}
.payout-op-row .plus{color:#2f9e44}
.payout-op-row .minus{color:#e64646}
.payout-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}


/* Featured ad visual editor */
.feat-editor{display:flex;flex-direction:column;gap:12px}
.feat-preview-wrap{margin-bottom:4px}
.feat-preview{
  position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;
  background:#141820 center/cover no-repeat;color:#fff;
}
.feat-preview-grad{
  position:absolute;inset:0;
  background:linear-gradient(to top, rgba(8,10,16,calc(0.25 + var(--feat-ov,0.65)*0.75)) 0%, rgba(8,10,16,calc(var(--feat-ov,0.65)*0.25)) 55%, transparent 100%);
  pointer-events:none;
}
.feat-preview-badge{
  position:absolute;top:10px;left:10px;z-index:2;
  background:var(--feat-accent,#2688eb);color:#fff;font-size:10px;font-weight:700;
  padding:5px 10px;border-radius:10px;letter-spacing:.02em;
}
.feat-preview-copy{
  position:absolute;left:12px;right:12px;z-index:2;
  top:var(--feat-text-y,72%);transform:translateY(-50%);
  display:flex;flex-direction:column;gap:4px;
}
.feat-preview-copy b{
  font-size:calc(15px * var(--feat-tscale,1));line-height:1.2;
  color:var(--feat-title,#fff);text-shadow:0 1px 3px rgba(0,0,0,.45);
}
.feat-preview-copy small{font-size:11px;color:var(--feat-meta,#c8d2dc)}
.feat-preview-copy span{font-size:11px;color:var(--feat-body,#c8d0d8);opacity:.95}
.feat-tabs{display:flex;gap:6px;flex-wrap:wrap}
.feat-panel{display:none}
.feat-panel.is-on{display:block}
.feat-panel .we2-color-row{display:flex;align-items:center;gap:8px;margin:6px 0}
.feat-panel .we2-color-row span{min-width:100px;font-size:13px;color:var(--vk-muted,#818c99)}
.feat-panel .we2-color-row input[type="color"]{width:36px;height:32px;padding:0;border:none;background:transparent}
.feat-panel .we2-color-row input[type="text"]{flex:1;min-width:0}

/* Full-screen payout status banner */
.payout-fs-banner{
  position:fixed;inset:0;z-index:120;display:none;
  align-items:center;justify-content:center;
  padding:20px;background:rgba(0,0,0,.45);
}
.payout-fs-banner.open{display:flex}
.payout-fs-card{
  width:min(420px,100%);
  background:var(--vk-card,#fff);
  border-radius:20px;
  padding:28px 22px 20px;
  text-align:center;
  box-shadow:0 16px 48px rgba(0,0,0,.28);
}
.payout-fs-ico{
  width:64px;height:64px;margin:0 auto 14px;
  border-radius:50%;display:grid;place-items:center;
  font-size:28px;font-weight:700;
  background:#e8f5e9;color:#2e7d32;
}
.payout-fs-banner.is-warn .payout-fs-ico{background:#fff3e0;color:#ef6c00}
.payout-fs-banner.is-ok .payout-fs-ico{background:#e8f5e9;color:#2e7d32}
.payout-fs-card h2{margin:0 0 8px;font-size:22px}
.payout-fs-card p{margin:0 0 18px;color:var(--vk-muted,#818c99);font-size:15px;line-height:1.45}
.payout-pending-banner.is-pending-out{
  background:#fff8e1;border:1px solid #ffe082;color:#5d4037;
}
html[data-vk-appearance="dark"] .payout-fs-card{background:#2a2d31}
html[data-vk-appearance="dark"] .payout-pending-banner.is-pending-out{background:#3a3420;border-color:#5c4e1a;color:#ffe0b2}


/* ===== CTA pin to bottom of onboarding screen (2026-08-26) ===== */
.modal.onboarding-modal .dialog{
  display:flex !important;
  flex-direction:column !important;
  height:100dvh !important;
  max-height:100dvh !important;
  min-height:100dvh !important;
  overflow:hidden !important;
  padding:calc(10px + env(safe-area-inset-top, 0px)) 18px 0 !important;
  box-sizing:border-box !important;
}
.modal.onboarding-modal .dialog > #modalContent{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
.modal.onboarding-modal .onboarding{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  padding:0 !important;
  overflow:hidden !important;
}
.modal.onboarding-modal .onboarding-visual,
.modal.onboarding-modal .onboarding-pager,
.modal.onboarding-modal .onboarding .eyebrow,
.modal.onboarding-modal .onboarding h2,
.modal.onboarding-modal .onboarding-lead,
.modal.onboarding-modal .onboarding-features,
.modal.onboarding-modal .onboarding-legal-links,
.modal.onboarding-modal .onboarding-legal-note{
  flex:0 0 auto !important;
}
.modal.onboarding-modal .onboarding-actions{
  flex:0 0 auto !important;
  margin-top:auto !important;
  position:relative !important;
  width:100% !important;
  padding:14px 0 calc(16px + env(safe-area-inset-bottom, 0px) + 12px) !important;
  background:inherit !important;
  z-index:5 !important;
}
.modal.onboarding-modal .onboarding-actions .primary-button{
  width:100% !important;
  min-height:52px !important;
}
/* Keep legal cards scrollable if needed, but CTA always pinned */
.modal.onboarding-modal .onboarding-legal .onboarding-legal-links{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
}


/* Community widget editor (we2) */
.we2-community .cw-preview{
  aspect-ratio:auto;
  min-height:180px;
  max-height:38vh;
  height:220px;
  background:linear-gradient(160deg,#1b1f28 0%,#2a3344 100%);
}
.cw-preview-inner{position:absolute;inset:0;padding:14px 14px 12px;overflow:hidden;display:flex;flex-direction:column}
.cw-pv-badge{
  align-self:flex-start;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.14);margin-bottom:8px
}
.cw-pv-text h3,.cw-pv-list h3,.cw-pv-tiles h3{margin:0 0 8px;font-size:16px;font-weight:800;line-height:1.2}
.cw-pv-text p,.cw-pv-note{margin:0;font-size:13px;line-height:1.35;opacity:.9}
.cw-pv-list{display:flex;flex-direction:column;gap:6px;height:100%}
.cw-pv-row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.08);font-size:13px
}
.cw-pv-row em{font-style:normal;font-weight:700;font-size:12px;padding:4px 8px;border-radius:8px;background:#2688eb;color:#fff}
.cw-pv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1;min-height:0}
.cw-pv-tile{
  border-radius:12px;background:rgba(255,255,255,.08) center/cover no-repeat;
  min-height:64px;display:flex;align-items:flex-end;padding:8px;
  font-size:12px;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.5)
}
.cw-type-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}
@media(min-width:400px){.cw-type-grid{grid-template-columns:1fr 1fr 1fr}}
.cw-type-card{
  text-align:left;border:1px solid rgba(127,127,127,.25);border-radius:14px;padding:12px;
  background:rgba(127,127,127,.08);color:inherit;cursor:pointer
}
.cw-type-card strong{display:block;font-size:14px;margin-bottom:4px}
.cw-type-card span{font-size:12px;opacity:.75;line-height:1.3}
.cw-type-card.is-on{border-color:#2688eb;background:rgba(38,136,235,.14);box-shadow:0 0 0 1px rgba(38,136,235,.35)}
.cw-items{display:flex;flex-direction:column;gap:10px}
.cw-item-card{border:1px solid rgba(127,127,127,.22);border-radius:14px;padding:10px;background:rgba(127,127,127,.06)}
.cw-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cw-item-row{display:flex;gap:10px}
.cw-item-photo-wrap{display:flex;flex-direction:column;gap:6px;align-items:center;flex:0 0 72px}
.cw-item-photo{
  width:72px;height:72px;border-radius:12px;background:rgba(0,0,0,.2) center/cover no-repeat;
  display:grid;place-items:center;font-size:22px
}
.cw-item-photo.is-empty{opacity:.6}
.cw-item-fields{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.cw-item-fields input{
  width:100%;min-height:38px;border-radius:10px;border:1px solid rgba(127,127,127,.25);
  background:var(--app-input,#f0f2f5);color:inherit;padding:8px 10px;font-size:13px
}
html[data-vk-appearance="dark"] .cw-item-fields input{background:#1e2126;border-color:#3a3d42}
.cw-publish-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}

/* Subscribe-required gate */
.sub-required-banner{text-align:center;padding:8px 4px 4px}
.sub-required-art{position:relative;width:120px;height:120px;margin:0 auto 12px}
.sub-required-emoji{font-size:64px;line-height:120px;position:relative;z-index:1;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25))}
.sub-required-ring{
  position:absolute;inset:8px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#ffe6a8,#f0a202 55%,#e07a00);
  opacity:.35;z-index:0
}
.sub-required-kicker{margin:0;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--vk-muted,#818c99)}
.sub-required-title{margin:6px 0 10px;font-size:20px;line-height:1.2}
.sub-required-text{margin:0 0 18px;font-size:15px;line-height:1.45;color:var(--vk-muted,#818c99)}
.sub-required-text b{color:var(--vk-text,inherit)}

/* Profile: our chat + donate + settings */
.profile-row-chat{
  background:linear-gradient(135deg,rgba(38,136,235,.18),rgba(61,187,255,.08))!important;
  border:1px solid rgba(38,136,235,.35)!important;
}
.profile-row-chat b{color:var(--app-blue,#2688eb)}
.row-icon-chat{
  background:linear-gradient(135deg,#2688eb,#3dbbff)!important;
  color:#fff!important;
  display:grid;place-items:center;font-size:16px;
}
.profile-row-donate{
  background:linear-gradient(135deg,rgba(167,139,250,.14),rgba(236,72,153,.08))!important;
  border:1px solid rgba(167,139,250,.3)!important;
}
.row-icon-donate{
  background:linear-gradient(135deg,#a78bfa,#ec4899)!important;
  color:#fff!important;display:grid;place-items:center;font-size:16px;
}
.settings-modal .settings-block{margin:14px 0;padding:12px;border-radius:14px;background:var(--app-input,rgba(127,127,127,.08));border:1px solid var(--app-line,rgba(127,127,127,.15))}
.settings-modal .settings-block.is-danger{border-color:rgba(230,70,70,.35);background:rgba(230,70,70,.08)}
.settings-label{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--app-muted);margin-bottom:10px}
.theme-chip-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.theme-chip{
  display:flex;align-items:center;gap:10px;text-align:left;
  border:1px solid var(--app-line,rgba(127,127,127,.25));border-radius:12px;padding:10px;
  background:var(--app-card,#fff);color:inherit;cursor:pointer
}
.theme-chip.is-on{border-color:var(--app-blue,#2688eb);box-shadow:0 0 0 1px var(--app-blue,#2688eb)}
.theme-chip b{display:block;font-size:13px}
.theme-chip small{display:block;font-size:11px;opacity:.7}
.theme-chip-swatch{width:28px;height:28px;border-radius:8px;flex:none;border:1px solid rgba(0,0,0,.12)}
.theme-swatch-system{background:linear-gradient(135deg,#f5f7fb 50%,#161719 50%)}
.theme-swatch-light{background:#f5f7fb}
.theme-swatch-dark{background:#161719}
.theme-swatch-ocean{background:linear-gradient(135deg,#0b1c2c,#3dbbff)}
.theme-swatch-sunset{background:linear-gradient(135deg,#1a1210,#ff8a4c)}
.theme-swatch-mint{background:linear-gradient(135deg,#0f1c18,#3dd6a5)}
.theme-swatch-violet{background:linear-gradient(135deg,#15121f,#a78bfa)}
.settings-toggle-row{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:0;background:transparent;color:inherit;text-align:left;padding:4px 0;cursor:pointer
}
.settings-toggle-row b{display:block;font-size:14px}
.settings-toggle-row small{display:block;font-size:12px;opacity:.7;margin-top:2px}
.settings-toggle-pill{
  flex:none;min-width:44px;text-align:center;padding:6px 10px;border-radius:999px;
  font-size:12px;font-weight:800;background:rgba(127,127,127,.2)
}
.settings-toggle-pill.is-on{background:rgba(75,179,75,.25);color:#2a9b3f}
.settings-danger-btn{color:#e64646!important;border-color:rgba(230,70,70,.4)!important}

.theme-group{margin-bottom:12px}
.theme-group-title{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--app-muted);margin:0 0 8px}
.theme-swatch-sakura{background:linear-gradient(135deg,#fff5f8,#e85d8a)}
.theme-swatch-sky{background:linear-gradient(135deg,#eef7ff,#1e90ff)}
.theme-swatch-peach{background:linear-gradient(135deg,#fff6ef,#f0783c)}
.theme-swatch-lavender{background:linear-gradient(135deg,#f6f2ff,#7c5cff)}
.theme-swatch-meadow{background:linear-gradient(135deg,#f1faf4,#1faa6e)}
.theme-swatch-aurora{background:linear-gradient(135deg,#0d1520,#22d3ee)}

/* Account delete / restore banners */
.acc-del-banner{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:20px 16px calc(20px + env(safe-area-inset-bottom));box-sizing:border-box}
.acc-del-banner.open{display:flex}
.acc-del-backdrop{position:absolute;inset:0;background:rgba(8,10,14,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.acc-del-card{position:relative;z-index:1;width:min(400px,100%);background:var(--app-card,#242629);color:var(--app-ink,#f5f5f5);border-radius:22px;padding:28px 22px 22px;box-shadow:0 24px 64px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.06);text-align:center;overflow:hidden;animation:accDelIn .32s ease}
@keyframes accDelIn{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
.acc-del-glow{position:absolute;left:50%;top:-40%;width:140%;height:80%;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(230,70,70,.28),transparent 68%);pointer-events:none}
.acc-del-glow.is-ok{background:radial-gradient(ellipse,rgba(75,179,75,.28),transparent 68%)}
.acc-del-ico{position:relative;width:72px;height:72px;margin:0 auto 14px;display:grid;place-items:center}
.acc-del-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(230,70,70,.45);box-shadow:0 0 0 10px rgba(230,70,70,.08)}
.acc-del-ring.is-ok{border-color:rgba(75,179,75,.5);box-shadow:0 0 0 10px rgba(75,179,75,.1)}
.acc-del-emoji{font-size:32px;line-height:1;position:relative;z-index:1}
.acc-del-eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#e64646;margin-bottom:6px}
.acc-del-card.is-done .acc-del-eyebrow{color:#4bb34b}
.acc-del-title{margin:0 0 10px;font-size:22px;letter-spacing:-.02em;line-height:1.2}
.acc-del-lead{margin:0 0 16px;font-size:14px;line-height:1.45;color:var(--app-muted,#a1a8b1)}
.acc-del-list{list-style:none;margin:0 0 20px;padding:0;text-align:left}
.acc-del-list li{position:relative;padding:10px 12px 10px 36px;margin:0 0 6px;border-radius:12px;background:rgba(230,70,70,.08);border:1px solid rgba(230,70,70,.14);font-size:13px;line-height:1.35;color:var(--app-ink,#f5f5f5)}
.acc-del-list li::before{content:'✕';position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:rgba(230,70,70,.2);color:#e64646;font-size:10px;font-weight:800;display:grid;place-items:center}
.acc-del-actions{display:grid;gap:8px}
.acc-del-danger{background:linear-gradient(135deg,#e64646,#c62828)!important;box-shadow:0 8px 20px rgba(230,70,70,.35)!important;border:0!important}
.acc-del-danger.is-loading{opacity:.75}
.acc-gone-card{max-width:380px}
.acc-gone-points{display:grid;gap:8px;margin:0 0 18px;text-align:left}
.acc-gone-point{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);font-size:13px;line-height:1.35;color:var(--app-ink,#f5f5f5)}
.acc-gone-point span:first-child{font-size:16px;line-height:1.2}
html[data-vk-appearance="light"] .acc-del-card{background:#fff;color:#17181a;border-color:rgba(0,0,0,.06);box-shadow:0 24px 64px rgba(0,0,0,.18)}
html[data-vk-appearance="light"] .acc-del-list li{background:rgba(230,70,70,.06);color:#17181a}
html[data-vk-appearance="light"] .acc-del-backdrop{background:rgba(20,24,32,.55)}

/* Admin schedule composer */
.admin-sched-list{display:flex;flex-direction:column;gap:8px;padding:4px 0 8px}
.admin-sched-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(127,127,127,.08)}
.admin-sched-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.admin-sched-main b{font-size:13px}
.admin-sched-main span,.admin-sched-main small{font-size:12px;color:var(--vk-muted,#8f969f)}
.sched-composer{display:flex;flex-direction:column;gap:12px;padding-bottom:8px}
.sched-field{display:flex;flex-direction:column;gap:6px}
.sched-field span{font-size:12px;font-weight:600;color:var(--vk-muted,#8f969f)}
.sched-field small{font-size:11px;color:var(--vk-muted,#8f969f)}
.sched-field textarea,.sched-field input[type=text],.sched-field input[type=number],.sched-field input[type=url],.sched-field input[type=date],.sched-field input[type=time]{
  width:100%;border-radius:12px;border:1px solid rgba(127,127,127,.25);background:rgba(127,127,127,.08);
  color:inherit;padding:10px 12px;font:inherit;box-sizing:border-box
}
.sched-section-title{font-size:13px;font-weight:700;margin-top:4px}
.sched-toggles,.sched-when{display:flex;flex-direction:column;gap:8px}
.sched-toggle{display:flex;align-items:center;gap:10px;font-size:14px}
.sched-datetime{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sched-buttons{display:flex;flex-direction:column;gap:8px}
.sched-btn-row{display:grid;grid-template-columns:1fr 1.2fr;gap:8px}
.sched-btn-row input{border-radius:12px;border:1px solid rgba(127,127,127,.25);background:rgba(127,127,127,.08);color:inherit;padding:10px 12px;font:inherit}
.sched-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.text-danger{color:#e64646}

/* Topbar beta label (replaces «Сообщество» plaque) */
.topbar-beta-label,
#topbarSubtitle.topbar-beta-label{
  color:#7cda7c !important;
  font-weight:650 !important;
  letter-spacing:.01em;
}

/* Compact beta feedback banner — non-home screens */
.beta-feedback-banner{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:10px 0 14px;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(88,40,180,.22), rgba(40,20,80,.35));
  border:1px solid rgba(167,139,250,.28);
  box-shadow:0 8px 24px rgba(76,29,149,.15);
}
.bfb-art{
  flex:0 0 auto;
  position:relative;
  width:44px;height:44px;
  display:grid;place-items:center;
}
.bfb-flask{font-size:28px;line-height:1;filter:drop-shadow(0 4px 10px rgba(124,58,237,.45))}
.bfb-badge{
  position:absolute;right:-6px;top:-4px;
  font-size:9px;font-weight:800;letter-spacing:.04em;
  padding:2px 6px;border-radius:8px;
  background:#7C3AED;color:#fff;
}
.bfb-body{flex:1;min-width:0}
.bfb-title{display:block;font-size:14px;font-weight:750;margin:0 0 4px;color:inherit}
.bfb-text{margin:0 0 10px;font-size:12.5px;line-height:1.4;color:var(--vk-muted,#a1a8b1)}
.bfb-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bfb-dismiss{font-size:13px;opacity:.85}
.feedback-form .sched-field input[readonly]{opacity:.9}
html[data-vk-appearance="light"] .beta-feedback-banner{
  background:linear-gradient(135deg, rgba(167,139,250,.18), rgba(124,58,237,.08));
  border-color:rgba(124,58,237,.2);
}
@media(max-width:560px){
  .beta-feedback-banner{margin:8px 0 12px;padding:11px 12px}
  .bfb-title{font-size:13.5px}
}

/* ===== Schedule composer v2 ===== */
.sched-composer.sc2{display:flex;flex-direction:column;gap:12px;padding-bottom:6px}
.sc2-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px 2px}
.sc2-hero-text h2{margin:4px 0 2px;font-size:22px;letter-spacing:-.02em}
.sc2-hero-text p{margin:0;font-size:13px;color:var(--vk-muted,#8f969f)}
.sc2-hero-ico{font-size:32px;line-height:1;filter:drop-shadow(0 6px 14px rgba(38,136,235,.35))}
.sc2-card{border-radius:16px;padding:12px 14px;background:rgba(127,127,127,.08);border:1px solid rgba(127,127,127,.12)}
.sc2-card-h{font-size:13px;font-weight:750;margin:0 0 10px;display:flex;align-items:baseline;gap:8px}
.sc2-card-h small{font-weight:500;color:var(--vk-muted,#8f969f);font-size:11px}
.sc2-row{display:flex;gap:8px;align-items:center}
.sc2-row input{flex:1}
.sc2-chips{display:flex;flex-wrap:wrap;gap:8px}
.sc2-chip{border:1px solid rgba(127,127,127,.25);background:rgba(127,127,127,.06);color:inherit;border-radius:999px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.sc2-chip.is-on{background:rgba(38,136,235,.18);border-color:rgba(38,136,235,.45);color:#4ca0ff}
html[data-vk-appearance="light"] .sc2-chip.is-on{color:#1a6fd0}
.sc2-photo-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.sc2-photo-hint{font-size:11px;color:var(--vk-muted,#8f969f)}
.sc2-photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;min-height:28px}
.sc2-photo-empty{grid-column:1/-1;font-size:12px;color:var(--vk-muted,#8f969f);padding:6px 0}
.sc2-photo-item{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:rgba(0,0,0,.2)}
.sc2-photo-item img{width:100%;height:100%;object-fit:cover;display:block}
.sc2-photo-ph{display:grid;place-items:center;height:100%;font-size:22px}
.sc2-photo-x{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-size:14px;line-height:1;cursor:pointer}
.sc2-advanced{margin-top:8px;font-size:12px;color:var(--vk-muted,#8f969f)}
.sc2-advanced summary{cursor:pointer;margin-bottom:6px}
.sc2-actions-grid{display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:420px){.sc2-actions-grid{grid-template-columns:1fr 1fr}}
.sc2-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.35;padding:6px 8px;border-radius:12px;background:rgba(127,127,127,.05)}
.sc2-check input{margin-top:2px;flex:0 0 auto}
.sc2-footer{display:flex;flex-direction:column;gap:8px;margin-top:4px;position:sticky;bottom:0;padding-top:8px;background:inherit}
.admin-sched-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-sched-badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:rgba(127,127,127,.15)}
.admin-sched-badge.st-pending{background:rgba(38,136,235,.2);color:#6db3ff}
.admin-sched-badge.st-done,.admin-sched-badge.st-done_partial{background:rgba(76,175,80,.2);color:#7dca7d}
.admin-sched-badge.st-failed{background:rgba(230,70,70,.18);color:#ff8a8a}
.admin-sched-badge.st-cancelled{background:rgba(127,127,127,.2)}
.admin-sched-when{font-size:12px;color:var(--vk-muted,#8f969f)}
.admin-sched-msg{display:block;opacity:.85}

a.profile-row{text-decoration:none;color:inherit;display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box}
/* fixed banner disabled */

/* Feedback banner — inline in page, never covers nav/moderation */
.beta-feedback-banner-inline,
.beta-feedback-banner{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  top:auto !important;
  z-index:1 !important;
  margin:12px 0 16px !important;
  max-width:100% !important;
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(88,40,180,.28), rgba(40,20,80,.4));
  border:1px solid rgba(167,139,250,.3);
  box-shadow:none;
}
.beta-feedback-banner-fixed{
  position:relative !important;
  bottom:auto !important;
  z-index:1 !important;
  left:auto !important;
  right:auto !important;
}
.bfb-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.bfb-x{
  flex:0 0 auto;
  width:28px;height:28px;
  border:0;border-radius:50%;
  background:rgba(255,255,255,.12);
  color:inherit;font-size:18px;line-height:1;
  cursor:pointer;
}
.bfb-write{margin-top:6px;min-width:120px}
.bfb-text{margin:0 0 4px}
.bfb-art{position:relative;flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center}
.bfb-badge{
  position:static !important;
  font-size:10px;font-weight:800;letter-spacing:.04em;
  padding:3px 7px;border-radius:8px;
  background:#7C3AED;color:#fff;
}

/* Compact feedback banner — profile only (fixed layout) */
.beta-feedback-banner-mini{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:8px !important;
  margin:10px 0 12px !important;
  padding:10px 12px !important;
  border-radius:14px !important;
  background:linear-gradient(135deg, rgba(124,58,237,.22), rgba(59,30,120,.28)) !important;
  border:1px solid rgba(167,139,250,.28) !important;
  box-shadow:none !important;
  position:relative !important;
  left:auto !important; right:auto !important; bottom:auto !important;
  z-index:1 !important;
  max-width:100% !important;
  width:100% !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.beta-feedback-banner-mini .bfb-mini-row{
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-width:0;
}
.bfb-mini-badge{
  flex:0 0 auto;
  font-size:9px;font-weight:800;letter-spacing:.04em;
  padding:3px 6px;border-radius:6px;
  background:#7C3AED;color:#fff;line-height:1.2;
  margin-top:2px;
}
.bfb-mini-text{
  flex:1 1 auto;
  min-width:0;
  display:flex;flex-direction:column;gap:2px;
  font-size:11px;line-height:1.3;
  color:var(--vk-muted,#a1a8b1);
  overflow:hidden;
}
.bfb-mini-text b{
  font-size:12.5px;font-weight:700;color:inherit;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.bfb-mini-text span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
}
.beta-feedback-banner-mini .bfb-x{
  flex:0 0 auto;
  width:26px;height:26px;
  border:0;border-radius:50%;
  background:rgba(255,255,255,.1);
  color:inherit;font-size:16px;line-height:1;
  cursor:pointer;opacity:.8;
  padding:0;
}
.bfb-mini-btn{
  display:flex !important;
  align-items:center;justify-content:center;
  width:100% !important;
  max-width:100% !important;
  min-height:34px !important;
  margin:0 !important;
  padding:0 12px !important;
  border:0 !important;
  border-radius:10px !important;
  background:var(--blue2, #2688eb) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:650 !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}

.we-btn-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.we-btn-chip{
  display:inline-flex;align-items:center;gap:6px;
  border:1px solid rgba(127,127,127,.25);
  background:rgba(127,127,127,.1);
  color:inherit;border-radius:999px;padding:6px 12px;
  font-size:12px;font-weight:650;cursor:pointer;
}
.we-btn-chip.is-on{border-color:#2688eb;background:rgba(38,136,235,.18)}
.we-btn-chip-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.we-btn-editor{margin-top:8px;display:flex;flex-direction:column;gap:8px}
.we-pv-btn.is-active{outline:2px solid #fff;outline-offset:2px}
.hero-widget-btn-extra{position:absolute;z-index:3}

/* ============================================================
   THEME ENGINE v2 — full-interface theming via CSS variables
   Tokens set at runtime by applyThemeMode() on :root
   ============================================================ */

/* Surfaces */
html body,
html .app,
#app {
  background: var(--app-bg) !important;
  color: var(--app-ink) !important;
}
.vk-topbar,
.bottom-nav {
  background: var(--bottom-nav-bg, var(--app-card)) !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
}
.card, .ad-card, .home-ad-card, .account-overview, .dashboard-stats .quick-stat,
.profile-card, .profile-section, .settings-block, .modal .dialog,
.admin-pane, .ap4-card, .ff-card, .coins-history, .feature-pro-full {
  background: var(--app-card) !important;
  color: var(--app-ink) !important;
  border-color: var(--app-line) !important;
}

/* Text & muted */
p, small, .we-micro, .ad-meta, .home-ad-card p, .dashboard-hero p,
.profile-section small, .settings-label + p {
  color: var(--app-muted);
}
h1, h2, h3, h4, b, strong, .ad-card h3 {
  color: var(--app-ink);
}

/* Inputs */
input, textarea, select,
.ff-textarea-wrap, .sched-field input, .sched-field textarea {
  background: var(--app-input) !important;
  color: var(--app-ink) !important;
  border-color: var(--app-line) !important;
}

/* Primary actions — follow accent */
.primary-button,
.fab,
.pro-button,
.bfb-mini-btn,
.hero-create,
.empty button.primary-button,
.ff-submit,
button.primary-button {
  background: var(--btn-primary-bg, var(--app-blue)) !important;
  color: var(--btn-primary-text, #fff) !important;
  border: 0 !important;
  box-shadow: var(--app-shadow) !important;
}
.primary-button .vk-icon,
.fab .vk-icon,
.pro-button .vk-icon {
  color: var(--icon-on-primary, #fff) !important;
}

/* Secondary / soft */
.secondary-button,
.ghost-button,
.edit-btn,
.filter-button,
.ghost-small,
.icon-button,
.settings-toggle-row {
  background: var(--btn-secondary-bg, var(--app-blue-soft)) !important;
  color: var(--btn-secondary-text, var(--app-blue)) !important;
  border-color: var(--app-line) !important;
}
.secondary-button .vk-icon,
.edit-btn .vk-icon,
.filter-button .vk-icon,
.ghost-button .vk-icon {
  color: var(--icon-color) !important;
}

/* Promote / accent soft */
.promote-btn {
  background: var(--btn-promote-bg, var(--app-blue-soft)) !important;
  color: var(--btn-promote-text, var(--app-blue)) !important;
}

/* Danger */
.danger-btn,
.settings-danger-btn {
  background: var(--btn-danger-bg) !important;
  color: var(--btn-danger-text) !important;
}

/* Nav active */
.nav-item.active,
.ap4-tab.is-on,
.ap-module.is-on,
.bottom-nav .nav-item.active {
  background: var(--nav-active-bg, var(--app-blue-soft)) !important;
  color: var(--nav-active-text, var(--app-blue)) !important;
}
.nav-item.active .vk-icon {
  color: var(--icon-color) !important;
}

/* Links & accents */
a, .link-btn, .ad-id-btn, .status.published,
.theme-chip.is-on {
  color: var(--app-blue) !important;
}
.theme-chip.is-on {
  border-color: var(--app-blue) !important;
  background: var(--app-blue-soft) !important;
  box-shadow: 0 0 0 1px var(--app-blue);
}

/* Theme picker modern */
.theme-chip-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.theme-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid var(--app-line);
  background: var(--app-card);
  color: var(--app-ink);
  min-height: 56px;
  position: relative;
  transition: transform .12s ease, border-color .12s ease, background .12s ease;
}
.theme-chip:active { transform: scale(.98); }
.theme-chip-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.theme-chip-meta b {
  font-size: 13px;
  font-weight: 700;
  color: var(--app-ink);
}
.theme-chip-meta small {
  font-size: 11px;
  color: var(--app-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.theme-chip.is-locked {
  opacity: .72;
}
.theme-lock {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 12px;
}
.theme-chip-swatch {
  width: 28px;
  height: 28px;
  border-radius: 9px;
  flex-shrink: 0;
  border: 1px solid rgba(0,0,0,.08);
  background: linear-gradient(135deg, var(--app-blue), var(--app-blue-soft));
}
.theme-swatch-system { background: linear-gradient(135deg, #2688eb, #161719); }
.theme-swatch-light { background: linear-gradient(135deg, #f5f7fb, #2688eb); }
.theme-swatch-dark { background: linear-gradient(135deg, #161719, #8ab8e7); }
.theme-swatch-sakura { background: linear-gradient(135deg, #fff5f8, #e85d8a); }
.theme-swatch-sky { background: linear-gradient(135deg, #eef7ff, #1e90ff); }
.theme-swatch-peach { background: linear-gradient(135deg, #fff6ef, #f0783c); }
.theme-swatch-lavender { background: linear-gradient(135deg, #f6f2ff, #7c5cff); }
.theme-swatch-meadow { background: linear-gradient(135deg, #f1faf4, #1faa6e); }
.theme-swatch-ocean { background: linear-gradient(135deg, #0b1c2c, #3dbbff); }
.theme-swatch-sunset { background: linear-gradient(135deg, #1a1210, #ff8a4c); }
.theme-swatch-mint { background: linear-gradient(135deg, #0f1c18, #3dd6a5); }
.theme-swatch-violet { background: linear-gradient(135deg, #15121f, #a78bfa); }
.theme-swatch-aurora { background: linear-gradient(135deg, #0d1520, #22d3ee); }
.theme-group-title {
  margin: 16px 0 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--app-ink);
}
.theme-access-hint {
  margin: 0 0 10px !important;
  color: var(--app-muted) !important;
  line-height: 1.4;
}
.settings-theme-block {
  border-radius: 16px;
  padding: 14px !important;
}

/* Status chips */
.status {
  border-color: var(--app-line);
}
.status.published, .status.approved {
  background: var(--app-blue-soft) !important;
  color: var(--app-blue) !important;
}

/* Coins / promo cards keep readable contrast but tinted */
.coins-balance-card {
  background: linear-gradient(145deg, var(--app-blue), color-mix(in srgb, var(--app-blue) 70%, #fff)) !important;
  color: #fff !important;
  box-shadow: var(--app-shadow) !important;
}
.coins-balance-card .primary-button {
  background: #fff !important;
  color: var(--app-blue) !important;
}

/* Modal backdrop */
.modal {
  background: color-mix(in srgb, var(--app-bg) 35%, rgba(0,0,0,.45));
}
.modal .dialog {
  background: var(--app-card) !important;
  color: var(--app-ink) !important;
}

/* Admin tabs */
.ap4-tab.is-on, .ap-nav-item.active {
  background: var(--app-blue-soft) !important;
  color: var(--app-blue) !important;
}

/* Scrollbars (where supported) */
* {
  scrollbar-color: var(--app-line) transparent;
}

/* Appeals dedicated screen */
.appeals-screen { max-width: 520px; }
.appeals-toolbar {
  display: flex;
  gap: 8px;
  margin: 0 0 12px;
  align-items: center;
}
.appeals-list-modal {
  max-height: min(62vh, 520px);
  overflow: auto;
  padding-right: 2px;
}
.appeal-card-full {
  background: var(--app-card);
  border: 1px solid var(--app-line);
  border-radius: 14px;
  padding: 12px 14px;
  margin: 0 0 10px;
  color: var(--app-ink);
}
.appeal-card-full header {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  color: var(--app-muted);
  margin-bottom: 8px;
}
.appeal-msg {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
  line-height: 1.45;
  font-size: 14px;
}
.appeal-contact {
  margin-top: 8px;
  font-size: 12px;
  color: var(--app-muted);
}
.appeal-atts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.appeal-att {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  border-radius: 10px;
  background: var(--app-blue-soft);
  color: var(--app-blue) !important;
  font-size: 12px;
  text-decoration: none;
}
.admin-appeals-entry .bfb-mini-btn {
  width: 100%;
  margin-top: 10px;
}

/* Donate disabled for subscribers */
.profile-row-donate.is-disabled,
.profile-row-donate.is-subscriber {
  opacity: 0.72;
  pointer-events: auto;
  cursor: default;
}
.profile-row-donate.is-subscriber b {
  color: var(--icon-success, #4bb34b);
}
.profile-row-donate.is-subscriber .row-icon-donate {
  filter: grayscale(0);
}

.appeal-actions {
  margin-top: 12px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.appeal-del-btn {
  min-height: 36px;
  padding: 0 14px;
  font-size: 13px;
}


/* ── PRO / VK Donate full-screen gate ── */
.app.access-stub.is-pro-gate{
  min-height:100vh;
  margin:0;
  padding:0;
  background:#0c1018;
  color:#f5f5f5;
  display:flex;
  align-items:stretch;
  justify-content:center;
}
.pro-gate{
  position:relative;
  width:min(480px,100%);
  margin:0 auto;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:0 0 calc(20px + env(safe-area-inset-bottom));
  box-sizing:border-box;
  overflow-x:hidden;
}
.pro-gate-bg{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(255,196,60,.22), transparent 60%),
    radial-gradient(ellipse 60% 40% at 80% 100%, rgba(38,136,235,.12), transparent 55%),
    linear-gradient(180deg, #12161f 0%, #0c1018 45%, #0a0d14 100%);
}
.pro-gate-card{
  position:relative; z-index:1;
  display:flex; flex-direction:column; gap:0;
  padding:0 16px 24px;
}
.pro-gate-visual{
  margin:0 -16px 18px;
  border-radius:0 0 28px 28px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.45);
  background:#1a1208;
  aspect-ratio: 1.35 / 1;
  max-height:52vh;
}
.pro-gate-visual img{
  display:block; width:100%; height:100%;
  object-fit:cover; object-position:center top;
}
.pro-gate-badge{
  display:inline-flex; align-self:flex-start;
  margin:0 0 10px;
  padding:6px 12px;
  border-radius:999px;
  font-size:11px; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase;
  color:#1a1208;
  background:linear-gradient(135deg,#ffe08a,#f0a202 55%,#e08a00);
  box-shadow:0 4px 14px rgba(240,162,2,.35);
}
.pro-gate-title{
  margin:0 0 10px;
  font-size:clamp(26px,7vw,34px);
  line-height:1.12;
  letter-spacing:-.03em;
  font-weight:800;
  background:linear-gradient(180deg,#fff8e7,#ffd54f 70%,#f0a202);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.pro-gate-lead{
  margin:0 0 16px;
  font-size:15px;
  line-height:1.5;
  color:#c5cbd3;
}
.pro-gate-lead b{color:#ffe08a;font-weight:700}
.pro-gate-perks{
  list-style:none; margin:0 0 18px; padding:0;
  display:grid; grid-template-columns:1fr; gap:8px;
}
.pro-gate-perks li{
  display:flex; align-items:center; gap:10px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  font-size:14px; font-weight:600; color:#eef1f5;
}
.pro-gate-perks li span{
  width:28px; height:28px; border-radius:9px;
  display:grid; place-items:center;
  background:rgba(240,162,2,.15);
  font-size:14px;
}
.pro-gate-actions{ display:grid; gap:10px; margin-bottom:10px; }
.pro-gate-cta{
  min-height:52px !important;
  border-radius:14px !important;
  font-size:16px !important;
  font-weight:800 !important;
  background:linear-gradient(135deg,#2688eb,#3d9bff) !important;
  box-shadow:0 10px 24px rgba(38,136,235,.35) !important;
  color:#fff !important;
}
.pro-gate-notify{
  min-height:48px !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.06) !important;
  color:#f5f5f5 !important;
  border:1px solid rgba(255,255,255,.1) !important;
}
.pro-gate-status{
  margin:4px 2px 12px !important;
  text-align:center;
  font-size:12px;
  color:#8b949e !important;
}
.pro-gate-footnote{
  margin:0;
  text-align:center;
  font-size:11px;
  color:#5c6570;
  line-height:1.4;
}
html[data-vk-appearance=light] .app.access-stub.is-pro-gate{
  background:#f3f0e8;
  color:#17181a;
}
html[data-vk-appearance=light] .pro-gate-bg{
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(255,196,60,.28), transparent 60%),
    linear-gradient(180deg, #fff8e7 0%, #f5f0e6 100%);
}
html[data-vk-appearance=light] .pro-gate-lead{color:#5c6570}
html[data-vk-appearance=light] .pro-gate-perks li{
  background:#fff; border-color:rgba(0,0,0,.06); color:#17181a;
  box-shadow:0 4px 12px rgba(0,0,0,.04);
}
html[data-vk-appearance=light] .pro-gate-notify{
  background:#fff !important; color:#17181a !important; border-color:rgba(0,0,0,.08) !important;
}
html[data-vk-appearance=light] .pro-gate-status{color:#818c99 !important}
@media(max-width:560px){
  .pro-gate-visual{ max-height:46vh; border-radius:0 0 22px 22px; }
  .pro-gate-title{ font-size:28px; }
}

.pro-gate-price{
  display:flex; justify-content:center; gap:14px; flex-wrap:wrap;
  margin:0 0 14px; padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  font-size:13px; color:#c5cbd3;
}
.pro-gate-price b{ color:#ffe08a; font-weight:800; font-size:15px; }
html[data-vk-appearance="light"] .pro-gate-price{
  background:#fff; border-color:rgba(0,0,0,.06); color:#5c6570;
}
html[data-vk-appearance="light"] .pro-gate-price b{ color:#b8860b; }

.master-staff-list{display:grid;gap:10px;margin-top:10px}
.master-staff-card{display:grid;gap:10px;padding:12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.master-staff-controls{display:grid;gap:8px}
.master-role-row{display:flex;flex-wrap:wrap;gap:6px}
.master-badge{display:inline-flex;align-items:center;margin-top:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(255,255,255,.08);color:#c5cbd3}
.master-badge.is-official{background:rgba(240,162,2,.18);color:#ffd54f}
html[data-vk-appearance="light"] .master-staff-card{background:#fff;border-color:rgba(0,0,0,.06)}

.admin-sched-summary{font-size:12px;color:var(--vk-muted,#8f969f);padding:4px 2px 8px}
.admin-sched-summary b{color:var(--vk-text,#e7e9ec)}
.admin-sched-item.st-row-pending{border:1px solid rgba(38,136,235,.28)}

#adminSchedCard:not([hidden]),#adminSchedCardOverview:not([hidden]){display:block!important}
#adminSchedCard[hidden],#adminSchedCardOverview[hidden]{display:none!important}
#adminScreen .ap4-card#adminSchedCardOverview{margin:12px 0}

/* —— Schedule composer: no horizontal drift on mobile WebView —— */
#modal.open .dialog:has(.sched-composer),
#modal.open .dialog:has(.sc2){
  width: min(520px, 100vw) !important;
  max-width: 100vw !important;
  margin: 0 auto !important;
  left: 0 !important;
  right: 0 !important;
  transform: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  max-height: min(94vh, 900px);
  padding-left: max(12px, env(safe-area-inset-left)) !important;
  padding-right: max(12px, env(safe-area-inset-right)) !important;
  box-sizing: border-box !important;
}
.sched-composer,
.sched-composer.sc2{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
  padding-left: 0;
  padding-right: 0;
}
.sched-composer .sc2-card,
.sched-composer .sc2-hero,
.sched-composer .sc2-row,
.sched-composer .sc2-chips,
.sched-composer .sc2-footer{
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.sc2-hero{flex-wrap: wrap;}
.sc2-hero-text{min-width: 0; flex: 1 1 auto;}
.sc2-hero-text h2{font-size: clamp(18px, 5vw, 22px); overflow-wrap: anywhere;}
.sc2-card{overflow: hidden;}
.sc2-row{flex-wrap: wrap;}
.sc2-row input,
.sched-field input,
.sched-field textarea,
.sc2-card input,
.sc2-card textarea,
.sc2-card select{
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.sc2-photo-grid{
  grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)) !important;
}
.sc2-footer{
  position: sticky;
  bottom: 0;
  z-index: 3;
  margin-top: 12px;
  padding: 10px 0 calc(8px + env(safe-area-inset-bottom));
  background: var(--vk-background, var(--card, #1c1c1e));
  box-shadow: 0 -8px 16px rgba(0,0,0,.12);
}
.sc2-footer .primary-button.wide,
.sc2-footer .secondary-button.wide{
  width: 100%;
  max-width: 100%;
}
html[data-vk-appearance="light"] .sc2-footer{background: #fff;}
@media (max-width: 420px){
  .sc2-hero-ico{ display: none; }
  .sc2-card{ padding: 10px 12px; }
}

#modal.open .dialog.is-sched-dialog{
  width: min(520px, 100vw) !important;
  max-width: 100vw !important;
  margin: 0 auto !important;
  left: 0 !important;
  right: 0 !important;
  transform: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  max-height: min(94vh, 900px);
  padding-left: max(12px, env(safe-area-inset-left)) !important;
  padding-right: max(12px, env(safe-area-inset-right)) !important;
  box-sizing: border-box !important;
}

/* —— Onboarding filled banners (no empty gaps, no PRO-soon art) —— */
.modal.onboarding-modal .onboarding{
  display:flex;
  flex-direction:column;
  min-height: min(88vh, 720px);
  max-height: 94vh;
  padding-bottom: 8px;
}
.modal.onboarding-modal .onboarding-visual,
.modal.onboarding-modal .onboarding-visual-fill{
  height: min(42vh, 340px) !important;
  min-height: 220px !important;
  max-height: 360px;
  margin: 0 0 14px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  position: relative;
}
.onboarding-visual-fill{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 18px 16px;
  box-sizing: border-box;
}
.onb-grad-ads{
  background:
    radial-gradient(ellipse 80% 70% at 20% 20%, rgba(38,136,235,.45), transparent 55%),
    radial-gradient(ellipse 70% 60% at 90% 80%, rgba(100,180,255,.25), transparent 50%),
    linear-gradient(145deg, #0f2740 0%, #1a3a5c 45%, #2688eb 120%);
}
.onb-grad-coins{
  background:
    radial-gradient(ellipse 80% 70% at 80% 15%, rgba(255,200,60,.4), transparent 55%),
    radial-gradient(ellipse 60% 50% at 10% 90%, rgba(255,160,40,.2), transparent 50%),
    linear-gradient(145deg, #3a2a0a 0%, #6b4e12 45%, #f0a202 120%);
}
.onb-grad-pro{
  background:
    radial-gradient(ellipse 80% 70% at 30% 10%, rgba(180,120,255,.4), transparent 55%),
    radial-gradient(ellipse 60% 50% at 90% 90%, rgba(38,136,235,.3), transparent 50%),
    linear-gradient(145deg, #1a1030 0%, #3a2060 45%, #6b3fa0 120%);
}
.onb-fill-inner{
  text-align:center;
  color:#fff;
  width:100%;
  max-width:420px;
}
.onb-fill-badge{
  display:inline-flex;
  padding:5px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.onb-fill-emoji{
  font-size:52px;
  line-height:1;
  filter: drop-shadow(0 8px 20px rgba(0,0,0,.35));
  margin-bottom:8px;
}
.onb-fill-title{
  font-size:clamp(18px, 4.5vw, 24px);
  font-weight:800;
  letter-spacing:-.02em;
  margin-bottom:12px;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.onb-fill-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
}
.onb-chip{
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  font-size:12px;
  font-weight:650;
}
.modal.onboarding-modal .onboarding-art{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.modal.onboarding-modal .onboarding-features{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin: 4px 0 12px;
}
.modal.onboarding-modal .onboarding-features > div{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(127,127,127,.08);
}
.modal.onboarding-modal .onboarding-body,
.modal.onboarding-modal .onboarding-copy{
  flex:1 1 auto;
}
.modal.onboarding-modal .onboarding-actions{
  margin-top:auto;
  padding-top:12px;
  flex:0 0 auto;
}
@media(max-width:560px){
  .modal.onboarding-modal .onboarding-visual,
  .modal.onboarding-modal .onboarding-visual-fill{
    height: min(36vh, 280px) !important;
    min-height: 200px !important;
  }
  .onb-fill-emoji{ font-size:44px; }
}

/* ===== Onboarding feature icons fix (empty squares) 2026-08-26 ===== */
.modal.onboarding-modal .onboarding-features{
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}
.modal.onboarding-modal .onboarding-feature{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  background: rgba(127,127,127,.08) !important;
}
.modal.onboarding-modal .onb-feature-icon{
  flex: none !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 11px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(145deg, rgba(38,136,235,.14), rgba(38,136,235,.06)) !important;
  color: var(--vk-blue, #2688eb) !important;
}
.modal.onboarding-modal .onb-feature-icon .vk-icon{
  width: 18px !important;
  height: 18px !important;
  background-color: currentColor !important;
  background-image: none !important;
  color: inherit !important;
  -webkit-mask-image: var(--icon) !important;
  mask-image: var(--icon) !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
}
.modal.onboarding-modal .onb-feature-text{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.modal.onboarding-modal .onb-feature-text b{
  font-size: 13px !important;
  font-weight: 650 !important;
  white-space: normal !important;
}
.modal.onboarding-modal .onb-feature-text small{
  font-size: 11px !important;
  color: var(--vk-muted, #818c99) !important;
  white-space: normal !important;
  line-height: 1.3 !important;
}
html[data-vk-appearance="dark"] .modal.onboarding-modal .onboarding-feature{
  background: rgba(255,255,255,.06) !important;
}
html[data-vk-appearance="dark"] .modal.onboarding-modal .onb-feature-icon{
  background: linear-gradient(145deg, rgba(138,184,231,.18), rgba(138,184,231,.08)) !important;
  color: #8ab8e7 !important;
}
/* Make sure features are visible even on short screens */
@media (max-height: 720px) {
  .modal.onboarding-modal .onboarding-features{
    display: grid !important;
  }
}

/* ===== Feed tab + poll 2026-08-26 ===== */
.icon-feed{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5.5h16v1.8H4V5.5zm0 5.5h16V13H4v-2zm0 5.5h11V19H4v-2.5z'/%3E%3C/svg%3E");}
.feed-page{padding-bottom:24px}
.feed-poll-hero{
  margin: 4px 0 16px;
  padding: 20px 18px;
  border-radius: 20px;
  background: linear-gradient(135deg, #eef5ff 0%, #f5f0ff 55%, #fff7ed 100%);
  border: 1px solid rgba(38,136,235,.10);
}
html[data-vk-appearance="dark"] .feed-poll-hero{
  background: linear-gradient(135deg, #1a2740 0%, #241e36 55%, #2a2218 100%);
  border-color: rgba(255,255,255,.06);
}
.feed-poll-badge{
  display:inline-block;
  font-size:11px;font-weight:800;letter-spacing:.06em;
  color:#2688eb;background:rgba(38,136,235,.12);
  padding:4px 10px;border-radius:999px;margin-bottom:10px;
}
html[data-vk-appearance="dark"] .feed-poll-badge{color:#8ab8e7;background:rgba(138,184,231,.14)}
.feed-poll-title{font-size:26px;line-height:1.15;margin:0 0 8px;letter-spacing:-.02em}
.feed-poll-lead{margin:0;color:var(--muted,#818c99);font-size:14px;line-height:1.5}
.feed-poll-card{
  background:var(--card,#fff);
  border-radius:18px;
  padding:16px;
  box-shadow:0 4px 20px rgba(20,30,45,.06);
  border:1px solid rgba(20,30,45,.05);
}
html[data-vk-appearance="dark"] .feed-poll-card{
  background:#242629;border-color:#303236;box-shadow:none;
}
.feed-poll-q h2{font-size:18px;margin:0 0 6px;line-height:1.25}
.feed-poll-q p{margin:0 0 14px;color:var(--muted,#818c99);font-size:13px;line-height:1.45}
.feed-poll-options{display:grid;gap:10px}
.feed-poll-option{
  display:block;width:100%;text-align:left;
  border:1px solid rgba(20,30,45,.08);
  background:rgba(127,127,127,.04);
  border-radius:14px;padding:12px 14px;
  transition:border-color .15s, background .15s, transform .1s;
}
.feed-poll-option:active{transform:scale(.985)}
html[data-vk-appearance="dark"] .feed-poll-option{
  border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.04);
}
.feed-poll-option.is-active{
  border-color:rgba(38,136,235,.45);
  background:rgba(38,136,235,.08);
  box-shadow:0 0 0 1px rgba(38,136,235,.15);
}
html[data-vk-appearance="dark"] .feed-poll-option.is-active{
  border-color:rgba(138,184,231,.4);
  background:rgba(138,184,231,.1);
}
.feed-poll-option-top{
  display:flex;align-items:center;gap:10px;margin-bottom:8px;
}
.feed-poll-emoji{font-size:20px;line-height:1}
.feed-poll-label{flex:1;font-weight:650;font-size:14px}
.feed-poll-pct{font-weight:800;font-size:14px;color:var(--app-blue,#2688eb)}
.feed-poll-bar{
  display:block;height:6px;border-radius:99px;
  background:rgba(127,127,127,.12);overflow:hidden;margin-bottom:6px;
}
.feed-poll-bar i{
  display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,#2688eb,#5ba3f5);
  transition:width .35s ease;
}
html[data-vk-appearance="dark"] .feed-poll-bar i{
  background:linear-gradient(90deg,#5a9fd4,#8ab8e7);
}
.feed-poll-count{font-size:11px;color:var(--muted,#818c99)}
.feed-poll-meta{
  display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;
  margin-top:14px;padding-top:12px;
  border-top:1px solid rgba(127,127,127,.12);
  font-size:12px;color:var(--muted,#818c99);
}
.feed-poll-you{font-weight:600}
.feed-poll-loading,.feed-poll-error{
  text-align:center;padding:28px 12px;color:var(--muted,#818c99);font-size:14px;
}
.feed-poll-note{margin-top:14px;padding:0 4px}
.feed-poll-note p{margin:0;font-size:12px;color:var(--muted,#818c99);line-height:1.45}
/* 5 tabs when admin visible */
.bottom-nav{display:flex}
.bottom-nav .nav-item{flex:1 1 0;width:auto;min-width:0}

.feed-poll-deadline, .feed-poll-lead-deadline{
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--muted, #818c99);
}
.feed-poll-deadline b, .feed-poll-lead-deadline b{
  color: var(--app-blue, #2688eb);
  font-weight: 700;
}


/* ===== Onboarding — light theme optimization ===== */
/* Shared fill text always readable on gradients */
.onboarding-visual-fill .onb-fill-inner,
.onboarding-visual-fill .onb-fill-title,
.onboarding-visual-fill .onb-fill-badge,
.onboarding-visual-fill .onb-chip{
  color: #fff !important;
}

/* Dark theme: keep deep saturated banners */
html[data-vk-appearance=dark] .onboarding-visual-fill.onb-grad-ads,
.modal.onboarding-modal .onboarding-visual-fill.onb-grad-ads,
.onboarding-visual-fill.onb-grad-ads{
  background:
    radial-gradient(ellipse 80% 70% at 20% 20%, rgba(38,136,235,.45), transparent 55%),
    radial-gradient(ellipse 70% 60% at 90% 80%, rgba(100,180,255,.25), transparent 50%),
    linear-gradient(145deg, #0f2740 0%, #1a3a5c 45%, #2688eb 120%) !important;
  color: #fff !important;
}
html[data-vk-appearance=dark] .onboarding-visual-fill.onb-grad-coins,
.modal.onboarding-modal .onboarding-visual-fill.onb-grad-coins,
.onboarding-visual-fill.onb-grad-coins{
  background:
    radial-gradient(ellipse 80% 70% at 80% 15%, rgba(255,200,60,.4), transparent 55%),
    radial-gradient(ellipse 60% 50% at 10% 90%, rgba(255,160,40,.2), transparent 50%),
    linear-gradient(145deg, #3a2a0a 0%, #6b4e12 45%, #f0a202 120%) !important;
  color: #fff !important;
}
html[data-vk-appearance=dark] .onboarding-visual-fill.onb-grad-pro,
.modal.onboarding-modal .onboarding-visual-fill.onb-grad-pro,
.onboarding-visual-fill.onb-grad-pro{
  background:
    radial-gradient(ellipse 80% 70% at 30% 10%, rgba(180,120,255,.4), transparent 55%),
    radial-gradient(ellipse 60% 50% at 90% 90%, rgba(38,136,235,.3), transparent 50%),
    linear-gradient(145deg, #1a1030 0%, #3a2060 45%, #6b3fa0 120%) !important;
  color: #fff !important;
}

/* Light theme: brighter, cleaner gradients (still enough contrast for white type) */
html[data-vk-appearance=light] .modal.onboarding-modal .dialog{
  background: #ffffff !important;
  color: #17181a !important;
  box-shadow: 0 16px 48px rgba(20,30,45,.12) !important;
}
html[data-vk-appearance=light] .modal.onboarding-modal .onboarding h2{
  color: #17181a !important;
  letter-spacing: -0.03em;
}
html[data-vk-appearance=light] .modal.onboarding-modal .onboarding-lead{
  color: #6b7480 !important;
}
html[data-vk-appearance=light] .modal.onboarding-modal .eyebrow{
  color: #2688eb !important;
  font-weight: 700;
}
html[data-vk-appearance=light] .modal.onboarding-modal .eyebrow-beta{
  color: #7c3aed !important;
}
html[data-vk-appearance=light] .modal.onboarding-modal .eyebrow-legal{
  color: #2688eb !important;
}

/* Light banners — vivid but not muddy */
html[data-vk-appearance=light] .onboarding-visual-fill.onb-grad-ads,
html[data-vk-appearance=light] .modal.onboarding-modal .onboarding-visual-fill.onb-grad-ads{
  background:
    radial-gradient(ellipse 90% 80% at 15% 15%, rgba(255,255,255,.28), transparent 50%),
    radial-gradient(ellipse 70% 60% at 90% 85%, rgba(120,200,255,.35), transparent 55%),
    linear-gradient(145deg, #1a5fb4 0%, #2688eb 48%, #5bb0ff 100%) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 10px 28px rgba(38,136,235,.18) !important;
}
html[data-vk-appearance=light] .onboarding-visual-fill.onb-grad-coins,
html[data-vk-appearance=light] .modal.onboarding-modal .onboarding-visual-fill.onb-grad-coins{
  background:
    radial-gradient(ellipse 90% 80% at 85% 10%, rgba(255,255,255,.3), transparent 50%),
    radial-gradient(ellipse 60% 50% at 10% 90%, rgba(255,220,120,.35), transparent 50%),
    linear-gradient(145deg, #c47a00 0%, #e8a017 48%, #f5c542 100%) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 10px 28px rgba(232,160,23,.16) !important;
}
html[data-vk-appearance=light] .onboarding-visual-fill.onb-grad-pro,
html[data-vk-appearance=light] .modal.onboarding-modal .onboarding-visual-fill.onb-grad-pro{
  background:
    radial-gradient(ellipse 90% 80% at 25% 10%, rgba(255,255,255,.25), transparent 50%),
    radial-gradient(ellipse 60% 50% at 95% 90%, rgba(160,140,255,.35), transparent 50%),
    linear-gradient(145deg, #5b2d9e 0%, #7c4dcc 48%, #a78bfa 100%) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 10px 28px rgba(124,77,204,.16) !important;
}

/* Light: feature cards */
html[data-vk-appearance=light] .modal.onboarding-modal .onboarding-features > div,
html[data-vk-appearance=light] .modal.onboarding-modal .onboarding-feature{
  background: #f4f7fb !important;
  border: 1px solid rgba(20,30,45,.06) !important;
  box-shadow: none !important;
}
html[data-vk-appearance=light] .modal.onboarding-modal .onb-feature-icon{
  background: #e8f1ff !important;
  color: #2688eb !important;
}
html[data-vk-appearance=light] .modal.onboarding-modal .onb-feature-text b,
html[data-vk-appearance=light] .modal.onboarding-modal .onboarding-features b{
  color: #17181a !important;
}
html[data-vk-appearance=light] .modal.onboarding-modal .onb-feature-text small,
html[data-vk-appearance=light] .modal.onboarding-modal .onboarding-features small{
  color: #818c99 !important;
}

/* Light: chips/badge on banners a bit glassier */
html[data-vk-appearance=light] .onboarding-visual-fill .onb-fill-badge{
  background: rgba(255,255,255,.22) !important;
  backdrop-filter: blur(8px);
}
html[data-vk-appearance=light] .onboarding-visual-fill .onb-chip{
  background: rgba(255,255,255,.20) !important;
  border-color: rgba(255,255,255,.28) !important;
  backdrop-filter: blur(6px);
}
html[data-vk-appearance=light] .onboarding-visual-fill .onb-fill-title{
  text-shadow: 0 1px 10px rgba(0,0,0,.18) !important;
}

/* Light: pager dots */
html[data-vk-appearance=light] .modal.onboarding-modal .onboarding-pager i{
  background: rgba(20,30,45,.12);
}
html[data-vk-appearance=light] .modal.onboarding-modal .onboarding-pager i.active{
  background: #2688eb;
}

/* Light: primary CTA */
html[data-vk-appearance=light] .modal.onboarding-modal .onboarding-actions .primary-button{
  background: #2688eb !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(38,136,235,.28) !important;
}
html[data-vk-appearance=light] .modal.onboarding-modal .onboarding-skip,
html[data-vk-appearance=light] .modal.onboarding-modal .secondary-button.onboarding-skip{
  color: #6b7480 !important;
  background: transparent !important;
}

/* Override generic light gray visual for fill slides */
html[data-vk-appearance=light] .onboarding-visual.onboarding-visual-fill{
  background: transparent !important; /* gradient classes own the bg */
}



/* ===== Console redesign 2026-08-26 ===== */
.console-screen-fs{
  position:fixed; inset:0; z-index:80;
  display:flex; flex-direction:column;
  background:var(--app-bg,#0f1115);
  color:var(--app-ink,#f2f3f5);
}
html[data-vk-appearance="light"] .console-screen-fs{
  background:#f4f6f9; color:#17181a;
}
.cx-top{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px; padding-top:max(10px, env(safe-area-inset-top));
  border-bottom:1px solid rgba(127,127,127,.18);
  background:inherit; flex-shrink:0;
}
.cx-back{
  width:40px; height:40px; border:0; border-radius:12px;
  background:rgba(127,127,127,.12); color:inherit; display:grid; place-items:center;
}
.cx-top-text{ flex:1; min-width:0; }
.cx-title{ margin:0; font-size:18px; font-weight:800; letter-spacing:-.02em; }
.cx-sub{ margin:2px 0 0; font-size:12px; opacity:.65; }
.cx-top-actions{ display:flex; gap:6px; }
.cx-btn{
  border:0; border-radius:10px; padding:8px 12px;
  background:rgba(127,127,127,.14); color:inherit; font-weight:700; font-size:13px;
}
.cx-btn-primary{ background:#2688eb; color:#fff; }
.cx-body{ flex:1; min-height:0; display:flex; flex-direction:column; }
.cx-filters{
  padding:10px 12px 8px; display:flex; flex-direction:column; gap:8px;
  border-bottom:1px solid rgba(127,127,127,.12); flex-shrink:0;
}
.cx-search input,
.cx-row input,
.cx-select{
  width:100%; box-sizing:border-box;
  border:1px solid rgba(127,127,127,.2); border-radius:12px;
  padding:10px 12px; font-size:14px;
  background:rgba(127,127,127,.08); color:inherit;
}
.cx-row{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.cx-chips{
  display:flex; gap:6px; overflow-x:auto; -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.cx-chips::-webkit-scrollbar{ display:none; }
.cx-chip{
  flex:0 0 auto; border:0; border-radius:999px;
  padding:7px 12px; font-size:12px; font-weight:700;
  background:rgba(127,127,127,.12); color:inherit;
}
.cx-chip.is-active{ background:#2688eb; color:#fff; }
.cx-feed{
  flex:1; min-height:0; overflow-y:auto; padding:8px 10px 24px;
  display:flex; flex-direction:column; gap:8px;
}
.cx-item{
  display:flex; gap:10px; padding:10px 12px;
  border-radius:14px;
  background:rgba(127,127,127,.08);
  border-left:3px solid transparent;
}
.cx-item.severity-danger{ border-left-color:#e64646; }
.cx-item.severity-warn{ border-left-color:#f5a623; }
.cx-item.severity-ok{ border-left-color:#4bb34b; }
.cx-item.severity-info{ border-left-color:#2688eb; }
html[data-vk-appearance="light"] .cx-item{ background:#fff; box-shadow:0 1px 4px rgba(20,30,45,.06); }
.cx-item-left{ flex-shrink:0; }
.cx-av{
  width:36px; height:36px; border-radius:50%; object-fit:cover; display:block;
  background:rgba(127,127,127,.2);
}
.cx-av-fallback{
  display:grid; place-items:center; font-weight:800; font-size:14px;
  color:#fff; background:#3d4a5c;
}
.cx-item-main{ min-width:0; flex:1; }
.cx-item-top{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:4px; }
.cx-badge{
  font-size:11px; font-weight:800; padding:3px 8px; border-radius:999px;
  background:rgba(38,136,235,.15); color:#2688eb;
}
.cx-badge.tone-danger{ background:rgba(230,70,70,.15); color:#e64646; }
.cx-badge.tone-warn{ background:rgba(245,166,35,.15); color:#c4841a; }
.cx-badge.tone-green{ background:rgba(75,179,75,.15); color:#2a9a4a; }
.cx-badge.tone-gold{ background:rgba(224,162,26,.15); color:#c48a10; }
.cx-badge.tone-purple{ background:rgba(155,135,245,.18); color:#7b6ad8; }
.cx-badge.tone-muted{ background:rgba(127,127,127,.15); color:inherit; opacity:.85; }
.cx-time{ font-size:11px; opacity:.55; white-space:nowrap; }
.cx-item-title{ font-size:14px; font-weight:700; line-height:1.3; word-break:break-word; }
.cx-item-detail{ font-size:12px; opacity:.72; margin-top:3px; line-height:1.35; word-break:break-word; }
.cx-item-meta{ margin-top:6px; font-size:11px; display:flex; flex-wrap:wrap; gap:4px 8px; align-items:center; }
.cx-link{ color:#2688eb; text-decoration:none; font-weight:650; }
.cx-muted{ opacity:.6; }
.cx-mini{
  border:0; background:rgba(38,136,235,.12); color:#2688eb;
  border-radius:6px; padding:2px 6px; font-size:11px; font-weight:700;
}
.cx-empty{
  text-align:center; padding:48px 20px; display:flex; flex-direction:column; align-items:center; gap:8px;
}
.cx-empty-icon{ font-size:36px; }
.cx-spin{
  width:22px; height:22px; border:2px solid rgba(127,127,127,.25); border-top-color:#2688eb;
  border-radius:50%; animation:cxspin .7s linear infinite; display:inline-block;
}
@keyframes cxspin{ to{ transform:rotate(360deg); } }
.cx-foot{ padding:8px 12px 16px; flex-shrink:0; }
.cx-load-more{
  width:100%; border:0; border-radius:12px; padding:12px;
  background:rgba(127,127,127,.12); color:inherit; font-weight:700;
}


/* Help modal */
.help-modal .help-actions{ display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.help-action-card{
  display:flex; align-items:center; gap:12px; width:100%;
  text-align:left; border:1px solid rgba(127,127,127,.18);
  background:rgba(127,127,127,.06); border-radius:14px; padding:14px 12px;
  color:inherit; cursor:pointer;
}
html[data-vk-appearance="light"] .help-action-card{ background:#fff; }
.help-action-icon{ font-size:22px; width:36px; text-align:center; flex-shrink:0; }
.help-action-text{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.help-action-text b{ font-size:15px; font-weight:750; }
.help-action-text small{ font-size:12px; opacity:.65; line-height:1.3; }
.help-action-chevron{ font-size:22px; opacity:.35; flex-shrink:0; }

/* Console top bar — no overlap */
.cx-top{
  display:flex; align-items:center; gap:8px;
  padding:10px 10px; padding-top:max(10px, env(safe-area-inset-top));
  flex-shrink:0;
}
.cx-top-text{ flex:1; min-width:0; overflow:hidden; }
.cx-title{ margin:0; font-size:17px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cx-sub{ margin:2px 0 0; font-size:11px; opacity:.6; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cx-top-actions{
  display:flex; align-items:center; gap:6px; flex-shrink:0;
}
.cx-btn{
  border:0; border-radius:10px; padding:8px 10px;
  background:rgba(127,127,127,.14); color:inherit; font-weight:700; font-size:12px;
  white-space:nowrap; line-height:1.2;
}
.cx-btn-auto{ min-width:52px; }
.cx-btn-auto.is-active{ background:rgba(75,179,75,.2); color:#2a9a4a; }
.cx-btn-icon{ width:40px; height:40px; padding:0; display:grid; place-items:center; font-size:18px; }
.cx-btn-primary{ background:#2688eb; color:#fff; }
.cx-back{ flex-shrink:0; }

/* === CW VK Catalog UI === */
.cw-vkcat{display:flex;flex-direction:column;min-height:min(92vh,720px);max-height:92vh}
.cw-vkcat-top{display:flex;align-items:center;gap:8px}
.cw-vkcat-top .cw-vkcat-titles{flex:1;min-width:0}
.cw-vkcat-top h2{font-size:20px;margin:2px 0 0}
.cw-back{
  width:36px;height:36px;border-radius:10px;border:1px solid rgba(127,127,127,.25);
  background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer;flex:0 0 auto
}
.cw-view{flex:1;min-height:0;display:flex;flex-direction:column}
#cwCatalogView{padding:8px 12px 20px;overflow:auto}
#cwSettingsView{display:flex;flex-direction:column;min-height:0;flex:1}
.cw-settings-scroll{flex:1;min-height:0;overflow:auto;padding:0 12px 12px}
.cw-vkcat-preview-wrap{padding:0 12px 10px}
.cw-vkcat .cw-preview{
  border-radius:16px;min-height:176px;background:linear-gradient(160deg,#1c1f24,#2a2f38);
  border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 28px rgba(0,0,0,.25);position:relative;overflow:hidden
}
.cw-preview-inner{position:absolute;inset:0;padding:14px;overflow:hidden;display:flex;flex-direction:column}
.cw-type-grid-vk{display:flex;flex-direction:column;gap:12px}
.cw-type-card{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:none;border-radius:18px;padding:18px 16px;text-align:left;cursor:pointer;
  color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.2);transition:transform .12s ease,box-shadow .12s ease,outline .12s
}
.cw-type-card:active{transform:scale(.985)}
.cw-type-card.is-on{outline:2px solid rgba(255,255,255,.95);box-shadow:0 0 0 3px rgba(255,255,255,.22),0 10px 26px rgba(0,0,0,.3)}
.cw-type-text{background:linear-gradient(135deg,#3ecfbf,#1f9f93)}
.cw-type-list{background:linear-gradient(135deg,#5aa8ff,#2f7fe0)}
.cw-type-tiles{background:linear-gradient(135deg,#6ad66a,#3da83d)}
.cw-type-card-body{min-width:0}
.cw-type-card strong{display:block;font-size:16px;font-weight:800;letter-spacing:.02em;margin-bottom:6px}
.cw-type-card span{display:block;font-size:13px;line-height:1.35;opacity:.94}
.cw-type-more{
  flex:0 0 auto;background:rgba(255,255,255,.22);border-radius:999px;padding:9px 12px;
  font-size:12px;font-weight:700;white-space:nowrap
}
.cw-vkcat-footnote{margin:16px 2px 0;font-size:12px;line-height:1.4;color:var(--app-muted,#818c99)}
.cw-vkcat-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.cw-vkcat-field>span{font-size:12px;font-weight:600;color:var(--app-muted,#818c99)}
.cw-vkcat-field input,.cw-vkcat-field textarea,.cw-vkcat-field select{
  width:100%;box-sizing:border-box;border-radius:12px;border:1px solid var(--app-line,#e7eaf0);
  background:var(--app-input,#f8f9fa);color:var(--app-ink,#17181a);padding:10px 12px;font:inherit
}
html[data-vk-appearance="dark"] .cw-vkcat-field input,
html[data-vk-appearance="dark"] .cw-vkcat-field textarea,
html[data-vk-appearance="dark"] .cw-vkcat-field select{background:#1e2126;border-color:#3a3d42;color:#e7eaf0}
.cw-vkcat-switch{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 0;border-bottom:1px solid rgba(127,127,127,.14)
}
.cw-vkcat-switch span{display:flex;flex-direction:column;gap:2px;min-width:0}
.cw-vkcat-switch b{font-size:14px}
.cw-vkcat-switch small{font-size:12px;color:var(--app-muted,#818c99);line-height:1.3}
.cw-vkcat-switch input[type=checkbox]{width:22px;height:22px;accent-color:#2688eb;flex:0 0 auto}
.cw-vkcat-switch-main{margin-top:8px;border-top:1px solid rgba(127,127,127,.18);padding-top:16px}
.cw-vkcat-section-title{margin:16px 0 6px;font-size:13px;font-weight:700;color:var(--app-muted,#818c99);text-transform:none}
.cw-vkcat-items-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:8px 0 10px}
.cw-count-field{max-width:140px}
.cw-vkcat-footer{
  flex:0 0 auto;padding:10px 12px calc(12px + env(safe-area-inset-bottom));
  background:var(--app-card,#16181c);
  border-top:1px solid rgba(127,127,127,.14);
  display:flex;flex-direction:column;gap:8px;z-index:5
}
.cw-vkcat-footer .primary-button{font-weight:800;border-radius:14px;padding:14px 16px}
.cw-pv-badge{
  display:inline-flex;align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.12);color:#dfe6ee;margin-bottom:8px
}
.cw-pv-text h3,.cw-pv-list h3,.cw-pv-tiles h3{margin:0 0 8px;font-size:16px;font-weight:800;line-height:1.2;color:#fff}
.cw-pv-text p,.cw-pv-note{margin:0;font-size:13px;line-height:1.35;color:rgba(255,255,255,.88)}
.cw-pv-list{display:flex;flex-direction:column;gap:6px;height:100%}
.cw-pv-row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:13px
}
.cw-pv-row em{font-style:normal;font-weight:700;font-size:12px;padding:4px 8px;border-radius:8px;background:#2688eb;color:#fff}
.cw-pv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1;min-height:0}
.cw-pv-tile{position:relative;min-height:88px;border-radius:12px;background:#2a3038 center/cover no-repeat;overflow:hidden}
.cw-pv-tile-cap{position:absolute;left:0;right:0;bottom:0;padding:8px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff}
.cw-pv-tile-cap b{display:block;font-size:12px}
.cw-pv-tile-cap span{display:block;font-size:11px;opacity:.85;margin-top:2px}
.cw-items{display:flex;flex-direction:column;gap:10px}
.cw-item-card{border:1px solid rgba(127,127,127,.22);border-radius:14px;padding:10px;background:rgba(127,127,127,.06)}
.cw-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cw-item-row{display:flex;gap:10px}
.cw-item-photo-wrap{display:flex;flex-direction:column;gap:6px;align-items:center;flex:0 0 72px}
.cw-item-photo{
  width:72px;height:72px;border-radius:12px;background:#2a3038 center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;font-size:22px
}
.cw-item-photo.is-empty{opacity:.7}
.cw-item-fields{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.cw-item-fields input{
  width:100%;box-sizing:border-box;border-radius:10px;border:1px solid rgba(127,127,127,.25);
  background:var(--app-input,#f8f9fa);color:inherit;padding:8px 10px;font:inherit
}
html[data-vk-appearance="dark"] .cw-item-fields input{background:#1e2126;border-color:#3a3d42}
/* === CW Widget Fullscreen === */
body.cw-widget-active #app{visibility:hidden}
.modal.cw-widget-modal{
  position:fixed!important;inset:0!important;z-index:2147483000!important;isolation:isolate
}
.modal.cw-widget-modal .backdrop{display:none}
.modal.cw-widget-modal .dialog,
.modal.open.cw-widget-modal .dialog,
body.modal-open #modal.cw-widget-modal .dialog{
  position:fixed!important;inset:0!important;left:0;top:0;
  transform:none!important;
  width:100vw!important;max-width:none!important;
  max-height:none!important;height:100dvh!important;min-height:100vh!important;
  overflow:hidden!important;border-radius:0!important;
  padding:0!important;margin:0!important;box-shadow:none!important;
  background:var(--app-bg,#f5f7fb)
}
html[data-vk-appearance="dark"] .modal.cw-widget-modal .dialog{
  background:#161719;color:#f5f5f5
}
.modal.cw-widget-modal .dialog>.close{display:none!important}
.modal.cw-widget-modal #modalContent{
  height:100%;max-height:none;overflow:hidden;padding:0;display:flex;flex-direction:column
}
.modal.cw-widget-modal .cw-vkcat,
.modal.cw-widget-modal .we2-community{
  flex:1;min-height:0;max-height:none!important;height:100%;
  padding:calc(10px + env(safe-area-inset-top)) 0 0;
  box-sizing:border-box
}
.modal.cw-widget-modal .cw-vkcat-top{
  padding:0 12px 8px
}
.modal.cw-widget-modal #cwCatalogView{
  flex:1;min-height:0;overflow:auto;
  padding:8px 12px calc(20px + env(safe-area-inset-bottom))
}
.modal.cw-widget-modal #cwSettingsView{
  flex:1;min-height:0;display:flex;flex-direction:column
}
.modal.cw-widget-modal .cw-settings-scroll{
  flex:1;min-height:0;overflow:auto;
  padding:0 12px calc(8px + env(safe-area-inset-bottom))
}
.modal.cw-widget-modal .cw-vkcat-footer{
  padding-bottom:calc(12px + env(safe-area-inset-bottom))
}

/* CW view exclusivity — [hidden] must win over display:flex */
.cw-view[hidden],
#cwCatalogView[hidden],
#cwSettingsView[hidden],
#cwFooterBar[hidden],
.cw-vkcat .cw-back[hidden]{
  display:none !important;
}
#cwRoot[data-view="catalog"] #cwSettingsView,
#cwRoot[data-view="catalog"] #cwFooterBar{display:none !important}
#cwRoot[data-view="settings"] #cwCatalogView{display:none !important}
#cwRoot[data-view="settings"] #cwSettingsView{
  display:flex !important;flex-direction:column;flex:1;min-height:0
}
#cwRoot[data-view="catalog"] #cwCatalogView{
  display:flex !important;flex-direction:column;flex:1;min-height:0
}



/* Feed poll closed stub */
.feed-poll-closed{text-align:center;padding:8px 4px 4px}
.feed-poll-closed-badge{
  display:inline-block;font-size:11px;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:10px;
  background:rgba(75,179,75,.16);color:#4bb34b;
}
html[data-vk-appearance="dark"] .feed-poll-closed-badge{
  background:rgba(75,179,75,.2);color:#7dce7d;
}
.feed-poll-closed h2{margin:0 0 8px}
.feed-poll-closed p{margin:0;color:var(--muted,#818c99);font-size:14px;line-height:1.45}
