:root{
  --appbar-offset:78px;
  --bottom-nav-offset:80px;
  --bg:#0b0f16;
  --surface:#131a24;
  --surface-2:#182130;
  --surface-3:#1e2939;
  --line:rgba(255,255,255,.07);
  --text:#eef4ff;
  --muted:#95a6bd;
  --primary:#68c6ff;
  --primary-2:#8c73ff;
  --danger:#ff6d6d;
  --success:#39c67b;
  --gold:#ffcf69;
  --shadow:0 18px 40px rgba(0,0,0,.32);
  --shadow-soft:0 10px 24px rgba(0,0,0,.22);
  --radius:22px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
body.mobile-game-body{display:flex;justify-content:center;background:
 radial-gradient(circle at top center, rgba(104,198,255,.10), transparent 32%),
 radial-gradient(circle at bottom center, rgba(140,115,255,.10), transparent 30%),
 linear-gradient(180deg,#0a0d14 0%,#0b0f16 100%)}
.mobile-app{width:100%;max-width:430px;min-height:100vh;position:relative;background:linear-gradient(180deg, rgba(10,13,20,.98), rgba(9,12,18,1));box-shadow:0 0 0 1px rgba(255,255,255,.03),0 0 80px rgba(0,0,0,.45)}
.appbar{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;z-index:50;padding:env(safe-area-inset-top) 14px 10px;background:linear-gradient(180deg, rgba(8,11,16,.98), rgba(8,11,16,.86));backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.appbar-inner{display:flex;align-items:center;justify-content:space-between;gap:10px}
.appbar-left{display:flex;align-items:center;gap:10px;min-width:0}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand-mark{width:40px;height:40px;border-radius:12px}
.brand strong{display:block;font-size:16px;line-height:1.1}
.brand small{display:block;color:var(--muted);font-size:11px;line-height:1.2}
.compact-auth,.compact-topbar-meta{display:flex;align-items:center;gap:8px}
.icon-button,.navlink,.meta-pill,.quick-chip{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:14px;color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow-soft)}
.icon-button{width:44px;height:44px;padding:0;cursor:pointer}
.navlink,.meta-pill,.quick-chip{padding:10px 12px}
.navlink-primary{background:linear-gradient(135deg,rgba(104,198,255,.20),rgba(140,115,255,.18));border-color:rgba(104,198,255,.22)}
.nav-icon{width:18px;height:18px;flex:none}
.app-drawer{position:fixed;left:50%;top:0;transform:translate(-50%, 100%);width:100%;max-width:430px;height:100vh;background:linear-gradient(180deg,#101622 0%, #0b1018 100%);z-index:60;padding:calc(env(safe-area-inset-top) + 18px) 16px calc(env(safe-area-inset-bottom) + 18px);display:grid;grid-template-rows:auto auto 1fr;gap:14px;transition:transform .22s ease}
.mobile-app[data-drawer="open"] .app-drawer{transform:translate(-50%, 0)}
.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:.2s ease;z-index:55}
.mobile-app[data-drawer="open"] .drawer-backdrop{opacity:1;pointer-events:auto}
.drawer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.drawer-header h2{margin:2px 0 0;font-size:22px}
.glass-panel{background:linear-gradient(180deg,rgba(24,33,48,.82),rgba(14,20,29,.85));border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft)}
.drawer-profile{display:flex;gap:12px;align-items:center;padding:14px}
.drawer-avatar{width:52px;height:52px;border-radius:14px;padding:6px;background:radial-gradient(circle at 30% 30%,rgba(104,198,255,.18),rgba(140,115,255,.12))}
.drawer-profile p{margin:4px 0 0;color:var(--muted);font-size:13px}
.drawer-nav{display:grid;gap:8px;overflow:auto;padding-right:2px}
.drawer-link{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:16px;border:1px solid transparent;background:rgba(255,255,255,.02);color:#e8f1ff}
.drawer-link.is-active{background:linear-gradient(135deg,rgba(104,198,255,.16),rgba(140,115,255,.14));border-color:rgba(104,198,255,.18)}
.drawer-link.danger-link{color:#ffd7d7}
.app-content{padding-top:calc(var(--appbar-offset) + 12px);padding-bottom:calc(var(--bottom-nav-offset) + env(safe-area-inset-bottom) + 18px)}
.wrap{padding:0 14px 16px;display:grid;gap:14px}
.mobile-hud{margin:0 14px 12px;padding:14px;display:grid;gap:12px}
.mobile-hud-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mobile-hud-user{display:flex;gap:12px;align-items:center;min-width:0}
.hero-avatar{width:72px;height:72px;border-radius:20px;padding:8px;background:radial-gradient(circle at 30% 30%, rgba(104,198,255,.18), rgba(140,115,255,.14));border:1px solid var(--line)}
.small-avatar{width:56px;height:56px;border-radius:16px}
.hero-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hero-name-row h1{margin:0;font-size:22px;line-height:1.05}
.class-badge,.badge,.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-size:11px}
.hero-subtitle,.muted,.small{color:var(--muted)}
.compact-meters{display:grid;gap:10px}
.meter-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-bottom:6px}
.meter-track{height:12px;background:#0c1017;border-radius:999px;border:1px solid rgba(255,255,255,.06);overflow:hidden}
.meter-track span{display:block;height:100%;border-radius:999px;transition:width .6s ease}
.meter-hp .meter-track span{background:linear-gradient(90deg,#bf4650,#ff757d)}
.meter-mp .meter-track span{background:linear-gradient(90deg,#3564db,#69c6ff)}
.meter-xp .meter-track span{background:linear-gradient(90deg,#7d65ff,#c8b0ff)}
.mobile-quick-actions{margin:0 14px 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.quick-action,.button-link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(43,64,94,.9),rgba(53,79,119,.95));box-shadow:var(--shadow-soft);font-weight:600;text-align:center}
.page-stack{display:grid;gap:14px}
.flash{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.04);box-shadow:var(--shadow-soft)}
.flash.success{background:rgba(57,198,123,.12);border-color:rgba(57,198,123,.24)}
.flash.error{background:rgba(255,109,109,.12);border-color:rgba(255,109,109,.24)}
.flash-close{width:34px;height:34px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.05)}
.flash-hide{opacity:0;transform:translateY(-6px);transition:.22s ease}
.card,.world-hero,.battle-unit,.item-card,.skill-card,.location-card,.mob-card,.market-card,.fighter-card,.quest-entry,.mail-card{background:linear-gradient(180deg,rgba(20,26,38,.96),rgba(13,18,26,.98));border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:16px;position:relative;overflow:hidden}
.card::before,.world-hero::before,.item-card::before,.skill-card::before,.location-card::before,.mob-card::before,.market-card::before,.fighter-card::before,.quest-entry::before,.mail-card::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent)}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.card h1,.card h2,.card h3,.card h4,.world-hero h1,.world-hero h2{margin:0}
.card p,.world-hero p{line-height:1.55}
.grid,.grid.two,.grid.three,.inventory-grid,.skill-book,.location-grid,.mob-grid,.market-grid,.fighter-grid,.quest-journal,.mail-stack,.party-grid,.clan-grid,.dungeon-grid{display:grid;grid-template-columns:1fr;gap:14px}
.table-wrap{overflow:auto;border-radius:16px}
table{width:100%;border-collapse:collapse;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.02)}
th,td{padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.05);text-align:left;vertical-align:top;font-size:14px}
th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#bdd0e9}
tr:last-child td{border-bottom:none}
input,select,textarea,button{width:100%;min-height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:#0e141e;color:var(--text);padding:12px 14px;outline:none}
textarea{min-height:120px;resize:vertical}
button{cursor:pointer;background:linear-gradient(135deg,#2b405e,#354f77);box-shadow:var(--shadow-soft);font-weight:700}
button:disabled{opacity:.64;cursor:not-allowed}
.actions,.actions.compact,.row{display:grid;gap:10px}
.item-card-top,.skill-card-head,.location-card-top,.mob-card-top,.market-card-head,.fighter-head,.quest-entry-head,.mail-card-head,.battle-unit{display:flex;gap:12px;align-items:flex-start}
.item-icon-wrap{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06)}
.item-icon{width:24px;height:24px}
.item-name{font-size:17px;font-weight:800;line-height:1.2}
.item-meta,.skill-chip-row,.statline,.footer-badges{display:flex;gap:8px;flex-wrap:wrap}
.item-summary,.battle-meta{color:#d5e2f3;line-height:1.5}
.equipment-list,.listing-stack{display:grid;gap:10px}
.equipment-row,.listing-row,.mini-skill,.combat-log-line{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05)}
.listing-row{justify-content:space-between}
.empty-state{min-height:120px;display:grid;place-items:center;text-align:center;color:var(--muted);border:1px dashed rgba(255,255,255,.12);border-radius:18px;padding:16px;background:rgba(255,255,255,.02)}
.equipped-badge{background:rgba(57,198,123,.12);border-color:rgba(57,198,123,.24)}
.gold{color:var(--gold);font-weight:700}.gold-badge{color:var(--gold);border-color:rgba(255,207,105,.20);background:rgba(255,207,105,.08)}
.warningbox{padding:14px 16px;border-radius:18px;background:rgba(255,207,105,.08);border:1px solid rgba(255,207,105,.20)}
.kpi{font-size:28px;font-weight:800;letter-spacing:.02em}
.battle-stage{display:grid;grid-template-columns:1fr;gap:12px}
.battle-avatar-wrap{width:96px;height:96px;border-radius:24px;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%, rgba(104,198,255,.14), rgba(140,115,255,.10));border:1px solid var(--line)}
.battle-avatar-wrap.enemy{background:radial-gradient(circle at 30% 30%, rgba(255,109,109,.14), rgba(255,207,105,.10))}
.battle-avatar{width:74px;height:74px;object-fit:contain}
.battle-versus{display:grid;place-items:center}
.battle-versus span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid var(--line);font-weight:800;color:var(--gold)}
.combat-log{display:grid;gap:10px}
.combat-turn{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:rgba(104,198,255,.14);border:1px solid rgba(104,198,255,.20);font-size:12px;font-weight:700}
.world-hero{display:flex;gap:16px;align-items:center;justify-content:space-between}
.world-hero .art.small{width:96px;height:96px;flex:none}
.mobile-footer{padding:18px 16px calc(env(safe-area-inset-bottom) + 12px);text-align:center}
.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:430px;background:linear-gradient(180deg,rgba(11,15,22,.94),rgba(11,15,22,.98));border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 10px calc(env(safe-area-inset-bottom) + 8px);z-index:45;box-shadow:0 -10px 24px rgba(0,0,0,.22)}
.bottom-nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 4px;border-radius:14px;color:var(--muted);border:1px solid transparent;background:transparent;font-size:11px;min-height:58px}
.bottom-nav-link.is-active,.bottom-nav-link:active{color:var(--text);background:rgba(104,198,255,.08);border-color:rgba(104,198,255,.16)}
.bottom-nav-button{appearance:none;-webkit-appearance:none}
@media (min-width:431px){
  .mobile-app{margin:0 auto}
}

.auth-screen{padding:18px;display:grid;gap:16px}
.auth-hero{display:flex;align-items:center;justify-content:space-between;gap:14px}
.auth-footnote{text-align:center;margin:0}
.stack-form{display:grid;gap:12px}
.field-label{display:grid;gap:8px;font-size:13px;color:var(--muted)}
.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.stat-tile{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.stat-upgrade,.stat-upgrade button{width:auto}
.rank-stack,.daily-stack{display:grid;gap:12px}
.rank-card,.daily-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.rank-card{justify-content:space-between}
.rank-no{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(104,198,255,.14);border:1px solid rgba(104,198,255,.20);font-weight:800}
.rank-value{margin-left:auto;font-weight:700;color:var(--gold);text-align:right}
.daily-card{display:grid;gap:12px;align-items:stretch}
.daily-card .actions.compact{grid-template-columns:1fr}
.dungeon-card{display:grid;gap:12px;padding:16px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.hero.card{padding:18px}
.hero.card .art{width:110px;height:110px}
@media (max-width:380px){
  .stats-grid{grid-template-columns:1fr}
  .auth-hero{align-items:flex-start}
  .hero.card .art{width:84px;height:84px}
}

/* V24 mobile-only screen polish */
.mobile-screen-card{padding:16px;border-radius:24px}
.mobile-form-stack,.mobile-action-stack,.mobile-mail-stack,.mobile-listing-stack,.mobile-quest-journal,.mobile-party-grid,.mobile-clan-grid,.mobile-fighter-grid,.mobile-equipment-list{display:grid;gap:12px}
.mobile-action-stack form,.mobile-form-stack form{display:grid;gap:12px}
.mobile-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.mobile-summary-grid .statbox{padding:14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.mobile-inventory-grid{gap:12px}
.mobile-item-card{padding:14px;border-radius:20px}
.mobile-item-card .item-icon-wrap.large{width:56px;height:56px;border-radius:18px}
.mobile-item-card .item-name{font-size:16px}
.mobile-equipment-row{padding:14px;border-radius:18px}
.mobile-battle-stage{gap:10px;margin-bottom:14px}
.mobile-battle-unit{padding:14px;border-radius:22px}
.mobile-battle-versus span{width:44px;height:44px;font-size:13px}
.mobile-combat-log .combat-log-line{padding:12px 10px;border-radius:16px}
.mobile-skill-picker{display:grid;gap:12px}
.mobile-mail-stack .mail-card,.mobile-quest-journal .quest-entry,.mobile-fighter-grid .fighter-card,.mobile-party-grid .fighter-card,.mobile-clan-grid .market-card{border-radius:20px}
.mobile-mail-stack .mail-card p,.mobile-quest-journal .quest-entry p{margin:0}
.grow{flex:1;min-width:0}
.inline{display:inline-grid}
@media (max-width:380px){
  .mobile-summary-grid{grid-template-columns:1fr}
  .mobile-battle-unit .battle-avatar-wrap{width:82px;height:82px}
  .mobile-battle-unit .battle-avatar{width:62px;height:62px}
  .mobile-item-card .item-card-top,.mobile-battle-unit,.mail-card-head,.quest-entry-head,.fighter-head{align-items:center}
}


.mobile-summary-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.summary-pill{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.summary-pill span{font-size:12px;color:var(--muted,#aab)}
.summary-pill strong{font-size:15px}
.mobile-stack{display:flex;flex-direction:column;gap:14px}
.mobile-shop-list,.mobile-sell-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.mobile-shop-card,.mobile-sell-card,.craft-card,.raid-mobile-card{padding:14px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.mobile-shop-head,.raid-hero{display:flex;align-items:center;gap:12px}
.mobile-shop-head h3,.raid-hero h2{margin:0 0 2px 0;font-size:16px}
.mobile-shop-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.material-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.material-chip{padding:8px 10px;border-radius:999px;font-size:12px;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}
.material-chip.ok{border-color:rgba(82,196,26,.35);background:rgba(82,196,26,.12)}
.material-chip.need{border-color:rgba(255,107,107,.35);background:rgba(255,107,107,.10)}
.raid-boss-art{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.05);padding:8px}
.admin-mobile-stack .mobile-form-card .stack-form{display:flex;flex-direction:column;gap:12px}
.admin-mobile-stack .mobile-form-card input,.admin-mobile-stack .mobile-form-card select{width:100%}
@media (max-width:480px){
  .mobile-summary-row{grid-template-columns:1fr 1fr}
  .summary-pill{padding:10px 12px}
  .mobile-shop-card,.mobile-sell-card,.craft-card,.raid-mobile-card{padding:12px}
}

/* v26 fixes and details */
.mobile-action-stack,.mobile-stack,.mobile-skill-book,.mobile-mail-stack,.mobile-quest-journal,.mobile-listing-stack,.mobile-party-grid,.mobile-clan-grid{display:grid;gap:12px}
.mobile-skill-book .skill-card,.mobile-mail-stack .mail-card,.mobile-quest-journal .quest-entry,.mobile-party-grid .fighter-card,.mobile-clan-grid .market-card,.dungeon-card,.craft-card,.raid-mobile-card,.mobile-shop-card,.mobile-sell-card{border-radius:22px;padding:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.item-detail-screen .item-detail-hero{display:flex;gap:14px;align-items:center}
.item-icon.xlarge{width:38px;height:38px}.item-icon-wrap.xlarge{width:74px;height:74px;border-radius:24px}
.detail-stats-grid,.mobile-summary-grid,.mobile-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mobile-summary-row{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}
.summary-pill{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.summary-pill span{font-size:12px;color:var(--muted)}
.mobile-shop-head,.raid-hero{display:flex;gap:12px;align-items:center}
.material-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.material-chip{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);font-size:12px}
.material-chip.ok{background:rgba(57,198,123,.10);border-color:rgba(57,198,123,.24)}
.material-chip.need{background:rgba(255,109,109,.10);border-color:rgba(255,109,109,.24)}
.raid-boss-art{width:58px;height:58px;padding:8px;border-radius:18px;background:rgba(255,255,255,.04)}
.rank-stack{display:grid;gap:10px}.rank-card{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.rank-no{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:rgba(105,198,255,.14);font-weight:800}.rank-value{margin-left:auto;color:var(--gold);font-weight:700;text-align:right}
.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-tile{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.class-gallery,.race-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.class-card,.race-card{display:grid;gap:8px;place-items:center;padding:12px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);text-align:center;font-size:12px}.class-portrait,.race-portrait{width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.03);padding:6px}
@media (max-width:380px){.detail-stats-grid,.mobile-summary-grid,.mobile-summary-row,.stats-grid,.class-gallery,.race-gallery{grid-template-columns:1fr 1fr}.item-detail-screen .item-detail-hero{flex-direction:column;align-items:flex-start}}

/* step26 admin control center */
.admin-shell{display:grid;gap:16px}
.admin-hero{display:grid;grid-template-columns:1.4fr .9fr;gap:16px;align-items:start}
.admin-hero h1{margin:8px 0 6px;font-size:28px;line-height:1.05}
.admin-search .stack-form{grid-template-columns:1fr auto;align-items:end}
.admin-tabs{display:flex;flex-wrap:wrap;gap:10px}
.admin-tab{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--muted);font-weight:600}
.admin-tab.is-active{background:linear-gradient(135deg,rgba(104,198,255,.16),rgba(140,115,255,.16));border-color:rgba(104,198,255,.28);color:var(--text)}
.admin-grid{display:grid;gap:14px}.admin-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-grid.tight{gap:12px}
.admin-panel{padding:16px;border-radius:24px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-soft)}
.admin-kpi{padding:16px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);display:grid;gap:8px}
.admin-kpi span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.admin-kpi strong{font-size:28px;line-height:1}
.admin-list{display:grid;gap:10px}.admin-list.compact{max-height:420px;overflow:auto;padding-right:4px}
.admin-list-item{display:grid;gap:4px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.admin-list-item strong{font-size:15px}.admin-list-item span{font-size:12px;color:var(--muted)}.admin-list-item.is-selected{border-color:rgba(104,198,255,.28);background:rgba(104,198,255,.09)}
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-form-grid .field-label textarea{resize:vertical;min-height:100px}.admin-form-grid .field-label:has(textarea){grid-column:1/-1}.admin-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}
.admin-inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.admin-inline-form .field-label{min-width:220px}
.admin-log-list{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:4px}.admin-log-item{padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}.admin-log-item p{margin:6px 0 0}.admin-log-item strong{font-size:14px}.admin-log-item .muted{font-size:12px;display:block;margin-top:2px}
.admin-empty-state{padding:22px;border-radius:22px;border:1px dashed rgba(255,255,255,.14);background:rgba(255,255,255,.02)}
.admin-divider{border:none;border-top:1px solid rgba(255,255,255,.08);margin:16px 0}
@media (max-width:1100px){.admin-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.admin-hero,.admin-grid-2,.admin-grid-3,.admin-grid-4,.admin-form-grid{grid-template-columns:1fr}.admin-search .stack-form{grid-template-columns:1fr}.admin-actions{justify-content:stretch}.admin-actions button{width:100%}}
