/* ---- Спільна шкала розмірів шрифту (той самий масштаб, що вже
   використовувала головна сторінка в kz-* класах до введення змінних) -
   мета: поступово перевести решту сайту (адмінка/FTP-менеджер/консоль/
   таблиці) на ці 7 значень замість розкиданих 8-15px, щоб типографіка
   виглядала однаково на всіх вкладках SPA. --fs-2xs..--fs-lg від
   найдрібнішого підпису до найбільшого заголовка секції. */
:root{
    --fs-2xs:8px;
    --fs-xs:9px;
    --fs-sm:10px;
    --fs-base:10.5px;
    --fs-md:11.5px;
    --fs-lg:12px;
    --fs-xl:13px;
}

/* ---- kreedz.com-inspired layout поверх спільної теми зі style.php ---- */
/* Sticky footer - на сторінках з малою кількістю контенту (напр. адмінка з
   1-2 вкладками даних) footer раніше "плавав" одразу під контентом,
   замість того щоб триматись низу viewport. body:flex-column + #page-root
   flex:1 (розтягується на всю вільну висоту) притискає footer донизу. */
html,body{min-height:100%}
body{display:flex;flex-direction:column}
.kz-topbar{background:rgba(10,11,14,.92);border-bottom:1px solid #23262f;padding:8px 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:fixed;top:0;left:0;right:0;z-index:10;backdrop-filter:blur(6px)}
#page-root{margin-top:52px;opacity:1;transition:opacity .18s ease;flex:1 0 auto}
.kz-footer{flex-shrink:0}
#page-root.wb-fade-out{opacity:0}
/* Той самий fade, що #page-root, для "вбудованих" переходів у лівій колонці
   Головної (Карта/Топ гравців/LJ Tops/профіль гравця) - showHomeTops()/
   showHomeDefault() в index.php. */
#wb-home-left-col{opacity:1;transition:opacity .18s ease}
#wb-home-left-col.wb-fade-out{opacity:0}
.kz-topbar-left{display:flex;align-items:center;gap:10px;justify-self:start}
.kz-logo{font-weight:900;font-size:15px;letter-spacing:.4px;color:#7fb8ff;flex-shrink:0}
.kz-nav{display:flex;gap:4px;justify-self:center}
.kz-nav a,.kz-nav button{color:#9aa7bd;font-size:var(--fs-md);font-weight:600;padding:7px 12px;border-radius:5px;white-space:nowrap;background:none;border:none;font-family:inherit;cursor:pointer}
.kz-nav a:hover,.kz-nav button:hover{background:#181b23;color:#c7d2e3;text-decoration:none}
.kz-nav a.active,.kz-nav button.active{color:#7fb8ff}
.kz-topbar-right{justify-self:end;flex-shrink:0;display:flex;align-items:center;gap:12px}

.kz-footer{margin-top:32px;border-top:1px solid #23262f;background:rgba(10,11,14,.6)}
.kz-footer .kz-wrap{padding-top:20px;padding-bottom:20px}
.kz-footer-nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.kz-footer-nav a{color:#9aa7bd;font-size:var(--fs-base);font-weight:600;text-decoration:none}
.kz-footer-nav a:hover{color:#7fb8ff}
.kz-footer-bottom{margin-top:16px;padding-top:14px;border-top:1px solid #1c1f27;color:#5a6478;font-size:var(--fs-xs)}

/* Бургер-меню (< 860px, коли .kz-nav вже не вміщується по ширині поруч з
   лого і topbar-right) - той самий підхід, що на kreedz.com: пункти
   топбару ховаються в .kz-nav, замість них з'являється кнопка ☰ і випадний
   .kz-nav-mobile (дублює ті самі [data-page] кнопки вертикально). */
.kz-burger{display:none;align-items:center;justify-content:center;width:30px;height:30px;padding:0;background:none;border:none;color:#c7d2e3;cursor:pointer;border-radius:5px;flex-shrink:0}
.kz-burger:hover{background:#181b23}
.kz-nav-mobile{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#0d0f14;border-bottom:1px solid #23262f;box-shadow:0 12px 24px rgba(0,0,0,.45);padding:6px;gap:2px}
.kz-nav-mobile.open{display:flex}
.kz-nav-mobile button{text-align:left;color:#9aa7bd;font-size:var(--fs-md);font-weight:600;padding:9px 12px;border-radius:5px;white-space:nowrap;background:none;border:none;font-family:inherit;cursor:pointer}
.kz-nav-mobile button:hover{background:#181b23;color:#c7d2e3}
.kz-nav-mobile button.active{color:#7fb8ff}
@media (max-width:860px){
    .kz-topbar{grid-template-columns:auto 1fr auto;position:relative}
    .kz-burger{display:flex}
    .kz-nav{display:none}
}
.kz-lang-flag img{width:15px;display:block;border-radius:2px}
.kz-login-btn{background:#181b23;border:1px solid #2a2e3a;color:#d8dee8;font-size:var(--fs-base);font-weight:600;padding:6px 12px;border-radius:6px}
.kz-login-btn:hover{background:#20242f;text-decoration:none;color:#fff}

/* Маленька кругла аватарка в topbar (замінює квадратний .profile-avatar-link
   зі style.php - той стиль лишається як є для решти сайту). */
.kz-topbar .profile-avatar-link .avatar,
.kz-topbar .profile-avatar-link .avatar-placeholder{width:26px!important;height:26px!important;min-width:26px!important;border-radius:50%!important}

.kz-wrap{max-width:1200px;margin:0 auto;padding:12px 12px 26px}
.kz-section-head{display:flex;align-items:center;gap:7px;margin:0 0 7px}
.kz-section-head .bar{width:3px;height:11px;background:#3a7bd5;border-radius:2px;flex-shrink:0}
.kz-section-head h2{margin:0;font-size:var(--fs-base);font-weight:700;color:#f0f2f5;text-transform:uppercase;letter-spacing:.4px}
.kz-section-head .more{margin-left:auto;font-size:var(--fs-sm);color:#8a93a6}

.kz-records-carousel{position:relative}
.kz-records{display:flex;gap:8px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;min-width:0}
.kz-records::-webkit-scrollbar{display:none}
/* Рівно 6 карток на "екран" при ширині track ~1080px (kz-wrap max-width:1200px
   мінус padding) - ширина картки = 1/6 доступної ширини мінус частка gap.
   На вужчих екранах картки лишаються тієї ж ширини (не стискаються), тому
   влазить менше, а решта - під горизонтальним скролом/стрілками. */
.kz-records .kz-rec-card{flex:0 0 calc((1080px - 5 * 8px) / 6)}
@media (max-width:480px){.kz-records .kz-rec-card{flex:0 0 calc((100vw - 5 * 8px) / 2.4)}}
.kz-records-arrow{position:absolute;top:50%;margin-top:-15px;z-index:2;width:30px;height:30px;border-radius:50%;background:rgba(15,17,22,.85);border:1px solid rgba(255,255,255,.12);color:#f5f7fa;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;padding:0;backdrop-filter:blur(2px)}
.kz-records-arrow-prev{left:4px}
.kz-records-arrow-next{right:4px}
.kz-records-arrow:hover{background:rgba(30,34,45,.92)}
.kz-records-arrow:disabled{opacity:0;pointer-events:none}
.kz-rec-card{position:relative;height:128px;border-radius:6px;overflow:hidden;background:#14161c center/cover;border:1px solid #23262f;display:flex;flex-direction:column;justify-content:flex-end}
.kz-rec-card::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,14,0) 55%,rgba(10,11,14,.96) 100%)}
.kz-rec-card .rc-body{position:relative;margin:6px 8px 6px;padding:6px 8px;background:rgba(10,11,14,.4);border:1px solid rgba(255,255,255,.08);border-radius:8px;backdrop-filter:blur(2px);display:inline-block;max-width:calc(100% - 16px)}
.kz-rec-card .rc-map{font-weight:700;font-size:var(--fs-base);color:#f5f7fa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kz-rec-card .rc-player{display:flex;align-items:center;gap:3px;font-size:var(--fs-xs);color:#9aa7bd;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kz-rec-card .rc-player .flag{width:10px;margin-right:2px}
.kz-rec-card .rc-time{font-size:var(--fs-sm);font-weight:700;color:#f2c94c}
.kz-rec-card .rc-diff{font-size:var(--fs-2xs);color:#8a93a6;margin-left:3px}

.kz-layout{display:grid;grid-template-columns:1fr 240px;gap:12px;margin-top:15px;align-items:start}
.kz-layout>div{min-width:0}
@media (max-width:900px){.kz-layout{grid-template-columns:1fr}}
@media (max-width:480px){
    .kz-wrap{padding:10px 8px 20px}
    .type-select{flex-wrap:wrap;gap:8px}
    .demo-grid{grid-template-columns:repeat(2,1fr)!important}
    /* Підвкладки (Звичайні/Зі зброєю/Блоки...) + кнопка редагування -
       разом ширші за вузький екран, .subtabs-row тримав усе в один
       нерозривний рядок (edit-toggle-btn вилітав за viewport). Перенос у
       два рядки на дуже вузьких екранах, той самий вигляд по суті. */
    .subtabs-row{flex-wrap:wrap;justify-content:flex-start}
    .subtabs{flex-wrap:wrap}
    /* Широкі таблиці (LJ Tops з колонкою Weapon, топ-рейтинги) не влазять
       по ширині на вузьких телефонах навіть з .table-scroll (горизонтальний
       скрол є, але користувач цього не помічає) - зменшуємо шрифт/padding
       комірок, щоб більшість таблиць влазила без скролу зовсім. */
    th,td{padding:5px 4px;font-size:var(--fs-2xs)}
    th{font-size:var(--fs-2xs)}
}
.kz-panel{background:#14161c;border:1px solid #23262f;border-radius:7px;overflow:hidden}
.kz-panel-pad{padding:9px 10px}

.kz-server-card{position:relative;background:#14161c center/cover;border-radius:9px;overflow:hidden;border:1px solid #23262f;margin-bottom:12px;aspect-ratio:1/1;display:flex}
.kz-server-card .sc-body{position:relative;padding:13px;display:flex;flex-direction:column;width:100%}
.kz-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}
.kz-dot.on{background:#4caf50;box-shadow:0 0 7px rgba(76,175,80,.7)}
.kz-dot.off{background:#5a6478}
.kz-server-card .sc-info{display:inline-flex;flex-direction:column;align-self:flex-start;background:rgba(10,11,14,.4);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 10px;backdrop-filter:blur(2px)}
.kz-server-card .sname{font-size:var(--fs-lg);font-weight:700;color:#fff;display:flex;align-items:center;gap:6px;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.kz-server-card .saddr{font-size:var(--fs-sm);color:#9aa7bd;font-family:monospace;margin-top:4px;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.kz-server-card .saddr span{color:#fff}
.kz-server-card .smap{font-size:var(--fs-sm);color:#9aa7bd;margin-top:2px;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.kz-server-card .smap span{color:#fff}
.kz-server-card .splayers-line{font-size:var(--fs-sm);color:#9aa7bd;margin-top:2px;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.kz-server-card .splayers-line span{color:#fff}
.kz-connect-btn{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:auto;background:linear-gradient(180deg,#5a9bf5,#3a7bd5);color:#fff;font-size:var(--fs-md);font-weight:700;padding:9px 10px;border-radius:7px;border:1px solid rgba(255,255,255,.15);box-shadow:0 3px 12px rgba(58,123,213,.5),inset 0 1px 0 rgba(255,255,255,.2);text-align:center;letter-spacing:.3px;transition:transform .15s,box-shadow .15s,filter .15s}
.kz-connect-btn svg{flex-shrink:0}
.kz-connect-btn:hover{text-decoration:none;filter:brightness(1.12);box-shadow:0 5px 16px rgba(58,123,213,.7),inset 0 1px 0 rgba(255,255,255,.25);transform:translateY(-1px)}
.kz-connect-btn:active{transform:translateY(0);filter:brightness(0.95)}

/* "Останні проходження" - звичайна <table> (той самий підхід, що всі
   інші таблиці на сайті) замість flex/grid-хаків - браузер сам вирівнює
   ширину колонок по найширшому вмісту серед усіх рядків. */
#wb-recent-runs{overflow-x:auto}
.kz-recent-table{width:100%;border-collapse:separate;border-spacing:0 5px}
.kz-recent-table td{background:#14161c;border-top:1px solid #23262f;border-bottom:1px solid #23262f;padding:7px 8px;white-space:nowrap;text-align:center}
.kz-recent-table tr:hover td{border-color:#2c3040}
.kz-recent-table td:first-child{padding-left:10px;border-left:1px solid #23262f;border-top-left-radius:7px;border-bottom-left-radius:7px}
.kz-recent-table td:last-child{padding-right:10px;border-right:1px solid #23262f;border-top-right-radius:7px;border-bottom-right-radius:7px}
.kz-recent-table .c-name{text-align:left;width:100%}
.kz-feed-name{color:#f5f7fa;font-weight:700;font-size:var(--fs-base);white-space:nowrap}
.kz-feed-map{color:#7fb8ff;font-size:var(--fs-sm);font-weight:600;white-space:nowrap}
.kz-aa{font-size:var(--fs-2xs);font-weight:700;padding:1px 5px;border-radius:5px;text-align:center}
.kz-feed-time{color:#5a6478;font-size:var(--fs-xs);white-space:nowrap}
.kz-aa.aa10{background:rgba(111,199,120,.18);color:#7fe08a}
.kz-aa.aa100{background:rgba(122,163,255,.18);color:#8fb4ff}

.kz-online-row{display:flex;align-items:center;gap:5px;padding:7px 10px;border-bottom:1px solid #21242e;font-size:var(--fs-base)}
.kz-online-count{color:#4caf50;font-weight:700}

#wb-server-panel-players{max-height:280px;overflow-y:auto}
.wb-player-row{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:8px 10px;border-bottom:1px solid #21242e;font-size:var(--fs-base)}
.wb-player-row:last-child{border-bottom:none}
.wb-player-row .prow-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.wb-player-row .prow-bottom{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}
.wb-player-row .pname{color:#f5f7fa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:var(--fs-base);min-width:0}
.wb-player-row .pmeta{display:flex;align-items:center;gap:4px;color:#8a93a6;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;padding:3px 7px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid #23262f}
.wb-player-row .pmeta svg{flex-shrink:0;opacity:.6}
.wb-player-row .pbot{flex-shrink:0;background:rgba(255,255,255,.03);border:1px solid #23262f;color:#9aa0ab;font-size:var(--fs-xs);font-weight:bold;padding:3px 8px;border-radius:12px;letter-spacing:.2px}
.wb-player-row .pbot.phltv{color:#7fb8ff}
.wb-player-row .pbot.pplayer{color:#7fe08a}
.wb-player-row .pjump{--jc:#9aa7bd;display:flex;align-items:center;gap:5px;font-size:var(--fs-xs);padding:3px 7px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid #23262f;justify-self:start}
.wb-player-row .pjump-status{display:flex;align-items:center;gap:3px;font-weight:bold;font-size:var(--fs-xs);letter-spacing:.3px;text-transform:uppercase;color:var(--jc)}
.wb-player-row .pjump-status::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--jc);flex-shrink:0;box-shadow:0 0 4px var(--jc)}
.wb-player-row .pjump-sep{width:1px;height:9px;background:#2c3040}
.wb-player-row .pjump-time{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;font-weight:bold;color:#e4e9f2}
.wb-player-row .pjump-cptp{display:flex;align-items:baseline;gap:4px;font-size:var(--fs-xs);color:#6b7488;font-variant-numeric:tabular-nums}
.wb-player-row .pjump-cptp b{color:#aab4c8;font-weight:bold}
.wb-player-row .pjump.jrun{--jc:#4caf50}
.wb-player-row .pjump.jrun .pjump-time{color:#8fe0a8}
.wb-player-row .pjump.jafk{--jc:#f2c94c}
.wb-player-row .pjump.jpaused{--jc:#e0994c}
.wb-player-row .pjump.jsaved{--jc:#4ca8e0}
.wb-player-row .pjump.jfinished{--jc:#9a7fe0}
.wb-player-row .pjump.pidle{--jc:#5a6478}
.wb-chat-placeholder{color:#5a6478;font-size:var(--fs-base);text-align:center;padding:20px 10px}

.kz-rank-row{display:flex;align-items:center;gap:6px;padding:5px 10px;border-bottom:1px solid #21242e;font-size:var(--fs-base)}
.kz-rank-row:last-child{border-bottom:none}
.kz-rank-num{width:12px;text-align:center;color:#5a6478;font-weight:700;font-size:var(--fs-sm);flex-shrink:0}
.kz-rank-row:nth-child(1) .kz-rank-num{color:#f2c94c}
.kz-rank-row:nth-child(2) .kz-rank-num{color:#9aa0ab}
.kz-rank-row:nth-child(3) .kz-rank-num{color:#cd7f32}
.kz-rank-name{flex:1;color:#f5f7fa;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kz-rank-val{color:#7fb8ff;font-weight:700;font-size:var(--fs-sm);white-space:nowrap}


.kz-empty{color:#5a6478;font-size:var(--fs-base);text-align:center;padding:18px 10px}

.kz-online-list{font-size:var(--fs-base);line-height:1.7}
.kz-online-name{color:#f5f7fa;font-weight:600;text-decoration:none}
.kz-online-name:hover{color:#7fb8ff;text-decoration:none}
.kz-online-sep{color:#5a6478}
.pro-badge{display:inline-block;padding:1px 5px;border-radius:8px;font-size:var(--fs-2xs);font-weight:bold;background:rgba(242,201,76,.18);color:#f2c94c;vertical-align:middle}
.nub-badge{display:inline-block;padding:1px 5px;border-radius:8px;font-size:var(--fs-2xs);font-weight:bold;background:rgba(154,167,189,.18);color:#9aa7bd;vertical-align:middle}
/* PRO/NUB в рядку "Останні проходження" - той самий розмір/вага шрифту,
   що kz-aa (10aa/100aa), щоб обидва бейджі виглядали однаково поруч. */
.kz-feed-card .pro-badge,.kz-feed-card .nub-badge{font-size:var(--fs-2xs);flex:0 0 42px;width:42px;text-align:center;padding:1px 5px}

.kz-cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;margin-top:15px}
.kz-navcard{display:block;background:#14161c;border:1px solid #23262f;border-radius:7px;padding:10px;text-align:center;color:#d8dee8;font-weight:700;font-size:var(--fs-md)}
.kz-navcard:hover{background:#1d212b;border-color:#3a7bd5;text-decoration:none;color:#fff}
.kz-navcard .desc{display:block;font-weight:400;font-size:var(--fs-xs);color:#8a93a6;margin-top:3px}

#page-root{min-height:200px}
.wb-spa-loading{color:#5a6478;font-size:var(--fs-xl);text-align:center;padding:60px 10px}

/* ---- Map page (профіль карти, статистика, таблиця рекордів) ---- */
.profile-row{display:flex;gap:7px;width:100%;margin-bottom:7px}
.profile,.stats-block,.highlight{flex:1;background:#14161c;border:1px solid #23262f;border-radius:7px;box-shadow:0 6px 18px rgba(0,0,0,.25);padding:10px;text-align:center}
.profile-name{font-size:var(--fs-md);font-weight:700;color:#f0f2f5}
.stats-block-title,.highlight-label{font-size:var(--fs-xs);color:#8a93a6;text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px}
.stat{display:inline-block;margin:0 8px}
.stat-label{font-size:var(--fs-2xs);color:#8a93a6;text-transform:uppercase;letter-spacing:.3px;display:block}
.stat-value{font-size:var(--fs-lg);font-weight:700;color:#f0f2f5}
.highlight-map{font-size:var(--fs-base);color:#e6ecf5;font-weight:700}
.highlight-time{font-size:var(--fs-md);color:#7fb8ff;font-weight:700}
.last-seen{font-size:var(--fs-sm);color:#8a93a6;margin-top:3px}

/* ---- Player page ---- */
.section-title{font-size:var(--fs-xl);color:#5a6478;text-transform:uppercase;letter-spacing:.5px;margin:26px 0 10px}
.jump-mode-group{margin-bottom:18px}
.jump-mode-title{font-size:var(--fs-xl);color:#7fb8ff;font-weight:bold;margin-bottom:6px}
.jump-mode-speed{font-size:var(--fs-lg);color:#8a93a6;font-weight:bold;margin:10px 0 4px}
.jump-mode-speed:first-of-type{margin-top:0}
.c-jtype{width:11em} .c-dist{width:8em} .c-spd{width:7em} .c-num{width:4.5em} .c-wpn{width:6em} .c-block{width:5em}
.subtabs-row{display:flex;align-items:center;justify-content:center;gap:10px}
.subtabs-row .subtabs{flex:1;display:flex;justify-content:center}
.subtabs-row .edit-toggle-btn{flex-shrink:0}
.edit-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#181b23;border:1px solid #2a2e3a;color:#9aa7bd;padding:0;border-radius:8px;cursor:pointer;font-family:inherit}
.edit-toggle-btn:hover{background:#20242f;color:#c7d2e3}
.edit-toggle-btn.active{background:#3a7bd5;border-color:#4a8bea;color:#fff}
table.editing .wb-editable{cursor:pointer;position:relative}
table.editing .wb-editable:hover{background:#1f2938!important;outline:1px dashed #3a7bd5;outline-offset:-2px}
.wb-editable{position:relative}
.wb-editable input{position:absolute;top:50%;right:0;transform:translateY(-50%);width:max(100%,6em);min-width:100%;box-sizing:border-box;background:#0c0e13;border:1px solid #4a8bea;color:#f0f2f5;font-size:inherit;font-family:inherit;padding:3px 6px;border-radius:4px;text-align:right;z-index:5}
.wb-editable input[data-field="aa"],.wb-editable input[data-field="wpn_name"]{text-align:left}
.wb-editable input[type=number]::-webkit-outer-spin-button,
.wb-editable input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}
.wb-editable input[type=number]{-moz-appearance:textfield;appearance:textfield}

/* ---- LJ Tops page ---- */
.type-select{text-align:center;margin-bottom:12px}
.type-select label{font-size:var(--fs-sm);color:#8a93a6;text-transform:uppercase;letter-spacing:.4px;margin-right:6px}
.type-select select{background:#181b23;border:1px solid #2a2e3a;color:#d8dee8;font-size:var(--fs-md);font-weight:bold;padding:5px 8px;border-radius:6px;cursor:pointer;font-family:inherit}
.type-select select:hover{background:#20242f;border-color:#3a7bd5}
.type-select select:focus{outline:none;border-color:#4a8bea}
.type-select option{background:#14161c;color:#d8dee8}
#wb-top-table th:not(.name),#wb-top-table td:not(.name){text-align:center}
#wb-top-table th,#wb-top-table td{padding:6px 7px}

/* ---- Settings page ---- */
.settings-block{background:#14161c;border:1px solid #23262f;border-radius:10px;padding:16px;max-width:480px;margin:0 auto 16px}
.settings-label{font-size:var(--fs-xl);font-weight:bold;color:#f0f2f5;margin-bottom:4px}
.settings-hint{font-size:var(--fs-lg);color:#8a93a6;margin-bottom:10px;line-height:1.4}
.settings-select{width:100%;background:#181b23;border:1px solid #2a2e3a;color:#d8dee8;font-size:var(--fs-xl);padding:8px 10px;border-radius:8px;font-family:inherit;margin-bottom:12px}
.settings-save{display:inline-block;padding:8px 20px;border-radius:20px;background:linear-gradient(180deg,#3a7bd5,#2c5fb0);border:1px solid #4a8bea;color:#fff;font-size:var(--fs-xl);font-weight:bold;cursor:pointer}
.settings-save:hover{background:linear-gradient(180deg,#4a8bea,#3a7bd5)}
.settings-saved-msg{color:#4caf50;font-size:var(--fs-xl);margin-bottom:12px}
