:root{
  --bg:#050505;
  --surface:#0a0a0a;
  --surface-2:#0e0e0e;
  --line:#202020;
  --line-strong:#343434;
  --text:#f3f0ea;
  --muted:#918d86;
  --faint:#5f5b55;
  --accent:#d5232f;
  --good:#b8d7b0;
  --bad:#f1a6ad;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --content:1120px;
  --user-content:680px;
  --s1:4px;
  --s2:8px;
  --s3:12px;
  --s4:16px;
  --s5:24px;
  --s6:32px;
  --s7:48px;
  --control:44px;
}

*{box-sizing:border-box}
main,section,article,aside,header,footer,nav,div,form,label{min-width:0}
button,input,select,textarea{min-width:0;max-width:100%}
html{background:var(--bg);color-scheme:dark;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",Arial,sans-serif;
  font-size:14px;line-height:1.5;letter-spacing:-.015em
}
button,input,select,textarea{font:inherit;color:inherit}
button,a{touch-action:manipulation}
button{border:0;background:none}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.hidden,[hidden]{display:none!important}
.muted{color:var(--muted)!important}.meta{color:var(--muted);font-size:12px}.bad{color:var(--bad)!important}.good{color:var(--good)!important}

/* controls */
.input{
  width:100%;height:var(--control);padding:0 0;
  border:0;border-bottom:1px solid var(--line-strong);border-radius:0;
  background:transparent;color:var(--text);outline:none;box-shadow:none;
  font-size:14px
}
.input:focus{border-bottom-color:var(--text)}
.input::placeholder{color:#5d5954}
textarea.input{height:auto;min-height:92px;padding:10px 0;resize:vertical}
select.input{
  appearance:none;padding-right:28px;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 13px) 50%,calc(100% - 8px) 50%;background-size:5px 5px;background-repeat:no-repeat
}
.primary-btn,.secondary-btn,.promo-action{
  min-height:var(--control);padding:0 16px;border-radius:2px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;line-height:1.2;letter-spacing:-.01em;cursor:pointer;text-align:center;white-space:normal
}
.primary-btn,.promo-action{background:var(--accent);color:#fff}
.primary-btn:hover,.promo-action:hover{filter:brightness(1.06)}
.secondary-btn{border:1px solid var(--line-strong);background:transparent;color:var(--text)}
.secondary-btn:hover{border-color:var(--text)}
.primary-btn:disabled,.secondary-btn:disabled{opacity:.45;cursor:default}
.text-btn{padding:0;color:var(--muted);font-size:12px;font-weight:650;cursor:pointer}
.text-btn:hover{color:var(--text)}
.icon-btn{width:36px;height:36px;padding:0;display:grid;place-items:center;color:var(--text);cursor:pointer}
.wide{grid-column:1/-1}
.badge,.partner-badge,.chip,.store-chip{
  display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 8px;
  border:1px solid var(--line-strong);border-radius:2px;background:transparent;
  color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap
}
.chip.active,.partner-badge.partnered{border-color:var(--text);color:var(--text)}
.offline-banner{position:fixed;z-index:90;top:0;left:0;right:0;padding:7px 16px;background:#7d141c;color:#fff;text-align:center;font-size:11px}

/* typography hierarchy */
.inner-head h2,.admin-page-head h2,.store-admin-head h2{font-size:32px;line-height:1.12;letter-spacing:-.045em;font-weight:800}
.home-section-head h2,.section-head h3,.store-section-head h3,.panel>h3,.store-panel h3{font-size:15px;line-height:1.35;font-weight:750;letter-spacing:-.02em}
.inner-head p,.admin-page-head p,.store-admin-head p{font-size:12px;color:var(--muted)}

/* user app */
.user-app{padding-bottom:calc(64px + var(--safe-bottom))}
.app-shell{width:100%;min-height:100dvh}
.page{display:none;min-height:100dvh}.page.active{display:block}
.home-dashboard,.inner-page{width:min(100%,var(--user-content));margin:0 auto;padding:calc(18px + var(--safe-top)) 18px 36px}
.home-topbar{height:40px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.home-credit{display:flex;align-items:baseline;gap:7px;min-width:0;overflow:hidden}.home-credit span,.home-credit b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-credit span{font-size:11px;color:var(--muted)}
.home-credit b{font-size:12px;font-weight:700}
.home-top-actions{display:flex;align-items:center;gap:2px}
.home-mini-avatar,.avatar{overflow:hidden;border:1px solid var(--line-strong);border-radius:50%;background:#101010}
.home-mini-avatar{width:32px;height:32px}.home-mini-avatar img,.avatar img{width:100%;height:100%;object-fit:cover}.home-mini-avatar span{font-size:10px;font-weight:800}
.profile-fallback{width:100%;height:100%;display:block;position:relative;background:#101010}
.profile-fallback::before{content:"";position:absolute;left:50%;top:28%;width:28%;aspect-ratio:1;border:1.5px solid #8f8b84;border-radius:50%;transform:translateX(-50%)}
.profile-fallback::after{content:"";position:absolute;left:50%;bottom:18%;width:48%;height:26%;border:1.5px solid #8f8b84;border-bottom:0;border-radius:999px 999px 0 0;transform:translateX(-50%)}


.home-search-card{margin-bottom:28px}
.home-search{width:100%;height:42px;display:flex;align-items:center;justify-content:space-between;padding:0;border-bottom:1px solid var(--line-strong);color:var(--muted);text-align:left;font-size:14px}

.home-promo{position:relative;overflow:hidden;margin-bottom:36px;padding:0 0 28px;border-bottom:1px solid var(--line)}
.home-promo-content{position:relative;z-index:2;max-width:520px}
.promo-kicker{display:block;margin-bottom:10px;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.home-promo h1{max-width:560px;margin:0 0 12px;font-size:46px;line-height:1.02;overflow-wrap:anywhere;letter-spacing:-.055em;font-weight:850}
.home-promo p{max-width:400px;margin:0 0 20px;color:var(--muted);font-size:13px}
.home-promo .promo-action{min-width:132px}
.home-splash-image{position:absolute;inset:0 0 0 auto;width:45%;height:100%;object-fit:cover;opacity:.26;filter:grayscale(1);mask-image:linear-gradient(90deg,transparent,black 38%)}


.home-section-head,.section-head,.store-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 12px}.home-section-head>*:first-child,.section-head>*:first-child,.store-section-head>*:first-child{min-width:0;overflow-wrap:anywhere}.home-section-head>*:last-child,.section-head>*:last-child,.store-section-head>*:last-child{flex:0 0 auto}
.home-section-head h2,.section-head h3,.store-section-head h3,.panel>h3,.store-panel h3{margin:0}
.home-nearby,.home-installments,.section{margin:0 0 32px}
.nearby-boss-rail{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nearby-boss-rail::-webkit-scrollbar{display:none}
.nearby-boss{min-width:168px;max-width:210px;padding:14px 16px 14px 0;margin-right:16px;border-right:1px solid var(--line);background:none!important;border-radius:0!important;box-shadow:none!important}
.nearby-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;background:#111;margin-bottom:14px}
.nearby-boss strong{display:block;font-size:14px;margin-bottom:3px}.nearby-boss .meta{display:block}.nearby-empty{padding:18px 0;color:var(--muted)}

.home-boss-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(210px,.65fr);gap:24px;border-top:1px solid var(--line);padding-top:14px}
.page-meter{padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.page-meter-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}.page-meter-row>div{min-width:0;flex:1}.page-meter-row b{display:block;overflow-wrap:anywhere}.page-meter-row>strong{flex:0 0 auto;max-width:42%;text-align:right;overflow-wrap:anywhere}
.page-meter-row span{display:block;margin-bottom:3px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em}
.page-meter-row b{font-size:14px}.page-meter-row strong{font-size:12px}
.page-meter-track{height:2px;margin-top:12px;background:var(--line)}.page-meter-track span{display:block;height:100%;background:var(--text);width:0}.page-meter-track.muted span{background:var(--muted)}
.home-stats{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line)}
.home-stats article{padding-left:12px}.home-stats b{display:block;font-size:20px;line-height:1.1}.home-stats span{display:block;margin-top:3px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.home-cards{display:none}

.inner-head{margin:0 0 28px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.inner-head h2{margin:0}.inner-head p{margin:7px 0 0}
.search-box{margin:22px 0 8px}
.store-list,.rank-list,.timeline,.visit-log{border-top:1px solid var(--line)}
.store-card,.rank-card,.timeline-item,.visit-card,.qr-card{
  position:relative;margin:0!important;padding:14px 0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important
}
.store-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
.store-card-main{display:flex;align-items:center;gap:12px;min-width:0}
.store-card-copy{min-width:0}
.store-card-copy>strong{display:block;margin:0 0 4px;font-size:17px;line-height:1.25;letter-spacing:-.025em;white-space:normal;overflow-wrap:anywhere}
.store-card .meta{margin:0;color:var(--muted);font-size:12px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.store-card-status{margin-top:5px;font-size:12px;line-height:1.4}
.store-card-status.is-open{color:var(--text)}
.store-card-status.is-protected{color:var(--muted)}
.store-card-photo{flex:0 0 52px;width:52px;height:52px;object-fit:cover;border-radius:2px;background:#111}
.store-scan-btn{flex:0 0 auto;min-width:78px;height:38px;padding:0 12px;border:1px solid #353535;border-radius:3px;background:transparent;color:var(--text);font:inherit;font-size:12px;font-weight:750;white-space:nowrap;cursor:pointer}
.store-scan-btn:active{transform:translateY(1px)}
.rank-card,.timeline-item,.visit-card,.qr-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.rank-card strong,.timeline-item strong,.visit-card strong{margin:0;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.rank-card>*,.timeline-item>*,.visit-card>*{min-width:0}.rank-card p,.timeline-item p,.visit-card p{margin:3px 0 0;color:var(--muted);font-size:11px}
.rank-tabs{display:flex;gap:20px;margin:22px 0 8px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.rank-tabs::-webkit-scrollbar{display:none}.rank-tabs .chip{flex:0 0 auto}
.rank-tabs .chip{min-height:auto;border:0;border-radius:0;padding:0 0 9px;color:var(--muted)}.rank-tabs .chip.active{color:var(--text);border-bottom:1px solid var(--text)}
.rank-card{grid-template-columns:32px 1fr auto}

.profile-card{display:flex;align-items:center;gap:14px;padding:0 0 20px;border-bottom:1px solid var(--line)}.profile-card>div{min-width:0}.profile-card h3,.profile-card p{overflow-wrap:anywhere}
.avatar{width:54px;height:54px;display:grid;place-items:center}.profile-card h3{margin:0 0 3px;font-size:22px;letter-spacing:-.035em}.profile-card p{margin:0;color:var(--muted);font-size:11px}
.profile-actions{display:flex;align-items:center;gap:18px;padding:12px 0 26px}.profile-actions .secondary-btn{border:0;padding:0;min-height:auto;color:var(--text)}
.grid{display:grid;gap:0}.grid.two{grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0 32px}
.stat-card{padding:16px 0;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}.stat-card+.stat-card{border-left:1px solid var(--line)!important;padding-left:16px}
.stat-card b{display:block;font-size:24px;line-height:1}.stat-card span{display:block;margin-top:5px;color:var(--muted);font-size:10px}
.visit-summary{display:none}.visit-head{margin-top:0}.visit-card{grid-template-columns:26px 44px 1fr}.visit-index{font-size:10px;color:var(--muted)}.visit-thumb{width:42px;height:42px;object-fit:cover;border-radius:2px}
.app-links{display:flex;gap:18px;padding-top:8px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.bottom-nav{position:fixed;z-index:50;left:0;right:0;bottom:0;height:calc(60px + var(--safe-bottom));padding:0 10px var(--safe-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(5,5,5,.97);border-top:1px solid var(--line);backdrop-filter:blur(10px)}
.nav-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;color:#6d6964}.nav-btn.active{color:var(--text)}
.nav-icon{width:19px;height:19px}.nav-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.055em}

/* modal */
.modal{position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.78);display:grid;place-items:end center;padding:0}
.modal-card{position:relative;width:min(100%,600px);max-height:88dvh;overflow:auto;padding:26px 20px calc(28px + var(--safe-bottom));background:var(--surface);border-top:1px solid var(--line-strong);border-radius:0}
.modal-card>h3,.modal-head h3{margin:0 0 20px;padding-right:44px;font-size:20px;line-height:1.25;letter-spacing:-.03em;overflow-wrap:anywhere}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.modal-close,.x-btn{position:absolute;right:18px;top:18px;width:32px;height:32px;display:grid;place-items:center;color:var(--muted);font-size:24px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.form-grid label{display:grid;min-width:0;gap:6px;color:var(--muted);font-size:11px;line-height:1.35;font-weight:600}.form-grid input[type="file"]{width:100%;overflow:hidden;font-size:12px}.scanner-box{min-height:300px;background:#000;border:1px solid var(--line)}

/* auth */
.auth-gate{min-height:100dvh;display:grid;place-items:center;padding:24px}
.auth-panel{width:min(100%,340px)}
.auth-panel>span{display:block;margin-bottom:12px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.auth-panel h1{margin:0 0 8px;font-size:38px;letter-spacing:-.05em;line-height:1}.auth-panel p{margin:0 0 26px;color:var(--muted);font-size:12px}
.auth-panel .input{margin-bottom:8px}.auth-panel .primary-btn{width:100%;margin-top:16px}.auth-panel small{display:block;min-height:18px;margin-top:10px;color:var(--muted);font-size:11px}

/* admin shared */
.admin-layout,.store-admin-shell{min-height:100dvh;display:grid;grid-template-columns:204px minmax(0,1fr)}
.admin-side,.store-admin-side{position:sticky;top:0;height:100dvh;padding:26px 20px;border-right:1px solid var(--line);background:#070707;overflow:auto}
.admin-brand,.store-admin-brand{margin-bottom:30px}.admin-brand span,.store-admin-brand span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:6px}.admin-brand h1,.store-admin-brand h1{margin:0;font-size:28px;line-height:.92;letter-spacing:-.05em}.admin-brand b,.store-admin-brand b{display:block;margin-top:7px;color:var(--muted);font-size:10px;font-weight:600}
.admin-nav-scroll{display:block}.admin-side-actions{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.admin-nav,.store-admin-nav{display:block;width:100%;min-height:38px;height:auto;padding-top:9px!important;padding-bottom:9px!important;padding:0;border-bottom:1px solid transparent;text-align:left;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.admin-nav:hover,.store-admin-nav:hover,.admin-nav.active,.store-admin-nav.active{color:var(--text)}.admin-nav.active,.store-admin-nav.active{border-bottom-color:var(--text)}
.admin-login,.store-admin-link{display:block;margin-top:14px;padding:0;border:0;min-height:auto;height:auto;color:var(--muted);font-size:10px;background:none;justify-content:flex-start}
.admin-main,.store-admin-main{min-width:0;overflow-x:hidden;padding:40px clamp(24px,4vw,56px) 64px}
.admin-page,.store-admin-page{display:none;max-width:var(--content)}.admin-page.active,.store-admin-page.active{display:block}
.admin-page-head,.store-admin-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin-bottom:30px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.admin-page-head>div,.store-admin-head>div{min-width:0;flex:1}.admin-page-head h2,.store-admin-head h2{margin:0;overflow-wrap:anywhere}.admin-page-head p,.store-admin-head p{margin:7px 0 0}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:32px}
.grid.four .stat-card{padding:16px 14px 16px 0}.grid.four .stat-card+.stat-card{padding-left:16px;border-left:1px solid var(--line)!important}
.panel,.store-panel{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;margin-bottom:32px}
.panel>h3,.store-panel h3{margin-bottom:14px}
.admin-form,.store-form{margin-bottom:36px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.admin-form>.primary-btn.wide,.store-form>.primary-btn.wide,.form-grid>.primary-btn.wide{grid-column:1/-1;justify-self:start;width:auto;min-width:150px;margin-top:4px}
.admin-list-gap{margin-top:18px}
.asset-preview{margin:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.splash-preview{min-height:170px;background:#0c0c0c;display:grid;place-items:center;color:var(--faint);background-size:cover;background-position:center}.asset-status{margin:8px 0 0;color:var(--muted);font-size:11px}

/* store admin */
.store-selector{margin:0 0 22px;padding-right:24px}
.store-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:32px}
.store-metrics article{padding:16px 14px 16px 0}.store-metrics article+article{border-left:1px solid var(--line);padding-left:14px}.store-metrics b{display:block;font-size:20px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.store-metrics span{display:block;margin-top:4px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}
.store-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.store-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.store-form.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.store-form label{display:grid;min-width:0;gap:6px;color:var(--muted);font-size:11px;line-height:1.35;font-weight:600}.store-form input[type="file"]{width:100%;overflow:hidden;font-size:12px}.store-textarea{min-height:90px}
.store-owner-card{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;padding:14px 0!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;background:transparent!important;border-radius:0!important}.store-owner-card>*{min-width:0}.store-owner-card strong,.store-owner-card p,.store-owner-card span{overflow-wrap:anywhere}
.store-owner-avatar{width:40px;height:40px;border-radius:50%;background:#111;display:grid;place-items:center;font-size:11px;font-weight:800}
.store-timeline{border-top:1px solid var(--line)}.store-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.store-photo-card{position:relative;background:#080808}.store-photo-card img{width:100%;aspect-ratio:1/1;object-fit:cover}.store-photo-card .meta{padding:8px}
.qr-display{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start;border-top:1px solid var(--line);padding-top:20px}.qr-placeholder{width:240px;height:240px;background:#fff;border-radius:0!important;object-fit:contain}.qr-display strong{display:block;word-break:break-all;overflow-wrap:anywhere;font-size:14px;line-height:1.45;margin-bottom:10px}.qr-display p{margin:0 0 18px;color:var(--muted);font-size:11px;line-height:1.55;word-break:break-all;overflow-wrap:anywhere}.store-action-row{display:flex;gap:8px;flex-wrap:wrap}

/* GPS */
.geo-tools{display:flex;align-items:center;gap:12px;margin-top:-2px}.geo-status{font-size:11px;color:var(--muted);line-height:1.4}.geo-tools .secondary-btn{min-height:38px;height:38px;padding:0 13px;font-size:11px}

/* responsive */
@media (max-width:900px){
  .admin-layout,.store-admin-shell{display:block}
  .admin-side,.store-admin-side{position:sticky;z-index:30;top:0;height:auto;padding:calc(10px + var(--safe-top)) 14px 10px;border-right:0;border-bottom:1px solid var(--line);background:rgba(5,5,5,.98);backdrop-filter:blur(12px);overflow:hidden}
  .admin-brand,.store-admin-brand{display:none}
  .admin-nav-scroll{display:flex;width:100%;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
  .admin-nav-scroll::-webkit-scrollbar{display:none}
  .admin-nav,.store-admin-nav{flex:0 0 auto;display:inline-flex;align-items:center;width:auto;min-height:34px;height:34px;padding:0!important;margin:0;border-bottom-color:transparent;font-size:11px;white-space:nowrap}.admin-nav.active,.store-admin-nav.active{border-bottom-color:var(--text)}
  .store-selector-row{margin-bottom:6px}.store-selector{display:block;width:100%;height:34px;margin:0;padding:0 22px 0 0}
  .admin-side-actions{display:flex;align-items:center;gap:16px;margin-top:6px;padding-top:7px;border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
  .admin-side-actions::-webkit-scrollbar{display:none}
  .admin-login,.store-admin-link{flex:0 0 auto;display:inline-flex;margin:0;white-space:nowrap}
  .admin-main,.store-admin-main{padding:26px 18px calc(64px + var(--safe-bottom))}
  .grid.four{grid-template-columns:repeat(2,1fr)}
  .grid.four .stat-card:nth-child(3){border-left:0!important;padding-left:0;border-top:1px solid var(--line)!important}.grid.four .stat-card:nth-child(4){border-top:1px solid var(--line)!important}
  .store-metrics{grid-template-columns:repeat(2,1fr)}.store-metrics article:nth-child(3),.store-metrics article:nth-child(5){border-left:0;padding-left:0;border-top:1px solid var(--line)}.store-metrics article:nth-child(4){border-top:1px solid var(--line)}.store-metrics article:nth-child(5){grid-column:1/-1}
  .store-admin-grid{grid-template-columns:1fr}.store-photo-grid{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:680px){
  body{font-size:14px}
  .home-dashboard,.inner-page{padding-left:16px;padding-right:16px}
  .home-topbar{margin-bottom:20px}
  .home-promo{margin-bottom:28px;padding-bottom:24px}.home-promo h1{font-size:38px;max-width:360px}.home-promo p{font-size:12px}.home-splash-image{width:58%}
  .home-boss-grid{grid-template-columns:1fr;gap:20px}.home-stats{border-left:0;border-top:1px solid var(--line);padding-top:12px}.home-stats article{padding-left:0}
  .inner-head{margin-bottom:24px}.inner-head h2,.admin-page-head h2,.store-admin-head h2{font-size:28px}
  .form-grid,.store-form,.store-form.compact{grid-template-columns:1fr;gap:16px}.wide{grid-column:auto}
  .admin-form>.primary-btn.wide,.store-form>.primary-btn.wide,.form-grid>.primary-btn.wide{grid-column:auto;width:100%;justify-self:stretch}
  .rank-card,.timeline-item,.visit-card{gap:10px}.store-card{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 0!important}.store-card-main{gap:10px}.store-card-photo{flex-basis:46px;width:46px;height:46px}.store-card-copy>strong{font-size:18px}.store-card .meta,.store-card-status{font-size:12px}.store-scan-btn{min-width:80px;height:40px;padding:0 12px}
  .profile-card h3{font-size:21px}
  .admin-page-head,.store-admin-head{display:block;margin-bottom:24px}.admin-page-head .chip,.store-admin-head .store-chip{margin-top:10px}
  .qr-display{grid-template-columns:1fr;gap:18px}.qr-placeholder{width:min(100%,280px);height:auto;aspect-ratio:1/1}
  .store-photo-grid{grid-template-columns:repeat(2,1fr)}.store-metrics b{font-size:18px}
  .geo-tools{align-items:flex-start;flex-direction:column;gap:7px}.geo-tools .secondary-btn{width:100%;height:42px}
  .page-meter-row{align-items:flex-start;flex-direction:column;gap:8px}.page-meter-row>strong{max-width:100%;text-align:left}
  .store-owner-card{grid-template-columns:40px minmax(0,1fr)!important}.store-owner-card>*:nth-child(n+3){grid-column:2;justify-self:start}
  .store-action-row{display:grid;grid-template-columns:1fr 1fr;width:100%}.store-action-row .primary-btn,.store-action-row .secondary-btn{width:100%}
  .home-section-head,.section-head,.store-section-head{gap:10px}.home-section-head h2,.section-head h3,.store-section-head h3{min-width:0}
  .admin-page-head,.store-admin-head{gap:8px}.admin-page-head p,.store-admin-head p{line-height:1.45}
  .input{font-size:16px} /* iOS input zoom prevention */
}

@media (max-width:380px){
  .home-credit span{display:none}
  .home-promo h1{font-size:34px}
  .bottom-nav{padding-left:4px;padding-right:4px}.nav-label{font-size:8px;letter-spacing:.02em}
  .grid.four{grid-template-columns:1fr}.grid.four .stat-card{padding-left:0!important;border-left:0!important;border-top:1px solid var(--line)!important}.grid.four .stat-card:first-child{border-top:0!important}
  .store-metrics{grid-template-columns:1fr}.store-metrics article,.store-metrics article:nth-child(n){grid-column:auto;border-left:0!important;padding-left:0!important;border-top:1px solid var(--line)}.store-metrics article:first-child{border-top:0}
  .store-action-row{grid-template-columns:1fr}
}


/* BiteBoss UX simplification v5 */
.bottom-nav-four{grid-template-columns:repeat(4,minmax(0,1fr));}
.home-dashboard{padding-bottom:104px;}
.home-promo{min-height:310px;}
.home-promo-content{max-width:520px;}
.promo-action{min-height:52px;padding:0 24px;font-size:15px;font-weight:800;letter-spacing:.02em;}

.scan-direct{display:grid;gap:12px;}
.scanner-box{width:100%;min-height:280px;overflow:hidden;background:#050505;border:1px solid #242424;}
.scanner-box video{width:100%!important;height:auto!important;display:block;}
.scanner-hint{margin:0;text-align:center;font-size:13px;line-height:1.45;color:var(--muted,#8b8b8b);}

.store-quick-actions{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px;margin:0 0 24px;}
.store-metrics-compact{grid-template-columns:repeat(4,minmax(0,1fr));}
.store-subsection{padding:28px 0;border-top:1px solid var(--line,#222);}
.store-subsection:first-of-type{padding-top:0;border-top:0;}
.store-subsection .store-section-head{margin-bottom:14px;}
.store-subsection .store-section-head p{margin:4px 0 0;color:var(--muted,#8b8b8b);font-size:12px;}
.store-panel-flat{border-radius:0;box-shadow:none;background:transparent;padding-left:0;padding-right:0;border-left:0;border-right:0;}
.photo-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.photo-action-row .primary-btn,.photo-action-row .secondary-btn{min-width:144px;}
.visually-hidden-file{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.inline-status{min-height:18px;font-size:12px;color:var(--muted,#8b8b8b);margin:2px 0 12px;}
.qr-meta{min-width:0;}
.qr-meta p,.qr-meta strong{overflow-wrap:anywhere;word-break:break-word;}

@media (max-width:760px){
  .store-quick-actions{grid-template-columns:1fr 1fr;}
  .store-quick-actions .primary-btn{grid-column:1/-1;}
  .store-metrics-compact{grid-template-columns:repeat(2,minmax(0,1fr));}
  .photo-action-row{display:grid;grid-template-columns:1fr 1fr;}
  .photo-action-row .primary-btn,.photo-action-row .secondary-btn{min-width:0;width:100%;}
  .scanner-box{min-height:240px;}
}

@media (max-width:390px){
  .store-quick-actions,.photo-action-row{grid-template-columns:1fr;}
  .store-quick-actions .primary-btn{grid-column:auto;}
  .promo-action{width:100%;}
}

@media (max-width:390px){
  .store-card{grid-template-columns:1fr;gap:10px}
  .store-scan-btn{width:100%;justify-self:stretch}
}

/* BiteBoss Admin layout isolation v1 */
.admin-app .admin-main{max-width:none}
.admin-app .admin-page{width:100%;max-width:980px}
.admin-app #adminStoreList,
.admin-app #qrList{border-top:1px solid var(--line)}

.admin-store-row{padding:20px 0;border-bottom:1px solid var(--line);min-width:0}
.admin-store-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;min-width:0}
.admin-store-thumb{width:48px;height:48px;object-fit:cover;border-radius:2px;background:#111}
.admin-store-copy{min-width:0}
.admin-store-copy strong{display:block;font-size:18px;line-height:1.25;letter-spacing:-.025em;white-space:normal;overflow-wrap:anywhere}
.admin-store-copy p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.admin-store-coords{font-variant-numeric:tabular-nums}
.admin-store-account{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid #171717;min-width:0}
.admin-row-label{color:var(--muted);font-size:11px;font-weight:700}
.admin-account-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;min-width:0}
.admin-account-fields .input{width:100%;min-width:0}
.admin-account-fields .secondary-btn{white-space:nowrap;height:44px}
.admin-store-actions{display:flex;align-items:center;gap:18px;margin-top:14px;padding-left:104px}
.admin-store-actions .text-link,.admin-store-actions .text-btn{padding:0;border:0;background:none;color:var(--muted);font-size:11px;font-weight:700;text-decoration:none;min-height:auto;height:auto}
.admin-store-actions .text-link:hover,.admin-store-actions .text-btn:hover{color:var(--text)}
.admin-store-actions .danger-text{color:#d98d92}
.admin-empty{padding:26px 0;color:var(--muted);font-size:13px;border-bottom:1px solid var(--line)}

.admin-qr-row{padding:22px 0;border-bottom:1px solid var(--line);min-width:0}
.admin-qr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;min-width:0}
.admin-qr-head>div{min-width:0}
.admin-qr-head strong{display:block;font-size:18px;line-height:1.25;letter-spacing:-.025em;overflow-wrap:anywhere}
.admin-qr-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.admin-qr-state{flex:0 0 auto;color:var(--faint);font-size:11px;font-weight:700}
.admin-qr-state.is-active{color:var(--text)}
.admin-qr-data{display:grid;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #171717;min-width:0}
.admin-qr-data>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:start;min-width:0}
.admin-qr-data span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding-top:2px}
.admin-qr-data code,.admin-qr-data p{display:block;min-width:0;margin:0;color:var(--muted);font:inherit;font-size:12px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}
.admin-qr-actions{display:flex;gap:8px;margin-top:16px}
.admin-qr-actions .secondary-btn{height:40px;min-height:40px;padding:0 14px;font-size:11px}

@media (max-width:900px){
  .admin-app .admin-nav-scroll{gap:16px;padding-right:14px}
  .admin-app .admin-nav{font-size:11px}
  .admin-app .admin-side-actions{gap:18px}
  .admin-app .admin-main{padding-top:22px}
}

@media (max-width:680px){
  .admin-store-row{padding:18px 0}
  .admin-store-summary{grid-template-columns:minmax(0,1fr) auto}
  .admin-store-thumb{display:none}
  .admin-store-copy strong,.admin-qr-head strong{font-size:17px}
  .admin-store-account{grid-template-columns:1fr;gap:8px;margin-top:14px;padding-top:14px}
  .admin-account-fields{grid-template-columns:1fr 1fr}
  .admin-account-fields .secondary-btn{grid-column:1/-1;width:100%}
  .admin-store-actions{padding-left:0;margin-top:12px}
  .admin-qr-data>div{grid-template-columns:1fr;gap:4px}
  .admin-qr-actions{display:grid;grid-template-columns:1fr 1fr}
  .admin-qr-actions .secondary-btn{width:100%}
}

@media (max-width:390px){
  .admin-store-summary{grid-template-columns:1fr}
  .admin-store-summary .partner-badge{justify-self:start}
  .admin-account-fields{grid-template-columns:1fr}
  .admin-account-fields .secondary-btn{grid-column:auto}
  .admin-qr-head{display:grid;grid-template-columns:1fr}
  .admin-qr-state{justify-self:start}
  .admin-qr-actions{grid-template-columns:1fr}
}


/* BiteBoss member / partnership flow */
.player-actions{flex-wrap:wrap}
.member-session-label{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}
.member-auth-form,.member-store-form{max-width:520px}
.member-location-state{padding:10px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.45}
.store-auto-claim{display:grid;place-items:center;cursor:default;color:var(--muted)}
.auth-switch{display:block;margin:16px auto 0;color:var(--muted)}
.activation-result{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.activation-result strong{font-size:11px;color:var(--muted)}
.activation-result code{font-size:15px;letter-spacing:.12em;color:var(--text);word-break:break-all}
.activation-result p{flex-basis:100%;margin:0;color:var(--muted);font-size:11px}
.admin-action-note{color:var(--muted);font-size:10px;line-height:1.4}
@media (max-width:680px){
  .player-actions{gap:14px}
  .activation-result{align-items:flex-start}
  .activation-result .secondary-btn{width:100%}
}


/* BiteBoss store detail */
.store-card-open{cursor:pointer;outline:none}
.store-card-open:focus-visible{border-bottom-color:var(--text)!important}
.store-card-open .store-card-main{pointer-events:none}
.store-card-open .store-scan-btn{pointer-events:auto}
.store-detail{display:grid;gap:0}
.store-detail-loading,.store-detail-empty{padding:18px 0;color:var(--muted);font-size:12px;line-height:1.5}
.store-detail-cover{width:100%;max-height:320px;object-fit:cover;margin:0 0 18px;background:#0b0b0b}
.store-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.store-detail-head>div{min-width:0}
.store-detail-head p{margin:0 0 4px;color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.store-detail-partner{flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.store-detail-status{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.store-detail-status span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.store-detail-status strong{max-width:72%;text-align:right;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.store-detail-section{padding:22px 0;border-bottom:1px solid var(--line)}
.store-detail-section h4{margin:0 0 14px;font-size:12px;line-height:1.3;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.store-detail-info{display:grid;gap:0}
.store-detail-info>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;padding:9px 0;border-top:1px solid #171717}
.store-detail-info>div:first-of-type{border-top:0}
.store-detail-info span{color:var(--muted);font-size:11px}
.store-detail-info strong{font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.store-detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.store-detail-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#111}
.store-detail-menu{border-top:1px solid #171717}
.store-detail-menu article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:13px 0;border-bottom:1px solid #171717}
.store-detail-menu article:last-child{border-bottom:0}
.store-detail-menu strong{display:block;font-size:14px;line-height:1.35}
.store-detail-menu p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45}
.store-detail-menu article>span{text-align:right;font-size:12px;white-space:nowrap}
.store-detail-menu small{display:block;margin-top:4px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.store-detail-offers{border-top:1px solid #171717}
.store-detail-offers article{padding:13px 0;border-bottom:1px solid #171717}
.store-detail-offers article:last-child{border-bottom:0}
.store-detail-offers strong{display:block;font-size:14px}
.store-detail-offers p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.store-detail-offers small{display:block;margin-top:6px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.store-detail-action{padding-top:22px}
.store-detail-primary{width:100%;min-height:48px}
.store-detail-auto{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.5;text-align:center}
@media (max-width:520px){
  .store-detail-cover{max-height:240px}
  .store-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .store-detail-status{display:grid;gap:6px}
  .store-detail-status strong{max-width:none;text-align:left}
  .store-detail-info>div{grid-template-columns:64px minmax(0,1fr)}
}

/* BiteBoss Admin full management */
.admin-editor-open{overflow:hidden}
.admin-editor{position:fixed;z-index:140;inset:0;display:grid;grid-template-columns:minmax(0,1fr) min(760px,92vw)}
.admin-editor-backdrop{background:rgba(0,0,0,.74)}
.admin-editor-panel{height:100dvh;overflow:auto;background:#080808;border-left:1px solid var(--line);padding:28px 28px calc(48px + var(--safe-bottom))}
.admin-editor-head{position:sticky;z-index:5;top:-28px;margin:-28px -28px 28px;padding:28px 28px 18px;background:rgba(8,8,8,.98);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.admin-editor-head>div{min-width:0}.admin-editor-head span{display:block;margin-bottom:6px;color:var(--muted);font-size:9px;letter-spacing:.13em}.admin-editor-head h2{margin:0;font-size:30px;line-height:1.05;letter-spacing:-.045em}.admin-editor-head p{margin:7px 0 0;color:var(--muted);font-size:11px}
.admin-editor-close{position:static;flex:0 0 auto}
.admin-editor-loading{padding:24px 0;color:var(--muted)}
.admin-edit-section{padding:28px 0;border-top:1px solid var(--line)}
.admin-edit-section:first-child{padding-top:0;border-top:0}
.compact-admin-form{margin-bottom:0;padding-bottom:0;border-bottom:0}
.admin-inline-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:10px;align-items:end;margin-bottom:12px}
.admin-inline-form input[type="file"]{min-width:0;max-width:100%;font-size:11px;color:var(--muted)}
.admin-check{display:flex;align-items:center;gap:7px;min-height:44px;color:var(--muted);font-size:11px;white-space:nowrap}
.admin-form-actions{display:flex;align-items:center;gap:16px}
.admin-media-list,.admin-data-list{border-top:1px solid var(--line)}
.admin-media-row,.admin-data-row{display:grid;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.admin-media-row{grid-template-columns:48px minmax(0,1fr) auto}.admin-media-row img{width:48px;height:48px;object-fit:cover;background:#111}.admin-media-row strong,.admin-data-row strong{display:block;font-size:13px}.admin-media-row p,.admin-data-row p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.admin-data-row{grid-template-columns:minmax(0,1fr) auto}.admin-data-actions,.admin-user-actions{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.admin-user-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.admin-user-copy{min-width:0}.admin-user-copy strong{display:block;font-size:14px;overflow-wrap:anywhere}.admin-user-copy p{margin:4px 0 0;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.admin-editor-danger{margin-top:8px}.danger-outline{border-color:#6a2c31!important;color:#e6a0a5!important}.danger-outline:hover{border-color:#b45d64!important;color:#ffd3d6!important}
.admin-danger-zone{border-top:1px solid var(--line)}
.admin-maintenance-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.admin-maintenance-row strong{display:block;font-size:14px}.admin-maintenance-row p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5;max-width:620px}.admin-maintenance-critical{padding-top:28px;margin-top:8px;border-top:1px solid #4b2024}

@media (max-width:900px){
  .admin-editor{grid-template-columns:1fr}.admin-editor-backdrop{display:none}.admin-editor-panel{width:100%;border-left:0}
}
@media (max-width:680px){
  .admin-editor-panel{padding:22px 16px calc(42px + var(--safe-bottom))}.admin-editor-head{top:-22px;margin:-22px -16px 24px;padding:22px 16px 15px}.admin-editor-head h2{font-size:27px}
  .admin-inline-form{grid-template-columns:1fr}.admin-inline-form .secondary-btn{width:100%}.admin-check{min-height:auto}
  .admin-media-row{grid-template-columns:42px minmax(0,1fr) auto}.admin-media-row img{width:42px;height:42px}
  .admin-data-row,.admin-user-row{grid-template-columns:1fr;gap:8px}.admin-data-actions,.admin-user-actions{justify-content:flex-start}
  .admin-maintenance-row{grid-template-columns:1fr;gap:12px}.admin-maintenance-row .secondary-btn{width:100%}
}

/* BiteBoss banner advertising */
.home-ad-banner{
  position:relative;display:block;width:100%;margin:-12px 0 32px;
  overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:#090909;aspect-ratio:3/1
}
.home-ad-banner img{width:100%;height:100%;object-fit:cover}
.home-ad-label{
  position:absolute;z-index:2;top:7px;left:7px;min-width:22px;height:18px;padding:0 5px;
  display:grid;place-items:center;background:rgba(0,0,0,.72);color:#d4d0ca;
  font-size:8px;font-weight:800;letter-spacing:.08em
}
.admin-ad-form{max-width:820px}
.admin-ad-guide{display:flex;gap:16px;flex-wrap:wrap;margin:-18px 0 16px;color:var(--muted);font-size:10px}
.admin-ad-list{border-top:1px solid var(--line)}
.admin-ad-row{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.admin-ad-thumb{width:160px;aspect-ratio:3/1;object-fit:cover;background:#111}
.admin-ad-copy{min-width:0}.admin-ad-title{display:flex;align-items:center;gap:9px;min-width:0}.admin-ad-title strong{font-size:15px;overflow-wrap:anywhere}.admin-ad-title span{flex:0 0 auto;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em}
.admin-ad-copy p{margin:4px 0 0;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.admin-ad-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;color:var(--text);font-size:10px;font-variant-numeric:tabular-nums}
@media (max-width:680px){
  .home-ad-banner{margin-top:-6px;margin-bottom:26px}
  .admin-ad-row{grid-template-columns:96px minmax(0,1fr);gap:12px}.admin-ad-thumb{width:96px}.admin-ad-row>.admin-data-actions{grid-column:2;justify-content:flex-start}
}
@media (max-width:390px){
  .admin-ad-row{grid-template-columns:1fr}.admin-ad-thumb{width:100%;max-width:240px}.admin-ad-row>.admin-data-actions{grid-column:auto}
}
/* ============================================================
   BiteBoss Game UI — Step 2
   Player Level / Store Power / Boss Defense / Boss-Crew-Visitor
   ============================================================ */

body.user-app .profile-game-stats{
  margin-top:12px;
}

body.user-app .profile-game-stats .stat-card{
  min-height:78px;
  border-radius:0;
  border-left:0;
  border-right:0;
  background:transparent;
  box-shadow:none;
}

body.user-app .profile-game-stats .stat-card:nth-child(1),
body.user-app .profile-game-stats .stat-card:nth-child(2){
  border-top:1px solid var(--line);
}

body.user-app .profile-game-stats .stat-card b{
  font-size:22px;
}

.battle-status{
  margin-top:0;
  padding:18px 0 20px;
  border-bottom:1px solid var(--line);
}

.battle-status-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.battle-status-head>div{
  display:grid;
  gap:4px;
}

.battle-eyebrow{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
}

.battle-status-head>div>strong{
  color:#fff7e8;
  font-size:24px;
  line-height:1;
  font-weight:900;
}

.battle-state{
  flex:0 0 auto;
  padding:0;
  color:rgba(255,247,232,.55);
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.battle-state.is-open{
  color:#fff7e8;
}

.battle-state.is-protected{
  color:#ff6b75;
}

.battle-power-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.battle-power-grid article{
  min-height:70px;
  display:grid;
  align-content:center;
  gap:6px;
  padding:12px 0;
}

.battle-power-grid article:nth-child(odd){
  padding-right:14px;
  border-right:1px solid var(--line);
}

.battle-power-grid article:nth-child(even){
  padding-left:14px;
}

.battle-power-grid article:nth-child(n+3){
  border-top:1px solid var(--line);
}

.battle-power-grid span,
.battle-boss-row span,
.battle-decay-row span{
  color:var(--muted);
  font-size:10px;
  font-weight:700;
  letter-spacing:.02em;
}

.battle-power-grid strong{
  color:#fff7e8;
  font-size:20px;
  line-height:1;
  font-weight:900;
}

.battle-boss-row,
.battle-decay-row{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:14px;
  padding:13px 0;
  border-bottom:1px solid #171717;
}

.battle-boss-row strong,
.battle-decay-row strong{
  color:#fff7e8;
  text-align:right;
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  overflow-wrap:anywhere;
}

.battle-progress-copy{
  padding-top:14px;
}

.battle-progress-copy p{
  color:#fff7e8;
  font-size:12px;
  line-height:1.55;
  font-weight:650;
}

.battle-progress-copy small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
}

.store-detail-auto.is-boss{
  color:#fff7e8;
}

@media(max-width:380px){
  .battle-status-head>div>strong{
    font-size:22px;
  }

  .battle-power-grid strong{
    font-size:18px;
  }

  .battle-boss-row,
  .battle-decay-row{
    grid-template-columns:80px minmax(0,1fr);
  }
}
/* ============================================================
   BiteBoss Game UI — Step 3
   Store Growth / Crew Re-challenge / Defense Activity
   ============================================================ */

.battle-state.is-cooldown{
  color:rgba(255,247,232,.42);
}

.battle-timeline-note{
  padding:10px 0 0;
  color:rgba(255,247,232,.42);
  font-size:10px;
  line-height:1.45;
}

.store-growth{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--line);
}

.store-growth-head,
.store-growth-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.store-growth-head span{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
}

.store-growth-head strong{
  color:#fff7e8;
  font-size:11px;
  font-weight:800;
  text-align:right;
}

.store-growth-track{
  position:relative;
  height:3px;
  margin:11px 0 8px;
  overflow:hidden;
  background:rgba(255,255,255,.10);
}

.store-growth-track i{
  display:block;
  width:0;
  height:100%;
  background:#fff7e8;
  transition:width .2s ease;
}

.store-growth-meta{
  color:rgba(255,247,232,.42);
  font-size:10px;
  line-height:1.3;
}

@media(max-width:380px){
  .store-growth-head{
    align-items:flex-start;
  }

  .store-growth-head strong{
    max-width:180px;
  }
}
/* ============================================================
   BiteBoss Game UI — Step 4
   Organization foundation
   ============================================================ */

.organization-panel{
  margin-top:18px;
  padding:17px 0 18px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.organization-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.organization-panel-head>div{
  min-width:0;
  display:grid;
  gap:5px;
}

.organization-panel-head span{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
}

.organization-panel-head strong{
  overflow:hidden;
  color:#fff7e8;
  font-size:20px;
  line-height:1.05;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.organization-panel-head small{
  color:rgba(255,247,232,.45);
  font-size:10px;
}

.organization-panel-head .text-btn{
  min-height:32px;
  flex:0 0 auto;
  padding:0;
  font-size:11px;
}

.organization-panel-head .text-btn:disabled{
  color:rgba(255,247,232,.28);
  opacity:1;
}

.organization-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:16px;
  border-top:1px solid #171717;
}

.organization-stats>div{
  min-height:58px;
  display:grid;
  align-content:center;
  gap:5px;
  padding-top:12px;
}

.organization-stats>div+div{
  padding-left:16px;
  border-left:1px solid #171717;
}

.organization-stats span{
  color:var(--muted);
  font-size:10px;
}

.organization-stats strong{
  color:#fff7e8;
  font-size:19px;
  line-height:1;
}

.organization-create-form label{
  display:grid;
  gap:7px;
  color:rgba(255,247,232,.7);
  font-size:12px;
  font-weight:800;
}

.organization-create-note{
  margin:0;
  color:rgba(255,247,232,.42);
  font-size:11px;
  line-height:1.5;
}

@media(max-width:380px){
  .organization-panel-head{
    gap:12px;
  }

  .organization-panel-head strong{
    font-size:18px;
  }

  .organization-panel-head .text-btn{
    max-width:128px;
    text-align:right;
  }
}
/* ============================================================
   BiteBoss Game UI — Step 5
   Organization leave / penalty / cooldown
   ============================================================ */

.organization-actions{
  flex:0 0 auto;
  display:grid;
  justify-items:end;
  gap:8px;
}

.organization-actions .text-btn{
  min-height:28px;
}

.danger-text{
  color:#ff6b75!important;
}

.organization-leave-confirm{
  display:grid;
  gap:12px;
}

.organization-leave-confirm>strong{
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
  color:#fff7e8;
  font-size:20px;
  line-height:1.1;
  font-weight:900;
}

.organization-leave-confirm p{
  margin:0;
  color:rgba(255,247,232,.58);
  font-size:12px;
  line-height:1.55;
}

.danger-btn{
  width:100%;
  min-height:46px;
  margin-top:4px;
  border:1px solid rgba(255,107,117,.38);
  border-radius:0;
  background:transparent;
  color:#ff6b75;
  font-weight:900;
}

.danger-btn:disabled{
  opacity:.45;
}

@media(max-width:380px){
  .organization-actions{
    max-width:138px;
  }
}
/* ============================================================
   BiteBoss Game UI — Step 6
   Organization invites / members / expansion
   ============================================================ */

.organization-member-list{
  margin-top:14px;
  border-top:1px solid #171717;
}

.organization-member-row{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid #171717;
}

.organization-member-row>div{
  min-width:0;
  display:grid;
  gap:3px;
}

.organization-member-row strong{
  overflow:hidden;
  color:#fff7e8;
  font-size:12px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.organization-member-row span{
  color:rgba(255,247,232,.42);
  font-size:9px;
}

.organization-member-row>b{
  flex:0 0 auto;
  color:rgba(255,247,232,.66);
  font-size:10px;
  font-weight:800;
}

.organization-invites{
  margin-top:18px;
  padding:16px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.organization-invites-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:4px;
}

.organization-invites-head span{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
}

.organization-invites-head strong{
  color:#fff7e8;
  font-size:12px;
}

.organization-invite-row{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid #171717;
}

.organization-invite-row:last-child{
  border-bottom:0;
}

.organization-invite-row>div:first-child{
  min-width:0;
  display:grid;
  gap:4px;
}

.organization-invite-row strong{
  overflow:hidden;
  color:#fff7e8;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.organization-invite-row span{
  color:rgba(255,247,232,.42);
  font-size:9px;
}

.organization-invite-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
}

.organization-invite-actions button{
  min-height:32px;
  padding:0;
  border:0;
  background:transparent;
  color:#fff7e8;
  font-size:11px;
  font-weight:850;
}

.organization-invite-actions button:last-child{
  color:rgba(255,247,232,.42);
}

.organization-invite-actions button:disabled{
  opacity:.4;
}

.organization-invite-form label{
  display:grid;
  gap:7px;
  color:rgba(255,247,232,.7);
  font-size:12px;
  font-weight:800;
}

.organization-invite-form p{
  margin:0;
  color:rgba(255,247,232,.42);
  font-size:11px;
  line-height:1.5;
}

@media(max-width:380px){
  .organization-invite-row{
    align-items:flex-start;
    padding:11px 0;
  }

  .organization-invite-actions{
    gap:8px;
  }
}
/* ============================================================
   BiteBoss Game UI — Step 7
   Player / Organization / Territory rankings
   ============================================================ */

.rank-card{
  grid-template-columns:28px minmax(0,1fr) auto;
  min-height:64px;
  padding:12px 0;
  border-bottom:1px solid #171717;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.rank-number{
  align-self:start;
  padding-top:2px;
  color:rgba(255,247,232,.38);
  font-size:11px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}

.rank-card>div:nth-child(2){
  min-width:0;
}

.rank-card>div:nth-child(2)>strong{
  display:block;
  overflow:hidden;
  color:#fff7e8;
  font-size:13px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rank-result{
  min-width:64px;
  display:grid;
  justify-items:end;
  align-content:center;
  gap:3px;
}

.rank-result b{
  color:#fff7e8;
  font-size:16px;
  line-height:1;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}

.rank-result span{
  color:rgba(255,247,232,.38);
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.territory-rank-card>div:nth-child(2)>strong{
  font-size:14px;
}

@media(max-width:380px){
  .rank-card{
    grid-template-columns:24px minmax(0,1fr) auto;
    gap:9px;
  }

  .rank-result{
    min-width:54px;
  }

  .rank-result b{
    font-size:15px;
  }
}
/* ============================================================
   BiteBoss Admin — Step 8
   Game operations
   ============================================================ */

.admin-rule-divider{
  margin-top:10px;
  padding:14px 0 4px;
  border-top:1px solid var(--line);
  color:rgba(255,247,232,.42);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}

.gameops-summary{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  margin-bottom:24px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.gameops-summary>div{
  min-height:78px;
  display:grid;
  align-content:center;
  gap:7px;
  padding:12px;
  border-right:1px solid var(--line);
}

.gameops-summary>div:last-child{
  border-right:0;
}

.gameops-summary span{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.gameops-summary strong{
  color:#fff7e8;
  font-size:23px;
  line-height:1;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}

.gameops-section{
  padding-left:0;
  padding-right:0;
}

.gameops-section .section-head>span{
  color:rgba(255,247,232,.4);
  font-size:10px;
}

.gameops-list{
  border-top:1px solid var(--line);
}

.gameops-store-row{
  display:grid;
  grid-template-columns:minmax(160px,1fr) minmax(220px,1.3fr) auto;
  align-items:center;
  gap:18px;
  min-height:70px;
  border-bottom:1px solid #171717;
}

.gameops-store-row>div:first-child,
.gameops-store-status{
  min-width:0;
}

.gameops-store-row strong,
.gameops-org-row strong{
  display:block;
  overflow:hidden;
  color:#fff7e8;
  font-size:13px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.gameops-store-row p,
.gameops-org-row p{
  margin:4px 0 0;
  color:rgba(255,247,232,.42);
  font-size:10px;
}

.gameops-store-status span{
  display:block;
  margin-top:4px;
  color:rgba(255,247,232,.42);
  font-size:10px;
}

.gameops-store-action{
  min-width:70px;
  text-align:right;
}

.gameops-org-row{
  display:grid;
  grid-template-columns:minmax(180px,1fr) 100px 100px;
  align-items:center;
  gap:18px;
  min-height:66px;
  border-bottom:1px solid #171717;
}

.gameops-org-row>div:nth-child(n+2){
  display:grid;
  justify-items:end;
  gap:4px;
}

.gameops-org-row b{
  color:#fff7e8;
  font-size:16px;
  line-height:1;
}

.gameops-org-row span{
  color:rgba(255,247,232,.38);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

@media(max-width:900px){
  .gameops-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .gameops-summary>div:nth-child(3n){
    border-right:0;
  }

  .gameops-summary>div:nth-child(n+4){
    border-top:1px solid var(--line);
  }

  .gameops-store-row{
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px 14px;
    padding:12px 0;
  }

  .gameops-store-status{
    grid-column:1 / -1;
    grid-row:2;
  }
}

@media(max-width:600px){
  .gameops-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .gameops-summary>div{
    border-top:1px solid var(--line);
  }

  .gameops-summary>div:nth-child(odd){
    border-right:1px solid var(--line);
  }

  .gameops-summary>div:nth-child(even){
    border-right:0;
  }

  .gameops-org-row{
    grid-template-columns:minmax(0,1fr) 70px 70px;
    gap:10px;
  }
}
/* ============================================================
   BiteBoss Game UI — Step 9
   Boss independence / own organization
   ============================================================ */

.independence-create-form{
  gap:14px;
}

.independence-summary{
  padding:0 0 14px;
  border-bottom:1px solid var(--line);
}

.independence-summary>span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}

.independence-summary>strong{
  display:block;
  color:#fff7e8;
  font-size:22px;
  line-height:1;
  font-weight:950;
}

.independence-summary>p{
  margin:8px 0 0;
  color:rgba(255,247,232,.52);
  font-size:11px;
  line-height:1.5;
}

.independence-rules{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid #171717;
  border-bottom:1px solid #171717;
}

.independence-rules p{
  display:grid;
  gap:5px;
  margin:0;
  padding:12px 10px;
  border-right:1px solid #171717;
  color:rgba(255,247,232,.42);
  font-size:9px;
  line-height:1.25;
}

.independence-rules p:last-child{
  border-right:0;
}

.independence-rules strong{
  color:#fff7e8;
  font-size:12px;
  font-weight:900;
}

@media(max-width:380px){
  .independence-rules{
    grid-template-columns:1fr;
  }

  .independence-rules p{
    grid-template-columns:1fr auto;
    align-items:center;
    border-right:0;
    border-bottom:1px solid #171717;
  }

  .independence-rules p:last-child{
    border-bottom:0;
  }
}


/* ============================================================
   BiteBoss Game UI — Step 10
   Organization leadership transfer
   ============================================================ */

.organization-member-side{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:12px;
}

.organization-member-side>b{
  color:rgba(255,247,232,.66);
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

.organization-transfer-btn{
  min-height:30px;
  color:rgba(255,247,232,.72);
  font-size:10px;
}

.organization-transfer-confirm{
  display:grid;
  gap:13px;
}

.organization-transfer-confirm>span{
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}

.organization-transfer-confirm>strong{
  color:#fff7e8;
  font-size:24px;
  line-height:1;
  font-weight:950;
}

.organization-transfer-confirm>p{
  margin:0;
  color:rgba(255,247,232,.55);
  font-size:11px;
  line-height:1.55;
}

.organization-transfer-rules{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid #171717;
  border-bottom:1px solid #171717;
}

.organization-transfer-rules p{
  display:grid;
  gap:5px;
  margin:0;
  padding:12px 10px;
  border-right:1px solid #171717;
  color:rgba(255,247,232,.42);
  font-size:9px;
  line-height:1.25;
}

.organization-transfer-rules p:last-child{
  border-right:0;
}

.organization-transfer-rules strong{
  color:#fff7e8;
  font-size:11px;
  font-weight:900;
}

.organization-transfer-note{
  color:rgba(255,247,232,.38)!important;
}

@media(max-width:380px){
  .organization-member-side{
    gap:8px;
  }

  .organization-transfer-rules{
    grid-template-columns:1fr;
  }

  .organization-transfer-rules p{
    grid-template-columns:1fr auto;
    border-right:0;
    border-bottom:1px solid #171717;
  }

  .organization-transfer-rules p:last-child{
    border-bottom:0;
  }
}


/* ============================================================
   BiteBoss Game UI — Step 11
   Organization detail / territories
   ============================================================ */

#organizationPanelOpen{
  cursor:pointer;
}

#organizationPanelOpen .organization-actions button,
#organizationPanelOpen .organization-member-list{
  cursor:default;
}

.organization-detail{
  display:grid;
  gap:24px;
}

.organization-detail-hero{
  padding:4px 0 20px;
  border-bottom:1px solid var(--line);
}

.organization-detail-hero>span{
  display:block;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}

.organization-detail-hero>strong{
  display:block;
  margin-top:7px;
  color:#fff7e8;
  font-size:28px;
  line-height:1;
  font-weight:950;
}

.organization-detail-hero>div{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:18px;
  border-top:1px solid #171717;
  border-bottom:1px solid #171717;
}

.organization-detail-hero p{
  display:grid;
  gap:4px;
  margin:0;
  padding:13px 0;
}

.organization-detail-hero p+p{
  padding-left:16px;
  border-left:1px solid #171717;
}

.organization-detail-hero b{
  color:#fff7e8;
  font-size:20px;
  line-height:1;
}

.organization-detail-hero p span{
  color:rgba(255,247,232,.4);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.organization-detail-section h4{
  margin:0 0 8px;
  color:rgba(255,247,232,.44);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.organization-territory-list,
.organization-detail-members{
  border-top:1px solid #171717;
}

.organization-territory-row{
  width:100%;
  min-height:62px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:11px 0;
  border:0;
  border-bottom:1px solid #171717;
  background:transparent;
  color:inherit;
  text-align:left;
}

.organization-territory-row>div{
  min-width:0;
  display:grid;
  gap:4px;
}

.organization-territory-row>div:last-child{
  justify-items:end;
  text-align:right;
}

.organization-territory-row strong,
.organization-territory-row b{
  overflow:hidden;
  color:#fff7e8;
  font-size:12px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.organization-territory-row span{
  color:rgba(255,247,232,.4);
  font-size:9px;
}

.organization-detail-member{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid #171717;
}

.organization-detail-member>div{
  min-width:0;
  display:grid;
  gap:3px;
}

.organization-detail-member strong{
  overflow:hidden;
  color:#fff7e8;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.organization-detail-member span{
  color:rgba(255,247,232,.4);
  font-size:9px;
}

.organization-detail-member>b{
  color:rgba(255,247,232,.62);
  font-size:10px;
  white-space:nowrap;
}

@media(max-width:380px){
  .organization-detail-hero>strong{
    font-size:25px;
  }

  .organization-territory-row{
    grid-template-columns:minmax(0,1fr) 96px;
    gap:10px;
  }
}


/* ============================================================
   BiteBoss Game UI — Step 13
   Battle activity feed
   ============================================================ */

.home-activity{padding:0 0 10px;}
.activity-list{border-top:1px solid #171717;}
.activity-row{
  width:100%;
  min-height:62px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:11px 0;
  border:0;
  border-bottom:1px solid #171717;
  background:transparent;
  color:inherit;
  text-align:left;
}
.activity-row.is-compact{min-height:56px;}
.activity-scope{
  color:rgba(255,247,232,.32);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.activity-row>div{min-width:0;}
.activity-row strong{
  display:block;
  overflow:hidden;
  color:#fff7e8;
  font-size:12px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.activity-row p{
  overflow:hidden;
  margin:4px 0 0;
  color:rgba(255,247,232,.42);
  font-size:9px;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.activity-row time{
  color:rgba(255,247,232,.32);
  font-size:9px;
  font-variant-numeric:tabular-nums;
}
.activity-empty{
  padding:17px 0;
  color:rgba(255,247,232,.36);
  font-size:11px;
}
.battle-log-section{margin-top:22px;}

@media(max-width:380px){
  .activity-row{
    grid-template-columns:32px minmax(0,1fr) auto;
    gap:8px;
  }
  .activity-row strong{font-size:11px;}
}


/* ============================================================
   BiteBoss Game UI — Step 14
   Player profile / head-to-head
   ============================================================ */

[data-player-profile]{
  cursor:pointer;
}

.player-profile-detail{
  display:grid;
  gap:22px;
}

.player-profile-hero{
  padding:4px 0 18px;
  border-bottom:1px solid var(--line);
}

.player-profile-hero>span,
.player-profile-section-head>span{
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}

.player-profile-hero>strong{
  display:block;
  margin-top:7px;
  color:#fff7e8;
  font-size:28px;
  line-height:1;
  font-weight:950;
}

.player-profile-hero>p{
  margin:8px 0 0;
  color:rgba(255,247,232,.46);
  font-size:11px;
}

.player-profile-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid #171717;
  border-bottom:1px solid #171717;
}

.player-profile-stats>div{
  min-height:66px;
  display:grid;
  align-content:center;
  gap:5px;
  padding:10px;
  border-right:1px solid #171717;
}

.player-profile-stats>div:last-child{
  border-right:0;
}

.player-profile-stats span,
.player-profile-h2h p span{
  color:rgba(255,247,232,.4);
  font-size:9px;
}

.player-profile-stats strong{
  color:#fff7e8;
  font-size:18px;
  line-height:1;
}

.player-profile-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:8px;
}

.player-profile-section-head>strong{
  color:rgba(255,247,232,.52);
  font-size:10px;
}

.player-profile-h2h>div:last-child{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid #171717;
  border-bottom:1px solid #171717;
}

.player-profile-h2h p{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0;
  padding:12px 0;
}

.player-profile-h2h p+p{
  padding-left:14px;
  border-left:1px solid #171717;
}

.player-profile-h2h p strong{
  color:#fff7e8;
  font-size:15px;
}

.player-profile-history>div:last-child{
  border-top:1px solid #171717;
}

.player-profile-history-row{
  width:100%;
  min-height:54px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:9px 0;
  border:0;
  border-bottom:1px solid #171717;
  background:transparent;
  color:inherit;
  text-align:left;
}

.player-profile-history-row>div{
  min-width:0;
  display:grid;
  gap:3px;
}

.player-profile-history-row strong{
  color:#fff7e8;
  font-size:11px;
}

.player-profile-history-row span,
.player-profile-history-row time{
  color:rgba(255,247,232,.4);
  font-size:9px;
}

@media(max-width:380px){
  .player-profile-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .player-profile-stats>div:nth-child(2){
    border-right:0;
  }

  .player-profile-stats>div:nth-child(n+3){
    border-top:1px solid #171717;
  }
}


/* ============================================================
   BiteBoss Game UI — Step 15
   Territory map
   ============================================================ */

.territory-map-section{
  margin:16px 0 22px;
}

.territory-map-head,
.territory-map-legend{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.territory-map-head{
  margin-bottom:9px;
}

.territory-map-head>span{
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}

.territory-map-head>strong{
  color:rgba(255,247,232,.52);
  font-size:10px;
  font-weight:800;
}

.territory-map-legend{
  justify-content:flex-start;
  margin-bottom:10px;
  color:rgba(255,247,232,.38);
  font-size:9px;
}

.territory-map-legend span{
  display:flex;
  align-items:center;
  gap:6px;
}

.territory-map-legend i{
  width:7px;
  height:7px;
  display:inline-block;
  border:2px solid #9a9a9a;
  border-radius:50%;
  background:#111;
}

.territory-map-legend i.is-mine{
  border-color:#fff7e8;
  background:#fff7e8;
}

.territory-map{
  width:100%;
  height:360px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#090909;
}

.territory-map .leaflet-control-zoom{
  margin:12px;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.territory-map .leaflet-control-zoom a{
  width:34px;
  height:34px;
  line-height:34px;
  border:1px solid #252525;
  border-radius:0!important;
  background:#0b0b0b;
  color:#fff7e8;
}

.territory-map .leaflet-control-attribution{
  background:rgba(0,0,0,.68);
  color:#666;
  font-size:8px;
}

.territory-map .leaflet-control-attribution a{
  color:#777;
}

.territory-map .leaflet-popup-content-wrapper,
.territory-map .leaflet-popup-tip{
  border-radius:0;
  background:#0c0c0c;
  color:#fff7e8;
  box-shadow:none;
}

.territory-map .leaflet-popup-content{
  margin:13px 14px;
}

.territory-map-popup{
  min-width:180px;
  display:grid;
  gap:5px;
}

.territory-map-popup>span{
  color:#777;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.territory-map-popup>strong{
  color:#fff7e8;
  font-size:13px;
}

.territory-map-popup>p,
.territory-map-popup>small{
  margin:0;
  color:#888;
  font-size:9px;
  line-height:1.35;
}

.territory-map-popup>button{
  min-height:32px;
  margin-top:5px;
  padding:0;
  border:0;
  border-top:1px solid #242424;
  background:transparent;
  color:#fff7e8;
  font-size:10px;
  font-weight:900;
  text-align:left;
}

@media(max-width:600px){
  .territory-map{
    height:320px;
  }
}

@media(max-width:380px){
  .territory-map{
    height:290px;
  }
}


/* ============================================================
   BiteBoss Game UI — Step 16
   Partner benefits / Crew + Boss access / one-time pass
   ============================================================ */

.partner-benefits-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}

.partner-benefits-head h4{
  margin:0;
}

.partner-benefits-head>span{
  color:rgba(255,247,232,.42);
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}

.store-detail-offers .partner-benefit{
  min-height:72px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:13px 0;
  border-bottom:1px solid #171717;
}

.partner-benefit>div{
  min-width:0;
}

.partner-benefit>div>span{
  display:block;
  margin-bottom:5px;
  color:rgba(255,247,232,.36);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.partner-benefit strong{
  display:block;
  color:#fff7e8;
  font-size:13px;
  line-height:1.25;
}

.partner-benefit p{
  margin:5px 0 0;
  color:rgba(255,247,232,.48);
  font-size:10px;
  line-height:1.45;
}

.partner-benefit>small{
  color:rgba(255,247,232,.32);
  font-size:9px;
  text-align:right;
}

.partner-benefit.is-locked{
  opacity:.55;
}

.benefit-use-btn{
  min-height:34px;
  color:#fff7e8;
  white-space:nowrap;
}

.benefit-pass{
  display:grid;
  justify-items:center;
  gap:10px;
  padding:6px 0 8px;
  text-align:center;
}

.benefit-pass>span{
  color:rgba(255,247,232,.42);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}

.benefit-pass>strong{
  margin:8px 0 4px;
  color:#fff7e8;
  font-size:38px;
  line-height:1;
  font-weight:950;
  letter-spacing:.12em;
  font-variant-numeric:tabular-nums;
}

.benefit-pass>h4{
  margin:5px 0 0;
  color:#fff7e8;
  font-size:16px;
}

.benefit-pass>p{
  margin:0;
  color:rgba(255,247,232,.48);
  font-size:11px;
}

.benefit-pass-meta{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:8px;
  padding:11px 0;
  border-top:1px solid #171717;
  border-bottom:1px solid #171717;
  color:rgba(255,247,232,.58);
  font-size:10px;
  font-weight:800;
}

.benefit-pass>small{
  color:rgba(255,247,232,.36);
  font-size:9px;
  line-height:1.5;
}

/* Store Admin verification */
.benefit-verify{
  margin:18px 0 22px;
  padding:16px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.benefit-verify .store-section-head>span{
  color:rgba(255,247,232,.38);
  font-size:9px;
}

.benefit-pass-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  margin-top:10px;
}

.benefit-pass-form input{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
}

.benefit-pass-result{
  min-height:0;
  margin-top:10px;
}

.benefit-pass-result:empty{
  display:none;
}

.benefit-pass-result strong{
  display:block;
  color:#fff7e8;
  font-size:12px;
}

.benefit-pass-result p{
  margin:4px 0 0;
  color:rgba(255,247,232,.48);
  font-size:10px;
}

@media(max-width:380px){
  .store-detail-offers .partner-benefit{
    grid-template-columns:minmax(0,1fr);
  }

  .partner-benefit>small{
    text-align:left;
  }

  .benefit-pass-form{
    grid-template-columns:1fr;
  }

  .benefit-pass>strong{
    font-size:32px;
  }
}


/* ============================================================
   BiteBoss · Step 17 FINAL
   Release-state polish
   ============================================================ */

.offer-feed-item.is-locked{
  opacity:.52;
}

.offer-feed-item>small{
  display:block;
  margin-top:7px;
  color:rgba(255,247,232,.34);
  font-size:9px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:1px solid rgba(255,247,232,.72);
  outline-offset:2px;
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
  }
}


/* ============================================================
   BiteBoss IA Refactor · v51
   Clear hierarchy, task-first dashboards, flatter admin UI
   ============================================================ */

.nav-group-label{
  display:block;
  margin:22px 0 7px;
  padding:0 2px;
  color:rgba(255,247,232,.28);
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
}

.nav-group-label:first-child{
  margin-top:2px;
}

.eyebrow{
  display:block;
  margin-bottom:7px;
  color:rgba(255,247,232,.34);
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}

.simple-head h2{
  margin-top:0;
}

.admin-nav,
.store-admin-nav{
  position:relative;
  min-height:39px;
  padding-left:0;
  border-radius:0;
  background:transparent;
  font-weight:700;
}

.admin-nav.active,
.store-admin-nav.active{
  background:transparent;
}

.admin-nav.active::before,
.store-admin-nav.active::before{
  content:"";
  position:absolute;
  left:-13px;
  top:50%;
  width:5px;
  height:1px;
  background:#fff7e8;
}

.admin-nav.active,
.store-admin-nav.active{
  color:#fff7e8;
}

.admin-page-head,
.store-admin-head{
  border-bottom:1px solid #171717;
  padding-bottom:18px;
  margin-bottom:24px;
}

/* STORE ADMIN — task-first home */
.today-status{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);
  gap:0;
  margin-bottom:24px;
  border-top:1px solid #1a1a1a;
  border-bottom:1px solid #1a1a1a;
}

.today-primary{
  min-height:142px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:20px 28px 20px 0;
  border-right:1px solid #1a1a1a;
}

.today-primary>span{
  color:rgba(255,247,232,.36);
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.today-primary>strong{
  overflow:hidden;
  margin-top:7px;
  color:#fff7e8;
  font-size:34px;
  line-height:1.05;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.today-primary>p{
  margin:9px 0 0;
  color:rgba(255,247,232,.44);
  font-size:10px;
}

.today-numbers{
  display:grid;
  grid-template-columns:1fr 1fr;
}

.today-numbers>div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:20px;
}

.today-numbers>div+div{
  border-left:1px solid #1a1a1a;
}

.today-numbers strong{
  color:#fff7e8;
  font-size:25px;
  line-height:1;
}

.today-numbers span{
  margin-top:8px;
  color:rgba(255,247,232,.38);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.today-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:34px;
}

.today-actions .text-btn{
  margin-left:auto;
}

.today-secondary{
  padding-top:18px;
  border-top:1px solid #171717;
}

.quick-link-list{
  border-top:1px solid #171717;
}

.quick-link{
  width:100%;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0;
  border:0;
  border-bottom:1px solid #171717;
  background:transparent;
  color:#fff7e8;
  text-align:left;
}

.quick-link span{
  font-size:12px;
  font-weight:700;
}

.quick-link b{
  color:rgba(255,247,232,.38);
  font-size:13px;
  font-weight:400;
}

.game-current{
  padding-top:0;
}

/* SUPER ADMIN — overview instead of card dashboard */
.ops-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-bottom:34px;
  border-top:1px solid #171717;
  border-bottom:1px solid #171717;
}

.ops-summary>div{
  min-height:92px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:14px 18px;
  border-right:1px solid #171717;
}

.ops-summary>div:last-child{
  border-right:0;
}

.ops-summary span{
  color:rgba(255,247,232,.38);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.ops-summary strong{
  margin-top:8px;
  color:#fff7e8;
  font-size:28px;
  line-height:1;
}

.ops-recent{
  padding-top:0;
}

.admin-page .panel,
.admin-edit-section,
.store-panel,
.store-subsection{
  border-radius:0;
  box-shadow:none;
}

.admin-page .stat-card{
  border-radius:0;
  box-shadow:none;
}

@media(max-width:760px){
  .today-status{
    grid-template-columns:1fr;
  }

  .today-primary{
    min-height:118px;
    padding-right:0;
    border-right:0;
    border-bottom:1px solid #1a1a1a;
  }

  .today-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .today-actions .text-btn{
    grid-column:1/-1;
    margin-left:0;
    text-align:left;
  }

  .ops-summary{
    grid-template-columns:1fr 1fr;
  }

  .ops-summary>div:nth-child(2){
    border-right:0;
  }

  .ops-summary>div:nth-child(n+3){
    border-top:1px solid #171717;
  }
}

@media(max-width:420px){
  .today-primary>strong{
    font-size:29px;
  }

  .today-actions{
    grid-template-columns:1fr;
  }

  .today-actions .text-btn{
    grid-column:auto;
  }
}
