:root{
  --b:#0a0a0a; --w:#fff; --l:#f5f5f5; --l2:#eee;
  --g:#666; --m:#9a9a9a; --line:#e4e4e4; --accent:#111;
  --up:#1a9e4b; --down:#d21f1f;
  --nav-w:220px; --topbar-h:60px; --bottomnav-h:64px;
}
*{box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent;}
html,body{height:100%;}
body{
  background:var(--l); color:var(--b); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.5; overflow:hidden;
}

/* ---------- APP SHELL ---------- */
.app{ display:grid; grid-template-columns:var(--nav-w) 1fr; grid-template-rows:var(--topbar-h) 1fr; height:100vh; height:100dvh;
  grid-template-areas:"side top" "side main"; }
/* Tablet (potret ipad/tablet umum): sidenav kekal tapi lebih sempit — ikon + label kecil */
@media (min-width:761px) and (max-width:900px){
  .app{ grid-template-columns:76px 1fr; }
  .sidenav{ padding:16px 8px; align-items:center; }
  .sidenav .nav-item{ flex-direction:column; gap:4px; width:100%; padding:10px 4px; font-size:.6rem; text-align:center; }
  .sidenav .nav-item .ic{ width:auto; font-size:1.15rem; }
}

@media (max-width:760px){
  .app{ grid-template-columns:1fr; grid-template-rows:var(--topbar-h) 1fr var(--bottomnav-h);
    grid-template-areas:"top" "main" "nav"; }
  .sidenav{ display:none; }
  .bottomnav{ display:flex; }
}

/* ---------- TOPBAR ---------- */
.topbar{ grid-area:top; display:flex; align-items:center; justify-content:space-between;
  padding:0 clamp(12px,4vw,20px); background:#fff; border-bottom:1px solid var(--line); gap:8px; overflow:hidden; }
.topbar .brand{ display:flex; align-items:center; gap:10px; font-weight:900; font-size:.95rem; letter-spacing:-.2px; flex-shrink:0; }
.topbar .brand .mark{ width:30px; height:30px; border-radius:9px; background:var(--accent); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:950; flex-shrink:0; }
.user-chip{ display:flex; align-items:center; gap:8px; min-width:0; }
.user-chip img{ width:30px; height:30px; border-radius:50%; border:1px solid var(--line); flex-shrink:0; }
.user-chip .who{ font-size:.78rem; font-weight:800; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.user-chip .who small{ display:block; font-size:.64rem; color:var(--g); font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cash-pill{ background:var(--accent); color:#fff; font-weight:900; font-size:.8rem; padding:8px 14px; border-radius:999px; margin-left:8px; flex-shrink:0; white-space:nowrap; }

@media (max-width:380px){
  .topbar .brand span:not(.mark){ display:none; } /* skrin sangat sempit: tunjuk logo je, sorok teks "Kivora Empire" */
  .user-chip .who small{ display:none; } /* sorok subtext "Belum log masuk" supaya nama utama muat */
  .cash-pill{ padding:7px 11px; font-size:.74rem; }
}

/* ---------- SIDE NAV (desktop/tablet) ---------- */
.sidenav{ grid-area:side; background:#fff; border-right:1px solid var(--line); padding:18px 12px; display:flex; flex-direction:column; gap:4px; }
.sidenav .nav-item{ display:flex; align-items:center; gap:11px; padding:11px 12px; border-radius:11px;
  font-weight:800; font-size:.83rem; color:var(--g); cursor:pointer; }
.sidenav .nav-item .ic{ font-size:1.05rem; width:22px; text-align:center; }
.sidenav .nav-item.active{ background:var(--accent); color:#fff; }
.sidenav .nav-item:not(.active):hover{ background:var(--l); color:var(--b); }

/* ---------- BOTTOM NAV (mobile) ---------- */
.bottomnav{ grid-area:nav; display:none; background:#fff; border-top:1px solid var(--line);
  align-items:center; justify-content:space-around; padding:6px 4px; }
.bottomnav .nav-item{ display:flex; flex-direction:column; align-items:center; gap:2px; font-size:.6rem;
  font-weight:800; color:var(--g); padding:6px 8px; border-radius:10px; cursor:pointer; }
.bottomnav .nav-item .ic{ font-size:1.15rem; }
.bottomnav .nav-item.active{ color:var(--accent); }

/* ---------- MAIN ---------- */
main{ grid-area:main; overflow-y:auto; padding:22px clamp(16px,4vw,40px) 40px; }
.view{ display:none; max-width:1000px; margin:0 auto; }
.view.active{ display:block; animation:fade .18s ease; }
@keyframes fade{ from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:none;} }

.kicker{ font-size:10px; font-weight:950; letter-spacing:.12em; text-transform:uppercase; color:var(--g); margin-bottom:6px; }
.h-sec{ font-size:1.15rem; font-weight:950; margin-bottom:16px; letter-spacing:-.3px; }

/* ---------- DASHBOARD ---------- */
.dash-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:16px; align-items:start; }
@media (max-width:640px){ .dash-grid{ grid-template-columns:1fr; } }

.cashcard{ background:var(--accent); color:#fff; border-radius:22px; padding:26px; margin-bottom:16px; }
.cashcard .lbl{ font-size:.66rem; text-transform:uppercase; letter-spacing:.1em; color:#bbb; font-weight:800; }
.cashcard .amt{ font-size:2.4rem; font-weight:950; letter-spacing:-1px; margin:2px 0 14px; }
.cashcard .mini-stats{ display:flex; gap:22px; }
.cashcard .mini-stats div b{ display:block; font-size:1rem; font-weight:900; }
.cashcard .mini-stats div span{ font-size:.63rem; color:#bbb; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }

.tapzone{ position:relative; background:#fff; border:2px dashed var(--accent); border-radius:22px; padding:38px 18px;
  text-align:center; cursor:pointer; transition:transform .08s; overflow:hidden; }
.tapzone:active{ transform:scale(.98); background:var(--l); }
.tapzone .big{ font-size:2.8rem; }
.tapzone .tv{ font-size:.85rem; font-weight:900; margin-top:8px; }
.tapzone .th{ font-size:.7rem; color:var(--g); margin-top:2px; }
.floatnum{ position:absolute; font-weight:950; font-size:.9rem; color:var(--up); pointer-events:none; animation:floatUp 1s ease-out forwards; }
@keyframes floatUp{ from{opacity:1; transform:translateY(0);} to{opacity:0; transform:translateY(-46px);} }

.quicklinks{ display:grid; grid-template-columns:repeat(auto-fit, minmax(80px,1fr)); gap:10px; margin-top:14px; }
@media (max-width:380px){ .quicklinks{ grid-template-columns:1fr 1fr; } }
.qlink{ background:#fff; border:1.5px solid var(--line); border-radius:14px; padding:14px 8px; text-align:center;
  font-size:.72rem; font-weight:800; cursor:pointer; }
.qlink:hover{ border-color:var(--accent); }
.qlink .ic{ font-size:1.3rem; display:block; margin-bottom:4px; }

/* ---------- CARDS (shared) ---------- */
.card-list{ display:flex; flex-direction:column; gap:10px; }
.card{ background:#fff; border:1.5px solid var(--line); border-radius:16px; padding:16px; }
.card.owned{ border-color:var(--up); background:#f4fbf6; }
.card b.title{ display:block; font-size:.92rem; margin-bottom:3px; }
.card .desc{ font-size:.76rem; color:var(--g); display:block; margin-bottom:12px; }
.card .row{ display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.card .cost{ font-weight:950; font-size:.88rem; }
.lvl-pill{ display:inline-block; background:var(--accent); color:#fff; font-size:.6rem; font-weight:900;
  padding:2px 8px; border-radius:999px; margin-left:6px; vertical-align:middle; }
/* Risk/reward per laluan — status kitaran business (rujuk app/BusinessCycle.php) */
.cycle-badge{ display:inline-block; font-size:.6rem; font-weight:900;
  padding:2px 8px; border-radius:999px; margin-left:6px; vertical-align:middle; }
.cycle-boom{ background:#e3f7e9; color:#1a8a4a; }
.cycle-slump{ background:#fdeaea; color:#c62828; }
.cycle-stable{ background:var(--l2); color:var(--g); }
.bar{ height:7px; background:var(--l2); border:1px solid var(--line); border-radius:99px; overflow:hidden; margin:8px 0; }
.bar i{ display:block; height:100%; background:var(--accent); }

.grid2{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:520px){ .grid2{ grid-template-columns:1fr; } }

/* ---------- TRADING ---------- */
.ticker{ background:var(--accent); color:#fff; border-radius:22px; padding:22px; margin-bottom:16px; }
.ticker .row1{ display:flex; justify-content:space-between; align-items:flex-start; }
.ticker .coin{ font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; color:#bbb; }
.ticker .price{ font-size:1.9rem; font-weight:950; letter-spacing:-1px; margin-top:2px; }
.ticker .chg{ font-size:.78rem; font-weight:900; padding:5px 10px; border-radius:999px; }
.ticker .chg.up{ background:var(--up); }
.ticker .chg.down{ background:var(--down); }
.spark{ display:flex; align-items:flex-end; gap:2px; height:46px; margin-top:16px; }
.spark i{ flex:1; background:#fff; opacity:.85; border-radius:2px 2px 0 0; min-height:2px; }
.hold-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:16px; }
.stat{ background:var(--l); border:1.5px solid var(--line); border-radius:14px; padding:13px; text-align:center; }
.stat b{ display:block; font-size:1.02rem; font-weight:950; }
.stat span{ font-size:.6rem; color:var(--g); font-weight:800; text-transform:uppercase; letter-spacing:.05em; }

/* ---------- BUTTONS ---------- */
.btn{ font-family:inherit; font-size:.85rem; font-weight:900; color:#fff; background:var(--accent);
  border:none; border-radius:12px; padding:11px 16px; cursor:pointer; transition:opacity .1s; }
.btn:active{ opacity:.75; }
.btn:disabled{ opacity:.32; cursor:not-allowed; }
.btn.block{ width:100%; }
.btn.sm{ padding:9px 14px; font-size:.76rem; }
.btn.up{ background:var(--up); }
.btn.down{ background:var(--down); }
.btn.ghost{ background:#fff; color:var(--b); border:1.5px solid var(--line); }

/* ---------- MISC ---------- */
.empty{ border:2px dashed var(--line); border-radius:14px; padding:22px 14px; text-align:center; color:var(--g); font-size:.82rem; }
.toast{ position:fixed; top:16px; left:50%; transform:translateX(-50%) translateY(-10px); background:var(--accent);
  color:#fff; padding:11px 18px; border-radius:12px; font-size:.8rem; font-weight:800; box-shadow:0 6px 18px rgba(0,0,0,.18);
  z-index:999; max-width:88%; text-align:center; opacity:0; pointer-events:none; transition:opacity .25s, transform .25s; }
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

.boot{ position:fixed; inset:0; background:#fff; z-index:1000; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:16px; }
.boot.hide{ display:none; }
.boot .mark{ width:64px; height:64px; border-radius:18px; background:var(--accent); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:950; font-size:1.4rem;
  animation:pulse 1.1s ease-in-out infinite; }
@keyframes pulse{ 0%,100%{transform:scale(1);} 50%{transform:scale(1.08);} }
.boot p{ font-size:.78rem; color:var(--g); font-weight:700; }

/* ================================================================
   KIVORA / FAZ ECONOMY UI REFRESH — navigation + quick actions
   Replaces emoji with one consistent SVG icon system and gives
   Trading a proper live SVG price chart.
   ================================================================ */
.svg-sprite{
  position:absolute; width:0; height:0; overflow:hidden; pointer-events:none;
}
.ui-icon{
  width:1em; height:1em; display:block; fill:none; stroke:currentColor;
  stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;
}

/* Desktop side navigation */
.sidenav{
  padding:18px 12px;
  gap:6px;
}
.sidenav .nav-item{
  position:relative;
  min-height:46px;
  gap:12px;
  padding:10px 12px;
  border:1px solid transparent;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.sidenav .nav-item .ic{
  width:28px; height:28px; min-width:28px;
  display:grid; place-items:center;
  border-radius:9px;
  background:#f4f4f4;
  color:#333;
  font-size:1rem;
}
.sidenav .nav-item .ic .ui-icon{ width:16px; height:16px; }
.sidenav .nav-item.active{
  background:#111;
  color:#fff;
  border-color:#111;
  box-shadow:0 8px 20px rgba(0,0,0,.10);
}
.sidenav .nav-item.active .ic{
  background:rgba(255,255,255,.12);
  color:#fff;
}
.sidenav .nav-item:not(.active):hover{
  background:#f7f7f7;
  border-color:#e8e8e8;
  transform:translateX(2px);
}

/* Quick actions: roomier 2x2 finance/tycoon cards instead of emoji buttons */
.quicklinks{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.qlink{
  position:relative;
  min-height:128px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  text-align:left;
  padding:14px;
  border:1px solid #dedede;
  border-radius:18px;
  background:linear-gradient(145deg,#fff 0%,#fafafa 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 8px 24px rgba(0,0,0,.035);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.qlink:hover{
  transform:translateY(-2px);
  border-color:#bdbdbd;
  box-shadow:0 10px 26px rgba(0,0,0,.07);
}
.qlink:active{ transform:translateY(0) scale(.985); }
.qlink .ic{
  position:absolute;
  top:13px; left:13px;
  width:40px; height:40px;
  margin:0;
  display:grid; place-items:center;
  border-radius:12px;
  background:#111;
  color:#fff;
  font-size:1rem;
  box-shadow:0 7px 16px rgba(0,0,0,.12);
}
.qlink .ic .ui-icon{ width:21px; height:21px; }
.qlink > span:not(.ic):not(.mini-market){
  font-size:.82rem;
  font-weight:950;
  letter-spacing:-.15px;
  line-height:1.15;
}
.qlink small{
  display:block;
  margin-top:3px;
  color:#8a8a8a;
  font-size:.6rem;
  font-weight:750;
  line-height:1.2;
}
.qlink::after{
  content:"";
  position:absolute;
  top:15px; right:14px;
  width:6px; height:6px;
  border-radius:50%;
  background:#d7d7d7;
}
.qlink.q-trading::after{ background:var(--up); box-shadow:0 0 0 4px rgba(26,158,75,.10); }

/* Small market bars inside the Trading quick card */
.mini-market{
  position:absolute;
  right:13px; top:34px;
  width:58px; height:31px;
  display:flex;
  align-items:flex-end;
  gap:3px;
  padding:5px 6px;
  border:1px solid #e1e1e1;
  border-radius:8px;
  background:#fff;
}
.mini-market::before,
.mini-market::after{
  content:""; position:absolute; left:5px; right:5px; height:1px; background:#eee;
}
.mini-market::before{ top:10px; }
.mini-market::after{ top:19px; }
.mini-market i{
  position:relative; z-index:1;
  flex:1;
  min-width:2px;
  border-radius:2px 2px 0 0;
  background:#111;
  opacity:.82;
}
.mini-market i:nth-child(1){height:32%}
.mini-market i:nth-child(2){height:50%}
.mini-market i:nth-child(3){height:42%}
.mini-market i:nth-child(4){height:67%}
.mini-market i:nth-child(5){height:58%}
.mini-market i:nth-child(6){height:90%;background:var(--up)}

/* Mobile bottom navigation */
.bottomnav{
  padding:5px max(4px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));
  box-shadow:0 -8px 28px rgba(0,0,0,.05);
}
.bottomnav .nav-item{
  min-width:56px;
  gap:3px;
  padding:5px 7px;
  color:#777;
}
.bottomnav .nav-item .ic{
  width:28px; height:28px;
  display:grid; place-items:center;
  border-radius:9px;
  background:#f4f4f4;
  font-size:1rem;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.bottomnav .nav-item .ic .ui-icon{ width:15px; height:15px; }
.bottomnav .nav-item.active{ color:#111; }
.bottomnav .nav-item.active .ic{
  background:#111;
  color:#fff;
  transform:translateY(-1px);
}

/* Proper live market chart */
.ticker{
  overflow:hidden;
  background:#101010;
  border:1px solid #202020;
  box-shadow:0 16px 38px rgba(0,0,0,.12);
}
.market-chart-wrap{
  margin-top:18px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.10);
}
.chart-topline,
.chart-axis{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#858585;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.chart-topline{ margin-bottom:7px; }
.chart-axis{ margin-top:5px; }
.market-chart{
  width:100%;
  height:150px;
  display:block;
  overflow:visible;
  color:#fff;
}
.chart-grid line{
  stroke:rgba(255,255,255,.075);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
.chart-area{ fill:url(#chartAreaGradient); }
.chart-line{
  fill:none;
  stroke:currentColor;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 3px 5px rgba(255,255,255,.10));
}
.chart-dot{
  fill:#fff;
  stroke:#101010;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
}
.chart-cross{
  stroke:rgba(255,255,255,.18);
  stroke-width:1;
  stroke-dasharray:4 5;
  vector-effect:non-scaling-stroke;
}
.ticker.market-up .market-chart{ color:#51d17b; }
.ticker.market-down .market-chart{ color:#ff6868; }

/* Tablet compact sidebar keeps the new SVG system readable */
@media (min-width:761px) and (max-width:900px){
  .sidenav .nav-item{ padding:9px 4px; gap:5px; }
  .sidenav .nav-item .ic{ width:30px; height:30px; min-width:30px; }
  .sidenav .nav-item .nav-label{ font-size:.58rem; line-height:1.1; }
}

@media (max-width:640px){
  .quicklinks{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .qlink{ min-height:116px; }
  .market-chart{ height:132px; }
}
@media (max-width:360px){
  .qlink{ min-height:108px; padding:12px; }
  .qlink .ic{ width:36px; height:36px; top:11px; left:11px; }
  .mini-market{ right:10px; top:31px; width:52px; }
}

/* ================================================================
   ECONOMY REBALANCE v2 — business risk, endgame holding, trade fee
   ================================================================ */
.tapzone .big{
  display:flex; align-items:center; justify-content:center;
}
.tap-icon{
  width:52px; height:52px; fill:none; stroke:#111; stroke-width:1.45;
  stroke-linecap:round; stroke-linejoin:round;
}
.business-loss{
  border-color:#efb4b4 !important;
  background:#fff8f8 !important;
}
.profit-text{ color:var(--up); font-weight:900; }
.loss-text{ color:var(--down); font-weight:900; }

.trade-note{
  display:flex; justify-content:space-between; gap:12px; align-items:center;
  margin:-4px 0 14px; padding:10px 12px; border:1px solid var(--line);
  border-radius:12px; background:#fff; color:var(--g); font-size:.68rem; font-weight:800;
}
.trade-note span:first-child{
  color:var(--down); text-transform:uppercase; letter-spacing:.06em; font-size:.62rem;
}
.trade-note b{ color:#111; }

.empire-card{
  margin-top:16px; display:grid; grid-template-columns:auto 1fr auto; gap:14px;
  align-items:center; background:#fff; border:1.5px solid var(--line); border-radius:18px;
  padding:16px; box-shadow:0 8px 24px rgba(0,0,0,.035);
}
.empire-icon{
  width:46px; height:46px; border-radius:13px; display:grid; place-items:center;
  background:#111; color:#fff; flex-shrink:0;
}
.empire-icon .ui-icon{ width:23px; height:23px; }
.empire-copy .kicker{ margin-bottom:2px; }
.empire-title{ font-size:.95rem; font-weight:950; letter-spacing:-.2px; }
.empire-title span{
  display:inline-block; margin-left:6px; padding:2px 7px; border-radius:999px;
  background:#f1f1f1; color:#555; font-size:.58rem; vertical-align:middle;
}
.empire-desc{ margin-top:3px; color:var(--g); font-size:.7rem; }
.empire-bonus{ margin-top:5px; color:var(--up); font-size:.68rem; font-weight:900; }
.empire-action{ display:flex; flex-direction:column; align-items:flex-end; gap:7px; }
.empire-action b{ font-size:.82rem; white-space:nowrap; }
@media (max-width:640px){
  .empire-card{ grid-template-columns:auto 1fr; }
  .empire-action{ grid-column:1/-1; width:100%; flex-direction:row; align-items:center; justify-content:space-between; }
  .empire-action .btn{ min-width:120px; }
}

/* ================================================================
   AUTH MODE FIX — Discord Activity auto-connect vs standalone web
   ================================================================ */
.boot{
  background:linear-gradient(180deg,#fafafa 0%,#f3f3f3 100%);
  padding:22px;
}
.boot .boot-card{
  width:min(420px,100%);
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:28px;
  box-shadow:0 22px 60px rgba(0,0,0,.08);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.boot .boot-card > .mark{
  width:58px;
  height:58px;
  border-radius:16px;
  margin-bottom:14px;
  animation:pulse 1.25s ease-in-out infinite;
}
.boot-copy h1{
  font-size:1.18rem;
  font-weight:950;
  letter-spacing:-.35px;
  margin-bottom:3px;
}
.boot-copy p{
  min-height:20px;
  font-size:.77rem;
  color:var(--g);
  font-weight:700;
}
.web-auth,
.activity-auth-error{
  width:100%;
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.auth-heading{
  font-size:.92rem;
  font-weight:950;
  margin-bottom:2px;
}
.auth-sub{
  font-size:.72rem;
  color:var(--g);
  font-weight:650;
  margin-bottom:14px;
}
.oauth-btn{
  width:100%;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:11px;
  padding:10px 13px;
  margin-top:9px;
  border-radius:13px;
  border:1.5px solid var(--line);
  text-decoration:none;
  font-size:.78rem;
  font-weight:900;
  transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;
}
.oauth-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}
.oauth-btn.discord{
  background:#111;
  border-color:#111;
  color:#fff;
}
.oauth-btn.google{
  background:#fff;
  color:#111;
}
.provider-ico{
  width:28px;
  height:28px;
  min-width:28px;
  border-radius:9px;
  display:grid;
  place-items:center;
  font-size:.7rem;
  font-weight:950;
}
.oauth-btn.discord .provider-ico{
  background:rgba(255,255,255,.14);
  color:#fff;
}
.oauth-btn.google .provider-ico{
  background:#f4f4f4;
  border:1px solid #e4e4e4;
  color:#111;
}
.auth-note{
  margin-top:12px;
  color:var(--m);
  font-size:.65rem;
  line-height:1.45;
  font-weight:650;
}
.activity-auth-error .btn{ width:100%; }
.logout-btn{
  margin-left:8px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--g);
  border-radius:9px;
  padding:6px 9px;
  font:inherit;
  font-size:.65rem;
  font-weight:850;
  cursor:pointer;
}
.logout-btn:hover{ color:#111; border-color:#bbb; }

@media (max-width:520px){
  .boot{ padding:14px; }
  .boot .boot-card{ padding:24px 18px; border-radius:20px; }
  .oauth-btn{ min-height:50px; }
  .logout-btn{ display:none; }
}

/* ================================================================
   KIVORA EMPIRE v5 — desktop redesign, large tap area, loading UI
   ================================================================ */
body{
  background:linear-gradient(180deg,#f8f8f8 0%,#f2f2f2 100%);
}
main{
  padding:28px clamp(18px,3vw,40px) 42px;
}
.view{
  max-width:1320px;
}
.topbar{
  height:var(--topbar-h);
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px);
}
.topbar .brand{
  font-size:1rem;
}
.topbar .brand .mark,
.boot .mark,
.loader-mark{
  letter-spacing:-.04em;
}
.sidenav{
  background:linear-gradient(180deg,#ffffff 0%,#fbfbfb 100%);
}

.dash-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.9fr);
  gap:18px;
  align-items:stretch;
}
.dash-grid > div:first-child,
.dash-grid > div:last-child{
  display:flex;
  flex-direction:column;
}
.cashcard{
  position:relative;
  margin-bottom:18px;
  padding:30px 32px;
  border:1px solid #1e1e1e;
  background:radial-gradient(circle at top right, rgba(255,255,255,.11), transparent 28%), linear-gradient(135deg,#080808 0%,#121212 100%);
  overflow:hidden;
  box-shadow:0 20px 40px rgba(0,0,0,.12);
}
.cashcard::after{
  content:"";
  position:absolute;
  inset:auto -40px -60px auto;
  width:200px;
  height:200px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.08), transparent 65%);
  pointer-events:none;
}
.cashcard .amt{
  font-size:clamp(2.5rem,4.2vw,4rem);
  line-height:1;
  margin:4px 0 18px;
}
.cashcard .mini-stats{
  gap:26px;
  flex-wrap:wrap;
}
.cashcard .mini-stats div{
  min-width:110px;
}
.tapzone{
  border:none;
  border-radius:30px;
  padding:0;
  min-height:360px;
  background:
    radial-gradient(circle at 50% 44%, rgba(0,0,0,.025), transparent 38%),
    linear-gradient(145deg,#ffffff 0%,#f8f8f8 100%);
  box-shadow:0 18px 42px rgba(0,0,0,.065);
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
  overflow:hidden;
}
.tapzone::before{
  content:"";
  position:absolute;
  inset:0;
  border:1.5px solid #d6d6d6;
  border-radius:30px;
  pointer-events:none;
  transition:border-color .16s ease, box-shadow .16s ease;
}
.tapzone-glow{
  position:absolute;
  width:420px;
  height:420px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(0,0,0,.045) 0%,rgba(0,0,0,.012) 42%,transparent 70%);
  pointer-events:none;
}
.tapzone-inner{
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
  text-align:center;
  position:relative;
  z-index:1;
}
.tapzone-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  width:100%;
}
.tap-command{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  color:#111;
  font-size:clamp(2rem,3.7vw,4.25rem);
  font-weight:1000;
  line-height:.95;
  letter-spacing:-.055em;
}
.tap-command span:last-child{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.17em .30em .20em;
  border:2px solid #111;
  border-radius:.22em;
  background:#111;
  color:#fff;
  box-shadow:0 .10em 0 #cfcfcf;
  letter-spacing:-.045em;
}
.tap-command i{
  color:#a1a1a1;
  font-style:normal;
  font-weight:700;
  transform:translateY(-.03em);
}
.tap-reward{
  font-size:clamp(2rem,3.2vw,3.75rem);
  font-weight:1000;
  line-height:1;
  letter-spacing:-.06em;
  color:#111;
}
.tap-reward::after{
  content:" / TAP";
  color:#898989;
  font-size:.28em;
  font-weight:900;
  letter-spacing:.08em;
  vertical-align:middle;
  margin-left:.38em;
}
.tapzone:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 48px rgba(0,0,0,.08);
}
.tapzone:hover::before{
  border-color:#bdbdbd;
}
.tapzone.space-active,
.tapzone:active{
  transform:scale(.99);
  box-shadow:0 13px 28px rgba(0,0,0,.075);
}
.tapzone.space-active .tap-command,
.tapzone:active .tap-command{
  transform:scale(.975);
}
.tapzone.space-active .tap-reward,
.tapzone:active .tap-reward{
  transform:scale(1.04);
}
.tap-command,.tap-reward{
  transition:transform .10s ease;
}
.quicklinks{
  height:100%;
  align-content:start;
  gap:12px;
  margin-top:10px;
}
.qlink{
  min-height:136px;
}
.qlink > span:not(.ic):not(.mini-market){
  font-size:1rem;
}
.qlink small{
  font-size:.69rem;
}
.qlink .ic{
  width:42px;
  height:42px;
}
.empire-card{
  margin-top:18px;
}
.trade-note,
.stat,
.card,
.empire-card{
  box-shadow:0 8px 24px rgba(0,0,0,.03);
}
.floatnum{
  color:#111;
  background:rgba(255,255,255,.9);
  border:1px solid #e6e6e6;
  padding:6px 10px;
  border-radius:999px;
}

.game-loader{
  position:fixed;
  inset:0;
  z-index:1100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(245,245,245,.95);
  backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease, visibility .22s ease;
}
.game-loader.show{
  opacity:1;
  visibility:visible;
}
.game-loader.hide{
  opacity:0;
  visibility:hidden;
}
.loader-card{
  width:min(430px,100%);
  padding:28px;
  border-radius:26px;
  background:#fff;
  border:1px solid #e8e8e8;
  box-shadow:0 24px 60px rgba(0,0,0,.10);
  text-align:center;
}
.loader-mark{
  width:64px;
  height:64px;
  margin:0 auto 14px;
  border-radius:18px;
  background:#111;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:1.35rem;
  font-weight:950;
  animation:pulse 1.2s ease-in-out infinite;
}
.loader-kicker{
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#777;
}
.loader-title{
  margin-top:4px;
  font-size:1.45rem;
  font-weight:950;
  letter-spacing:-.04em;
}
.loader-msg{
  margin-top:6px;
  color:#666;
  font-size:.8rem;
  font-weight:700;
}
.loader-bar{
  margin-top:20px;
  width:100%;
  height:12px;
  border-radius:999px;
  background:#efefef;
  overflow:hidden;
}
.loader-bar i{
  display:block;
  width:0%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#111 0%,#3f3f3f 100%);
  transition:width .28s ease;
}
.loader-percent{
  margin-top:10px;
  font-size:.84rem;
  font-weight:900;
}

@media (max-width:1024px){
  .view{ max-width:1100px; }
  .dash-grid{ grid-template-columns:1fr; }
  .tapzone, .tapzone-inner{ min-height:300px; }
}
@media (max-width:760px){
  main{ padding:18px 14px 88px; }
  .cashcard{ padding:24px 22px; }
  .tapzone, .tapzone-inner{ min-height:260px; }
  .tapzone-inner{ padding:20px; }
  .tapzone .big{ width:92px; height:92px; border-radius:22px; margin-bottom:16px; }
  .tap-icon{ width:50px; height:50px; }
  .tapzone .tv{ font-size:1.35rem; }
  .space-hint{ gap:10px; font-size:.8rem; }
  .keycap{ min-width:64px; padding:8px 10px; }
}

/* ================================================================
   KIVORA EMPIRE v5.1 — PC shell refinement
   Desktop-only navigation and widescreen spacing. Mobile layout below
   1024px remains compatible with the existing bottom/tablet navigation.
   ================================================================ */
.side-brand,
.nav-section-label,
.side-nav-foot{ display:none; }

@media (min-width:1025px){
  :root{
    --nav-w:248px;
    --topbar-h:68px;
  }

  .app{
    grid-template-columns:var(--nav-w) minmax(0,1fr);
  }

  .sidenav{
    position:relative;
    padding:22px 14px 18px;
    gap:7px;
    background:linear-gradient(180deg,#0d0d0d 0%,#151515 100%);
    border-right:0;
    box-shadow:18px 0 46px rgba(0,0,0,.08);
    overflow:hidden;
  }
  .sidenav::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    left:-90px;
    bottom:-90px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,255,255,.055),transparent 68%);
    pointer-events:none;
  }
  .side-brand{
    display:flex;
    align-items:center;
    gap:11px;
    padding:4px 7px 21px;
    margin-bottom:8px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .side-brand-mark{
    width:39px;
    height:39px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:12px;
    background:#fff;
    color:#111;
    font-size:.78rem;
    font-weight:950;
    letter-spacing:-.04em;
  }
  .side-brand-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    line-height:1.12;
  }
  .side-brand-copy strong{
    color:#fff;
    font-size:.88rem;
    font-weight:950;
    letter-spacing:-.02em;
    white-space:nowrap;
  }
  .side-brand-copy small{
    margin-top:4px;
    color:#797979;
    font-size:.59rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .nav-section-label{
    display:block;
    padding:0 11px 5px;
    color:#5f5f5f;
    font-size:.56rem;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .sidenav .nav-item{
    min-height:50px;
    padding:10px 11px;
    color:#9b9b9b;
    border-color:transparent;
    border-radius:13px;
  }
  .sidenav .nav-item .ic{
    width:30px;
    height:30px;
    min-width:30px;
    background:#1d1d1d;
    color:#bdbdbd;
  }
  .sidenav .nav-item.active{
    background:#fff;
    color:#111;
    border-color:#fff;
    box-shadow:0 12px 30px rgba(0,0,0,.22);
  }
  .sidenav .nav-item.active .ic{
    background:#111;
    color:#fff;
  }
  .sidenav .nav-item:not(.active):hover{
    background:#1d1d1d;
    border-color:#292929;
    color:#fff;
    transform:translateX(2px);
  }
  .sidenav .nav-item:not(.active):hover .ic{
    background:#292929;
    color:#fff;
  }
  .side-nav-foot{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:auto;
    padding:13px 11px 5px;
    color:#707070;
    font-size:.61rem;
    font-weight:800;
  }
  .side-status-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--up);
    box-shadow:0 0 0 4px rgba(26,158,75,.12);
  }

  .topbar{
    padding:0 30px;
    justify-content:flex-end;
    border-bottom:1px solid #e9e9e9;
  }
  .topbar > .brand{ display:none; }
  .topbar .user-chip .who{ font-size:.8rem; }
  .cash-pill{ padding:9px 16px; font-size:.82rem; }

  main{
    padding:34px clamp(28px,3.2vw,52px) 60px;
  }
  .view{
    max-width:1360px;
  }
  .dash-grid{
    grid-template-columns:minmax(560px,1.45fr) minmax(360px,.72fr);
    gap:24px;
  }
  .cashcard{
    min-height:184px;
    padding:32px 36px;
    border-radius:28px;
  }
  .cashcard .lbl{ font-size:.7rem; }
  .cashcard .mini-stats div b{ font-size:1.08rem; }

  .tapzone,
  .tapzone-inner{
    min-height:430px;
  }
  .tapzone-inner{
    padding:36px;
  }
  .tapzone .big{
    width:142px;
    height:142px;
    border-radius:34px;
    margin-bottom:24px;
    transition:transform .10s ease, box-shadow .10s ease;
  }
  .tap-icon{
    width:72px;
    height:72px;
  }
  .tapzone .tv{
    font-size:clamp(1.7rem,2.2vw,2.35rem);
  }
  .tapzone .th{
    font-size:.96rem;
    max-width:430px;
  }
  .tapzone:hover .big{
    box-shadow:0 18px 38px rgba(0,0,0,.17);
  }

  #v-dashboard > .dash-grid > div:last-child > .kicker{
    margin:3px 0 9px;
  }
  .quicklinks{
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-top:0;
  }
  .qlink{
    min-height:176px;
    padding:17px;
    border-radius:21px;
  }
  .qlink .ic{
    width:46px;
    height:46px;
    top:16px;
    left:16px;
    border-radius:14px;
  }
  .qlink .ic .ui-icon{ width:23px; height:23px; }
  .qlink > span:not(.ic):not(.mini-market){ font-size:1.02rem; }
  .qlink small{ font-size:.71rem; }
  .mini-market{ right:15px; top:42px; width:64px; height:34px; }

  .empire-card{
    margin-top:24px;
    padding:20px 22px;
    border-radius:21px;
  }
}

.loading-stage{
  width:100%;
  margin-top:18px;
}
.boot-loader{
  width:100%;
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#ededed;
}
.boot-loader span{
  display:block;
  width:42%;
  height:100%;
  border-radius:inherit;
  background:#111;
  animation:bootScan 1.05s ease-in-out infinite;
}
.boot-tip{
  margin-top:8px;
  color:#999;
  font-size:.63rem;
  font-weight:750;
}
@keyframes bootScan{
  0%{ transform:translateX(-115%); }
  55%{ transform:translateX(110%); }
  100%{ transform:translateX(245%); }
}

/* ================================================================
   KIVORA EMPIRE v6 — MY / EN language switch
   ================================================================ */
.topbar-actions{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.language-switch{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f3f3f3;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.language-switch button{
  appearance:none;
  border:0;
  background:transparent;
  color:#777;
  min-width:34px;
  height:28px;
  padding:0 8px;
  border-radius:7px;
  font:inherit;
  font-size:.64rem;
  line-height:1;
  font-weight:950;
  letter-spacing:.04em;
  cursor:pointer;
  transition:background .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease;
}
.language-switch button:hover{
  color:#111;
}
.language-switch button.active{
  background:#111;
  color:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.16);
}
.language-switch button:active{
  transform:scale(.96);
}
.boot .boot-card{
  position:relative;
}
.boot-lang-switch{
  position:absolute;
  top:16px;
  right:16px;
}
.topbar-lang-switch{
  flex-shrink:0;
}
@media (max-width:760px){
  .topbar-actions{ gap:5px; }
  .topbar-lang-switch{ padding:2px; border-radius:9px; }
  .topbar-lang-switch button{
    min-width:29px;
    height:26px;
    padding:0 5px;
    font-size:.58rem;
  }
}
@media (max-width:430px){
  .topbar-lang-switch button{ min-width:27px; padding:0 4px; }
  .topbar .user-chip{ max-width:98px; }
}


/* v7 tap panel: final responsive overrides */
@media (max-width: 760px){
  .tapzone,.tapzone-inner{min-height:230px}
  .tapzone-inner{padding:20px}
  .tapzone-center{gap:14px}
  .tap-command{gap:10px;font-size:clamp(1.65rem,9vw,2.5rem)}
  .tap-reward{font-size:clamp(1.7rem,8vw,2.4rem)}
}

/* ================================================================
   KIVORA EMPIRE v8 — MOBILE-FIRST REBUILD + INTERACTION HARDENING
   Final overrides are intentionally placed at the END of the file so
   older desktop/tablet rules cannot accidentally re-enable the sidenav.
   ================================================================ */

/* Game canvas is not a document editor: stop accidental selection / callout / dragging. */
html,
body,
.app,
.boot,
.game-loader,
.toast{
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
img,
svg,
a{
  -webkit-user-drag:none;
  user-drag:none;
}
/* Keep future form controls usable even while the game shell itself is non-selectable. */
input,
textarea,
select,
[contenteditable="true"]{
  -webkit-user-select:text;
  user-select:text;
  -webkit-touch-callout:default;
}

@media (max-width:760px){
  :root{
    --topbar-h:64px;
    --bottomnav-h:72px;
  }

  html,
  body{
    width:100%;
    max-width:100%;
    min-height:100%;
    overflow:hidden;
    overscroll-behavior:none;
    background:#f4f4f4;
  }

  body{
    position:fixed;
    inset:0;
  }

  .app{
    width:100vw;
    max-width:100vw;
    height:100vh;
    height:100dvh;
    min-height:100svh;
    display:grid;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:calc(var(--topbar-h) + env(safe-area-inset-top)) minmax(0,1fr) !important;
    grid-template-areas:"top" "main" !important;
    overflow:hidden;
  }

  /* Critical bug fix: an older later .sidenav rule was overriding display:none. */
  .sidenav,
  #sidenav{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .topbar{
    grid-area:top;
    position:relative;
    z-index:80;
    width:100%;
    min-width:0;
    height:auto;
    min-height:calc(var(--topbar-h) + env(safe-area-inset-top));
    padding:env(safe-area-inset-top) 12px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    overflow:visible;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid #e8e8e8;
    box-shadow:0 5px 24px rgba(0,0,0,.035);
    backdrop-filter:saturate(160%) blur(16px);
    -webkit-backdrop-filter:saturate(160%) blur(16px);
  }

  .topbar .brand{
    min-width:0;
    flex:1 1 auto;
    gap:8px;
    font-size:.88rem;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
  }
  .topbar .brand .mark{
    width:36px;
    height:36px;
    min-width:36px;
    border-radius:11px;
    font-size:.72rem;
  }
  .topbar .brand > span:last-child{
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .topbar-actions{
    flex:0 0 auto;
    min-width:0;
    gap:5px;
  }

  /* On phones the profile chip becomes avatar-only to avoid horizontal overflow. */
  .topbar .user-chip{
    flex:0 0 auto;
    gap:0;
    max-width:none;
  }
  .topbar .user-chip .who{
    display:none !important;
  }
  .topbar .user-chip img{
    width:34px;
    height:34px;
    border:2px solid #fff;
    box-shadow:0 0 0 1px #dfdfdf;
  }
  .logout-btn{
    display:none !important;
  }

  .topbar-lang-switch{
    flex:0 0 auto;
    padding:2px;
    gap:1px;
    border-radius:9px;
  }
  .topbar-lang-switch button{
    min-width:27px;
    height:28px;
    padding:0 4px;
    border-radius:7px;
    font-size:.56rem;
  }

  .cash-pill{
    flex:0 0 auto;
    min-width:58px;
    max-width:88px;
    margin-left:0;
    padding:8px 10px;
    border-radius:12px;
    font-size:.72rem;
    line-height:1;
    text-align:center;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  main{
    grid-area:main;
    width:100%;
    min-width:0;
    max-width:100vw;
    height:100%;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    padding:14px 12px calc(var(--bottomnav-h) + env(safe-area-inset-bottom) + 22px);
    scroll-padding-bottom:calc(var(--bottomnav-h) + env(safe-area-inset-bottom) + 18px);
  }

  .view,
  .view.active{
    width:100%;
    min-width:0;
    max-width:none;
    margin:0;
  }

  .dash-grid{
    display:flex !important;
    flex-direction:column;
    width:100%;
    min-width:0;
    gap:14px;
  }
  .dash-grid > div{
    width:100%;
    min-width:0;
  }

  .cashcard{
    width:100%;
    min-height:0;
    margin:0 0 12px;
    padding:22px 20px;
    border-radius:22px;
    box-shadow:0 14px 32px rgba(0,0,0,.10);
  }
  .cashcard .lbl{
    font-size:.62rem;
    letter-spacing:.12em;
  }
  .cashcard .amt{
    margin:7px 0 18px;
    font-size:clamp(2.7rem,14vw,4rem);
    line-height:.92;
    letter-spacing:-.07em;
  }
  .cashcard .mini-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .cashcard .mini-stats div{
    min-width:0;
    padding:10px 11px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:13px;
    background:rgba(255,255,255,.055);
  }
  .cashcard .mini-stats div b{
    font-size:.98rem;
    line-height:1.05;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .cashcard .mini-stats div span{
    margin-top:4px;
    display:block;
    font-size:.55rem;
  }

  .tapzone{
    width:100%;
    min-height:250px;
    border-radius:24px;
    touch-action:manipulation;
    box-shadow:0 12px 28px rgba(0,0,0,.055);
  }
  .tapzone::before{
    border-radius:24px;
  }
  .tapzone-glow{
    width:310px;
    height:310px;
  }
  .tapzone-inner{
    min-height:250px;
    padding:24px 16px;
  }
  .tapzone-center{
    gap:14px;
  }
  .tap-command{
    gap:8px;
    font-size:clamp(1.8rem,10vw,2.75rem);
    line-height:1;
  }
  .tap-command span:last-child{
    padding:.20em .33em .22em;
    border-width:1.5px;
    box-shadow:0 .09em 0 #d8d8d8;
  }
  .tap-command i{
    font-size:.72em;
  }
  .tap-reward{
    font-size:clamp(2rem,11vw,3rem);
  }
  .tap-reward::after{
    font-size:.25em;
  }
  .tapzone:hover{
    transform:none;
  }

  /* Quick actions are true thumb-sized cards, two columns on normal phones. */
  #v-dashboard > .dash-grid > div:last-child > .kicker{
    margin:2px 2px 8px;
    font-size:.58rem;
  }
  .quicklinks{
    width:100%;
    height:auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:0;
  }
  .qlink{
    min-width:0;
    min-height:106px;
    padding:13px;
    border-radius:18px;
    touch-action:manipulation;
  }
  .qlink .ic{
    width:38px;
    height:38px;
    top:12px;
    left:12px;
    border-radius:12px;
  }
  .qlink .ic .ui-icon{
    width:19px;
    height:19px;
  }
  .qlink > span:not(.ic):not(.mini-market){
    max-width:100%;
    font-size:.86rem;
  }
  .qlink small{
    max-width:100%;
    margin-top:2px;
    font-size:.60rem;
    line-height:1.2;
  }
  .mini-market{
    right:10px;
    top:35px;
    width:51px;
    height:27px;
  }

  .empire-card{
    width:100%;
    min-width:0;
    margin-top:14px;
    padding:15px;
    border-radius:18px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:11px;
    align-items:start;
  }
  .empire-icon{
    width:42px;
    height:42px;
    border-radius:12px;
  }
  .empire-copy{
    min-width:0;
  }
  .empire-title{
    font-size:.83rem;
    line-height:1.25;
  }
  .empire-desc,
  .empire-bonus{
    font-size:.64rem;
    line-height:1.35;
  }
  .empire-action{
    grid-column:1 / -1;
    width:100%;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding-top:11px;
    border-top:1px solid #ececec;
  }
  .empire-action b{
    font-size:.82rem;
  }
  .empire-action .btn{
    min-height:42px;
  }

  /* Content pages: comfortable single-column cards and large tap targets. */
  .kicker{
    font-size:.60rem;
    line-height:1.3;
  }
  .h-sec{
    margin-bottom:12px;
    font-size:1.22rem;
  }
  .card-list{
    gap:10px;
  }
  .card{
    min-width:0;
    padding:15px;
    border-radius:17px;
  }
  .card b.title{
    font-size:.90rem;
    line-height:1.35;
  }
  .card .desc{
    font-size:.72rem;
    line-height:1.5;
  }
  .card .row{
    flex-wrap:nowrap;
    align-items:center;
  }
  .card .cost{
    min-width:0;
    font-size:.84rem;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .btn,
  .btn.sm{
    min-height:48px;
    padding:11px 15px;
    border-radius:13px;
    font-size:.76rem;
    touch-action:manipulation;
  }
  .card .btn.sm{
    flex:0 0 auto;
    min-width:92px;
  }

  .ticker{
    padding:18px 16px 15px;
    border-radius:21px;
  }
  .ticker .price{
    font-size:1.8rem;
  }
  .market-chart-wrap{
    margin-top:14px;
  }
  .market-chart{
    height:132px;
  }
  .trade-note{
    gap:8px;
    flex-wrap:wrap;
    padding:10px 12px;
    border-radius:13px;
    font-size:.62rem;
  }
  .hold-row{
    gap:8px;
    margin-bottom:14px;
  }
  .stat{
    padding:12px 8px;
  }
  .stat b{
    font-size:.94rem;
  }
  .stat span{
    font-size:.54rem;
  }
  .grid2{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  #v-trading .grid2 .btn{
    width:100%;
    min-width:0;
    padding-left:8px;
    padding-right:8px;
  }

  /* Fixed thumb navigation. Each target is >= 56px tall and uses safe-area padding. */
  .bottomnav,
  #bottomnav{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:100;
    width:100%;
    min-height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom));
    padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
    align-items:stretch;
    gap:2px;
    background:rgba(255,255,255,.97);
    border-top:1px solid #dedede;
    box-shadow:0 -10px 34px rgba(0,0,0,.08);
    backdrop-filter:saturate(160%) blur(18px);
    -webkit-backdrop-filter:saturate(160%) blur(18px);
  }
  .bottomnav .nav-item{
    min-width:0;
    min-height:58px;
    padding:5px 2px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    border-radius:13px;
    font-size:.56rem;
    line-height:1;
    color:#777;
    touch-action:manipulation;
  }
  .bottomnav .nav-item .ic{
    width:30px;
    height:30px;
    min-width:30px;
    border-radius:10px;
  }
  .bottomnav .nav-item .ic .ui-icon{
    width:16px;
    height:16px;
  }
  .bottomnav .nav-item.active{
    color:#111;
    background:#f3f3f3;
  }
  .bottomnav .nav-item.active .ic{
    background:#111;
    color:#fff;
    transform:none;
  }

  .toast{
    top:calc(env(safe-area-inset-top) + 72px);
    width:calc(100% - 24px);
    max-width:420px;
  }

  .boot,
  .game-loader{
    padding:calc(14px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));
  }
  .boot .boot-card,
  .loader-card{
    width:100%;
    max-width:420px;
  }
}

@media (max-width:390px){
  .topbar{
    padding-left:10px;
    padding-right:10px;
    gap:5px;
  }
  .topbar .brand{
    font-size:.80rem;
  }
  .topbar .brand .mark{
    width:34px;
    height:34px;
    min-width:34px;
  }
  .topbar-lang-switch button{
    min-width:25px;
    width:25px;
    padding:0;
  }
  .cash-pill{
    min-width:54px;
    max-width:72px;
    padding:8px 7px;
    font-size:.67rem;
  }
  .quicklinks{
    gap:8px;
  }
  .qlink{
    min-height:101px;
    padding:11px;
  }
  .tap-command{
    font-size:clamp(1.65rem,9.4vw,2.3rem);
  }
  .bottomnav .nav-item{
    font-size:.52rem;
  }
}

@media (max-width:340px){
  .topbar .brand > span:last-child{
    display:none;
  }
  .topbar-lang-switch{
    display:none;
  }
  .cash-pill{
    max-width:86px;
  }
  .quicklinks{
    grid-template-columns:1fr;
  }
  .qlink{
    min-height:92px;
  }
}

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

/* v23.7.1 mobile navigation fix:
   Upgrade / Business / Properties / Trading are no longer in the bottom nav,
   so the Dashboard quick-access column MUST stay visible on phones. */
@media (max-width:760px){
  #v-dashboard .dash-grid > div:last-child{
    display:flex !important;
    flex-direction:column;
    width:100%;
    min-width:0;
  }
  #v-dashboard .dash-grid{
    gap:14px;
  }
}

/* ===== KIVORA MARKET REALTIME v9 ===== */
.coin-live-row{display:flex!important;align-items:center;gap:9px;flex-wrap:wrap}
.market-live-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #d7d7d7;border-radius:999px;padding:4px 8px;font:800 10px/1 system-ui,sans-serif;letter-spacing:.08em;background:#fff;color:#777;vertical-align:middle}
.market-live-badge i{width:7px;height:7px;border-radius:50%;background:#aaa;box-shadow:0 0 0 0 rgba(34,197,94,.25)}
.market-live-badge.live{color:#15803d;border-color:#bbf7d0;background:#f0fdf4}
.market-live-badge.live i{background:#22c55e;animation:kvcLivePulse 1.7s infinite}
.market-live-badge.fallback{color:#92400e;border-color:#fde68a;background:#fffbeb}
.market-live-badge.reconnecting i,.market-live-badge.connecting i{background:#f59e0b}
@keyframes kvcLivePulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.35)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.trade-busy{opacity:.62;pointer-events:none}
@media (max-width:700px){.market-live-badge{padding:3px 7px;font-size:9px}.coin-live-row{gap:6px}}

/* ================================================================
   FAZ OPERATING SYSTEM / LAPTOP v10
   Virtual laptop + simple desktop shell inside Kivora Empire.
   ================================================================ */
.laptop-view{max-width:1180px}
.laptop-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.laptop-page-head .h-sec{margin-bottom:0;font-size:1.35rem}
.laptop-state{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dedede;border-radius:999px;background:#fff;color:#777;font-size:.68rem;font-weight:850}
.laptop-state-dot{width:8px;height:8px;border-radius:50%;background:#aaa;box-shadow:0 0 0 3px rgba(0,0,0,.04)}
.laptop-state-dot.on{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.10)}
.laptop-state-dot.starting{background:#f59e0b;animation:fazStatePulse 1s infinite}
@keyframes fazStatePulse{50%{opacity:.35}}

.laptop-device{position:relative;width:min(100%,1080px);margin:0 auto;padding:16px 16px 20px;border-radius:24px 24px 14px 14px;background:linear-gradient(145deg,#242424,#0d0d0d);box-shadow:0 26px 65px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.15)}
.laptop-camera{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:#555;box-shadow:0 0 0 2px #111}
.faz-screen{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;min-height:470px;border-radius:12px;background:#0b0b0b;border:1px solid #3a3a3a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
/* FazOS visibility guard: author display rules must never override the HTML hidden state. */
.faz-boot[hidden],.faz-desktop[hidden]{display:none!important}
.laptop-base{position:absolute;left:-6%;right:-6%;bottom:-18px;height:22px;border-radius:3px 3px 18px 18px;background:linear-gradient(#d7d7d7,#a8a8a8);box-shadow:0 15px 28px rgba(0,0,0,.16)}
.laptop-base::before{content:"";position:absolute;left:40%;right:40%;top:0;height:7px;border-radius:0 0 9px 9px;background:#8f8f8f}
.laptop-base span{position:absolute;inset:0;border-top:1px solid rgba(255,255,255,.65)}

.faz-boot{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#080808;color:#fff;text-align:center}
.faz-boot-logo{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#fff;color:#111;font-size:2rem;font-weight:1000;box-shadow:0 18px 40px rgba(255,255,255,.08)}
.faz-boot-brand{margin-top:14px;font-size:1rem;font-weight:900;letter-spacing:-.02em}
.faz-boot-status{margin-top:28px;color:#a9a9a9;font-size:.72rem;font-weight:700}
.faz-boot-bar{width:min(260px,56%);height:4px;margin-top:10px;border-radius:999px;background:#272727;overflow:hidden}
.faz-boot-bar i{display:block;width:0;height:100%;border-radius:inherit;background:#fff;transition:width .48s cubic-bezier(.2,.7,.2,1)}

.faz-desktop{position:absolute;inset:0;background:
  radial-gradient(circle at 74% 22%,rgba(255,255,255,.10),transparent 28%),
  radial-gradient(circle at 20% 85%,rgba(255,255,255,.06),transparent 34%),
  linear-gradient(135deg,#1c1f24 0%,#0d0f12 58%,#17191d 100%);color:#fff;overflow:hidden}
.faz-desktop::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.faz-wallpaper-copy{position:absolute;right:7%;top:10%;display:flex;flex-direction:column;align-items:flex-end;color:rgba(255,255,255,.24);user-select:none;pointer-events:none}
.faz-wallpaper-copy .faz-wallpaper-mark{display:grid;place-items:center;width:68px;height:68px;border:1px solid rgba(255,255,255,.18);border-radius:22px;font-size:2rem;font-weight:1000;margin-bottom:10px}
.faz-wallpaper-copy strong{font-size:1.1rem;letter-spacing:-.03em}
.faz-wallpaper-copy small{font-size:.64rem;margin-top:2px}

.faz-desktop-icons{position:absolute;z-index:3;left:18px;top:18px;display:grid;grid-template-columns:repeat(1,88px);gap:12px}
.faz-app-icon{appearance:none;border:0;background:transparent;color:#fff;width:88px;padding:7px 5px;border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:default;font:700 .66rem/1.15 inherit;text-shadow:0 1px 2px rgba(0,0,0,.65)}
.faz-app-icon:hover,.faz-app-icon:focus-visible{background:rgba(255,255,255,.10);outline:1px solid rgba(255,255,255,.10)}
.faz-app-glyph{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.20)}
.faz-app-glyph .ui-icon{width:23px;height:23px;stroke-width:1.7}
.faz-word{background:linear-gradient(145deg,#2563eb,#173b9f)}
.faz-browser{background:linear-gradient(145deg,#06b6d4,#0e7490)}
.faz-bank{background:linear-gradient(145deg,#16a34a,#166534)}
.faz-social{background:linear-gradient(145deg,#8b5cf6,#5b21b6)}

.faz-window-layer{position:absolute;inset:0 0 42px;z-index:8;pointer-events:none}
.faz-window{pointer-events:auto;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,82%);height:min(480px,78%);min-width:420px;min-height:280px;display:flex;flex-direction:column;background:#f7f7f7;color:#111;border:1px solid rgba(0,0,0,.5);border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.48);transition:opacity .12s ease,transform .12s ease}
.faz-window[hidden]{display:none!important}
.faz-window.faz-minimized{display:none!important}
.faz-window-active{box-shadow:0 28px 70px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.12)}
.faz-window-titlebar{height:42px;min-height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 7px 0 12px;background:#fff;border-bottom:1px solid #dedede;user-select:none}
.faz-window-title{min-width:0;display:flex;align-items:center;gap:8px}
.faz-window-title strong{font-size:.76rem;font-weight:900;white-space:nowrap}
.faz-window-title small{font-size:.57rem;color:#8a8a8a;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-app-icon{width:24px;height:24px;border-radius:7px;background:#111;color:#fff;display:grid;place-items:center}
.mini-app-icon .ui-icon{width:14px;height:14px}
.faz-window-controls{display:flex;align-items:center;align-self:stretch}
.faz-window-controls button{width:40px;height:100%;border:0;background:transparent;color:#555;font:700 1rem/1 system-ui;cursor:pointer}
.faz-window-controls button:hover{background:#eee}
.faz-window-controls button:last-child:hover{background:#dc2626;color:#fff}

.faz-word-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;background:#fafafa;border-bottom:1px solid #e0e0e0}
.faz-word-toolbar input{min-width:0;flex:1;height:34px;border:1px solid #d6d6d6;border-radius:8px;padding:0 10px;background:#fff;color:#111;font:800 .72rem inherit;outline:none}
.faz-word-toolbar input:focus{border-color:#8b8b8b;box-shadow:0 0 0 2px rgba(0,0,0,.06)}
.faz-word-actions{display:flex;gap:6px}
.faz-word-actions button{height:34px;border:1px solid #d5d5d5;border-radius:8px;padding:0 11px;background:#fff;font:800 .65rem inherit;cursor:pointer}
.faz-word-actions button.primary{background:#111;color:#fff;border-color:#111}
#fazWordEditor{flex:1;resize:none;border:0;outline:0;padding:26px 34px;background:#fff;color:#111;font:400 .84rem/1.7 Georgia,"Times New Roman",serif;caret-color:#111;overflow:auto;user-select:text;-webkit-user-select:text}
.faz-word-status{height:28px;min-height:28px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;background:#fafafa;border-top:1px solid #e6e6e6;color:#777;font-size:.55rem;font-weight:700}

.faz-browser-bar{display:grid;grid-template-columns:34px 34px minmax(0,1fr) auto;gap:6px;padding:8px;background:#f0f0f0;border-bottom:1px solid #ddd}
.faz-browser-bar button,.faz-browser-bar input{height:32px;border:1px solid #d4d4d4;border-radius:8px;background:#fff;color:#333;font:700 .64rem inherit}
.faz-browser-bar button{cursor:pointer;padding:0 9px}.faz-browser-bar input{padding:0 10px;outline:0}
.faz-placeholder-app{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px;background:linear-gradient(#fff,#f7f7f7)}
.faz-placeholder-icon{width:66px;height:66px;border-radius:20px;background:#111;color:#fff;display:grid;place-items:center;box-shadow:0 13px 30px rgba(0,0,0,.13)}
.faz-placeholder-icon .ui-icon{width:32px;height:32px}
.faz-placeholder-app h3{margin-top:15px;font-size:1.05rem;font-weight:950}
.faz-placeholder-app p{max-width:440px;margin-top:5px;color:#777;font-size:.69rem;line-height:1.6}
.faz-placeholder-pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.faz-placeholder-pills span{padding:5px 9px;border:1px solid #dedede;border-radius:999px;background:#fff;color:#666;font-size:.55rem;font-weight:800}
.faz-bank-placeholder{gap:0}
.faz-bank-card{width:min(330px,85%);aspect-ratio:1.72/1;margin-bottom:12px;border-radius:18px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:linear-gradient(135deg,#111,#303030);color:#fff;box-shadow:0 18px 35px rgba(0,0,0,.20)}
.faz-bank-card small{font-size:.55rem;font-weight:900;letter-spacing:.14em;color:#aaa}.faz-bank-card strong{margin-top:auto;font-size:.72rem}.faz-bank-card b{margin-top:4px;font-size:1.45rem;letter-spacing:-.04em}
.faz-social-skeleton{width:min(360px,88%);margin-top:16px;padding:14px;border:1px solid #e2e2e2;border-radius:14px;background:#fff;display:grid;grid-template-columns:36px 1fr;grid-template-rows:repeat(3,8px);gap:7px 10px}
.faz-social-skeleton i{grid-row:1/4;width:36px;height:36px;border-radius:50%;background:#e5e5e5}.faz-social-skeleton span{display:block;border-radius:999px;background:#ededed}.faz-social-skeleton span:nth-of-type(1){width:46%}.faz-social-skeleton span:nth-of-type(2){width:88%}.faz-social-skeleton span:nth-of-type(3){width:68%}

.faz-start-menu{position:absolute;z-index:70;left:10px;bottom:49px;width:300px;padding:12px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(24,24,24,.96);color:#fff;box-shadow:0 20px 50px rgba(0,0,0,.48);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.faz-start-menu[hidden]{display:none!important}
.faz-start-head{display:flex;align-items:center;gap:9px;padding:4px 4px 11px;border-bottom:1px solid rgba(255,255,255,.08)}
.faz-start-avatar{width:34px;height:34px;border-radius:10px;background:#fff;color:#111;display:grid;place-items:center;font-size:.62rem;font-weight:950}
.faz-start-head strong{display:block;font-size:.68rem}.faz-start-head small{display:block;margin-top:1px;color:#999;font-size:.54rem}
.faz-start-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:10px 0}
.faz-start-grid button{border:0;border-radius:10px;background:transparent;color:#fff;display:flex;align-items:center;gap:8px;padding:8px;cursor:pointer;text-align:left;font:750 .62rem inherit}
.faz-start-grid button:hover{background:rgba(255,255,255,.08)}
.faz-start-grid .faz-app-glyph{width:32px;height:32px;border-radius:9px;box-shadow:none}.faz-start-grid .faz-app-glyph .ui-icon{width:17px;height:17px}
.faz-shutdown-menu{width:100%;height:38px;border:0;border-top:1px solid rgba(255,255,255,.08);background:transparent;color:#ddd;display:flex;align-items:center;gap:8px;padding:7px 5px 0;font:800 .62rem inherit;cursor:pointer}.faz-shutdown-menu:hover{color:#fff}.faz-shutdown-menu .ui-icon{width:16px;height:16px}

.faz-taskbar{position:absolute;z-index:60;left:0;right:0;bottom:0;height:42px;display:flex;align-items:center;padding:0 8px;background:rgba(20,20,20,.88);border-top:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.faz-start-btn,.faz-taskbar-apps button,.faz-power-btn{height:34px;min-width:34px;border:0;border-radius:8px;background:transparent;color:#ddd;display:grid;place-items:center;cursor:pointer;position:relative}
.faz-start-btn:hover,.faz-taskbar-apps button:hover,.faz-power-btn:hover{background:rgba(255,255,255,.09);color:#fff}
.faz-logo-mini{width:23px;height:23px;border-radius:7px;background:#fff;color:#111;display:grid;place-items:center;font-size:.65rem;font-weight:1000}
.faz-taskbar-apps{display:flex;align-items:center;gap:2px;margin-left:6px}
.faz-taskbar-apps .ui-icon,.faz-power-btn .ui-icon{width:17px;height:17px}
.faz-taskbar-apps button.running::after{content:"";position:absolute;bottom:2px;left:25%;right:25%;height:2px;border-radius:9px;background:#999}.faz-taskbar-apps button.active{background:rgba(255,255,255,.10)}.faz-taskbar-apps button.active::after{background:#fff;left:18%;right:18%}
.faz-taskbar-right{margin-left:auto;display:flex;align-items:center;gap:5px}.faz-taskbar-right time{min-width:47px;text-align:center;color:#c9c9c9;font-size:.58rem;font-weight:700;font-variant-numeric:tabular-nums}

@media (max-width:760px){
  .laptop-page-head{margin-bottom:10px;align-items:center}.laptop-page-head .h-sec{font-size:1.15rem}.laptop-state{font-size:.58rem;padding:6px 8px}
  .laptop-device{width:100%;padding:7px 7px 10px;border-radius:17px 17px 10px 10px;box-shadow:0 16px 35px rgba(0,0,0,.18)}
  .laptop-camera{top:3px;width:4px;height:4px}.laptop-base{display:none}
  .faz-screen{aspect-ratio:auto;height:calc(100dvh - var(--topbar-h) - var(--bottomnav-h) - 130px);min-height:520px;border-radius:11px}
  .faz-wallpaper-copy{right:5%;top:5%;opacity:.7}.faz-wallpaper-copy .faz-wallpaper-mark{width:46px;height:46px;border-radius:15px;font-size:1.3rem}.faz-wallpaper-copy strong{font-size:.76rem}.faz-wallpaper-copy small{font-size:.5rem}
  .faz-desktop-icons{left:9px;top:10px;grid-template-columns:72px;gap:8px}.faz-app-icon{width:72px;padding:5px 2px;font-size:.56rem}.faz-app-glyph{width:38px;height:38px;border-radius:12px}.faz-app-glyph .ui-icon{width:20px;height:20px}
  .faz-window-layer{inset:0 0 48px}.faz-window{left:8px;right:8px;top:8px;bottom:8px;transform:none;width:auto;height:auto;min-width:0;min-height:0;border-radius:12px}
  .faz-window-titlebar{height:44px;min-height:44px;padding-left:10px}.faz-window-title small{display:none}.faz-window-controls button{width:42px}
  .faz-word-toolbar{padding:8px;align-items:stretch}.faz-word-actions button{padding:0 9px}#fazWordEditor{padding:20px 18px;font-size:.86rem}.faz-word-status{font-size:.5rem}
  .faz-browser-bar{grid-template-columns:32px 32px minmax(0,1fr);padding:7px}.faz-browser-bar button:last-child{display:none}.faz-placeholder-app{padding:22px 16px}.faz-placeholder-app p{font-size:.65rem}
  .faz-start-menu{left:7px;right:7px;bottom:54px;width:auto;padding:10px}.faz-start-grid{grid-template-columns:1fr 1fr}
  .faz-taskbar{height:48px;padding:0 5px}.faz-start-btn,.faz-taskbar-apps button,.faz-power-btn{height:38px;min-width:38px}.faz-taskbar-apps{margin-left:2px}.faz-taskbar-right time{display:none}
  .bottomnav,#bottomnav{grid-template-columns:repeat(6,minmax(0,1fr))}.bottomnav .nav-item{min-width:0;padding-left:1px;padding-right:1px;font-size:.49rem}.bottomnav .nav-item .ic{width:28px;height:28px;min-width:28px}
}

@media (max-width:390px){
  .faz-screen{min-height:500px;height:calc(100dvh - var(--topbar-h) - var(--bottomnav-h) - 120px)}
  .faz-taskbar-apps button{min-width:34px;width:34px}.faz-start-btn,.faz-power-btn{min-width:35px}.faz-taskbar-right{gap:0}
  .faz-bank-card{width:92%;padding:16px}.faz-bank-card b{font-size:1.2rem}
  .bottomnav .nav-item{font-size:.46rem}.bottomnav .nav-item .ic{width:27px;height:27px;min-width:27px}
}

/* ======================================================================
   KIVORA BANK v11 — FazOS semi-complete banking app
   ====================================================================== */
.faz-bank-window{width:min(980px,94%);height:min(600px,88%)}
.kbank-app{flex:1;min-height:0;position:relative;background:#f4f5f7;color:#111;overflow:hidden;font-family:inherit}
.kbank-app button,.kbank-app input{font:inherit}
.kbank-app.bank-busy::after{content:"";position:absolute;inset:0;z-index:80;background:rgba(255,255,255,.36);backdrop-filter:blur(1px);pointer-events:auto}
.kbank-loading{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#555;font-size:.72rem}
.kbank-spinner{width:28px;height:28px;border:3px solid #ddd;border-top-color:#111;border-radius:50%;animation:kbankSpin .7s linear infinite}
@keyframes kbankSpin{to{transform:rotate(360deg)}}

.kbank-register{height:100%;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 20%,#fff 0,#f4f5f7 60%)}
.kbank-register[hidden],.kbank-main[hidden],.kbank-loading[hidden]{display:none!important}
.kbank-register-mark{width:62px;height:62px;border-radius:19px;background:#111;color:#fff;display:grid;place-items:center;box-shadow:0 14px 28px rgba(0,0,0,.18)}
.kbank-register-mark .ui-icon{width:30px;height:30px}
.kbank-register-copy{max-width:470px;margin-top:16px}.kbank-eyebrow{font-size:.53rem;font-weight:1000;letter-spacing:.18em;color:#777}.kbank-register-copy h2{margin:4px 0 7px;font-size:1.45rem;letter-spacing:-.04em}.kbank-register-copy p{margin:0;color:#777;font-size:.67rem;line-height:1.55}
.kbank-code-builder{margin-top:20px;width:min(310px,100%);height:54px;border:2px solid #111;border-radius:14px;background:#fff;display:flex;align-items:center;overflow:hidden;box-shadow:0 10px 22px rgba(0,0,0,.06)}
.kbank-code-prefix{height:100%;padding:0 15px;background:#111;color:#fff;display:flex;align-items:center;font-size:1rem;font-weight:1000;letter-spacing:.08em}
.kbank-code-builder input{min-width:0;flex:1;height:100%;border:0;outline:0;padding:0 16px;font-size:1.05rem;font-weight:950;letter-spacing:.16em;background:transparent;color:#111}
.kbank-register-actions{margin-top:12px;display:flex;gap:8px}.kbank-register-note{max-width:390px;margin-top:12px;color:#999;font-size:.55rem;line-height:1.45}

.kbank-btn{border:1px solid #d5d5d5;background:#fff;color:#111;border-radius:9px;min-height:36px;padding:0 13px;font-size:.62rem;font-weight:900;cursor:pointer;transition:.15s ease}
.kbank-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#aaa}.kbank-btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.kbank-btn.primary{background:#111;border-color:#111;color:#fff}.kbank-btn.ghost{background:#eee;border-color:#e2e2e2}.kbank-btn.wide{width:100%}.kbank-btn.dividend{margin-top:11px;background:#ecfdf3;border-color:#b9e8c8;color:#087a38}
.kbank-link{border:0;background:transparent;color:#111;font-size:.58rem;font-weight:900;text-decoration:underline;cursor:pointer}

.kbank-main{height:100%;display:grid;grid-template-columns:176px minmax(0,1fr);background:#fff}
.kbank-nav{min-width:0;padding:12px 9px;background:#111;color:#fff;display:flex;flex-direction:column;gap:4px;border-right:1px solid #232323}
.kbank-brand-mini{height:53px;margin:0 2px 7px;padding:8px 7px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #2c2c2c}.kbank-brand-mini>span{width:32px;height:32px;border-radius:9px;background:#fff;color:#111;display:grid;place-items:center;font-size:.62rem;font-weight:1000}.kbank-brand-mini div{min-width:0;display:flex;flex-direction:column}.kbank-brand-mini strong{font-size:.65rem;white-space:nowrap}.kbank-brand-mini small{margin-top:2px;color:#888;font-size:.49rem;letter-spacing:.05em}
.kbank-nav button{height:39px;width:100%;border:0;border-radius:9px;background:transparent;color:#aaa;display:flex;align-items:center;gap:9px;padding:0 10px;cursor:pointer;font-size:.61rem;font-weight:800;text-align:left}.kbank-nav button .ui-icon{width:16px;height:16px}.kbank-nav button:hover{background:#1d1d1d;color:#fff}.kbank-nav button.active{background:#fff;color:#111}

.kbank-content{min-width:0;min-height:0;overflow:auto;padding:14px 16px 20px;background:#f7f7f8}
.kbank-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.kbank-topline>div{display:flex;flex-direction:column}.kbank-topline small{font-size:.49rem;color:#8a8a8a;font-weight:800}.kbank-topline strong{margin-top:1px;font-size:.78rem}.kbank-status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #dedede;background:#fff;border-radius:999px;font-size:.49rem;font-weight:850;color:#666}.kbank-status i{width:6px;height:6px;border-radius:50%;background:#20b65a;box-shadow:0 0 0 3px rgba(32,182,90,.1)}
.kbank-panel{display:none}.kbank-panel.active{display:block}

.kbank-balance-card{min-height:178px;border-radius:18px;padding:17px 19px;background:linear-gradient(140deg,#080808,#242424);color:#fff;box-shadow:0 16px 34px rgba(0,0,0,.17);position:relative;overflow:hidden}.kbank-balance-card::after{content:"KB";position:absolute;right:-7px;bottom:-26px;font-size:7rem;font-weight:1000;color:rgba(255,255,255,.035);letter-spacing:-.08em}.kbank-balance-head{display:flex;justify-content:space-between;gap:12px;font-size:.51rem;font-weight:900;letter-spacing:.12em;color:#aaa}.kbank-balance-card>small{display:block;margin-top:23px;font-size:.5rem;color:#a9a9a9;font-weight:800}.kbank-balance-card>strong{display:block;margin-top:2px;font-size:2rem;letter-spacing:-.055em}.kbank-balance-foot{position:relative;z-index:2;margin-top:16px;display:flex;gap:36px}.kbank-balance-foot span{display:flex;flex-direction:column}.kbank-balance-foot small{font-size:.46rem;color:#999;font-weight:800}.kbank-balance-foot b{margin-top:2px;font-size:.64rem}

.kbank-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.kbank-action-box{padding:11px;border:1px solid #e1e1e1;border-radius:12px;background:#fff;box-shadow:0 5px 15px rgba(0,0,0,.025)}.kbank-action-box>strong{display:block;font-size:.64rem}.kbank-action-box>small{display:block;margin-top:2px;color:#8b8b8b;font-size:.51rem}.kbank-inline{display:flex;gap:6px;margin-top:8px}.kbank-inline input{min-width:0;flex:1;height:36px;border:1px solid #d8d8d8;border-radius:8px;background:#fafafa;color:#111;padding:0 10px;font-size:.62rem;font-weight:800;outline:0}.kbank-inline input:focus,.kbank-form-card input:focus{border-color:#777;background:#fff;box-shadow:0 0 0 3px rgba(0,0,0,.045)}
.kbank-section-head{margin-top:13px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.kbank-section-head>div{display:flex;flex-direction:column}.kbank-section-head strong{font-size:.66rem}.kbank-section-head small{margin-top:2px;color:#999;font-size:.49rem}

.kbank-mini-history,.kbank-history-list{margin-top:7px;border:1px solid #e3e3e3;border-radius:12px;background:#fff;overflow:hidden}.kbank-tx-row{min-height:48px;padding:7px 10px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid #ededed}.kbank-tx-row:last-child{border-bottom:0}.kbank-tx-icon{width:29px;height:29px;border-radius:9px;background:#f2f2f2;color:#444;display:grid;place-items:center;font-size:.8rem;font-weight:1000}.kbank-tx-icon.in{background:#eaf8ef;color:#168344}.kbank-tx-copy{min-width:0;display:flex;flex-direction:column}.kbank-tx-copy strong{font-size:.57rem;text-transform:capitalize}.kbank-tx-copy small{margin-top:2px;color:#999;font-size:.45rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbank-tx-value{display:flex;flex-direction:column;text-align:right}.kbank-tx-value strong{font-size:.57rem}.kbank-tx-value.positive strong{color:#168344}.kbank-tx-value small{font-size:.43rem;color:#aaa;margin-top:2px}.kbank-empty{padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center}.kbank-empty strong{font-size:.62rem}.kbank-empty small{max-width:300px;margin-top:3px;font-size:.49rem;color:#999;line-height:1.45}

.kbank-page-title{display:flex;align-items:center;gap:10px;margin-bottom:11px}.kbank-page-icon{width:38px;height:38px;border-radius:11px;background:#111;color:#fff;display:grid;place-items:center}.kbank-page-icon .ui-icon{width:19px;height:19px}.kbank-page-title h3{margin:0;font-size:.88rem;letter-spacing:-.02em}.kbank-page-title p{margin:3px 0 0;color:#888;font-size:.52rem;line-height:1.4}
.kbank-form-card{max-width:560px;padding:15px;border:1px solid #ddd;border-radius:14px;background:#fff}.kbank-form-card label{display:block;margin-bottom:10px}.kbank-form-card label>span{display:block;margin-bottom:4px;font-size:.51rem;font-weight:900;color:#555}.kbank-form-card input{width:100%;height:39px;border:1px solid #d7d7d7;border-radius:9px;background:#fafafa;padding:0 11px;outline:0;font-size:.63rem;font-weight:750}.kbank-account-input{display:flex;height:39px;border:1px solid #d7d7d7;border-radius:9px;overflow:hidden;background:#fafafa}.kbank-account-input b{width:42px;display:grid;place-items:center;background:#111;color:#fff;font-size:.63rem}.kbank-account-input input{height:100%;border:0;border-radius:0;box-shadow:none!important}.kbank-transfer-summary{margin:2px 0 12px;padding:9px 10px;border-radius:8px;background:#f1f1f1;display:flex;justify-content:space-between;font-size:.53rem;color:#777}.kbank-transfer-summary b{color:#111}

.kbank-no-loan{padding:13px;border:1px dashed #ccc;border-radius:12px;background:#fff;display:flex;flex-direction:column;margin-bottom:9px}.kbank-no-loan strong{font-size:.62rem}.kbank-no-loan small{margin-top:2px;color:#999;font-size:.49rem}.kbank-active-loan{padding:13px;border:1px solid #cfe8d7;background:#f2fbf5;border-radius:13px;margin-bottom:10px}.kbank-active-loan.overdue{border-color:#f0c5c5;background:#fff4f4}.kbank-loan-head{display:flex;justify-content:space-between;align-items:flex-start}.kbank-loan-head span{display:flex;flex-direction:column}.kbank-loan-head small{font-size:.47rem;color:#777}.kbank-loan-head strong{font-size:.7rem}.kbank-loan-head>b{padding:4px 7px;border-radius:999px;background:#dff3e5;color:#11743a;font-size:.46rem}.kbank-active-loan.overdue .kbank-loan-head>b{background:#f8dede;color:#b02020}.kbank-loan-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.kbank-loan-stats span{padding:8px;border-radius:8px;background:rgba(255,255,255,.78);display:flex;flex-direction:column}.kbank-loan-stats small{font-size:.43rem;color:#888}.kbank-loan-stats strong{margin-top:2px;font-size:.61rem}.loan-pay{max-width:510px}
.kbank-loan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kbank-loan-offer{min-width:0;padding:12px;border:1px solid #dedede;border-radius:12px;background:#fff;display:flex;flex-direction:column}.kbank-loan-offer.locked{opacity:.62}.kbank-loan-badge{align-self:flex-start;padding:4px 6px;border-radius:6px;background:#f0f0f0;font-size:.44rem;font-weight:900}.kbank-loan-offer>strong{margin-top:8px;font-size:1.12rem;letter-spacing:-.04em}.kbank-loan-offer>div{margin:7px 0;display:flex;flex-direction:column;gap:4px}.kbank-loan-offer>div span{display:flex;justify-content:space-between;gap:7px;font-size:.48rem;color:#777}.kbank-loan-offer>div b{color:#111}.kbank-loan-offer>small{min-height:27px;margin-bottom:8px;color:#999;font-size:.44rem;line-height:1.35}

.kbank-invest-hero{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.kbank-invest-hero>div{padding:13px;border-radius:12px;border:1px solid #ddd;background:#fff;display:flex;flex-direction:column}.kbank-invest-hero>div:first-child{background:#111;color:#fff;border-color:#111}.kbank-invest-hero small{font-size:.46rem;color:#888;font-weight:800}.kbank-invest-hero>div:first-child small{color:#999}.kbank-invest-hero strong{margin-top:3px;font-size:.78rem}.kbank-invest-hero>div:first-child strong{font-size:1.2rem}.kbank-invest-note{margin-top:8px;padding:8px 10px;border-radius:9px;background:#eef7f1;color:#427552;font-size:.48rem;line-height:1.45}.kbank-total-dividend{display:block;margin-top:7px;color:#777;font-size:.49rem}

.kbank-card-empty,.kbank-card-layout{display:grid;grid-template-columns:minmax(260px,1.25fr) 1fr;gap:15px;align-items:center}.kbank-card-empty>div:last-child h4{margin:0;font-size:.8rem}.kbank-card-empty>div:last-child p{margin:5px 0 10px;color:#888;font-size:.53rem;line-height:1.45}.kbank-virtual-card{aspect-ratio:1.72/1;min-height:175px;border-radius:18px;padding:17px 18px;background:radial-gradient(circle at 85% 20%,#343434,#0b0b0b 58%);color:#fff;box-shadow:0 18px 36px rgba(0,0,0,.20);display:flex;flex-direction:column;position:relative;overflow:hidden}.kbank-virtual-card::after{content:"K";position:absolute;right:-7px;bottom:-36px;font-size:9rem;font-weight:1000;color:rgba(255,255,255,.04)}.kbank-virtual-card.preview{opacity:.78}.kbank-virtual-card.frozen{filter:grayscale(1);opacity:.75}.kbank-virtual-card>span{display:flex;justify-content:space-between;font-size:.48rem;letter-spacing:.12em;font-weight:900;color:#aaa}.kbank-virtual-card>span i{font-style:normal;color:#777}.kbank-virtual-card>b{margin-top:17px;width:35px;height:25px;border-radius:7px;background:linear-gradient(135deg,#d6d6d6,#777);display:grid;place-items:center;color:#111;font-size:.55rem}.kbank-virtual-card>strong{margin-top:auto;position:relative;z-index:2;font-size:.85rem;letter-spacing:.08em}.kbank-virtual-card>small,.kbank-virtual-card>div{position:relative;z-index:2;margin-top:7px;font-size:.48rem;color:#aaa;text-transform:uppercase}.kbank-virtual-card>div{display:flex;justify-content:space-between}.kbank-card-controls{display:flex;flex-direction:column;gap:7px}.kbank-card-controls>span{padding:9px 10px;border:1px solid #ddd;border-radius:9px;background:#fff;display:flex;justify-content:space-between;align-items:center}.kbank-card-controls small{font-size:.47rem;color:#888}.kbank-card-controls strong{font-size:.59rem}

@media (max-width:760px){
  .faz-bank-window{width:auto;height:auto}
  .kbank-main{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  .kbank-nav{padding:5px 6px;background:#111;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #2b2b2b;gap:3px;scrollbar-width:none}.kbank-nav::-webkit-scrollbar{display:none}.kbank-brand-mini{display:none}.kbank-nav button{flex:0 0 auto;width:auto;height:36px;padding:0 8px;font-size:.49rem;gap:5px}.kbank-nav button .ui-icon{width:14px;height:14px}
  .kbank-content{padding:9px 9px 14px}.kbank-topline{margin-bottom:8px}.kbank-status{padding:4px 6px}
  .kbank-balance-card{min-height:160px;padding:15px;border-radius:15px}.kbank-balance-card>small{margin-top:18px}.kbank-balance-card>strong{font-size:1.65rem}.kbank-balance-foot{gap:24px;margin-top:13px}
  .kbank-quick-grid{grid-template-columns:1fr}.kbank-action-box{padding:9px}.kbank-inline input{height:38px}.kbank-btn{min-height:38px}
  .kbank-page-title{margin-bottom:8px}.kbank-page-icon{width:34px;height:34px}.kbank-page-title h3{font-size:.76rem}.kbank-page-title p{font-size:.48rem}
  .kbank-loan-grid{grid-template-columns:1fr}.kbank-loan-offer{padding:10px}.kbank-loan-offer>small{min-height:0}.kbank-loan-stats{grid-template-columns:1fr 1fr}.loan-pay{flex-wrap:wrap}.loan-pay input{flex-basis:100%}
  .kbank-invest-hero{grid-template-columns:1fr 1fr}.kbank-invest-hero>div:first-child{grid-column:1/-1}
  .kbank-card-empty,.kbank-card-layout{grid-template-columns:1fr}.kbank-virtual-card{min-height:150px;max-width:360px;width:100%;margin:0 auto}.kbank-card-controls{gap:5px}
  .kbank-register{padding:20px 13px}.kbank-register-copy h2{font-size:1.2rem}.kbank-code-builder{height:50px}
}

@media (max-width:390px){
  .kbank-nav button span{display:none}.kbank-nav button{width:38px;justify-content:center;padding:0}.kbank-nav button .ui-icon{width:16px;height:16px}
  .kbank-topline strong{font-size:.68rem}.kbank-balance-card{min-height:148px}.kbank-balance-card>strong{font-size:1.45rem}
  .kbank-tx-row{grid-template-columns:28px minmax(0,1fr) auto;padding:6px 7px}.kbank-tx-icon{width:27px;height:27px}.kbank-tx-copy small{max-width:125px}
  .kbank-invest-hero{grid-template-columns:1fr}.kbank-invest-hero>div:first-child{grid-column:auto}
  .kbank-loan-stats{grid-template-columns:1fr 1fr}.kbank-active-loan{padding:10px}
}

/* Kivora Bank connection fail state: never leave the player on an endless spinner. */
.kbank-loading.is-error{gap:8px;padding:24px;text-align:center;color:#202020;background:#fafafa}
.kbank-loading.is-error .kbank-error-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#111;color:#fff;font-size:1.15rem;font-weight:950}
.kbank-loading.is-error strong{font-size:.84rem}
.kbank-loading.is-error small{max-width:440px;color:#777;font-size:.64rem;line-height:1.5}
.kbank-loading.is-error .kbank-btn{margin-top:4px}

/* =============================================================
   FAZSOCIAL v12 — real social network inside FazOS
   ============================================================= */
.faz-window.faz-window-fullscreen{left:0!important;right:0!important;top:0!important;bottom:0!important;width:auto!important;height:auto!important;transform:none!important;border-radius:0!important;max-width:none!important;max-height:none!important}
.faz-social-window{width:min(1180px,97%);height:min(690px,94%);background:#f4f5f7;color:#171717}
.faz-social-window.faz-window-fullscreen{inset:0!important}
.fs-app{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;background:#f3f4f6;--fs-accent:#111;--fs-soft:#f3f4f6;--fs-border:#e2e4e8}
.fs-loading{position:absolute;z-index:30;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(247,248,250,.97);color:#111}.fs-loading[hidden]{display:none!important}
.fs-loading strong{font-size:1.15rem;font-weight:950}.fs-loading small{font-size:.65rem;color:#737373}.fs-spinner{width:28px;height:28px;border:3px solid #ddd;border-top-color:#111;border-radius:50%;animation:fs-spin .8s linear infinite}@keyframes fs-spin{to{transform:rotate(360deg)}}
.fs-load-error{text-align:center;display:grid;gap:7px;max-width:360px}.fs-load-error button{justify-self:center;border:0;border-radius:9px;background:#111;color:#fff;padding:9px 14px;font-weight:850;cursor:pointer}
.fs-topbar{height:54px;min-height:54px;display:grid;grid-template-columns:190px minmax(220px,480px) 1fr;align-items:center;gap:14px;padding:0 15px;background:#fff;border-bottom:1px solid var(--fs-border);z-index:3}
.fs-logo{border:0;background:transparent;display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left;color:#111;font:900 .9rem inherit}.fs-logo span{width:31px;height:31px;border-radius:9px;background:#111;color:#fff;display:grid;place-items:center;font-size:1rem}.fs-logo b{font-size:.84rem}
.fs-search{height:36px;border:1px solid #e1e3e7;border-radius:999px;background:#f5f6f8;display:flex;align-items:center;padding:0 12px;gap:7px}.fs-search span{color:#777;font-size:1rem}.fs-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;font:700 .66rem inherit;color:#222}
.fs-top-actions{justify-self:end;display:flex;align-items:center;gap:7px}.fs-live{height:29px;padding:0 8px;border:1px solid #e3e3e3;border-radius:999px;background:#fff;display:flex;align-items:center;gap:5px;font-size:.5rem}.fs-live i{width:7px;height:7px;border-radius:50%;background:#9ca3af}.fs-live.live i{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.13)}.fs-live.fallback i{background:#f59e0b}.fs-icon-btn{position:relative;width:34px;height:34px;border:0;border-radius:50%;background:#f1f2f4;cursor:pointer}.fs-icon-btn em,.fs-nav em{position:absolute;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:#dc2626;color:#fff;display:grid;place-items:center;font:800 .48rem/1 inherit;font-style:normal}.fs-icon-btn em{right:-2px;top:-3px}
.fs-layout{display:grid;grid-template-columns:205px minmax(0,1fr) 220px;flex:1;min-height:0;overflow:hidden}.fs-left,.fs-right{min-height:0;overflow:auto;padding:14px 11px}.fs-left{border-right:1px solid var(--fs-border);background:#fafafa}.fs-right{border-left:1px solid var(--fs-border);background:#fafafa}.fs-main{min-width:0;min-height:0;overflow:auto;padding:14px;background:#f3f4f6}
.fs-me-card{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:center;border:0;background:transparent;padding:7px;border-radius:11px;text-align:left;cursor:pointer}.fs-me-card:hover{background:#eee}.fs-me-card span:last-child{min-width:0}.fs-me-card strong,.fs-me-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fs-me-card strong{font-size:.67rem}.fs-me-card small{margin-top:2px;color:#888;font-size:.51rem}
.fs-nav{display:grid;gap:3px;margin-top:11px}.fs-nav button{position:relative;width:100%;height:38px;border:0;border-radius:9px;background:transparent;color:#666;display:grid;grid-template-columns:26px 1fr;align-items:center;text-align:left;padding:0 9px;cursor:pointer;font:800 .63rem inherit}.fs-nav button span{font-size:.9rem}.fs-nav button:hover{background:#eee;color:#111}.fs-nav button.active{background:#111;color:#fff}.fs-nav em{right:7px;top:10px}
.fs-theme-mini{margin-top:18px;padding-top:12px;border-top:1px solid #e6e6e6}.fs-theme-mini small{display:block;color:#8b8b8b;font-size:.5rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.fs-theme-mini select{width:100%;height:34px;border:1px solid #ddd;border-radius:8px;background:#fff;padding:0 7px;font:700 .58rem inherit;color:#333}
.fs-panel{display:none;max-width:690px;margin:0 auto}.fs-panel.active{display:block}.fs-panel[data-social-panel="messages"]{max-width:900px;height:100%}.fs-composer,.fs-post,.fs-section-head,.fs-profile,.fs-notification,.fs-side-card{background:#fff;border:1px solid var(--fs-border);box-shadow:0 2px 10px rgba(0,0,0,.025)}
.fs-composer{border-radius:14px;padding:12px}.fs-composer-head{display:grid;grid-template-columns:38px 1fr;gap:9px}.fs-composer textarea{resize:none;min-height:55px;border:0;background:#f4f5f7;border-radius:13px;padding:11px 13px;outline:0;font:650 .68rem/1.5 inherit;color:#222}.fs-composer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;padding-top:9px;border-top:1px solid #eee}.fs-media-btn{display:flex;align-items:center;gap:6px;cursor:pointer;color:#4b5563}.fs-media-btn span{font-size:.95rem}.fs-media-btn b{font-size:.58rem}.fs-media-btn small{font-size:.48rem;color:#a0a0a0}.fs-primary,.fs-ghost,.fs-small{border:0;border-radius:9px;cursor:pointer;font:850 .59rem inherit}.fs-primary{background:#111;color:#fff;padding:9px 15px}.fs-primary:disabled{opacity:.5;cursor:wait}.fs-ghost{background:#f0f1f3;color:#333;padding:9px 12px}.fs-ghost.danger{color:#b91c1c}.fs-small{padding:7px 9px;background:#eceef1;color:#333;white-space:nowrap}.fs-small.primary{background:#111;color:#fff}
.fs-media-preview{position:relative;margin:9px 0 0 47px;border:1px solid #e1e1e1;border-radius:12px;overflow:hidden;background:#f5f5f5;max-width:430px}.fs-media-preview[hidden]{display:none}.fs-media-preview img,.fs-media-preview video{display:block;width:100%;max-height:280px;object-fit:contain;background:#111}.fs-media-preview button{position:absolute;right:7px;top:7px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:1rem;cursor:pointer}.fs-media-preview small{display:block;padding:6px 9px;color:#777;font-size:.5rem}
.fs-feed{display:grid;gap:10px;margin-top:10px}.fs-post{border-radius:14px;overflow:hidden}.fs-post.author-premium{border-color:#c7a96a;box-shadow:0 3px 16px rgba(154,107,31,.08)}.fs-post>header{display:flex;align-items:center;gap:9px;padding:11px 12px}.fs-author{flex:1;min-width:0;border:0;background:transparent;text-align:left;cursor:pointer}.fs-author strong{display:flex;align-items:center;gap:5px;font-size:.66rem;color:#181818}.fs-author small{display:block;margin-top:2px;color:#8b8b8b;font-size:.5rem}.fs-post-menu button{border:0;background:transparent;color:#888;cursor:pointer;font-weight:900;font-size:.9rem}.fs-post-body{padding:0 13px 11px;font-size:.68rem;line-height:1.55;color:#272727}.fs-post-media{display:block;width:100%;max-height:520px;object-fit:contain;background:#111}.fs-post-stats{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;color:#7b7b7b;font-size:.52rem;border-bottom:1px solid #eee}.fs-post>footer{display:grid;grid-template-columns:repeat(3,1fr);padding:4px 8px}.fs-post>footer button{height:34px;border:0;border-radius:8px;background:transparent;color:#626262;cursor:pointer;font:800 .57rem inherit}.fs-post>footer button:hover{background:#f1f2f3}.fs-post>footer button.liked{color:#2563eb;background:#eff6ff}.fs-load-more{width:100%;height:38px;margin-top:10px;border:1px solid #ddd;border-radius:10px;background:#fff;color:#555;font:800 .6rem inherit;cursor:pointer}
.fs-avatar{overflow:hidden;display:inline-grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#111;color:#fff;font-size:.62rem;font-weight:950;border:2px solid #fff;box-shadow:0 0 0 1px #ddd}.fs-avatar img{width:100%;height:100%;object-fit:cover}.fs-avatar.xs{width:28px;height:28px;font-size:.48rem}.fs-avatar.sm{width:32px;height:32px}.fs-avatar.md{width:40px;height:40px}.fs-avatar.lg{width:54px;height:54px;font-size:.8rem}.fs-avatar.xl{width:82px;height:82px;font-size:1.15rem}.fs-avatar.premium{box-shadow:0 0 0 2px #b78a36,0 0 0 4px rgba(183,138,54,.16)}
.fs-badges{display:inline-flex;align-items:center;gap:3px}.fs-badges i{min-width:16px;height:16px;padding:0 3px;border-radius:5px;background:#111;color:#fff;display:inline-grid;place-items:center;font:900 .42rem/1 inherit;font-style:normal}.fs-badges i[title="Premium"]{background:linear-gradient(135deg,#704d11,#c49a45)}
.fs-comments{border-top:1px solid #eee;padding:10px 12px;background:#fafafa}.fs-comments[hidden]{display:none}.fs-comment-list{display:grid;gap:8px}.fs-comment{display:grid;grid-template-columns:28px 1fr;gap:7px}.fs-comment>span{background:#eef0f2;border-radius:11px;padding:7px 9px}.fs-comment strong{font-size:.55rem}.fs-comment p{margin:2px 0;font-size:.58rem;line-height:1.4}.fs-comment small{color:#999;font-size:.46rem}.fs-comment-form{display:grid;grid-template-columns:1fr 34px;gap:6px;margin-top:9px}.fs-comment-form input{height:34px;border:1px solid #ddd;border-radius:999px;padding:0 11px;outline:0;font:650 .56rem inherit}.fs-comment-form button{border:0;border-radius:50%;background:#111;color:#fff;cursor:pointer}.fs-comment-loading{font-size:.55rem;color:#777}
.fs-section-head{border-radius:13px;padding:13px 15px;display:flex;justify-content:space-between;align-items:center}.fs-section-head h3,.fs-section-head h4{font-size:.88rem;font-weight:950}.fs-section-head p{margin-top:2px;color:#888;font-size:.55rem}.fs-section-head.compact{margin-top:12px;padding:10px 13px}.fs-friend-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.fs-friend-columns>div{background:#fff;border:1px solid var(--fs-border);border-radius:13px;padding:11px}.fs-friend-columns h4{font-size:.65rem;margin-bottom:7px}.fs-people-list{display:grid;gap:5px}.fs-person{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px;border-radius:10px}.fs-person:hover{background:#f5f5f5}.fs-person-name{min-width:0;border:0;background:transparent;text-align:left;cursor:pointer}.fs-person-name strong,.fs-person-name small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-person-name strong{font-size:.58rem}.fs-person-name small{margin-top:2px;color:#919191;font-size:.48rem}.fs-person-actions{display:flex;gap:4px}.fs-people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.fs-person-card{background:#fff;border:1px solid var(--fs-border);border-radius:12px;padding:11px;text-align:center}.fs-person-card>button:not(.fs-small){display:block;width:100%;border:0;background:transparent;cursor:pointer}.fs-person-card .fs-avatar{margin:0 auto 6px}.fs-person-card strong{display:block;font-size:.59rem}.fs-person-card small{display:block;color:#8c8c8c;font-size:.48rem;margin:3px 0 8px}.fs-mini-empty{padding:13px;text-align:center;color:#999;font-size:.53rem}
.fs-messenger{height:100%;min-height:430px;background:#fff;border:1px solid var(--fs-border);border-radius:14px;overflow:hidden;display:grid;grid-template-columns:245px minmax(0,1fr)}.fs-messenger>aside{border-right:1px solid #e5e5e5;min-height:0;overflow:auto}.fs-chat-head{padding:13px;border-bottom:1px solid #eee}.fs-chat-head h3{font-size:.84rem}.fs-chat-head small{color:#888;font-size:.5rem}.fs-chat-list{padding:5px}.fs-chat-item{position:relative;width:100%;display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:center;border:0;border-radius:9px;background:transparent;padding:7px;text-align:left;cursor:pointer}.fs-chat-item:hover,.fs-chat-item.active{background:#f0f1f3}.fs-chat-item span{min-width:0}.fs-chat-item strong,.fs-chat-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-chat-item strong{font-size:.57rem}.fs-chat-item small{color:#888;font-size:.48rem;margin-top:2px}.fs-chat-item>i{position:absolute;left:29px;bottom:7px;width:7px;height:7px;background:#22c55e;border:2px solid #fff;border-radius:50%}.fs-chat-room{display:flex;flex-direction:column;min-width:0;min-height:0}.fs-chat-room>header{height:48px;min-height:48px;border-bottom:1px solid #eee;display:flex;align-items:center;gap:7px;padding:0 11px}.fs-chat-room>header button{border:0;background:transparent;text-align:left;cursor:pointer}.fs-chat-room>header strong,.fs-chat-room>header small{display:block}.fs-chat-room>header strong{font-size:.59rem}.fs-chat-room>header small{color:#888;font-size:.47rem}.fs-chat-empty,.fs-chat-loading{margin:auto;text-align:center;color:#777}.fs-chat-empty strong,.fs-chat-empty small{display:block}.fs-chat-empty strong{font-size:.76rem}.fs-chat-empty small{margin-top:4px;font-size:.53rem}.fs-messages{flex:1;min-height:0;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:7px}.fs-message{display:flex;gap:6px;align-items:flex-end;max-width:75%}.fs-message.mine{align-self:flex-end}.fs-message>span{background:#eceef0;border-radius:14px 14px 14px 4px;padding:7px 9px}.fs-message.mine>span{background:#111;color:#fff;border-radius:14px 14px 4px 14px}.fs-message b{display:block;font-size:.58rem;line-height:1.4;font-weight:650}.fs-message small{display:block;margin-top:3px;font-size:.42rem;opacity:.6}.fs-chat-input{display:grid;grid-template-columns:1fr 40px;gap:7px;padding:9px;border-top:1px solid #eee}.fs-chat-input textarea{resize:none;height:38px;max-height:90px;border:1px solid #ddd;border-radius:18px;padding:9px 12px;outline:0;font:650 .58rem inherit}.fs-chat-input button{border:0;border-radius:50%;background:#111;color:#fff;cursor:pointer}
.fs-profile{overflow:hidden;border-radius:15px}.fs-cover{height:170px;background:linear-gradient(135deg,#151515,#444);background-size:cover;background-position:center;position:relative}.fs-theme-glow{position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.2))}.theme-midnight .fs-cover{background-image:linear-gradient(135deg,#020617,#1e293b)}.theme-aurora .fs-cover{background-image:linear-gradient(120deg,#4f46e5,#7c3aed,#0891b2)}.theme-executive .fs-cover{background-image:linear-gradient(135deg,#0c0c0c,#4a3310,#0c0c0c)}.fs-cover-edit{position:absolute;right:10px;bottom:10px;border-radius:8px;background:rgba(0,0,0,.72);color:#fff;padding:7px 9px;font-size:.53rem;font-weight:800;cursor:pointer}.fs-profile-head{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:12px;align-items:end;padding:0 15px 13px;margin-top:-34px;position:relative}.fs-profile-head>div:nth-child(2){padding-top:39px}.fs-profile-head h2{font-size:1rem;display:flex;align-items:center;gap:6px}.fs-profile-head p{margin-top:3px;font-size:.58rem;color:#666}.fs-profile-head small{display:block;margin-top:3px;color:#999;font-size:.48rem}.fs-profile-actions{display:flex;align-items:center;gap:5px;padding-bottom:3px}.fs-profile.premium{border-color:#c3a05b}.fs-profile.premium .fs-profile-head h2{color:#3f2e10}.fs-profile-edit{display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px 15px;border-top:1px solid #eee}.fs-profile-edit textarea{resize:none;border:1px solid #ddd;border-radius:9px;padding:8px 9px;font:650 .58rem inherit;outline:0}.fs-profile-posts{padding:10px;background:#f5f6f7;display:grid;gap:10px}
.fs-notifications{display:grid;gap:6px;margin-top:9px}.fs-notification{border-radius:11px;padding:9px;display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:start}.fs-notification.unread{background:#f0f6ff;border-color:#cfe0f7}.fs-notification strong{font-size:.57rem}.fs-notification p{font-size:.52rem;color:#666;margin-top:2px}.fs-notification small{font-size:.45rem;color:#999;margin-top:3px;display:block}
.fs-side-card{border-radius:12px;padding:10px;margin-bottom:9px}.fs-side-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.fs-side-title strong{font-size:.59rem}.fs-side-title span{min-width:20px;height:20px;border-radius:10px;background:#111;color:#fff;display:grid;place-items:center;font-size:.48rem}.fs-online-list{display:grid;gap:3px}.fs-online-list button{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr);gap:6px;align-items:center;border:0;background:transparent;border-radius:8px;padding:5px;text-align:left;cursor:pointer}.fs-online-list button:hover{background:#f1f1f1}.fs-online-list strong,.fs-online-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-online-list strong{font-size:.53rem}.fs-online-list small{font-size:.45rem;color:#22a447}.fs-online-list>small,.fs-side-card>small{font-size:.48rem;color:#999;line-height:1.5}.fs-badge-shelf{margin:5px 0 7px}.premium-card{background:linear-gradient(135deg,#111,#3b2a0d);color:#fff;border-color:#3e321d}.premium-card strong{font-size:.62rem}.premium-card p{font-size:.5rem;color:#d4c6aa;line-height:1.5;margin-top:4px}.fs-empty{padding:30px;text-align:center;border:1px dashed #d7d7d7;border-radius:12px;background:#fafafa}.fs-empty strong,.fs-empty small{display:block}.fs-empty strong{font-size:.7rem}.fs-empty small{font-size:.52rem;color:#888;margin-top:4px}

@media(max-width:1000px){.fs-layout{grid-template-columns:175px minmax(0,1fr)}.fs-right{display:none}.fs-topbar{grid-template-columns:150px minmax(160px,1fr) auto}.fs-people-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  .faz-social-window{left:0!important;right:0!important;top:0!important;bottom:0!important;width:auto!important;height:auto!important;transform:none!important;border-radius:0!important}.faz-social-window .faz-window-titlebar{display:flex}
  .fs-topbar{height:48px;min-height:48px;grid-template-columns:1fr auto;padding:0 8px}.fs-logo b{font-size:.72rem}.fs-search{position:absolute;top:54px;left:8px;right:8px;z-index:4}.fs-top-actions .fs-live{display:none}
  .fs-layout{display:block;padding-top:47px}.fs-left{position:absolute;z-index:6;left:0;right:0;bottom:0;height:52px;padding:0;background:#fff;border:0;border-top:1px solid #ddd;overflow:visible}.fs-me-card,.fs-theme-mini{display:none}.fs-nav{height:100%;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0}.fs-nav button{height:100%;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:0;text-align:center;border-radius:0;font-size:.46rem}.fs-nav button span{font-size:.8rem}.fs-nav em{right:20%;top:3px}.fs-main{height:100%;padding:8px 8px 61px;overflow:auto}.fs-panel{max-width:none}.fs-right{display:none}.fs-composer{border-radius:11px}.fs-media-btn small{display:none}.fs-post{border-radius:11px}.fs-post-media{max-height:65vh}.fs-friend-columns{grid-template-columns:1fr}.fs-people-grid{grid-template-columns:1fr 1fr}.fs-messenger{height:calc(100dvh - 190px);min-height:380px;grid-template-columns:95px minmax(0,1fr)}.fs-chat-head{padding:8px}.fs-chat-head small{display:none}.fs-chat-item{grid-template-columns:32px 1fr;padding:6px}.fs-chat-item span small{display:none}.fs-profile-head{grid-template-columns:62px 1fr;align-items:start;margin-top:-27px}.fs-profile-head .fs-avatar.xl{width:62px;height:62px}.fs-profile-head>div:nth-child(2){padding-top:31px}.fs-profile-actions{grid-column:1/3;padding:0}.fs-cover{height:130px}.fs-profile-edit{grid-template-columns:1fr}.fs-section-head{border-radius:10px}.fs-avatar.md{width:36px;height:36px}.fs-person{grid-template-columns:36px minmax(0,1fr);}.fs-person-actions{grid-column:1/3;justify-content:flex-end}.fs-post>footer button span{display:none}
}
@media(max-width:430px){.fs-people-grid{grid-template-columns:1fr}.fs-composer-head{grid-template-columns:32px 1fr}.fs-media-preview{margin-left:0}.fs-profile-head{grid-template-columns:55px 1fr}.fs-profile-head .fs-avatar.xl{width:55px;height:55px}.fs-messenger{grid-template-columns:76px minmax(0,1fr)}.fs-chat-item{display:flex;justify-content:center}.fs-chat-item>span{display:none}.fs-message{max-width:88%}}

/* =============================================================
   FAZSOCIAL v12.1 — responsive UI redesign (PC / tablet / phone)
   ============================================================= */
:root{--fs-blue:#2563eb;--fs-blue-soft:#eff6ff;--fs-bg:#f3f5f8;--fs-surface:#fff;--fs-text:#111827;--fs-muted:#6b7280;--fs-line:#e5e7eb;--fs-shadow:0 8px 28px rgba(15,23,42,.06)}
body.faz-window-fullscreen-open{overflow:hidden!important}

/* Proper viewport fullscreen: escapes the laptop screen and covers the webpage. */
.faz-window.faz-window-fullscreen{
  position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;
  max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;
  transform:none!important;border:0!important;border-radius:0!important;z-index:2147482000!important;
  box-shadow:none!important;
}
.faz-window.faz-window-fullscreen .faz-window-titlebar{height:48px;min-height:48px;padding-left:14px}
.faz-window.faz-window-fullscreen .faz-window-controls button{width:48px}
.faz-social-window{width:min(1320px,98%);height:min(780px,96%);background:var(--fs-bg);border-color:#d9dde5}
.faz-social-window .faz-window-titlebar{background:#fff;border-bottom:1px solid var(--fs-line)}
.faz-social-window .faz-window-title strong{font-size:13px}.faz-social-window .faz-window-title small{font-size:10px}

.fs-app{background:var(--fs-bg);color:var(--fs-text);--fs-accent:var(--fs-blue);--fs-soft:var(--fs-blue-soft);--fs-border:var(--fs-line);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.fs-loading{background:rgba(248,250,252,.985)}
.fs-spinner{width:34px;height:34px;border-width:3px;border-color:#dbe1ea;border-top-color:var(--fs-blue)}

/* Top bar */
.fs-topbar{height:64px;min-height:64px;grid-template-columns:230px minmax(260px,620px) 1fr;gap:18px;padding:0 22px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--fs-line);box-shadow:0 1px 0 rgba(15,23,42,.02)}
.fs-logo{gap:10px;font-size:15px}.fs-logo span{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#111827,#0f172a);font-size:18px;box-shadow:0 6px 18px rgba(15,23,42,.16)}.fs-logo b{font-size:15px;letter-spacing:-.02em}
.fs-search{height:42px;padding:0 15px;gap:9px;border-color:#dfe3ea;background:#f6f7f9;transition:border-color .15s,box-shadow .15s,background .15s}.fs-search:focus-within{background:#fff;border-color:#9bb9f7;box-shadow:0 0 0 4px rgba(37,99,235,.08)}.fs-search span{font-size:19px}.fs-search input{font-size:13px;font-weight:600}
.fs-top-actions{gap:9px}.fs-live{height:34px;padding:0 11px;font-size:10px;font-weight:800}.fs-live i{width:8px;height:8px}.fs-icon-btn{width:40px;height:40px;background:#f1f3f6;font-size:13px;transition:.15s}.fs-icon-btn:hover{background:#e8ebf0;transform:translateY(-1px)}

/* Desktop shell — balanced 3-column social network */
.fs-layout{grid-template-columns:240px minmax(480px,1fr) 300px;background:var(--fs-bg)}
.fs-left,.fs-right{padding:18px 14px;background:#fff;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.fs-left{border-right:1px solid var(--fs-line)}.fs-right{border-left:1px solid var(--fs-line)}
.fs-main{padding:22px 24px;background:var(--fs-bg);scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
.fs-panel{max-width:760px}.fs-panel[data-social-panel="friends"],.fs-panel[data-social-panel="notifications"],.fs-panel[data-social-panel="profile"]{max-width:920px}.fs-panel[data-social-panel="messages"]{max-width:1050px}

/* Left navigation */
.fs-me-card{grid-template-columns:46px minmax(0,1fr);gap:11px;padding:10px;border:1px solid transparent;border-radius:14px}.fs-me-card:hover{background:#f8fafc;border-color:#edf0f4}.fs-me-card strong{font-size:13px}.fs-me-card small{font-size:10px;color:#88909d}
.fs-nav{gap:5px;margin-top:15px}.fs-nav button{height:46px;grid-template-columns:32px 1fr;gap:2px;padding:0 12px;border-radius:12px;color:#4b5563;font-size:12px;transition:.14s}.fs-nav button span{font-size:18px}.fs-nav button:hover{background:#f5f7fa;color:#111827}.fs-nav button.active{background:#111827;color:#fff;box-shadow:0 8px 20px rgba(17,24,39,.12)}.fs-nav em{right:10px;top:14px;min-width:18px;height:18px;font-size:9px}
.fs-theme-mini{margin-top:22px;padding-top:16px}.fs-theme-mini small{font-size:9px;margin-bottom:7px}.fs-theme-mini select{height:39px;padding:0 10px;border-radius:10px;font-size:11px}

/* General cards */
.fs-composer,.fs-post,.fs-section-head,.fs-profile,.fs-notification,.fs-side-card{border-color:var(--fs-line);box-shadow:var(--fs-shadow)}
.fs-composer{border-radius:18px;padding:16px}.fs-composer-head{grid-template-columns:44px 1fr;gap:12px}.fs-composer textarea{min-height:72px;padding:13px 15px;border-radius:15px;background:#f5f7fa;font-size:13px;line-height:1.5;transition:.15s}.fs-composer textarea:focus{background:#fff;box-shadow:inset 0 0 0 1px #b8c8e8,0 0 0 4px rgba(37,99,235,.06)}
.fs-composer-foot{margin-top:12px;padding-top:12px}.fs-media-btn{gap:8px}.fs-media-btn span{font-size:18px;color:#16a34a}.fs-media-btn b{font-size:11px}.fs-media-btn small{font-size:9px}.fs-primary,.fs-ghost,.fs-small{font-size:11px;border-radius:10px}.fs-primary{padding:10px 18px;background:#111827;box-shadow:0 6px 16px rgba(17,24,39,.12)}.fs-primary:hover{background:#1f2937}.fs-ghost{padding:10px 14px}.fs-small{padding:8px 10px}
.fs-media-preview{margin:12px 0 0 56px;max-width:560px;border-radius:14px}.fs-media-preview small{font-size:10px}

/* Feed */
.fs-feed{gap:14px;margin-top:14px}.fs-post{border-radius:18px}.fs-post>header{gap:11px;padding:15px 16px 12px}.fs-author strong{font-size:13px}.fs-author small{font-size:10px}.fs-post-menu button{width:32px;height:32px;border-radius:50%;font-size:15px}.fs-post-menu button:hover{background:#f3f4f6}.fs-post-body{padding:0 16px 14px;font-size:13px;line-height:1.6}.fs-post-media{max-height:680px;background:#0b0d11}.fs-post-stats{height:42px;padding:0 16px;font-size:10px}.fs-post>footer{padding:6px 10px}.fs-post>footer button{height:40px;border-radius:10px;font-size:11px}.fs-post>footer button:hover{background:#f4f6f8}.fs-post>footer button.liked{background:var(--fs-blue-soft);color:var(--fs-blue)}.fs-load-more{height:44px;margin-top:14px;border-radius:12px;font-size:11px}

/* Avatar & badges */
.fs-avatar{width:44px;height:44px;font-size:12px}.fs-avatar.xs{width:30px;height:30px;font-size:9px}.fs-avatar.sm{width:38px;height:38px}.fs-avatar.md{width:44px;height:44px}.fs-avatar.lg{width:60px;height:60px}.fs-avatar.xl{width:94px;height:94px;font-size:20px}.fs-badges{gap:4px}.fs-badges i{min-width:18px;height:18px;border-radius:6px;font-size:9px}

/* Comments */
.fs-comments{padding:13px 15px;background:#fafbfc}.fs-comment-list{gap:10px}.fs-comment{grid-template-columns:30px 1fr;gap:9px}.fs-comment>span{padding:9px 11px;border-radius:13px}.fs-comment strong{font-size:11px}.fs-comment p{font-size:11px;line-height:1.5}.fs-comment small{font-size:9px}.fs-comment-form{grid-template-columns:1fr 38px;gap:8px;margin-top:11px}.fs-comment-form input{height:38px;padding:0 13px;font-size:11px}.fs-comment-form button{font-size:13px}

/* Section headers, friends, discovery */
.fs-section-head{padding:15px 17px;border-radius:16px;margin-bottom:12px}.fs-section-head h3{font-size:18px}.fs-section-head h4{font-size:14px}.fs-section-head p{margin-top:3px;font-size:11px;color:var(--fs-muted)}.fs-section-head.compact{margin-top:16px}
.fs-friend-columns{gap:14px}.fs-friend-columns>div{padding:14px;border-radius:16px}.fs-friend-columns h4{font-size:13px;margin-bottom:8px}.fs-people-list{gap:7px}.fs-person{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:9px;border-radius:12px}.fs-person-name strong{font-size:12px}.fs-person-name small{font-size:10px}.fs-people-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:11px}.fs-person-card{padding:16px 12px;border-radius:16px;box-shadow:0 4px 16px rgba(15,23,42,.035)}.fs-person-card strong{font-size:12px}.fs-person-card small{font-size:10px}.fs-mini-empty{font-size:11px}

/* Messenger */
.fs-messenger{min-height:520px;border-radius:18px;grid-template-columns:290px minmax(0,1fr);box-shadow:var(--fs-shadow)}.fs-messenger>aside{background:#fbfcfd}.fs-chat-head{padding:17px 16px}.fs-chat-head h3{font-size:17px}.fs-chat-head small{font-size:10px}.fs-chat-list{padding:8px}.fs-chat-item{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:10px;border-radius:12px}.fs-chat-item strong{font-size:12px}.fs-chat-item small{font-size:10px}.fs-chat-item>i{left:36px;bottom:9px;width:9px;height:9px}.fs-chat-room>header{height:62px;min-height:62px;padding:0 16px}.fs-chat-room>header strong{font-size:13px}.fs-chat-room>header small{font-size:10px}.fs-messages{padding:18px;gap:10px;background:linear-gradient(#fff,#fbfcfe)}.fs-message{max-width:72%;gap:8px}.fs-message>span{padding:10px 12px;border-radius:17px 17px 17px 5px}.fs-message.mine>span{background:#111827;border-radius:17px 17px 5px 17px}.fs-message b{font-size:12px;line-height:1.45}.fs-message small{font-size:9px}.fs-chat-input{grid-template-columns:1fr 44px;gap:9px;padding:12px}.fs-chat-input textarea{height:44px;border-radius:22px;padding:11px 14px;font-size:12px}.fs-chat-input button{font-size:14px}

/* Profiles */
.fs-profile{border-radius:20px}.fs-cover{height:240px}.fs-cover-edit{right:15px;bottom:15px;padding:9px 12px;border-radius:10px;font-size:10px}.fs-profile-head{grid-template-columns:94px minmax(0,1fr) auto;gap:16px;padding:0 20px 18px;margin-top:-42px}.fs-profile-head>div:nth-child(2){padding-top:50px}.fs-profile-head h2{font-size:21px}.fs-profile-head p{font-size:12px}.fs-profile-head small{font-size:10px}.fs-profile-edit{gap:9px;padding:13px 20px}.fs-profile-edit textarea{font-size:11px}.fs-profile-posts{padding:14px;gap:14px}

/* Right rail */
.fs-side-card{padding:14px;border-radius:16px;margin-bottom:12px}.fs-side-title{margin-bottom:10px}.fs-side-title strong{font-size:12px}.fs-side-title span{min-width:24px;height:24px;font-size:10px}.fs-online-list{gap:5px}.fs-online-list button{grid-template-columns:34px minmax(0,1fr);gap:8px;padding:7px;border-radius:10px}.fs-online-list strong{font-size:11px}.fs-online-list small{font-size:9px}.fs-online-list>small,.fs-side-card>small{font-size:10px}.premium-card{padding:16px;background:linear-gradient(145deg,#111827,#2b2110 70%,#5b451d)}.premium-card strong{font-size:13px}.premium-card p{font-size:10px}.fs-empty{padding:42px 22px;border-radius:16px}.fs-empty strong{font-size:14px}.fs-empty small{font-size:11px}

/* Notifications */
.fs-notifications{gap:9px}.fs-notification{grid-template-columns:38px 1fr;gap:10px;padding:12px;border-radius:14px}.fs-notification strong{font-size:12px}.fs-notification p{font-size:11px}.fs-notification small{font-size:9px}

/* Tablet: keep navigation visible, hide right rail, more room for the feed. */
@media (max-width:1100px){
  .faz-social-window{width:min(1020px,98%)}
  .fs-topbar{grid-template-columns:190px minmax(220px,1fr) auto;padding:0 16px;gap:12px}
  .fs-layout{grid-template-columns:190px minmax(0,1fr)}.fs-right{display:none}
  .fs-main{padding:18px}.fs-panel{max-width:760px}.fs-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-nav button{height:44px}.fs-me-card{grid-template-columns:42px 1fr}
}

/* Compact tablet: icon rail + roomy content. */
@media (min-width:701px) and (max-width:860px){
  .fs-topbar{grid-template-columns:64px minmax(180px,1fr) auto}.fs-logo b{display:none}.fs-logo span{width:40px;height:40px}
  .fs-layout{grid-template-columns:78px minmax(0,1fr)}
  .fs-left{padding:12px 8px}.fs-me-card{display:flex;justify-content:center;padding:8px}.fs-me-card>span:last-child,.fs-theme-mini{display:none}
  .fs-nav{margin-top:10px}.fs-nav button{height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;font-size:9px}.fs-nav button span{font-size:19px}.fs-nav em{right:8px;top:5px}
  .fs-main{padding:16px}.fs-messenger{grid-template-columns:220px minmax(0,1fr)}
}

/* Phone: native social-app composition with a bottom navigation bar. */
@media (max-width:700px){
  .faz-social-window{left:6px!important;right:6px!important;top:6px!important;bottom:6px!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;transform:none!important;border-radius:14px!important}
  .faz-social-window.faz-window-fullscreen{left:0!important;right:0!important;top:0!important;bottom:0!important;width:100vw!important;height:100dvh!important;border-radius:0!important}
  .faz-social-window .faz-window-titlebar{height:44px;min-height:44px;padding-left:10px}.faz-social-window .faz-window-title strong{font-size:12px}.faz-social-window .faz-window-controls button{width:42px}
  .fs-app{overflow:hidden}
  .fs-topbar{position:relative;height:106px;min-height:106px;display:grid;grid-template-columns:1fr auto;grid-template-rows:48px 48px;gap:0 8px;padding:0 10px;background:#fff}
  .fs-logo{grid-column:1;grid-row:1}.fs-logo span{width:34px;height:34px;border-radius:10px;font-size:16px}.fs-logo b{font-size:14px}
  .fs-top-actions{grid-column:2;grid-row:1}.fs-live{display:none}.fs-icon-btn{width:38px;height:38px}
  .fs-search{position:static;grid-column:1/3;grid-row:2;align-self:center;height:40px;margin:0;background:#f3f5f8}.fs-search input{font-size:12px}
  .fs-layout{position:relative;display:block;min-height:0;padding:0;background:var(--fs-bg)}
  .fs-left{position:absolute;z-index:50;left:0;right:0;bottom:0;height:64px;padding:0 max(4px,env(safe-area-inset-right)) max(2px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));overflow:visible;background:rgba(255,255,255,.97);border:0;border-top:1px solid var(--fs-line);box-shadow:0 -8px 24px rgba(15,23,42,.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .fs-me-card,.fs-theme-mini{display:none}.fs-nav{height:100%;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.fs-nav button{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0 2px;border-radius:0;background:transparent!important;color:#7b8492!important;font-size:9px}.fs-nav button span{font-size:19px;line-height:1}.fs-nav button.active{color:#111827!important;box-shadow:none}.fs-nav button.active::before{content:"";position:absolute;top:3px;width:22px;height:3px;border-radius:999px;background:#111827}.fs-nav em{right:15%;top:3px}
  .fs-main{height:100%;padding:10px 10px 78px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.fs-panel{max-width:none!important;margin:0}.fs-right{display:none}
  .fs-composer{padding:12px;border-radius:16px}.fs-composer-head{grid-template-columns:38px 1fr;gap:9px}.fs-composer textarea{min-height:58px;padding:11px 12px;font-size:12px}.fs-composer-foot{margin-top:9px;padding-top:9px}.fs-media-btn b{font-size:10px}.fs-media-btn small{display:none}.fs-primary{min-height:38px;padding:9px 14px}.fs-media-preview{margin-left:0;max-width:none}
  .fs-feed{gap:11px;margin-top:11px}.fs-post{border-radius:16px}.fs-post>header{padding:12px}.fs-author strong{font-size:12px}.fs-author small{font-size:9px}.fs-post-body{padding:0 13px 12px;font-size:12px}.fs-post-media{max-height:68dvh}.fs-post-stats{height:38px;padding:0 13px;font-size:9px}.fs-post>footer button{height:38px;font-size:10px}.fs-post>footer button span{display:inline}.fs-comments{padding:11px 12px}
  .fs-section-head{padding:13px 14px;border-radius:14px}.fs-section-head h3{font-size:16px}.fs-section-head p{font-size:10px}.fs-friend-columns{grid-template-columns:1fr;gap:10px}.fs-friend-columns>div{padding:11px}.fs-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fs-person-card{padding:12px 8px}.fs-person{grid-template-columns:40px minmax(0,1fr);gap:8px}.fs-person-actions{grid-column:1/3;justify-content:flex-end}.fs-person-name strong{font-size:11px}
  .fs-messenger{height:calc(100dvh - 258px);min-height:380px;grid-template-columns:84px minmax(0,1fr);border-radius:15px}.fs-chat-head{padding:10px 7px;text-align:center}.fs-chat-head h3{font-size:12px}.fs-chat-head small{display:none}.fs-chat-list{padding:5px}.fs-chat-item{display:flex;justify-content:center;padding:7px 3px}.fs-chat-item>span{display:none}.fs-chat-item>i{left:auto;right:8px;bottom:7px}.fs-chat-room>header{height:54px;min-height:54px;padding:0 10px}.fs-messages{padding:11px;gap:8px}.fs-message{max-width:88%}.fs-message>span{padding:9px 10px}.fs-message b{font-size:11px}.fs-chat-input{grid-template-columns:1fr 40px;padding:8px}.fs-chat-input textarea{height:40px;font-size:11px}
  .fs-cover{height:150px}.fs-profile-head{grid-template-columns:68px minmax(0,1fr);gap:10px;align-items:start;padding:0 13px 13px;margin-top:-32px}.fs-profile-head .fs-avatar.xl{width:68px;height:68px}.fs-profile-head>div:nth-child(2){padding-top:37px}.fs-profile-head h2{font-size:17px}.fs-profile-head p{font-size:11px}.fs-profile-actions{grid-column:1/3;padding:0;flex-wrap:wrap}.fs-profile-edit{grid-template-columns:1fr;padding:10px 13px}.fs-profile-posts{padding:8px;background:transparent}
  .fs-notification{grid-template-columns:36px 1fr;padding:11px}.fs-empty{padding:30px 16px}
}

@media (max-width:430px){
  .faz-social-window{left:3px!important;right:3px!important;top:3px!important;bottom:3px!important;border-radius:12px!important}.faz-social-window.faz-window-fullscreen{left:0!important;right:0!important;top:0!important;bottom:0!important;border-radius:0!important}
  .fs-main{padding-left:7px;padding-right:7px}.fs-topbar{padding-left:8px;padding-right:8px}.fs-logo b{font-size:13px}
  .fs-people-grid{grid-template-columns:1fr}.fs-post>footer button span{display:none}.fs-messenger{grid-template-columns:70px minmax(0,1fr)}.fs-chat-item .fs-avatar{width:38px;height:38px}.fs-message{max-width:92%}
  .fs-profile-head{grid-template-columns:60px minmax(0,1fr)}.fs-profile-head .fs-avatar.xl{width:60px;height:60px}.fs-profile-head>div:nth-child(2){padding-top:33px}
}

/* =============================================================
   FAZSOCIAL v12.2 — structural desktop/tablet/phone layout fix
   ============================================================= */
.faz-social-window .fs-app,
.faz-social-window .fs-app *{box-sizing:border-box}
.faz-social-window .fs-main{grid-area:auto!important}

.faz-social-window{
  --fs-page:#f2f4f7;
  --fs-card:#ffffff;
  --fs-ink:#101828;
  --fs-sub:#667085;
  --fs-line2:#e4e7ec;
  --fs-brand:#111827;
  --fs-hover:#f7f8fa;
  --fs-radius:18px;
  overflow:hidden;
}
.fs-app{min-height:0;overflow:hidden;background:var(--fs-page)}
.fs-topbar{position:relative;z-index:20}

@media (min-width:1101px){
  .faz-social-window .fs-layout{
    display:grid!important;
    grid-template-columns:232px minmax(0,1fr) 294px!important;
    grid-template-areas:"left content right"!important;
    gap:20px;
    width:min(100%,1460px);
    margin:0 auto;
    padding:20px 24px 24px;
    min-height:0;
    overflow:hidden;
    background:var(--fs-page);
  }
  .faz-social-window .fs-left{
    grid-area:left!important;
    align-self:start;
    min-width:0;
    max-height:100%;
    padding:8px!important;
    border:0!important;
    border-radius:20px;
    background:transparent!important;
    overflow:auto;
  }
  .faz-social-window .fs-main{
    grid-area:content!important;
    min-width:0;
    min-height:0;
    padding:0!important;
    background:transparent!important;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-gutter:stable;
  }
  .faz-social-window .fs-right{
    grid-area:right!important;
    align-self:start;
    min-width:0;
    max-height:100%;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    overflow:auto;
  }
  .faz-social-window .fs-panel{width:100%;max-width:760px!important;margin:0 auto!important}
  .faz-social-window .fs-panel[data-social-panel="friends"],
  .faz-social-window .fs-panel[data-social-panel="notifications"],
  .faz-social-window .fs-panel[data-social-panel="profile"]{max-width:880px!important}
  .faz-social-window .fs-panel[data-social-panel="messages"]{max-width:980px!important;margin:0 auto!important}
  .faz-social-window .fs-me-card{
    background:#fff;
    border:1px solid var(--fs-line2);
    box-shadow:0 8px 24px rgba(16,24,40,.04);
  }
  .faz-social-window .fs-nav{padding-top:4px}
  .faz-social-window .fs-nav button{height:48px;border-radius:13px}
  .faz-social-window .fs-theme-mini{margin-top:18px;padding:16px 10px 0;border-top:1px solid #dfe3e8}
  .faz-social-window .fs-side-card{
    margin-bottom:14px;
    padding:16px;
    border:1px solid var(--fs-line2);
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 28px rgba(16,24,40,.045);
  }
  .faz-social-window .fs-composer{padding:17px;border-radius:20px}
  .faz-social-window .fs-composer textarea{min-height:78px}
  .faz-social-window .fs-post{border-radius:20px}
  .faz-social-window .fs-post-media{max-height:72vh}
  .faz-social-window.faz-window-fullscreen .fs-layout{
    width:min(100%,1500px);
    grid-template-columns:244px minmax(0,1fr) 310px!important;
    gap:24px;
    padding:24px 28px 30px;
  }
  .faz-social-window.faz-window-fullscreen .fs-panel[data-social-panel="feed"]{max-width:780px!important}
}

@media (min-width:1101px) and (max-width:1360px){
  .faz-social-window .fs-layout,
  .faz-social-window.faz-window-fullscreen .fs-layout{
    grid-template-columns:208px minmax(0,1fr) 260px!important;
    gap:16px;
    padding:16px;
  }
  .faz-social-window .fs-panel[data-social-panel="feed"]{max-width:700px!important}
}

@media (min-width:701px) and (max-width:1100px){
  .faz-social-window .fs-layout{
    display:grid!important;
    grid-template-columns:176px minmax(0,1fr)!important;
    grid-template-areas:"left content"!important;
    gap:16px;
    padding:16px;
    min-height:0;
    overflow:hidden;
    background:var(--fs-page);
  }
  .faz-social-window .fs-left{grid-area:left!important;border:0!important;border-radius:18px;padding:8px!important;background:transparent!important}
  .faz-social-window .fs-main{grid-area:content!important;padding:0!important;background:transparent!important;overflow:auto}
  .faz-social-window .fs-right{display:none!important}
  .faz-social-window .fs-panel{width:100%;max-width:760px!important;margin:0 auto!important}
  .faz-social-window .fs-me-card{background:#fff;border:1px solid var(--fs-line2)}
}

@media (min-width:701px) and (max-width:860px){
  .faz-social-window .fs-layout{grid-template-columns:78px minmax(0,1fr)!important;grid-template-areas:"left content"!important}
  .faz-social-window .fs-main{grid-area:content!important}
}

@media (max-width:700px){
  .faz-social-window .fs-layout{
    display:block!important;
    width:100%;
    height:100%;
    padding:0!important;
    overflow:hidden;
  }
  .faz-social-window .fs-main{
    grid-area:auto!important;
    width:100%;
    height:100%;
    padding:10px 10px calc(76px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .faz-social-window .fs-panel{width:100%;max-width:none!important;margin:0!important}
  .faz-social-window .fs-composer,.faz-social-window .fs-post{width:100%}
  .faz-social-window .fs-right{display:none!important}
}

@media (max-width:390px){
  .faz-social-window .fs-main{padding-left:6px!important;padding-right:6px!important}
  .faz-social-window .fs-composer,.faz-social-window .fs-post{border-radius:14px}
}
/* KVC market v13 Render SSE status */
.market-live-badge.standby{color:#475569;border-color:#dbe3ec;background:#f8fafc}
.market-live-badge.standby i{background:#64748b}
.market-live-badge.offline{color:#991b1b;border-color:#fecaca;background:#fef2f2}
.market-live-badge.offline i{background:#ef4444}
.kc-pill{display:flex;align-items:center;justify-content:center;min-height:36px;padding:0 13px;border:1px solid #d9d9d9;border-radius:999px;background:#fff;color:#5b21b6;font-weight:900;font-size:12px;white-space:nowrap}.admin-panel-btn{display:flex;align-items:center;min-height:36px;padding:0 12px;border-radius:10px;background:#111;color:#fff;text-decoration:none;font-weight:800;font-size:12px}.admin-panel-btn[hidden]{display:none!important}@media(max-width:700px){.admin-panel-btn{display:none}.kc-pill{min-height:34px;padding:0 9px;font-size:11px}}
.fs-pending-footer{display:flex!important;justify-content:center!important;padding:12px!important;background:#fff8e6!important;color:#8a5a00!important;font-weight:800!important;font-size:12px!important}


/* =============================================================
   FAZSOCIAL v15 — full responsive redesign (PC / tablet / phone)
   ============================================================= */
.faz-social-window{
  --fs-shell:#f4f7fb;
  --fs-card:#ffffff;
  --fs-text:#0f172a;
  --fs-muted:#64748b;
  --fs-stroke:#e2e8f0;
  --fs-stroke-strong:#d7e0ea;
  --fs-shadow-xl:0 18px 50px rgba(15,23,42,.07);
  --fs-shadow-md:0 8px 26px rgba(15,23,42,.055);
  --fs-radius-xl:24px;
  --fs-radius-lg:20px;
  --fs-radius-md:16px;
}
.faz-social-window .fs-app{
  display:grid!important;
  grid-template-rows:auto 1fr;
  height:100%;
  min-height:0;
  overflow:hidden;
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);
}
.faz-social-window .fs-topbar{
  height:72px;
  min-height:72px;
  display:grid;
  grid-template-columns:220px minmax(280px,560px) auto;
  align-items:center;
  gap:18px;
  padding:0 22px;
  background:rgba(255,255,255,.92);
  border-bottom:1px solid var(--fs-stroke);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 1px 0 rgba(15,23,42,.02);
}
.faz-social-window .fs-logo{gap:12px;font-size:15px;color:var(--fs-text)}
.faz-social-window .fs-logo span{width:42px;height:42px;border-radius:14px;font-size:18px;background:linear-gradient(135deg,#111827,#374151)}
.faz-social-window .fs-logo b{font-size:16px;letter-spacing:-.02em}
.faz-social-window .fs-search{height:46px;padding:0 16px;border:1px solid var(--fs-stroke);border-radius:999px;background:#f8fafc;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.faz-social-window .fs-search input{font-size:13px;color:var(--fs-text)}
.faz-social-window .fs-top-actions{gap:10px}
.faz-social-window .fs-live{height:34px;padding:0 12px;font-size:10px;font-weight:900;border:1px solid var(--fs-stroke);background:#fff}
.faz-social-window .fs-icon-btn{width:40px;height:40px;background:#f8fafc;border:1px solid var(--fs-stroke)}
.faz-social-window .fs-layout{flex:none;height:100%;min-height:0;overflow:hidden}
.faz-social-window .fs-left,
.faz-social-window .fs-main,
.faz-social-window .fs-right{min-height:0;overflow:auto;scrollbar-gutter:stable}
.faz-social-window .fs-left,
.faz-social-window .fs-right{background:transparent!important;border:0!important}
.faz-social-window .fs-main{background:transparent!important;padding:0!important}
.faz-social-window .fs-panel{display:none;width:100%;margin:0!important}
.faz-social-window .fs-panel.active{display:block}
.faz-social-window .fs-composer,
.faz-social-window .fs-post,
.faz-social-window .fs-section-head,
.faz-social-window .fs-profile,
.faz-social-window .fs-notification,
.faz-social-window .fs-side-card,
.faz-social-window .fs-friend-columns>div,
.faz-social-window .fs-person-card,
.faz-social-window .fs-messenger{
  background:var(--fs-card)!important;
  border:1px solid var(--fs-stroke)!important;
  box-shadow:var(--fs-shadow-md)!important;
}
.faz-social-window .fs-composer{padding:18px;border-radius:var(--fs-radius-xl)}
.faz-social-window .fs-composer-head{grid-template-columns:48px minmax(0,1fr);gap:12px}
.faz-social-window .fs-composer textarea{min-height:92px;padding:14px 16px;border-radius:18px;background:#f8fafc;font-size:14px;line-height:1.6}
.faz-social-window .fs-composer-foot{margin-top:12px;padding-top:12px}
.faz-social-window .fs-primary,.faz-social-window .fs-ghost,.faz-social-window .fs-small{font-size:12px;border-radius:12px}
.faz-social-window .fs-primary{padding:11px 16px}
.faz-social-window .fs-ghost{padding:11px 14px}
.faz-social-window .fs-media-preview{margin:12px 0 0 60px;max-width:520px;border-radius:16px}
.faz-social-window .fs-feed{gap:14px;margin-top:14px}
.faz-social-window .fs-post{border-radius:var(--fs-radius-xl);overflow:hidden}
.faz-social-window .fs-post>header{padding:15px 16px;gap:12px}
.faz-social-window .fs-author strong{font-size:14px;line-height:1.3;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.faz-social-window .fs-author small{font-size:11px;color:var(--fs-muted)}
.faz-social-window .fs-post-body{padding:0 16px 14px;font-size:14px;line-height:1.7;color:#1f2937}
.faz-social-window .fs-post-media{max-height:min(72vh,760px);object-fit:contain;background:#0f172a}
.faz-social-window .fs-post-stats{height:40px;padding:0 16px;font-size:11px}
.faz-social-window .fs-post>footer{padding:7px 10px}
.faz-social-window .fs-post>footer button{height:42px;border-radius:12px;font-size:12px}
.faz-social-window .fs-comments{padding:12px 14px;background:#f8fafc}
.faz-social-window .fs-comment{grid-template-columns:32px minmax(0,1fr);gap:8px}
.faz-social-window .fs-comment>span{padding:9px 11px;border-radius:14px}
.faz-social-window .fs-comment strong{font-size:11px}.faz-social-window .fs-comment p{font-size:12px}.faz-social-window .fs-comment small{font-size:10px}
.faz-social-window .fs-comment-form{grid-template-columns:1fr 42px;gap:8px;margin-top:10px}
.faz-social-window .fs-comment-form input{height:40px;font-size:12px}
.faz-social-window .fs-comment-form button{width:42px;height:40px;border-radius:12px}
.faz-social-window .fs-section-head{padding:16px 18px;border-radius:18px}
.faz-social-window .fs-section-head h3,.faz-social-window .fs-section-head h4{font-size:18px;letter-spacing:-.02em}
.faz-social-window .fs-section-head p{font-size:12px;color:var(--fs-muted)}
.faz-social-window .fs-friend-columns{gap:16px;margin-top:14px}
.faz-social-window .fs-friend-columns>div{padding:16px;border-radius:18px}
.faz-social-window .fs-friend-columns h4{font-size:13px;margin-bottom:10px}
.faz-social-window .fs-people-list{gap:8px}
.faz-social-window .fs-person{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:10px;border-radius:14px}
.faz-social-window .fs-person:hover{background:#f8fafc}
.faz-social-window .fs-person-name strong{font-size:13px}.faz-social-window .fs-person-name small{font-size:11px}
.faz-social-window .fs-people-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}
.faz-social-window .fs-person-card{padding:18px 14px;border-radius:20px}
.faz-social-window .fs-person-card strong{font-size:13px}.faz-social-window .fs-person-card small{font-size:11px}
.faz-social-window .fs-profile{border-radius:24px;overflow:hidden}
.faz-social-window .fs-cover{height:220px}
.faz-social-window .fs-profile-head{padding:0 20px 20px;gap:16px;margin-top:-44px}
.faz-social-window .fs-profile-head h2{font-size:24px;letter-spacing:-.03em}
.faz-social-window .fs-profile-head p{font-size:13px;line-height:1.6;color:#334155}
.faz-social-window .fs-profile-head small{font-size:11px;color:var(--fs-muted)}
.faz-social-window .fs-profile-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.faz-social-window .fs-profile-edit{padding:0 20px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.faz-social-window .fs-profile-edit textarea{min-height:96px;border:1px solid var(--fs-stroke);border-radius:16px;padding:14px;font:650 13px/1.6 inherit;background:#f8fafc;resize:vertical}
.faz-social-window .fs-profile-posts{padding:0 12px 14px;background:transparent}
.faz-social-window .fs-notifications{gap:10px;margin-top:12px}
.faz-social-window .fs-notification{grid-template-columns:40px 1fr;gap:12px;padding:14px;border-radius:18px}
.faz-social-window .fs-notification strong{font-size:13px}.faz-social-window .fs-notification p{font-size:12px}.faz-social-window .fs-notification small{font-size:10px}
.faz-social-window .fs-side-card{padding:18px;border-radius:20px;margin-bottom:14px}
.faz-social-window .fs-side-title strong{font-size:13px}.faz-social-window .fs-side-title span{min-width:26px;height:26px;font-size:11px}
.faz-social-window .fs-online-list{gap:6px}.faz-social-window .fs-online-list button{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:8px;border-radius:12px}
.faz-social-window .fs-online-list strong{font-size:12px}.faz-social-window .fs-online-list small,.faz-social-window .fs-side-card>small{font-size:10px}
.faz-social-window .fs-badge-shelf{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.faz-social-window .premium-card strong{font-size:15px}.faz-social-window .premium-card p{font-size:11px;line-height:1.6}
.faz-social-window .fs-load-more{height:44px;border-radius:14px;margin-top:14px;font-size:12px}
.faz-social-window .fs-empty{padding:48px 24px;border-radius:20px;background:#fff;border:1px dashed var(--fs-stroke-strong)!important}
.faz-social-window .fs-empty strong{font-size:16px}.faz-social-window .fs-empty small{font-size:12px}
.faz-social-window .fs-mini-empty{padding:18px;text-align:center;color:#94a3b8;font-size:12px}
.faz-social-window .fs-messenger{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:640px;border-radius:24px;overflow:hidden}
.faz-social-window .fs-messenger>aside{background:#fbfdff;border-right:1px solid var(--fs-stroke);min-height:0;overflow:auto}
.faz-social-window .fs-chat-head{padding:18px;border-bottom:1px solid var(--fs-stroke)}
.faz-social-window .fs-chat-head h3{font-size:18px;letter-spacing:-.02em}.faz-social-window .fs-chat-head small{font-size:11px;color:var(--fs-muted)}
.faz-social-window .fs-chat-list{padding:10px;display:grid;gap:6px}
.faz-social-window .fs-chat-item{grid-template-columns:44px minmax(0,1fr);gap:10px;padding:10px 11px;border-radius:14px}
.faz-social-window .fs-chat-item strong{font-size:13px}.faz-social-window .fs-chat-item small{font-size:11px}.faz-social-window .fs-chat-item>i{left:36px;bottom:10px;width:9px;height:9px}
.faz-social-window .fs-chat-room{display:flex;flex-direction:column;min-width:0;min-height:0;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}
.faz-social-window .fs-chat-room>header{height:64px;min-height:64px;padding:0 18px;border-bottom:1px solid var(--fs-stroke);background:rgba(255,255,255,.92)}
.faz-social-window .fs-chat-room>header strong{font-size:14px}.faz-social-window .fs-chat-room>header small{font-size:11px}
.faz-social-window .fs-messages{flex:1;min-height:0;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:10px}
.faz-social-window .fs-message{max-width:min(76%,560px);gap:9px}
.faz-social-window .fs-message>span{padding:11px 13px;border-radius:18px 18px 18px 6px;background:#eef2f6}
.faz-social-window .fs-message.mine>span{background:#111827;border-radius:18px 18px 6px 18px}
.faz-social-window .fs-message b{font-size:13px;line-height:1.5;word-break:break-word}
.faz-social-window .fs-message small{font-size:10px}
.faz-social-window .fs-chat-input{display:grid;grid-template-columns:1fr 46px;gap:10px;padding:14px 16px;border-top:1px solid var(--fs-stroke);background:rgba(255,255,255,.96)}
.faz-social-window .fs-chat-input textarea{height:46px;min-height:46px;max-height:132px;padding:12px 14px;border-radius:16px;border:1px solid var(--fs-stroke);background:#fff;font-size:13px;line-height:1.5;resize:none;overflow:auto}
.faz-social-window .fs-chat-input button{width:46px;height:46px;border-radius:14px;font-size:15px}
.faz-social-window .fs-avatar{border-color:#fff;box-shadow:0 0 0 1px var(--fs-stroke)}
.faz-social-window .fs-avatar.xl{width:92px;height:92px;font-size:30px}
.faz-social-window .fs-avatar.md{width:44px;height:44px}.faz-social-window .fs-avatar.sm{width:38px;height:38px}.faz-social-window .fs-avatar.xs{width:30px;height:30px}
.faz-social-window .fs-badges{gap:5px}.faz-social-window .fs-badges i{min-width:18px;height:18px;font-size:10px;border-radius:6px}

@media (min-width:1201px){
  .faz-social-window .fs-layout{
    display:grid!important;
    grid-template-columns:250px minmax(640px,820px) 300px!important;
    justify-content:center;
    gap:20px;
    padding:20px;
  }
}
@media (min-width:1001px) and (max-width:1200px){
  .faz-social-window .fs-layout{
    display:grid!important;
    grid-template-columns:220px minmax(0,1fr) 280px!important;
    gap:16px;
    padding:16px;
  }
  .faz-social-window .fs-panel[data-social-panel="feed"]{max-width:720px!important}
}
@media (min-width:701px) and (max-width:1000px){
  .faz-social-window .fs-topbar{grid-template-columns:200px minmax(180px,1fr) auto;padding:0 16px;gap:12px}
  .faz-social-window .fs-layout{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:16px;padding:16px}
  .faz-social-window .fs-left{padding:0!important}
  .faz-social-window .fs-right{display:none!important}
  .faz-social-window .fs-me-card{grid-template-columns:1fr;padding:12px;justify-items:center;text-align:center;background:#fff!important;border:1px solid var(--fs-stroke)!important;border-radius:18px;box-shadow:var(--fs-shadow-md)}
  .faz-social-window .fs-me-card span:last-child{width:100%}
  .faz-social-window .fs-me-card strong,.faz-social-window .fs-me-card small{text-align:center}
  .faz-social-window .fs-nav{margin-top:10px;gap:6px}
  .faz-social-window .fs-nav button{height:50px;grid-template-columns:1fr;justify-items:center;padding:8px 6px;border-radius:14px;font-size:10px}
  .faz-social-window .fs-nav button b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .faz-social-window .fs-panel{max-width:780px!important;margin:0 auto!important}
  .faz-social-window .fs-messenger{grid-template-columns:240px minmax(0,1fr);min-height:560px}
  .faz-social-window .fs-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .faz-social-window{overflow:hidden}
  .faz-social-window .fs-topbar{
    height:auto;min-height:0;
    grid-template-columns:1fr auto;
    grid-template-areas:"logo actions" "search search";
    gap:10px 8px;
    padding:12px 12px 10px;
  }
  .faz-social-window .fs-logo{grid-area:logo}.faz-social-window .fs-top-actions{grid-area:actions}.faz-social-window .fs-search{grid-area:search;height:42px}
  .faz-social-window .fs-top-actions .fs-live{display:none}
  .faz-social-window .fs-layout{display:block!important;height:100%;padding:0!important;overflow:hidden}
  .faz-social-window .fs-left{
    position:absolute!important;
    left:0;right:0;bottom:0;
    z-index:25;
    height:72px;
    padding:0 max(6px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 4px) max(6px,env(safe-area-inset-left));
    background:rgba(255,255,255,.96)!important;
    border-top:1px solid var(--fs-stroke)!important;
    box-shadow:0 -12px 28px rgba(15,23,42,.08);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    overflow:visible!important;
    transition:transform .22s ease,opacity .22s ease;
  }
  .faz-social-window .fs-me-card,.faz-social-window .fs-theme-mini{display:none!important}
  .faz-social-window .fs-nav{height:100%;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
  .faz-social-window .fs-nav button{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 2px;border-radius:0;background:transparent!important;color:#64748b!important;font-size:10px}
  .faz-social-window .fs-nav button span{font-size:18px;line-height:1}.faz-social-window .fs-nav button b{font-size:10px}
  .faz-social-window .fs-nav button.active{color:#111827!important}.faz-social-window .fs-nav button.active::before{content:"";position:absolute;top:4px;width:22px;height:3px;border-radius:999px;background:#111827}
  .faz-social-window .fs-main{height:100%;padding:12px 12px calc(92px + env(safe-area-inset-bottom))!important;overflow:auto!important;overscroll-behavior:contain}
  .faz-social-window .fs-right{display:none!important}
  .faz-social-window .fs-panel{max-width:none!important}
  .faz-social-window .fs-composer{padding:14px;border-radius:18px}.faz-social-window .fs-composer-head{grid-template-columns:40px minmax(0,1fr);gap:10px}.faz-social-window .fs-composer textarea{min-height:72px;padding:12px 13px;font-size:13px}
  .faz-social-window .fs-media-preview{margin:12px 0 0 0;max-width:none}
  .faz-social-window .fs-feed{gap:12px}.faz-social-window .fs-post{border-radius:18px}.faz-social-window .fs-post>header{padding:13px 14px}.faz-social-window .fs-post-body{padding:0 14px 13px;font-size:13px}.faz-social-window .fs-post-stats{height:auto;min-height:38px;padding:8px 14px;display:grid;gap:2px;justify-content:start}
  .faz-social-window .fs-post>footer{grid-template-columns:repeat(3,minmax(0,1fr));padding:6px}
  .faz-social-window .fs-post>footer button{height:40px;font-size:11px}.faz-social-window .fs-post-media{max-height:56dvh}
  .faz-social-window .fs-section-head{padding:14px;border-radius:16px}.faz-social-window .fs-section-head h3,.faz-social-window .fs-section-head h4{font-size:16px}.faz-social-window .fs-section-head p{font-size:11px}
  .faz-social-window .fs-friend-columns{grid-template-columns:1fr;gap:12px}.faz-social-window .fs-friend-columns>div{padding:14px}.faz-social-window .fs-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .faz-social-window .fs-person-card{padding:14px 10px}.faz-social-window .fs-person{grid-template-columns:40px minmax(0,1fr);gap:8px}.faz-social-window .fs-person-actions{grid-column:1/3;justify-content:flex-end}
  .faz-social-window .fs-profile{border-radius:20px}.faz-social-window .fs-cover{height:160px}.faz-social-window .fs-profile-head{grid-template-columns:74px minmax(0,1fr);gap:12px;padding:0 14px 16px;margin-top:-34px}.faz-social-window .fs-profile-head .fs-avatar.xl{width:74px;height:74px}.faz-social-window .fs-profile-head>div:nth-child(2){padding-top:40px}.faz-social-window .fs-profile-head h2{font-size:18px}.faz-social-window .fs-profile-actions{grid-column:1/3;justify-content:flex-start}.faz-social-window .fs-profile-edit{grid-template-columns:1fr;padding:0 14px 14px}
  .faz-social-window .fs-profile-posts{padding:0 8px 10px}
  .faz-social-window .fs-notification{grid-template-columns:36px 1fr;padding:12px;border-radius:16px}
  .faz-social-window .fs-messenger{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);min-height:calc(100dvh - 255px);border-radius:20px;overflow:hidden}
  .faz-social-window .fs-messenger>aside{border-right:0!important;border-bottom:1px solid var(--fs-stroke)!important;overflow:hidden;background:#fff}
  .faz-social-window .fs-chat-head{padding:14px 14px 10px}.faz-social-window .fs-chat-head h3{font-size:15px}.faz-social-window .fs-chat-head small{display:none}
  .faz-social-window .fs-chat-list{display:flex;gap:8px;overflow:auto;padding:0 12px 12px;scroll-snap-type:x proximity}
  .faz-social-window .fs-chat-item{min-width:180px;max-width:220px;flex:0 0 auto;grid-template-columns:40px minmax(0,1fr);padding:10px;border-radius:14px;background:#f8fafc;scroll-snap-align:start}
  .faz-social-window .fs-chat-item>i{left:34px;bottom:10px}
  .faz-social-window .fs-chat-room{min-height:0;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)}
  .faz-social-window .fs-chat-room>header{height:58px;min-height:58px;padding:0 12px;position:sticky;top:0;z-index:4;background:rgba(255,255,255,.97)}
  .faz-social-window .fs-chat-room>header strong{font-size:13px}.faz-social-window .fs-chat-room>header small{font-size:10px}
  .faz-social-window .fs-messages{padding:12px;gap:9px}
  .faz-social-window .fs-message{max-width:92%}.faz-social-window .fs-message>span{padding:10px 11px}.faz-social-window .fs-message b{font-size:12px}.faz-social-window .fs-message small{font-size:9px}
  .faz-social-window .fs-chat-input{position:sticky;bottom:72px;z-index:6;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  .faz-social-window .fs-chat-input textarea{height:44px;min-height:44px;max-height:120px;font-size:12px}
  .faz-social-window .fs-chat-input button{width:44px;height:44px}
  .faz-social-window .fs-app.fs-compose-mode .fs-left{transform:translateY(110%);opacity:0;pointer-events:none}
  .faz-social-window .fs-app.fs-compose-mode .fs-main{padding-bottom:14px!important}
  .faz-social-window .fs-app.fs-compose-mode .fs-chat-input{bottom:0}
}
@media (max-width:430px){
  .faz-social-window .fs-main{padding-left:8px!important;padding-right:8px!important}
  .faz-social-window .fs-people-grid{grid-template-columns:1fr}
  .faz-social-window .fs-post>footer button span{display:none}
  .faz-social-window .fs-chat-list{padding-left:10px;padding-right:10px}
  .faz-social-window .fs-chat-item{min-width:165px}
  .faz-social-window .fs-profile-head{grid-template-columns:64px minmax(0,1fr)}
  .faz-social-window .fs-profile-head .fs-avatar.xl{width:64px;height:64px}
}

/* =============================================================
   FAZSOCIAL v15.1 — responsive shell + mobile messenger hotfix
   Uses the ACTUAL FazSocial window width via container queries so
   a wide browser can no longer force a 3-column layout into a
   smaller FazOS window.
   ============================================================= */
.faz-social-window{
  container-name:fazsocial;
  container-type:inline-size;
  width:min(1480px,calc(100% - 24px));
  height:min(860px,calc(100% - 24px));
  max-width:none;
  max-height:none;
}
.faz-social-window .fs-app{height:100%;min-height:0;overflow:hidden}
.faz-social-window .fs-layout{height:auto!important;min-height:0!important;width:100%;overflow:hidden!important}
.faz-social-window .fs-left,.faz-social-window .fs-main,.faz-social-window .fs-right{min-width:0;min-height:0}
.faz-social-window .fs-main{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.faz-social-window .fs-panel,.faz-social-window .fs-composer,.faz-social-window .fs-post,.faz-social-window .fs-messenger{min-width:0;max-width:100%}
.faz-social-window .fs-post img,.faz-social-window .fs-post video,.faz-social-window .fs-media-preview img,.faz-social-window .fs-media-preview video{max-width:100%}
.faz-social-window .fs-chat-back{display:none;width:38px;height:38px;border:0;border-radius:12px;background:#eef2f6;color:#0f172a;font:900 28px/1 system-ui;place-items:center;cursor:pointer;flex:0 0 auto}
.faz-social-window .fs-chat-person{min-width:0;flex:1;border:0;background:transparent;text-align:left;padding:0;cursor:pointer}
.faz-social-window .fs-chat-person strong,.faz-social-window .fs-chat-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Large actual FazSocial window: full 3-column social dashboard. */
@container fazsocial (min-width:1260px){
  .faz-social-window .fs-layout{
    display:grid!important;
    grid-template-columns:230px minmax(0,780px) 280px!important;
    grid-template-areas:"left content right"!important;
    justify-content:center!important;
    gap:20px!important;
    padding:20px!important;
  }
  .faz-social-window .fs-left{grid-area:left!important;padding:0!important;overflow:auto!important}
  .faz-social-window .fs-main{grid-area:content!important;padding:0!important;overflow-y:auto!important;overflow-x:hidden!important}
  .faz-social-window .fs-right{display:block!important;grid-area:right!important;padding:0!important;overflow:auto!important}
  .faz-social-window .fs-panel{width:100%!important;max-width:780px!important;margin:0 auto!important}
  .faz-social-window .fs-panel[data-social-panel="friends"],
  .faz-social-window .fs-panel[data-social-panel="notifications"],
  .faz-social-window .fs-panel[data-social-panel="profile"]{max-width:900px!important}
  .faz-social-window .fs-panel[data-social-panel="messages"]{max-width:1040px!important}
}

/* Normal PC / smaller laptop window: remove the decorative right rail first. */
@container fazsocial (min-width:930px) and (max-width:1259px){
  .faz-social-window .fs-layout{
    display:grid!important;
    grid-template-columns:210px minmax(0,820px)!important;
    grid-template-areas:"left content"!important;
    justify-content:center!important;
    gap:18px!important;
    padding:18px!important;
  }
  .faz-social-window .fs-left{grid-area:left!important;padding:0!important;overflow:auto!important}
  .faz-social-window .fs-main{grid-area:content!important;padding:0!important;overflow-y:auto!important;overflow-x:hidden!important}
  .faz-social-window .fs-right{display:none!important}
  .faz-social-window .fs-panel{width:100%!important;max-width:820px!important;margin:0 auto!important}
  .faz-social-window .fs-messenger{grid-template-columns:minmax(220px,280px) minmax(0,1fr)!important;min-height:560px}
}

/* Tablet / narrow FazOS window: icon rail + content. */
@container fazsocial (min-width:701px) and (max-width:929px){
  .faz-social-window .fs-topbar{grid-template-columns:170px minmax(160px,1fr) auto!important;gap:10px!important;padding:0 14px!important}
  .faz-social-window .fs-layout{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    grid-template-areas:"left content"!important;
    gap:12px!important;
    padding:12px!important;
  }
  .faz-social-window .fs-left{grid-area:left!important;padding:0!important;overflow:auto!important}
  .faz-social-window .fs-main{grid-area:content!important;padding:0!important;overflow-y:auto!important;overflow-x:hidden!important}
  .faz-social-window .fs-right{display:none!important}
  .faz-social-window .fs-me-card{grid-template-columns:1fr!important;justify-items:center!important;padding:10px 4px!important;text-align:center!important}
  .faz-social-window .fs-me-card span:last-child{display:none!important}
  .faz-social-window .fs-theme-mini{display:none!important}
  .faz-social-window .fs-nav{margin-top:8px!important;gap:6px!important}
  .faz-social-window .fs-nav button{height:54px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:3px!important;padding:5px 2px!important;border-radius:14px!important;font-size:9px!important;text-align:center!important}
  .faz-social-window .fs-nav button span{font-size:19px!important}
  .faz-social-window .fs-nav button b{font-size:9px!important;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .faz-social-window .fs-panel{width:100%!important;max-width:760px!important;margin:0 auto!important}
  .faz-social-window .fs-messenger{grid-template-columns:210px minmax(0,1fr)!important;min-height:520px}
  .faz-social-window .fs-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Phone layout. Keep this as a media query too because keyboard/safe-area are viewport concerns. */
@media (max-width:700px){
  .faz-social-window{
    container-type:normal;
    width:auto!important;height:auto!important;
  }
  .faz-social-window.faz-window-fullscreen{
    left:0!important;right:0!important;
    top:var(--fs-visual-top,0px)!important;bottom:auto!important;
    width:100vw!important;height:var(--fs-visual-height,100dvh)!important;
    max-width:none!important;max-height:none!important;
    border-radius:0!important;
  }
  .faz-social-window .fs-app{grid-template-rows:auto minmax(0,1fr)!important;height:100%!important}
  .faz-social-window .fs-topbar{min-width:0!important}
  .faz-social-window .fs-layout{display:block!important;height:100%!important;min-height:0!important;padding:0!important;overflow:hidden!important}
  .faz-social-window .fs-main{height:100%!important;min-height:0!important;padding:10px 9px calc(86px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;overflow-x:hidden!important}
  .faz-social-window .fs-left{height:68px!important;z-index:40!important}
  .faz-social-window .fs-nav button{min-width:0!important}
  .faz-social-window .fs-nav button b{font-size:9px!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .faz-social-window .fs-composer,.faz-social-window .fs-post,.faz-social-window .fs-profile,.faz-social-window .fs-section-head,.faz-social-window .fs-notification{width:100%!important;max-width:100%!important}
  .faz-social-window .fs-composer-foot{align-items:center!important;gap:8px!important}
  .faz-social-window .fs-media-btn{min-width:0!important}.faz-social-window .fs-media-btn b{white-space:nowrap!important}.faz-social-window .fs-media-btn small{display:none!important}
  .faz-social-window .fs-post-stats{grid-template-columns:1fr!important}
  .faz-social-window .fs-section-head{gap:8px!important;align-items:flex-start!important}

  /* Messages list is a clean full-width screen, not a cramped horizontal strip. */
  .faz-social-window .fs-app.fs-chat-list-mode .fs-panel[data-social-panel="messages"]{height:100%!important}
  .faz-social-window .fs-app.fs-chat-list-mode .fs-messenger{display:block!important;height:auto!important;min-height:100%!important;border-radius:18px!important}
  .faz-social-window .fs-app.fs-chat-list-mode .fs-messenger>aside{display:block!important;height:auto!important;min-height:100%!important;border:0!important;overflow:visible!important}
  .faz-social-window .fs-app.fs-chat-list-mode .fs-chat-head{padding:16px 14px 10px!important}
  .faz-social-window .fs-app.fs-chat-list-mode .fs-chat-list{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;padding:6px 8px 12px!important;overflow:visible!important}
  .faz-social-window .fs-app.fs-chat-list-mode .fs-chat-item{width:100%!important;min-width:0!important;max-width:none!important;display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:10px!important;padding:11px 10px!important;border-radius:14px!important;text-align:left!important}
  .faz-social-window .fs-app.fs-chat-list-mode .fs-chat-item>span{display:block!important;min-width:0!important}
  .faz-social-window .fs-app.fs-chat-list-mode .fs-chat-room{display:none!important}

  /* Once a conversation is opened, it becomes a dedicated chat screen. The
     social bottom nav is removed completely so it can NEVER cover input/send. */
  .faz-social-window .fs-app.fs-chat-open{grid-template-rows:minmax(0,1fr)!important}
  .faz-social-window .fs-app.fs-chat-open .fs-topbar{display:none!important}
  .faz-social-window .fs-app.fs-chat-open .fs-left{display:none!important;transform:none!important;opacity:1!important}
  .faz-social-window .fs-app.fs-chat-open .fs-main{height:100%!important;padding:0!important;overflow:hidden!important}
  .faz-social-window .fs-app.fs-chat-open .fs-panel[data-social-panel="messages"]{display:block!important;height:100%!important;min-height:0!important}
  .faz-social-window .fs-app.fs-chat-open .fs-messenger{display:block!important;height:100%!important;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .faz-social-window .fs-app.fs-chat-open .fs-messenger>aside{display:none!important}
  .faz-social-window .fs-app.fs-chat-open .fs-chat-room{display:grid!important;grid-template-rows:58px minmax(0,1fr) auto!important;height:100%!important;min-height:0!important;overflow:hidden!important;background:#f8fafc!important}
  .faz-social-window .fs-app.fs-chat-open .fs-chat-room>header{position:relative!important;top:auto!important;height:58px!important;min-height:58px!important;display:flex!important;align-items:center!important;gap:9px!important;padding:0 10px!important;border-bottom:1px solid var(--fs-stroke)!important;background:rgba(255,255,255,.98)!important}
  .faz-social-window .fs-app.fs-chat-open .fs-chat-back{display:grid!important}
  .faz-social-window .fs-app.fs-chat-open .fs-messages{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:12px 10px 14px!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
  .faz-social-window .fs-app.fs-chat-open .fs-chat-input{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:10!important;display:grid!important;grid-template-columns:minmax(0,1fr) 46px!important;gap:8px!important;width:100%!important;padding:9px 10px calc(9px + env(safe-area-inset-bottom))!important;border-top:1px solid var(--fs-stroke)!important;background:#fff!important;box-shadow:0 -8px 22px rgba(15,23,42,.05)!important}
  .faz-social-window .fs-app.fs-chat-open .fs-chat-input textarea{width:100%!important;height:46px;min-height:46px!important;max-height:110px!important;padding:12px 13px!important;font-size:16px!important;line-height:1.35!important;border-radius:16px!important}
  .faz-social-window .fs-app.fs-chat-open .fs-chat-input button{width:46px!important;height:46px!important;min-width:46px!important;border-radius:15px!important}

  /* Comment/post keyboards also get the nav out of the way temporarily. */
  .faz-social-window .fs-app.fs-compose-mode:not(.fs-chat-open) .fs-left{transform:translateY(120%)!important;opacity:0!important;pointer-events:none!important}
  .faz-social-window .fs-app.fs-compose-mode:not(.fs-chat-open) .fs-main{padding-bottom:12px!important}
}

@media (max-width:390px){
  .faz-social-window .fs-main{padding-left:6px!important;padding-right:6px!important}
  .faz-social-window .fs-logo b{font-size:13px!important}
  .faz-social-window .fs-top-actions{gap:4px!important}
  .faz-social-window .fs-people-grid{grid-template-columns:1fr!important}
}
@media (max-width:700px){
  .faz-social-window .fs-chat-error-screen{height:100%;display:grid;grid-template-rows:58px minmax(0,1fr);background:#f8fafc}
  .faz-social-window .fs-chat-error-screen>.fs-chat-back{display:grid!important;margin:10px}
  .faz-social-window .fs-chat-error-screen>.fs-chat-empty{align-self:center;margin:12px}
}

/* ================================================================
   PROPERTIES v17 — responsive property market / tenant management
   ================================================================ */
.property-view{min-width:0}
.property-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.property-page-head p{margin:6px 0 0;color:#6c7079;font-size:13px}.property-live-pill{display:flex;align-items:center;gap:8px;border:1px solid #dfe2e8;border-radius:999px;padding:9px 12px;background:#fff;font-size:12px;font-weight:800;white-space:nowrap}.property-live-pill span{width:8px;height:8px;border-radius:50%;background:#16b364;box-shadow:0 0 0 4px #eafaf1}
.property-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.prop-stat{min-width:0;border:1px solid #e2e4e9;border-radius:15px;background:#fff;padding:14px 15px}.prop-stat span{display:block;color:#777b84;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.prop-stat b{display:block;margin-top:5px;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.property-agent-panel,.tenant-slot-upgrade{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dcdfe5;border-radius:18px;background:#111214;color:#fff;padding:18px 20px;margin-bottom:14px}.prop-agent-copy{min-width:0}.prop-agent-copy h3,.tenant-slot-upgrade h3{margin:3px 0 5px;font-size:20px}.prop-agent-copy p,.tenant-slot-upgrade p{margin:0;color:#b9bdc6;font-size:13px}.prop-eyebrow{font-size:10px;letter-spacing:.1em;font-weight:900;color:#8f949e}.property-agent-panel .prop-eyebrow,.tenant-slot-upgrade .prop-eyebrow{color:#8fd9ae}.prop-agent-action{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto}.prop-agent-action small{color:#a8adb7}.prop-countdown{font-variant-numeric:tabular-nums;font-size:25px;font-weight:900;letter-spacing:.03em}.prop-primary{background:#fff!important;color:#111!important;border-color:#fff!important}.prop-secondary{background:#f4f5f7!important;color:#18191c!important;border:1px solid #dadde3!important}.prop-danger{background:#fff1f1!important;color:#c92828!important;border:1px solid #ffd3d3!important}
.property-offers{margin-bottom:14px}.prop-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:18px 0 10px}.prop-section-title h3{font-size:18px;margin:2px 0 0}.prop-section-title small{color:#7a7e86}.prop-offer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.prop-offer-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e0e2e7;border-radius:16px;background:#fff;padding:14px;box-shadow:0 8px 24px rgba(24,28,38,.045)}.prop-card-top{display:flex;align-items:center;justify-content:space-between;gap:7px}.prop-tier,.prop-deal,.reno-badge,.tenant-tier{display:inline-flex;align-items:center;width:max-content;max-width:100%;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;letter-spacing:.04em;white-space:nowrap}.prop-tier{background:#eff1f4;color:#3d424a}.tier-5,.tier-6{background:#15171b;color:#fff}.prop-deal{background:#fff2f0;color:#c83d31}.prop-deal.good{background:#eafaf0;color:#15804c}.prop-offer-card h4{font-size:14px;margin:12px 0 2px;line-height:1.25}.prop-location{margin:0;color:#777b84;font-size:11px}.prop-price{font-size:19px;font-weight:950;margin:14px 0 10px;word-break:break-word}.prop-rent-range{border-top:1px solid #edf0f3;padding-top:10px;margin-top:auto}.prop-rent-range span{display:block;color:#878b93;font-size:10px}.prop-rent-range b{display:block;font-size:11px;margin-top:2px}.prop-buy{width:100%;margin-top:12px;background:#111318!important;color:#fff!important}
.prop-empty{border:1px dashed #d9dce2;border-radius:15px;padding:18px;color:#767b84;background:#fafbfc;font-size:13px}.prop-empty.big{padding:30px;text-align:center}.tenant-slot-upgrade{background:#fff;color:#15171a}.tenant-slot-upgrade p{color:#747984}.tenant-slot-upgrade .prop-eyebrow{color:#68707c}.prop-maxed{font-size:11px;font-weight:900;background:#111;color:#fff;border-radius:999px;padding:8px 11px}.portfolio-title{margin-top:20px}.property-portfolio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:20px}.owned-property-card{min-width:0;border:1px solid #dfe2e7;border-radius:18px;background:#fff;padding:16px}.owned-property-main h3{margin:10px 0 2px;font-size:18px}.reno-badge{background:#f1f2f5;color:#555b66}.owned-value-row{display:flex;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid #eef0f3;color:#737781;font-size:11px}.owned-value-row b{color:#17191d}.tenant-current{margin-top:12px;border-radius:14px;padding:13px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.tenant-current.occupied{background:#f1fbf5;border:1px solid #d3f0df}.tenant-current.vacant{background:#f7f8fa;border:1px dashed #d9dde3}.tenant-current strong{font-size:13px}.tenant-current b{font-size:13px}.tenant-current small{color:#777c85}.tenant-tier{background:#eceff3;color:#444b55}.tenant-tier-4,.tenant-tier-5{background:#17191d;color:#fff}.prop-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.prop-actions .btn{flex:1 1 150px}.tenant-search-box{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;border-radius:13px;padding:12px 13px;background:#111;color:#fff}.tenant-search-box div{display:flex;flex-direction:column}.tenant-search-box small{color:#aeb3bc;margin-top:2px}.tenant-search-box .prop-countdown{font-size:20px}.tenant-candidates{margin-top:12px;border-top:1px solid #eceef2;padding-top:12px}.tenant-candidate-head{display:flex;flex-direction:column;margin-bottom:9px}.tenant-candidate-head small{color:#777c84;margin-top:2px}.tenant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tenant-card{appearance:none;text-align:left;border:1px solid #dfe2e7;border-radius:13px;background:#fbfcfd;padding:11px;display:flex;flex-direction:column;gap:3px;cursor:pointer;color:inherit}.tenant-card:hover{border-color:#9ca3af;background:#fff}.tenant-card strong{font-size:13px}.tenant-card small{color:#777b84}.tenant-card>b{margin-top:5px;font-size:13px}.prop-loading{padding:12px;color:#bbb}

@media(max-width:1180px){.prop-offer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.property-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.property-page-head,.property-agent-panel,.tenant-slot-upgrade{align-items:stretch;flex-direction:column}.prop-agent-action{align-items:stretch}.prop-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-portfolio{grid-template-columns:1fr}.tenant-current{grid-template-columns:1fr}.owned-value-row{flex-direction:column}.property-live-pill{width:max-content}}
@media(max-width:560px){.property-view{padding-bottom:90px}.property-page-head{margin-bottom:12px}.property-page-head h2{font-size:26px}.property-page-head p{font-size:12px}.property-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.prop-stat{padding:11px}.prop-stat b{font-size:15px}.property-agent-panel,.tenant-slot-upgrade{border-radius:15px;padding:15px}.prop-agent-copy h3,.tenant-slot-upgrade h3{font-size:17px}.prop-offer-grid{grid-template-columns:1fr}.prop-offer-card{padding:14px}.prop-price{font-size:20px}.prop-section-title{align-items:flex-start;flex-direction:column;gap:3px}.prop-section-title small{font-size:11px}.owned-property-card{padding:13px;border-radius:15px}.tenant-grid{grid-template-columns:1fr}.prop-actions{display:grid;grid-template-columns:1fr}.prop-actions .btn{width:100%;min-width:0}.tenant-search-box{align-items:flex-start}.tenant-search-box .prop-countdown{margin-left:auto}.property-live-pill{font-size:10px}}

/* ================================================================
   Kivora News v18 — FazBrowser newsroom + dashboard alert
   ================================================================ */
.knews-alert{width:100%;margin:14px 0 18px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:linear-gradient(135deg,rgba(20,20,20,.96),rgba(42,42,42,.94));color:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;cursor:pointer;box-shadow:0 14px 34px rgba(0,0,0,.14)}
.knews-alert[hidden]{display:none!important}.knews-alert-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#111;font-weight:950;letter-spacing:-.04em}.knews-alert-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.knews-alert-copy small{font-size:.58rem;letter-spacing:.14em;opacity:.64}.knews-alert-copy strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.knews-alert-copy span{font-size:.64rem;opacity:.72}.knews-alert-outlook{font-size:1.25rem;font-weight:950}.knews-alert-outlook.positive{color:#8df0b3}.knews-alert-outlook.negative{color:#ff9b9b}.knews-alert-outlook.neutral{color:#ddd}

.faz-browser-page{height:calc(100% - 48px);overflow:auto;background:#f4f3ee;color:#171717}.faz-browser-home{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px;text-align:center}.faz-browser-home-brand{width:58px;height:58px;border-radius:16px;background:#111;color:#fff;display:grid;place-items:center;font-size:1.8rem;font-weight:950}.faz-browser-home h2{margin:0;font-size:1.2rem}.faz-browser-home p{max-width:480px;margin:0 0 12px;color:#666;font-size:.72rem;line-height:1.6}.faz-site-tile{width:min(430px,100%);border:1px solid #ddd8cf;border-radius:16px;background:#fff;padding:14px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.05)}.faz-site-tile>span{width:44px;height:44px;border-radius:12px;background:#111;color:#fff;display:grid;place-items:center;font-weight:950}.faz-site-tile div{display:flex;flex-direction:column;gap:2px}.faz-site-tile strong{font-size:.78rem}.faz-site-tile small{font-size:.58rem;color:#777}
.knews-loading{min-height:100%;display:grid;place-items:center;font:800 .72rem/1.4 inherit;color:#555}.knews-site{min-height:100%;background:#f8f7f2}.knews-mast{min-height:64px;padding:10px 18px;border-bottom:3px solid #111;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}.knews-mast>div{display:flex;align-items:baseline;gap:5px;font-family:Georgia,serif;font-size:1.22rem;letter-spacing:-.04em}.knews-mast>div b{font-weight:950}.knews-mast>div span{font-weight:400}.knews-mast small{font-size:.55rem;letter-spacing:.14em;color:#777}.knews-back-live{border:0;background:#111;color:#fff;border-radius:8px;padding:7px 10px;font-weight:850;font-size:.56rem;cursor:pointer}.knews-breaking{display:flex;align-items:center;gap:10px;padding:7px 18px;background:#181818;color:#fff;font-size:.56rem}.knews-breaking b{letter-spacing:.1em}.knews-breaking span{opacity:.65}.knews-breaking time{margin-left:auto;opacity:.55}.knews-breaking.breaking,.knews-breaking.shock{background:#2b1111}.knews-article{max-width:980px;margin:0 auto;background:#fff}.knews-hero-img,.knews-hero-fallback{width:100%;aspect-ratio:16/7;object-fit:cover;display:block}.knews-hero-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#1a1a1a,#676767);color:#fff}.knews-hero-fallback span{font:950 3rem/1 Georgia,serif;opacity:.8}.knews-story{padding:22px clamp(18px,4vw,48px) 28px}.knews-category{font-size:.56rem;font-weight:900;letter-spacing:.18em;color:#777}.knews-story h1{font-family:Georgia,serif;font-size:clamp(1.45rem,4vw,2.4rem);line-height:1.08;letter-spacing:-.035em;margin:8px 0 12px}.knews-lead{font-size:.8rem;line-height:1.65;color:#555;margin:0 0 18px}.knews-outlook{border:1px solid #dedbd1;border-radius:14px;padding:14px;margin:18px 0;background:#faf9f5}.knews-outlook-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.knews-outlook-head div{display:flex;flex-direction:column}.knews-outlook-head small{font-size:.52rem;letter-spacing:.15em;color:#777}.knews-outlook-head strong{font-size:.72rem}.knews-outlook-head>span{font-size:.52rem;font-weight:850;padding:5px 8px;border-radius:999px;background:#eee}.knews-outlook-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.knews-outlook-card{padding:10px;border-radius:10px;background:#f0efeb;display:flex;flex-direction:column;gap:4px;min-width:0}.knews-outlook-card span{font-size:.54rem;color:#777}.knews-outlook-card b{font-size:.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.knews-outlook-card.positive{background:#eaf7ef}.knews-outlook-card.negative{background:#faecec}.knews-outlook-card.neutral{background:#efefef}.knews-outlook>p{font-size:.54rem;color:#777;line-height:1.5;margin:10px 0 0}.knews-body{font-family:Georgia,serif;font-size:.76rem;line-height:1.8;color:#2b2b2b}.knews-body p{margin:0 0 14px}.knews-story-foot{border-top:1px solid #eee;margin-top:24px;padding-top:12px;display:flex;justify-content:space-between;gap:10px;font-size:.56rem;color:#777}.knews-archive{max-width:980px;margin:0 auto;padding:20px;background:#f8f7f2}.knews-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.knews-section-head b{font-size:.8rem}.knews-section-head span{font-size:.55rem;color:#777}.knews-archive-item{width:100%;border:0;border-top:1px solid #ddd8cf;background:transparent;padding:11px 0;display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;cursor:pointer}.knews-archive-item span{font-size:.48rem;font-weight:900;color:#777}.knews-archive-item strong{font-family:Georgia,serif;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.knews-archive-item small{font-size:.5rem;color:#999}.knews-empty{font-size:.65rem;color:#777}

.prop-news-strip{grid-column:1/-1;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.035)}.prop-news-strip span{font-size:.58rem;opacity:.65}.prop-news-strip b{font-size:.63rem}.prop-news-strip .positive{color:#68d391}.prop-news-strip .negative{color:#fc8181}

@media(max-width:700px){.knews-alert{grid-template-columns:auto minmax(0,1fr) auto;padding:11px 12px}.knews-alert-copy span{display:none}.knews-outlook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.knews-mast{padding:9px 12px}.knews-mast small{display:none}.knews-breaking{padding:7px 12px}.knews-story{padding:18px 14px 24px}.knews-archive{padding:14px}.knews-archive-item{grid-template-columns:72px minmax(0,1fr)}.knews-archive-item small{display:none}}
.kvc-news-signal{font-weight:850}.kvc-news-signal.positive{color:#4ade80}.kvc-news-signal.negative{color:#fb7185}.kvc-news-signal.neutral{color:inherit}

/* ================================================================
   KIVORA BUSINESS WORKFORCE v19
   ================================================================ */
.biz19-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important}
.biz19-card{border:1px solid #dfe3e8;background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 25px rgba(25,32,40,.05)}
.biz19-card.unopened{background:linear-gradient(145deg,#fff,#f7f8fa)}
.biz19-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.biz19-top h3,.biz19-section-head h3{margin:3px 0 6px;font-size:18px}.biz19-top p,.biz19-section-head p{margin:0;color:#727983;font-size:13px;line-height:1.5}
.biz19-eyebrow{font:700 10px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.12em;color:#8b929c}
.biz19-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:17px 0 12px}
.biz19-metrics>div{background:#f6f7f8;border:1px solid #eceef1;border-radius:12px;padding:10px;min-width:0}
.biz19-metrics small{display:block;color:#8a9098;font-size:10px;margin-bottom:5px}.biz19-metrics strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis}.biz19-metrics strong.neg,.ledger-list .neg{color:#b63030}
.biz19-stockbar{height:7px;background:#eceef0;border-radius:99px;overflow:hidden}.biz19-stockbar i{display:block;height:100%;background:linear-gradient(90deg,#252930,#666e79);border-radius:inherit}.biz19-stockbar.large{height:12px;margin-top:9px}
.biz19-card-actions,.biz19-open-row{display:flex;gap:9px;align-items:center;justify-content:space-between;margin-top:14px}.biz19-card-actions .btn{flex:1}.biz19-open-row strong{font-size:16px}
.biz19-card .secondary,.biz19-sheet .secondary{background:#fff!important;color:#222!important;border:1px solid #d7dbe0!important}.biz19-card .danger,.biz19-sheet .danger{background:#fff4f4!important;color:#ad2e2e!important;border:1px solid #f0caca!important}
.biz19-agency{margin-top:28px;border-top:1px solid #e8eaed;padding-top:26px}.biz19-section-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:15px}
.agency-idle,.agency-searching{border:1px solid #e0e3e7;background:#fafbfc;border-radius:16px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.agency-idle p,.agency-searching p{margin:4px 0 0;color:#747b85;font-size:12px}
.agency-spinner{width:34px;height:34px;border:3px solid #e2e5e9;border-top-color:#17191d;border-radius:50%;animation:bizspin .8s linear infinite;flex:none}@keyframes bizspin{to{transform:rotate(360deg)}}
.candidate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.candidate-card{position:relative;display:flex;gap:12px;border:1px solid #dfe3e8;border-top:3px solid #8b8b93;background:#fff;border-radius:15px;padding:12px;min-width:0}.candidate-card.r-associate{border-top-color:#4fa65a}.candidate-card.r-senior{border-top-color:#3e8ede}.candidate-card.r-lead{border-top-color:#9b5fe0}.candidate-card.r-principal{border-top-color:#e0a83e}.candidate-card.r-executive{border-top-color:#e0518f;box-shadow:0 0 25px rgba(224,81,143,.12)}
.worker-sprite{width:96px;height:144px;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;background:linear-gradient(180deg,#f4f5f7,#e9ebee);border:1px solid #e1e4e8;border-radius:12px;flex:none}.worker-sprite.small{width:52px;height:78px;border-radius:9px}
.candidate-copy{min-width:0;flex:1}.candidate-head{display:flex;justify-content:space-between;gap:6px;align-items:flex-start}.candidate-head strong{font-size:14px}.candidate-head span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#777}.candidate-copy>small{display:block;color:#666f78;margin:3px 0 8px;font-size:11px}.candidate-stats{display:flex;gap:7px;flex-wrap:wrap}.candidate-stats span,.candidate-trait{font-size:10px;background:#f5f6f7;border-radius:7px;padding:5px 7px}.candidate-trait{margin:6px 0}.candidate-card .btn{width:100%}.agency-expiry{text-align:right;color:#777;font-size:11px;margin-top:8px}
.biz19-modal{position:fixed;inset:0;z-index:10050}.biz19-modal[hidden]{display:none}.biz19-backdrop{position:absolute;inset:0;background:rgba(11,14,18,.55);backdrop-filter:blur(5px)}.biz19-sheet{position:absolute;top:4vh;bottom:4vh;left:50%;transform:translateX(-50%);width:min(900px,calc(100% - 32px));background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.28);overflow:auto;color:#17191c}.biz19-sheet>header{position:sticky;top:0;z-index:3;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);display:flex;justify-content:space-between;gap:12px;padding:20px 22px 15px;border-bottom:1px solid #eceef0}.biz19-sheet header h2{margin:3px 0;font-size:22px}.biz19-sheet header p{margin:0;color:#727982;font-size:12px}.biz19-x{border:0;background:#f1f3f5;width:36px;height:36px;border-radius:50%;font-size:24px;cursor:pointer}
.biz19-tabs{position:sticky;top:93px;z-index:2;background:#fff;display:flex;gap:6px;padding:10px 22px;border-bottom:1px solid #eee}.biz19-tabs button{border:0;background:#f3f4f6;padding:9px 14px;border-radius:10px;font-weight:700;cursor:pointer;color:#626a73}.biz19-tabs button.active{background:#1d2025;color:#fff}.biz19-tabbody{padding:22px}
.biz19-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.biz19-stat{background:#f6f7f8;border:1px solid #eceef0;border-radius:14px;padding:14px}.biz19-stat small{display:block;color:#7a818a;font-size:10px}.biz19-stat strong{display:block;margin-top:5px;font-size:17px}.biz19-stat.emphasis{background:#20242a;color:#fff;border-color:#20242a}.biz19-stat.emphasis small{color:#bfc4cb}
.biz19-info{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #edf0f2;padding:11px 2px;font-size:13px}.biz19-info span{color:#727982}.biz19-note{margin-top:15px;padding:12px 14px;background:#f5f7f9;border-left:3px solid #222831;border-radius:8px;color:#666e77;font-size:12px;line-height:1.55}
.stock-hero{padding:18px;border:1px solid #e4e7ea;border-radius:16px}.stock-hero>div:first-child{display:flex;justify-content:space-between;align-items:end}.stock-hero span{font-size:32px;font-weight:800}.stock-hero small{color:#777}.stock-actions,.finance-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.btn.wide{width:100%;margin-top:15px}
.staff-cap{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.staff-cap small{color:#777}.staff-list,.roster-mini{display:grid;gap:8px}.roster-mini{margin-top:22px;padding-top:15px;border-top:1px solid #eee}.staff-worker{display:flex;align-items:center;gap:10px;border:1px solid #e5e8eb;border-left:3px solid #8b8b93;border-radius:12px;padding:8px}.staff-worker.r-associate{border-left-color:#4fa65a}.staff-worker.r-senior{border-left-color:#3e8ede}.staff-worker.r-lead{border-left-color:#9b5fe0}.staff-worker.r-principal{border-left-color:#e0a83e}.staff-worker.r-executive{border-left-color:#e0518f}.staff-worker>div:nth-child(2){flex:1;min-width:0}.staff-worker strong{font-size:13px}.staff-worker small,.staff-worker span{display:block;color:#707780;font-size:10px;margin-top:2px}.worker-unpaid{display:inline!important;color:#b52a2a!important}.staff-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.btn.micro{font-size:9px;padding:6px 8px}.assign-panel{margin-top:15px;display:grid;grid-template-columns:1fr auto;gap:8px}.assign-panel label{grid-column:1/-1;font-size:11px;color:#777}.assign-panel select{border:1px solid #d8dce1;border-radius:10px;padding:10px;background:#fff}
.ops-balance{padding:20px;background:#20242a;color:#fff;border-radius:17px}.ops-balance small,.ops-balance span{display:block;color:#bdc2c8}.ops-balance strong{display:block;font-size:32px;margin:6px 0}.ops-balance span{font-size:11px}.autofund-box{border:1px solid #e2e5e8;border-radius:15px;padding:15px;margin-top:16px}.autofund-box>label{font-weight:700;font-size:13px}.autofund-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.autofund-grid label{font-size:10px;color:#707780}.autofund-grid input{width:100%;margin-top:5px;padding:9px;border:1px solid #d9dde1;border-radius:9px}.autofund-box>small{display:block;color:#777;font-size:10px;margin-top:8px}.ledger-list{margin-top:20px}.ledger-list>strong{display:block;margin-bottom:8px}.ledger-list>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eef0f2;padding:9px 0;font-size:11px}.ledger-list small{display:block;color:#92979e;margin-top:2px}.empty-mini{padding:14px;background:#f7f8f9;border-radius:10px;color:#777;font-size:11px}.biz19-error{padding:20px;border:1px solid #efcaca;background:#fff6f6;border-radius:14px}.modal-open{overflow:hidden}
@media(max-width:850px){.biz19-list{grid-template-columns:1fr}.candidate-grid{grid-template-columns:1fr}.biz19-overview-grid{grid-template-columns:1fr 1fr}.biz19-sheet{top:0;bottom:0;width:100%;border-radius:0}.biz19-tabs{top:92px;overflow:auto}.candidate-card{align-items:center}.worker-sprite{width:84px;height:126px}}
@media(max-width:520px){.biz19-metrics{grid-template-columns:1fr 1fr}.biz19-overview-grid{grid-template-columns:1fr 1fr}.biz19-tabbody{padding:16px}.biz19-sheet>header{padding:16px}.biz19-tabs{top:86px;padding:8px 16px}.biz19-tabs button{padding:8px 10px;font-size:11px}.autofund-grid{grid-template-columns:1fr}.staff-worker{align-items:flex-start}.staff-actions{flex-direction:column}.candidate-card{align-items:flex-start}}

/* Business Workforce v19.1 career-grade aliases */
.candidate-card.r-junior{border-top-color:#8b8b93}.staff-worker.r-junior{border-left-color:#8b8b93}

/* Kivora Business v19.2 — choose business + simplified management */
.biz-simple-guide{display:grid;grid-template-columns:1.5fr auto auto;gap:18px;align-items:center;margin:14px 0 20px;padding:18px 20px;border:1px solid #e1e4e8;background:linear-gradient(135deg,#fff,#f6f7f9);border-radius:18px}.biz-guide-copy strong{display:block;font-size:18px;margin:4px 0}.biz-guide-copy p{margin:0;color:#737a83;font-size:12px;line-height:1.5;max-width:620px}.biz-guide-steps{display:flex;align-items:center;gap:7px}.biz-guide-steps span{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#555d67;white-space:nowrap}.biz-guide-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#22272e;color:#fff;font-size:10px}.biz-guide-steps i{display:block;width:18px;height:1px;background:#d7dbe0}.biz-guide-count{min-width:92px;text-align:right}.biz-guide-count strong{display:block;font-size:27px}.biz-guide-count small{color:#818791;font-size:10px}.choose-business-card{position:relative;overflow:hidden}.empty-license-mark{position:absolute;right:16px;bottom:-22px;font-size:108px;line-height:1;font-weight:900;color:#eef0f3;pointer-events:none}.biz-open-price{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:22px 0 12px;padding-top:12px;border-top:1px solid #eaecf0;position:relative}.biz-open-price small{color:#858b93;font-size:10px}.biz-open-price strong{font-size:19px}.business-title-row{display:flex;align-items:center;gap:12px;min-width:0}.business-type-mark{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:11px;background:#22272e;color:#fff;font:800 11px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.06em}.business-type-mark.big{width:46px;height:46px;border-radius:14px;font-size:13px}.active-business-card .biz19-top h3{font-size:19px}.biz-next{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;margin:14px 0 4px;border:1px solid #e3e6e9;background:#f7f8f9}.biz-next>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#22272e;color:#fff;font-weight:900}.biz-next small{display:block;font-size:8px;letter-spacing:.1em;color:#8a9098;font-weight:800}.biz-next strong{display:block;margin-top:2px;font-size:11px;line-height:1.35}.biz-next-warning{background:#fff9ec;border-color:#f0dfb4}.biz-next-warning>span{background:#b78319}.biz-next-danger{background:#fff2f2;border-color:#edcaca}.biz-next-danger>span{background:#b52e2e}.biz-next-info{background:#f1f6ff;border-color:#ccd9ed}.biz-next-info>span{background:#41658f}.biz-next-setup{background:#f4f3ff;border-color:#d8d3f4}.biz-next-setup>span{background:#5a5098}
.create-sheet{width:min(980px,calc(100% - 32px))}.create-body{padding:22px}.create-step{display:flex;align-items:center;gap:10px;margin:4px 0 12px}.create-step>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#22272e;color:#fff;font-weight:800}.create-step strong{display:block;font-size:14px}.create-step small{display:block;color:#828891;font-size:10px;margin-top:2px}.business-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:24px}.business-type-option{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;border:1px solid #e0e3e7;background:#fff;border-radius:15px;padding:14px;cursor:pointer;color:#222;transition:.14s ease}.business-type-option:hover{border-color:#aeb5bd;transform:translateY(-1px)}.business-type-option.selected{border-color:#22272e;box-shadow:0 0 0 2px #22272e inset;background:#fafafa}.business-type-option strong{display:block;font-size:14px}.business-type-option small{display:block;color:#7b828b;font-size:9px;margin-top:2px}.business-type-option p{margin:6px 0 0;color:#686f78;font-size:10px;line-height:1.4}.business-type-option>b{font-size:18px}.business-name-field{display:block;margin:0 0 14px}.business-name-field>span{display:block;font-size:10px;color:#6f7680;font-weight:700;margin-bottom:6px}.business-name-field input{width:100%;border:1px solid #d7dbe0;border-radius:12px;padding:13px 14px;font:600 15px/1.2 inherit;outline:none}.business-name-field input:focus{border-color:#555d67;box-shadow:0 0 0 3px rgba(30,35,42,.08)}.selected-business-summary{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #e1e4e7;border-radius:14px;padding:13px;margin:12px 0}.selected-business-summary small{font-size:8px;letter-spacing:.1em;color:#8a9098}.selected-business-summary>div>strong{display:block;font-size:15px;margin:2px 0}.selected-business-summary p{margin:0;color:#727982;font-size:10px}.selected-business-summary>strong{font-size:16px}.create-hint{padding:13px;border:1px dashed #d8dce0;border-radius:12px;color:#858b93;font-size:11px;margin:12px 0}.create-confirm{margin-top:8px}
.operation-intro h3{margin:4px 0 5px;font-size:18px}.operation-intro p{margin:0 0 16px;color:#707780;font-size:11px;line-height:1.5}.strategy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.strategy-card{border:1px solid #e0e3e7;background:#fff;border-radius:14px;padding:14px;text-align:left;cursor:pointer;color:#25282d;min-height:142px}.strategy-card:hover{border-color:#aab0b8}.strategy-card.active{background:#22272e;color:#fff;border-color:#22272e}.strategy-card>div{display:flex;justify-content:space-between;gap:8px;align-items:center}.strategy-card strong{font-size:13px}.strategy-card>div span{font-size:8px;letter-spacing:.08em;padding:3px 6px;border-radius:10px;background:#fff;color:#22272e}.strategy-card p{font-size:10px;line-height:1.45;color:#737a83;margin:9px 0 12px}.strategy-card.active p{color:#c5cad0}.strategy-card small{display:block;font-size:9px;line-height:1.45;color:#858c95}.strategy-card.active small{color:#d1d5da}
@media(max-width:850px){.biz-simple-guide{grid-template-columns:1fr}.biz-guide-count{text-align:left}.business-type-grid{grid-template-columns:1fr}.strategy-grid{grid-template-columns:1fr}.strategy-card{min-height:0}.biz-guide-steps{overflow:auto;padding-bottom:2px}}
@media(max-width:520px){.biz-simple-guide{padding:14px}.biz-guide-steps i{width:10px}.biz-guide-steps span{font-size:9px}.business-type-option{padding:11px}.create-body{padding:15px}.selected-business-summary{grid-template-columns:auto 1fr}.selected-business-summary>strong{grid-column:2}.active-business-card .cycle-badge{font-size:8px}.business-title-row{align-items:flex-start}.business-type-mark.big{width:42px;height:42px}}

/* v20.6 Property cards — admin-managed artwork, no procedural pixel sprite */
.property-visual-tag{position:absolute;left:8px;bottom:7px;z-index:2;display:inline-flex;max-width:calc(100% - 16px);padding:4px 7px;border-radius:999px;background:rgba(18,20,24,.76);backdrop-filter:blur(3px);color:#fff;font-size:8px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid rgba(255,255,255,.15)}
.owned-property-visual-row{display:grid;grid-template-columns:minmax(180px,42%) 1fr;gap:14px;align-items:stretch;margin-top:11px}
.owned-property-copy{min-width:0;display:flex;flex-direction:column;justify-content:center}
.owned-property-copy h3{margin:0 0 3px;font-size:18px}.owned-property-copy .owned-value-row{margin-top:11px}
@media(max-width:820px){.owned-property-visual-row{grid-template-columns:minmax(155px,38%) 1fr}}
@media(max-width:560px){.owned-property-visual-row{grid-template-columns:1fr}.owned-property-copy h3{font-size:17px}.property-visual-tag{font-size:7px}}

/* v20.6 admin-managed property photography */
.property-photo-frame{position:relative;overflow:hidden;border:1px solid #dfe3e8;border-radius:14px;background:#f4f5f7;isolation:isolate;min-height:180px}.property-photo-frame>img{display:block;width:100%;height:100%;min-height:180px;aspect-ratio:4/3;object-fit:contain;background:#f7f8fa}.property-photo-placeholder{display:grid;place-content:center;text-align:center;gap:5px;min-height:180px;aspect-ratio:4/3;padding:22px;color:#858b94;background:linear-gradient(135deg,#f7f8fa,#eef1f4)}.property-photo-placeholder strong{font-size:13px;color:#535a64}.property-photo-placeholder span{font-size:11px}.offer-photo{margin:10px 0 12px}.owned-photo{min-height:150px;align-self:stretch}.owned-photo>img,.owned-photo .property-photo-placeholder{min-height:150px;height:100%}.owned-property-visual-row{align-items:stretch}

/* Kivora Empire v20.7 — official monochrome brand logo */
.brand-logo-full{
  display:block;
  width:min(230px,72vw);
  height:auto;
  margin:0 auto 12px;
  object-fit:contain;
}
.boot .boot-card > .brand-logo-full{
  animation:brandLogoIn .45s ease both;
}
@keyframes brandLogoIn{from{opacity:0;transform:translateY(4px) scale(.985)}to{opacity:1;transform:none}}
.topbar .brand .mark,
.side-brand-mark,
.loader-mark,
.faz-start-avatar{
  overflow:hidden;
}
.topbar .brand .mark img,
.side-brand-mark img,
.loader-mark img,
.faz-start-avatar img{
  display:block;
  width:82%;
  height:82%;
  object-fit:contain;
}
.topbar .brand .mark{
  background:#fff;
  border:1px solid #e6e6e6;
  padding:3px;
}
.side-brand-mark{
  padding:5px;
}
.side-brand-mark img{width:100%;height:100%}
.loader-mark{
  background:#fff;
  border:1px solid #e6e6e6;
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}
.loader-mark img{width:72%;height:72%;margin:auto}
.faz-start-avatar{
  padding:5px;
  border:1px solid #e5e5e5;
}
.faz-start-avatar img{width:100%;height:100%}
@media(max-width:520px){
  .brand-logo-full{width:min(190px,68vw);margin-bottom:8px}
}

/* ================================================================
   KIVORA CITIZEN / CHARACTER SYSTEM v21
   ================================================================ */
.character-gate,.citizen-modal{position:fixed;inset:0;z-index:12000}.character-gate[hidden],.citizen-modal[hidden]{display:none}.character-gate-backdrop,.citizen-modal-backdrop{position:absolute;inset:0;background:rgba(13,15,18,.68);backdrop-filter:blur(12px)}.character-gate-open,.citizen-modal-open{overflow:hidden}
.character-creator-shell,.citizen-modal-shell{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1120px,calc(100% - 28px));height:min(760px,calc(100dvh - 28px));overflow:hidden;background:#fff;border:1px solid #e1e3e6;border-radius:26px;box-shadow:0 36px 100px rgba(0,0,0,.3);color:#17191c}.citizen-modal-shell{width:min(1040px,calc(100% - 28px));height:min(720px,calc(100dvh - 28px))}.citizen-modal-close{position:absolute;right:18px;top:16px;z-index:8;width:38px;height:38px;border:0;border-radius:50%;background:#f0f1f3;color:#17191c;font-size:24px;cursor:pointer}
.char-create-head,.ward-head{min-height:108px;padding:22px 26px 18px;border-bottom:1px solid #eceef1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:rgba(255,255,255,.97)}.char-create-head small,.ward-head small{font-size:10px;letter-spacing:.17em;color:#787e87;font-weight:950}.char-create-head h2,.ward-head h2{font-size:27px;letter-spacing:-.04em;margin:4px 0 5px}.char-create-head p,.ward-head p{margin:0;color:#767c84;font-size:12px;max-width:620px;line-height:1.5}.char-create-head>button{border:1px solid #dfe2e6;background:#fff;border-radius:11px;padding:10px 13px;font-weight:850;cursor:pointer;color:#202226}
.char-create-layout,.ward-layout{display:grid;grid-template-columns:360px minmax(0,1fr);height:calc(100% - 108px)}.char-preview-pane,.ward-layout>aside{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 38%,#fff 0,#f5f6f7 52%,#eceef0 100%);border-right:1px solid #e5e7ea;min-width:0;overflow:hidden}.char-preview-pane::before,.ward-layout>aside::before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;border:1px solid rgba(0,0,0,.05);top:21%;left:50%;transform:translateX(-50%)}.char-preview-stage,.ward-preview{position:relative;width:230px;height:410px;display:grid;place-items:center;z-index:1}.char-preview-stage canvas,.ward-preview canvas{width:192px;height:288px;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 15px 15px rgba(0,0,0,.12))}.char-shadow{position:absolute;bottom:49px;width:128px;height:18px;border-radius:50%;background:rgba(0,0,0,.09);filter:blur(4px)}.char-preview-meta,.ward-name{z-index:1;text-align:center;display:flex;flex-direction:column;gap:5px}.char-preview-meta strong,.ward-name strong{font-size:19px;letter-spacing:-.02em}.char-preview-meta span,.ward-name span{font-size:11px;color:#777d86}.char-config-pane,.ward-layout>section{min-width:0;display:flex;flex-direction:column;background:#fff}.char-tabs{height:56px;display:flex;align-items:end;gap:2px;padding:0 18px;border-bottom:1px solid #e9ebee;overflow:auto;scrollbar-width:none}.char-tabs::-webkit-scrollbar{display:none}.char-tabs button{height:55px;border:0;border-bottom:2px solid transparent;background:transparent;padding:0 14px;font-size:11px;font-weight:850;color:#7c828a;white-space:nowrap;cursor:pointer}.char-tabs button.active{color:#16181b;border-bottom-color:#16181b}.char-config-scroll,.ward-scroll{flex:1;overflow:auto;padding:20px 22px 24px}.char-create-footer{min-height:72px;padding:12px 22px;border-top:1px solid #eceef1;display:flex;align-items:center;justify-content:flex-end;gap:12px}.char-error{flex:1;color:#b82f2f;font-size:11px;font-weight:750;line-height:1.4}.char-create-primary{border:0;border-radius:12px;background:#15171a;color:#fff;padding:12px 18px;font-weight:900;font-size:12px;cursor:pointer;box-shadow:0 7px 18px rgba(0,0,0,.14)}.char-create-primary:disabled{opacity:.55;cursor:wait}.char-field{max-width:620px}.char-field>label{font-size:11px;font-weight:900;display:block;margin-bottom:7px}.char-field>small{display:block;margin-top:7px;color:#8a8f96;font-size:10px}.char-name-row{display:flex;gap:8px}.char-name-row input{min-width:0;flex:1;height:45px;border:1px solid #d9dde2;border-radius:11px;padding:0 13px;font:800 14px/1 inherit;outline:none}.char-name-row input:focus{border-color:#555b64;box-shadow:0 0 0 3px #f0f1f3}.char-name-row button{border:1px solid #dfe2e5;border-radius:11px;background:#f8f9fa;padding:0 14px;font-weight:800;cursor:pointer}.char-body-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;max-width:520px}.char-body-pick button{height:100px;border:1px solid #dde0e4;border-radius:15px;background:#fafbfc;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;color:#4a5059}.char-body-pick button span{font-size:30px}.char-body-pick button b{font-size:13px}.char-body-pick button.active{background:#17191c;color:#fff;border-color:#17191c;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.char-option-section{margin-bottom:24px}.char-option-section h4,.ward-section h4{font-size:11px;letter-spacing:.03em;margin:0 0 9px;color:#3f444b}.char-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.char-choice{min-height:46px;border:1px solid #e0e3e7;border-radius:10px;background:#fff;padding:7px 8px;display:flex;align-items:center;gap:7px;text-align:left;color:#5a6069;cursor:pointer}.char-choice span{font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis}.char-choice.active{border-color:#16181b;background:#f3f4f5;color:#16181b;box-shadow:inset 0 0 0 1px #16181b}.char-choice-dot{width:13px;height:13px;flex:none;border-radius:50%;background:#d6d8db;border:1px solid rgba(0,0,0,.14)}.skin-porcelain{background:#f4d9c7}.skin-fair{background:#edc7ad}.skin-warm{background:#deb18e}.skin-golden{background:#cb956d}.skin-tan{background:#b97d57}.skin-brown{background:#966044}.skin-deep{background:#714833}.skin-ebony{background:#4c3025}
.char-item-grid,.ward-item-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.char-item,.ward-item{min-height:91px;border:1px solid #e0e3e6;border-radius:12px;background:#fff;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;cursor:pointer;color:#4a5058}.char-item b,.ward-item b{font-size:9px;line-height:1.2}.ward-item small{font-size:8px;color:#90959d}.char-item.active,.ward-item.active{border-color:#17191c;box-shadow:inset 0 0 0 1px #17191c;background:#f4f5f6;color:#17191c}.char-item-thumb{position:relative;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--item,#666) 18%,#f7f7f7);border:1px solid #e0e2e4;display:grid;place-items:center;overflow:hidden}.char-item-thumb i{width:19px;height:19px;background:var(--item,#666);border-radius:6px;box-shadow:inset -4px -4px 0 color-mix(in srgb,var(--item,#666) 74%,#000)}.char-item-thumb i::after{content:"";display:block;width:7px;height:2px;margin:5px auto;background:var(--accent,#aaa)}.char-item-thumb.none{font-size:18px;color:#969ba2;background:#f5f6f7}.char-item-avatar{display:block;width:46px;height:69px;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 4px 4px rgba(0,0,0,.10));margin:-5px 0 -1px}.char-item,.ward-item{overflow:hidden}.char-item:has(.char-item-avatar),.ward-item:has(.char-item-avatar){min-height:116px}
.ward-head{padding-right:70px}.ward-layout>aside{justify-content:center}.ward-preview{height:370px}.ward-preview canvas{width:176px;height:264px}.ward-name{margin-top:-20px}.ward-tabs{height:59px;align-items:end}.ward-scroll{padding-bottom:70px}.ward-section{margin-bottom:24px}.ward-item-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ward-item{min-height:103px}.ward-save{margin-top:8px}.ward-appearance{max-width:700px}
.user-chip{appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.user-character-avatar{width:34px!important;height:34px!important;border-radius:50%;border:1px solid var(--line);background:#f2f3f4;image-rendering:pixelated;flex-shrink:0}.citizen-dashboard-card{width:100%;margin:14px 0 2px;border:1px solid #e0e3e6;border-radius:19px;background:linear-gradient(105deg,#f8f9fa,#fff);padding:0 18px;min-height:132px;display:grid;grid-template-columns:94px minmax(0,1fr) auto;align-items:center;gap:16px;text-align:left;color:#17191c;cursor:pointer;overflow:hidden}.citizen-dashboard-card[hidden]{display:none}.citizen-card-visual{height:132px;display:grid;place-items:end center;overflow:hidden}.citizen-card-visual canvas{width:78px;height:117px;image-rendering:pixelated;filter:drop-shadow(0 8px 7px rgba(0,0,0,.1))}.citizen-card-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.citizen-card-copy small{font-size:9px;letter-spacing:.16em;color:#828790;font-weight:900}.citizen-card-copy strong{font-size:22px;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.citizen-card-copy em{font-style:normal;font-size:10px;font-weight:850;color:#555c65}.citizen-card-copy>span{font-size:10px;color:#888d94;margin-top:4px}.citizen-card-open{font-size:10px;font-weight:900;border:1px solid #e0e2e5;border-radius:999px;padding:8px 11px;background:#fff;white-space:nowrap}.faz-start-avatar canvas{width:100%;height:100%;image-rendering:pixelated;border-radius:inherit}.fs-avatar canvas{width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges}
@media(max-width:760px){.character-creator-shell,.citizen-modal-shell{width:100%;height:100dvh;max-height:none;border-radius:0;border:0}.char-create-head,.ward-head{min-height:92px;padding:16px 16px 12px}.char-create-head h2,.ward-head h2{font-size:21px}.char-create-head p,.ward-head p{font-size:10px}.char-create-head>button{padding:8px 10px;font-size:10px}.char-create-layout,.ward-layout{grid-template-columns:1fr;height:calc(100% - 92px);grid-template-rows:220px minmax(0,1fr)}.char-preview-pane,.ward-layout>aside{border-right:0;border-bottom:1px solid #e5e7ea;flex-direction:row;justify-content:center;gap:20px}.char-preview-pane::before,.ward-layout>aside::before{width:150px;height:150px;top:16px}.char-preview-stage,.ward-preview{width:145px;height:215px}.char-preview-stage canvas,.ward-preview canvas{width:112px;height:168px}.char-shadow{bottom:24px;width:80px}.char-preview-meta,.ward-name{text-align:left}.char-config-pane,.ward-layout>section{min-height:0}.char-tabs{height:48px;padding:0 8px}.char-tabs button{height:47px;padding:0 10px;font-size:9px}.char-config-scroll,.ward-scroll{padding:14px 13px 18px}.char-create-footer{min-height:64px;padding:9px 13px}.char-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.char-item-grid,.ward-item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.char-item,.ward-item{min-height:86px}.char-body-pick{margin-top:15px}.char-body-pick button{height:70px}.citizen-dashboard-card{grid-template-columns:72px minmax(0,1fr);padding:0 13px;min-height:110px}.citizen-card-visual{height:110px}.citizen-card-visual canvas{width:64px;height:96px}.citizen-card-copy strong{font-size:17px}.citizen-card-open{display:none}.citizen-modal-close{right:10px;top:10px}.ward-head{padding-right:52px}.ward-preview{height:205px}.ward-preview canvas{width:105px;height:158px}.ward-name{margin-top:0}.user-character-avatar{width:30px!important;height:30px!important}}

/* ================================================================
   KIVORA CITIZEN v21.4 — creator scroll + stable preview + hair cards
   ================================================================ */
.char-create-layout,.ward-layout{min-height:0;overflow:hidden}
.char-config-pane,.ward-layout>section{min-height:0;overflow:hidden}
.char-config-scroll,.ward-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b8bdc4 transparent}
.char-config-scroll::-webkit-scrollbar,.ward-scroll::-webkit-scrollbar{width:9px}
.char-config-scroll::-webkit-scrollbar-track,.ward-scroll::-webkit-scrollbar-track{background:transparent}
.char-config-scroll::-webkit-scrollbar-thumb,.ward-scroll::-webkit-scrollbar-thumb{background:#c6cad0;border:3px solid #fff;border-radius:999px}
.char-config-scroll::-webkit-scrollbar-thumb:hover,.ward-scroll::-webkit-scrollbar-thumb:hover{background:#969ca5}
.char-create-footer{flex:0 0 auto}
.char-tabs{flex:0 0 auto}
.hair-style-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.char-hair-choice{min-height:102px;flex-direction:column;justify-content:center;text-align:center;gap:5px;padding:7px}
.char-hair-avatar{display:block;width:56px;height:56px;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 4px 4px rgba(0,0,0,.10))}
.char-hair-choice span{width:100%;text-align:center;font-size:9px;line-height:1.15}
@media(min-width:761px){
  .char-preview-pane,.ward-layout>aside{justify-content:flex-start;padding:38px 0 24px;box-sizing:border-box;min-height:0}
  .char-preview-pane::before,.ward-layout>aside::before{top:82px}
  .char-preview-stage{height:390px;flex:0 0 390px}
  .ward-preview{height:340px;flex:0 0 340px}
  .char-preview-meta,.ward-name{flex:0 0 auto}
}
@media(max-width:980px) and (min-width:761px){
  .char-create-layout,.ward-layout{grid-template-columns:300px minmax(0,1fr)}
  .hair-style-grid,.char-item-grid,.ward-item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .char-preview-pane,.ward-layout>aside{padding:0;min-height:0}
  .hair-style-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .char-hair-choice{min-height:92px}
  .char-hair-avatar{width:48px;height:48px}
  .char-config-scroll,.ward-scroll{-webkit-overflow-scrolling:touch}
}

/* ================================================================
   KIVORA v22 — Property Pixel Visual + Profile Showcase
   ================================================================ */
.property-sprite-frame-v22{position:relative;overflow:hidden;border:1px solid #dfe3e8;border-radius:16px;background:linear-gradient(180deg,#f7f8fa,#eef1f4);isolation:isolate;display:grid;place-items:center;min-height:180px}
.property-sprite-frame-v22 canvas{display:block;width:min(100%,256px);height:auto;aspect-ratio:1/1;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 10px 9px rgba(20,25,32,.12))}
.property-sprite-frame-v22.offer-photo{margin:10px 0 12px;min-height:210px}.property-sprite-frame-v22.owned-photo{min-height:175px;height:100%}.property-sprite-frame-v22.owned-photo canvas{width:min(100%,230px)}
.prop-showcase{background:#17191c!important;color:#fff!important;border-color:#17191c!important}
.showcase-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.showcase-page-head p{margin:4px 0 0;color:#767d86;font-size:12px}.showcase-editor-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px;align-items:start}.showcase-scene-wrap{position:relative;border:1px solid #dfe3e8;border-radius:22px;background:#fff;padding:12px;box-shadow:0 15px 38px rgba(23,28,34,.06)}.showcase-scene{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:linear-gradient(#dfe9ee 0 55%,#c7d1ce 55% 58%,#8fa083 58% 100%);touch-action:none;user-select:none}.showcase-grid-bg{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.85%,rgba(255,255,255,.26) 50%,transparent 50.15%),linear-gradient(0deg,transparent 66%,rgba(255,255,255,.16) 66.2%,transparent 66.4%);pointer-events:none}.showcase-layer{position:absolute;transform:translate(-50%,-100%) scale(var(--layer-scale,1));transform-origin:50% 100%;cursor:grab;touch-action:none}.showcase-layer:active{cursor:grabbing}.showcase-layer.selected::after{content:"";position:absolute;inset:-6px;border:1px dashed rgba(17,20,24,.7);border-radius:8px;pointer-events:none}.showcase-home-layer{width:76%;max-width:690px}.showcase-home-layer canvas,.showcase-home-layer img{display:block;width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;object-fit:contain}.showcase-property-img{border-radius:10px;filter:drop-shadow(0 12px 9px rgba(0,0,0,.16))}.showcase-character-layer{width:15%;max-width:126px}.showcase-character-layer canvas{display:block;width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 7px 5px rgba(0,0,0,.20))}.showcase-asset-layer img{display:block;max-width:180px;max-height:180px;image-rendering:pixelated;image-rendering:crisp-edges}.showcase-empty-home{width:270px;min-height:150px;border:1px dashed rgba(0,0,0,.2);background:rgba(255,255,255,.65);border-radius:15px;display:grid;place-content:center;text-align:center;padding:20px;color:#6e747d}.showcase-empty-home b{color:#22262b;font-size:14px}.showcase-empty-home span{font-size:10px;margin-top:5px}.showcase-controls{border:1px solid #dfe3e8;border-radius:20px;background:#fff;padding:17px;position:sticky;top:84px}.showcase-control-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding-bottom:13px;border-bottom:1px solid #eceef1}.showcase-control-head small{font-size:8px;font-weight:900;letter-spacing:.16em;color:#8b9199}.showcase-control-head h3{font-size:18px;margin:3px 0}.showcase-control-head span{font-size:10px;color:#7f858d}.showcase-unsaved{font-size:8px;background:#eee;color:#777;border-radius:999px;padding:5px 7px;opacity:0}.showcase-unsaved.show{opacity:1;background:#17191c;color:#fff}.showcase-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin:14px 0}.showcase-tabs button{border:1px solid #dfe2e6;background:#f7f8f9;border-radius:9px;padding:9px 5px;font:800 9px/1 inherit;cursor:pointer}.showcase-tabs button.active{background:#17191c;color:#fff;border-color:#17191c}.showcase-scale{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;margin:13px 0;font-size:9px;font-weight:850;color:#626973}.showcase-scale input{width:100%;accent-color:#17191c}.showcase-scale b{min-width:36px;text-align:right}.showcase-nudges{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.showcase-nudges button{height:36px;border:1px solid #dfe2e6;border-radius:9px;background:#fff;font-weight:900;cursor:pointer}.showcase-property-picker{margin:15px 0}.showcase-property-picker label{display:block;font-size:9px;font-weight:900;margin-bottom:6px}.showcase-property-picker select{width:100%;height:42px;border:1px solid #d8dce1;border-radius:10px;background:#fff;padding:0 9px;font:700 10px/1 inherit}.showcase-editor-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px;margin-top:12px;align-items:stretch}.showcase-editor-actions>.btn{width:100%;min-width:0;min-height:48px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0;position:static;float:none}.showcase-help{font-size:9px;color:#888e96;line-height:1.5;margin:13px 0 0}.showcase-view .property-live-pill{white-space:nowrap}
@media(max-width:920px){.showcase-editor-grid{grid-template-columns:1fr}.showcase-controls{position:static}.showcase-home-layer{width:78%}.showcase-character-layer{width:17%}}
@media(max-width:600px){.showcase-page-head{display:block}.showcase-page-head .property-live-pill{display:inline-flex;margin-top:8px}.showcase-scene-wrap{padding:6px;border-radius:15px}.showcase-scene{border-radius:10px}.showcase-controls{padding:13px;border-radius:15px}.showcase-tabs{grid-template-columns:repeat(3,1fr)}.showcase-home-layer{width:82%}.showcase-character-layer{width:20%}.bottomnav,#bottomnav{grid-template-columns:repeat(7,minmax(0,1fr))}.bottomnav .nav-item{font-size:.43rem}.bottomnav .nav-item .ic{width:25px;height:25px;min-width:25px}}
@media(max-width:760px){.bottomnav,#bottomnav{grid-template-columns:repeat(7,minmax(0,1fr))}.bottomnav .nav-item{min-width:0;padding-left:1px;padding-right:1px;font-size:.46rem}.bottomnav .nav-item .ic{width:26px;height:26px;min-width:26px}}

/* ================================================================
   KIVORA v22.1 — Citizen creator true scroll-container hotfix
   Root app wrappers must inherit the modal height. Without this,
   percentage heights inside the creator resolve to auto and long
   Outfit/Accessories lists get clipped by the modal shell.
   ================================================================ */
#characterCreatorApp,#citizenWardrobeApp{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.character-creator-shell>#characterCreatorApp,
.citizen-modal-shell>#citizenWardrobeApp{
  position:relative;
  contain:layout paint;
}
.char-create-layout,.ward-layout{
  min-height:0;
  max-height:calc(100% - 108px);
}
.char-config-pane,.ward-layout>section{
  min-height:0;
  height:100%;
  overflow:hidden;
}
.char-config-scroll,.ward-scroll{
  flex:1 1 0;
  height:0;
  min-height:0;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  touch-action:pan-y;
  scrollbar-gutter:stable;
}
@media(max-width:760px){
  .char-create-layout,.ward-layout{max-height:calc(100% - 92px)}
  .char-config-scroll,.ward-scroll{height:0;min-height:0;-webkit-overflow-scrolling:touch;touch-action:pan-y}
}

/* v22.3 Showcase backdrop: property is part of the world, not a floating icon. */
.showcase-scene::before{content:"";position:absolute;left:0;right:0;top:43%;height:15%;pointer-events:none;opacity:.22;background:linear-gradient(90deg,transparent 0 6%,#71818a 6% 11%,transparent 11% 16%,#71818a 16% 22%,transparent 22% 67%,#71818a 67% 73%,transparent 73% 79%,#71818a 79% 86%,transparent 86%);clip-path:polygon(0 70%,4% 70%,4% 28%,8% 28%,8% 55%,13% 55%,13% 14%,18% 14%,18% 66%,23% 66%,23% 37%,29% 37%,29% 75%,67% 75%,67% 52%,73% 52%,73% 23%,79% 23%,79% 60%,85% 60%,85% 34%,91% 34%,91% 70%,100% 70%,100% 100%,0 100%)}
.showcase-home-layer canvas[data-property-context="profile"]{filter:drop-shadow(0 10px 7px rgba(22,28,30,.20))}

/* === Kivora Business Empire v23 === */
.biz23-header{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(180px,.55fr) auto;gap:18px;align-items:center;margin:16px 0 22px;padding:20px;border:1px solid #e2e5e9;border-radius:20px;background:linear-gradient(135deg,#fff,#f7f8fa);box-shadow:0 10px 26px rgba(22,28,36,.04)}
.biz23-header>div:first-child>span{font-size:9px;font-weight:900;letter-spacing:.14em;color:#7c838d}.biz23-header h3{margin:4px 0 5px;font-size:20px}.biz23-header p{margin:0;color:#717984;font-size:11px;line-height:1.5;max-width:650px}.biz23-cap small,.biz23-cap em{display:block;font-size:9px;color:#7d848d;font-style:normal}.biz23-cap strong{font-size:22px}.biz23-cap i{display:block;height:6px;border-radius:999px;background:#e7eaee;margin:6px 0;overflow:hidden}.biz23-cap i b{display:block;height:100%;background:#171a1e;border-radius:inherit}
.biz23-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.biz23-card{border:1px solid #e0e4e8;border-radius:18px;background:#fff;padding:17px;box-shadow:0 7px 20px rgba(16,23,31,.035);position:relative;overflow:hidden}.biz23-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#c9cdd2}.biz23-card.tier-growth:before{background:#7f8995}.biz23-card.tier-corporate:before{background:#40464e}.biz23-card.tier-strategic:before{background:#111418}.biz23-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.biz23-card-head span{font-size:8px;font-weight:900;letter-spacing:.12em;color:#8a919a}.biz23-card-head h3{font-size:18px;margin:4px 0 2px}.biz23-card-head p{margin:0;color:#747c86;font-size:10px}.biz23-net{text-align:right;font-size:17px;white-space:nowrap}.biz23-net small{display:block;color:#90969e;font-size:8px;font-weight:600}.biz23-net.neg{color:#a72d2d}.biz23-action{margin:13px 0 11px;padding:10px 11px;border:1px solid #e4e7ea;border-radius:12px;background:#f8f9fa}.biz23-action small{display:block;font-size:7px;letter-spacing:.12em;font-weight:900;color:#91969d}.biz23-action strong{display:block;font-size:10px;line-height:1.4;margin-top:2px}.biz23-action.warning{background:#fff9ed;border-color:#eadcb9}.biz23-action.danger{background:#fff2f2;border-color:#eccaca}.biz23-action.info{background:#f2f6fb;border-color:#d5dfeb}.biz23-metrics,.biz23-info-grid,.biz23-life{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.biz23-metrics>div,.biz23-info-grid>div,.biz23-life>div{padding:9px;border-radius:10px;background:#f6f7f8;min-width:0}.biz23-metrics small,.biz23-info-grid span,.biz23-life span{display:block;color:#858c95;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.biz23-metrics b,.biz23-info-grid b,.biz23-life b{display:block;margin-top:3px;font-size:11px}.biz23-buttons{display:flex;gap:8px;margin-top:12px}.biz23-buttons .btn{flex:1}.biz23-empty{grid-column:1/-1;border:1px dashed #d7dce1;border-radius:18px;padding:28px;text-align:center;color:#777f89}.biz23-empty strong{display:block;margin-bottom:12px;color:#24282d}
.biz23-create-sheet{width:min(1000px,calc(100% - 28px));max-height:min(90vh,820px)}.biz23-create-body,.biz23-manage-body{padding:18px 20px;overflow:auto;min-height:0}.biz23-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:16px}.biz23-type{border:1px solid #dfe3e7;background:#fff;border-radius:14px;padding:13px;text-align:left;cursor:pointer;color:#24282d;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:7px;align-items:start;min-width:0}.biz23-type:hover{border-color:#aeb5bd}.biz23-type.selected{border-color:#171a1e;box-shadow:inset 0 0 0 1px #171a1e}.biz23-type>div{display:block;min-width:0}.biz23-type>div span{display:block;font-size:7px;letter-spacing:.1em;color:#8b929a;font-weight:900}.biz23-type strong{display:block;font-size:14px;line-height:1.25;margin-top:3px;overflow-wrap:anywhere}.biz23-type small{display:block;font-size:8px;line-height:1.35;color:#7d858f;text-align:left;margin-top:3px;overflow-wrap:anywhere}.biz23-type>b{float:none;margin:0;justify-self:end;align-self:start;white-space:nowrap;font-size:15px;line-height:1.15;font-variant-numeric:tabular-nums}.biz23-type p{grid-column:1/-1;clear:none;margin:1px 0 2px;font-size:9px;line-height:1.45;color:#68707a;overflow-wrap:anywhere}.biz23-type footer{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-top:1px solid #edf0f2;padding-top:8px;font-size:8px;line-height:1.35;color:#777f88}.biz23-type footer span{min-width:0}.biz23-type footer span:last-child{text-align:right}
.biz23-manage-sheet{width:min(980px,calc(100% - 28px));height:min(88vh,780px);display:flex;flex-direction:column}.biz23-tabs{display:flex;border-bottom:1px solid #e7eaed;padding:0 20px;flex:0 0 auto}.biz23-tabs button{border:0;background:none;padding:13px 15px;font:700 10px/1 inherit;color:#777f89;cursor:pointer;border-bottom:2px solid transparent}.biz23-tabs button.active{color:#171a1e;border-color:#171a1e}.biz23-manage-body{flex:1}.biz23-big-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}.biz23-big-metrics>div{border:1px solid #e4e7ea;border-radius:12px;padding:12px}.biz23-big-metrics small{display:block;color:#858c95;font-size:8px}.biz23-big-metrics strong{font-size:17px;display:block;margin-top:4px}.biz23-big-metrics strong.neg{color:#a72d2d}.biz23-manage-body h4{font-size:11px;margin:18px 0 8px}.biz23-resource{border:1px solid #e1e5e8;border-radius:14px;padding:14px;margin-bottom:12px}.biz23-resource>div:first-child{display:flex;justify-content:space-between}.biz23-resource i{display:block;height:8px;border-radius:999px;background:#e8ebee;margin:7px 0;overflow:hidden}.biz23-resource i b{display:block;height:100%;background:#1c2025}.biz23-resource>small{font-size:9px;color:#828a93}.biz23-resource>div:last-child{display:flex;gap:7px;margin-top:10px}.biz23-ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.biz23-op-card{border:1px solid #e2e5e8;border-radius:14px;padding:13px;display:flex;flex-direction:column;gap:7px}.biz23-op-card>span{font-size:8px;color:#858c95}.biz23-op-card>strong{font-size:20px}.biz23-op-card>small{font-size:9px;color:#7d858e}.biz23-op-card>div{display:flex;gap:7px;flex-wrap:wrap}.biz23-storage{display:flex;justify-content:space-between;align-items:center;margin-top:10px;border-top:1px solid #eceff1;padding-top:10px;font-size:10px}.biz23-recruit{margin-top:18px;border:1px solid #e0e4e8;border-radius:15px;padding:14px;background:#fafbfc}.biz23-recruit>span{font-size:8px;font-weight:900;letter-spacing:.11em;color:#858c95}.biz23-recruit p{font-size:10px;color:#6f7781;line-height:1.45}.biz23-recruit-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.biz23-recruit select,.assign-panel select{border:1px solid #d8dde2;border-radius:10px;padding:9px;background:#fff;font:600 10px/1.2 inherit}.biz23-candidates{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.biz23-candidates article{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border:1px solid #e4e7ea;border-radius:12px;padding:8px;background:#fff}.biz23-candidates strong{display:block;font-size:10px}.biz23-candidates small,.biz23-candidates span{display:block;font-size:8px;color:#7c848e}.biz23-life{margin-top:15px}.biz23-life{grid-template-columns:repeat(2,1fr)}
@media(max-width:860px){.biz23-header{grid-template-columns:1fr}.biz23-grid{grid-template-columns:1fr}.biz23-type-grid{grid-template-columns:1fr}.biz23-big-metrics,.biz23-metrics,.biz23-info-grid{grid-template-columns:repeat(2,1fr)}.biz23-recruit-controls{grid-template-columns:1fr}.biz23-candidates{grid-template-columns:1fr}.biz23-ops-grid{grid-template-columns:1fr}}
@media(max-width:520px){.biz23-create-sheet,.biz23-manage-sheet{width:100%;height:100dvh;max-height:none;border-radius:0}.biz23-create-body,.biz23-manage-body{padding:14px}.biz23-tabs{overflow:auto;padding:0 8px}.biz23-tabs button{white-space:nowrap}.biz23-big-metrics{grid-template-columns:1fr 1fr}.biz23-card{padding:14px}.biz23-card-head{display:block}.biz23-net{text-align:left;margin-top:8px}.biz23-type{grid-template-columns:1fr;gap:6px}.biz23-type>b{justify-self:start;font-size:14px}.biz23-type p,.biz23-type footer{grid-column:1}.biz23-type footer{flex-direction:column;gap:4px}.biz23-type footer span:last-child{text-align:left}}

/* Kivora Business Empire / Property Agency v23 */
.property-agent-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.property-agent-mode{appearance:none;border:1px solid #d9dde2;background:#fff;border-radius:14px;padding:12px;text-align:left;display:grid;gap:4px;cursor:pointer;color:#1b1d20}
.property-agent-mode b{font-size:13px}.property-agent-mode span{font-weight:800;font-size:14px}.property-agent-mode small{font-size:10px;line-height:1.35;color:#737b86}
.property-agent-mode.active{border-color:#181a1d;box-shadow:inset 0 0 0 1px #181a1d;background:#f7f7f7}
.property-agent-mode:disabled{opacity:.55;cursor:not-allowed}
.property-agent-filter{display:grid;gap:6px;margin-top:12px;max-width:420px}.property-agent-filter.hidden{display:none}.property-agent-filter>span{font-size:11px;font-weight:800;color:#5f6670}
.property-specialist-picker{position:relative;width:100%}.property-picker-trigger{width:100%;min-height:44px;border:1px solid #d8dde3;border-radius:11px;background:#fff;padding:0 12px 0 14px;color:#1b1d20;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font:inherit;cursor:pointer}.property-picker-trigger>span{font-size:13px;font-weight:700;color:#1b1d20;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-picker-trigger i{font-style:normal;font-size:18px;line-height:1;color:#656c76;transition:transform .16s ease}.property-specialist-picker.open .property-picker-trigger{border-color:#181a1d;box-shadow:0 0 0 2px rgba(24,26,29,.08)}.property-specialist-picker.open .property-picker-trigger i{transform:rotate(180deg)}
.property-picker-menu{position:absolute;z-index:1200;left:0;right:0;top:calc(100% + 7px);display:none;max-height:min(340px,48vh);overflow-y:auto;overscroll-behavior:contain;padding:8px;background:#fff;color:#17191c;border:1px solid #d7dce2;border-radius:13px;box-shadow:0 18px 44px rgba(15,20,28,.18);scrollbar-width:thin}.property-specialist-picker.open .property-picker-menu{display:block}.property-picker-group{display:grid;gap:2px}.property-picker-group+ .property-picker-group{border-top:1px solid #eceef1;margin-top:7px;padding-top:7px}.property-picker-group>strong{position:sticky;top:-8px;z-index:1;background:#fff;padding:7px 8px 5px;font-size:9px;letter-spacing:.1em;color:#8a9099}.property-picker-option{appearance:none;width:100%;border:0;border-radius:8px;background:transparent;color:#202328;padding:8px 9px;text-align:left;font:inherit;font-size:13px;cursor:pointer}.property-picker-option:hover,.property-picker-option:focus-visible{background:#f1f3f5;outline:none}.property-picker-option.selected{background:#181a1d;color:#fff;font-weight:800}.property-picker-trigger:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:720px){.property-agent-modes{grid-template-columns:1fr}.property-agent-mode{grid-template-columns:1fr auto}.property-agent-mode small{grid-column:1/-1}}
/* Business Empire v23 — industry status */
.biz23-model-status{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 13px;margin:10px 0;border:1px solid #e1e4e8;border-radius:12px;background:#f8f9fa}.biz23-model-status small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#777}.biz23-model-status strong{font-size:12px;text-align:right;color:#17191c}

/* Business Empire v23.2 — tax + fleet operations */
.biz23-tax-head{border:1px solid #dfe3e7;border-radius:12px;padding:10px 12px;background:#fff;display:flex;flex-direction:column;gap:3px;min-width:145px}.biz23-tax-head small{font-size:8px;color:#7e858d;font-weight:800}.biz23-tax-head strong{font-size:16px}.biz23-tax-head span{font-size:8px;color:#7e858d}.biz23-tax-head.danger{border-color:#d7a6a6;background:#fff7f7}.tax-status{color:#9b2929}.biz23-card.tax-suspended{border-color:#c88f8f;background:#fffafa}.biz23-tax-box{margin:14px 0;border:1px solid #e0e4e8;border-radius:14px;padding:13px;background:#fafbfc;display:grid;grid-template-columns:1fr 1fr;gap:8px}.biz23-tax-box>div{border:1px solid #e5e8eb;border-radius:10px;padding:10px;background:#fff}.biz23-tax-box small{display:block;font-size:8px;color:#838a92}.biz23-tax-box strong{display:block;margin-top:4px}.biz23-tax-box p{grid-column:1/-1;font-size:9px;color:#777f88;margin:2px 0}.biz23-tax-box button{grid-column:1/-1}.biz23-tax-box.danger{border-color:#d7a6a6;background:#fff6f6}.biz23-fleet{grid-column:1/-1;border:1px solid #e0e4e8;border-radius:14px;padding:13px;background:#fafbfc}.biz23-fleet-head{display:grid;grid-template-columns:1fr auto;gap:3px 10px;margin-bottom:10px}.biz23-fleet-head span{font-size:9px;font-weight:900}.biz23-fleet-head strong{font-size:18px}.biz23-fleet-head small{grid-column:1/-1;font-size:8px;color:#7e858d}.biz23-fleet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.biz23-fleet-grid article{border:1px solid #e2e6e9;border-radius:11px;background:#fff;padding:10px;display:grid;grid-template-columns:1fr auto;gap:5px;align-items:center}.biz23-fleet-grid article>div strong{display:block;font-size:10px}.biz23-fleet-grid article>div small,.biz23-fleet-grid article>small{font-size:8px;color:#7c848c}.biz23-fleet-grid article>span{font-size:10px;font-weight:900}.biz23-fleet-grid article>button{grid-column:1/-1}.tenant-ready-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.residence-badge{font-size:8px;font-weight:900;background:#17191c;color:#fff;padding:5px 7px;border-radius:999px}.owned-property-card.is-residence{border-color:#aeb5bd}.property-residence-note{margin-top:7px;font-size:9px;color:#656d76;background:#f3f5f6;border-radius:8px;padding:7px}.property-charge-line{display:flex;justify-content:space-between;gap:10px;margin-top:7px;padding-top:7px;border-top:1px solid #e8ebee;font-size:9px}.property-charge-line b{font-size:10px}
@media(max-width:760px){.biz23-fleet-grid{grid-template-columns:1fr}.biz23-tax-head{min-width:0}.biz23-tax-box{grid-template-columns:1fr}}

/* v23.3 Holding persistence / management-capacity clarity */
.empire-benefits{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin-top:5px}
.empire-management{font-size:12px;font-weight:800;color:#1f2937}
.empire-next{margin-top:4px;font-size:11px;color:#6b7280;font-weight:650}
@media(max-width:700px){.empire-benefits{gap:5px 10px}.empire-next{line-height:1.35}}


/* v23.5 Business Empire command center + bulk company withdrawal */
.biz23-header{grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);grid-template-areas:"copy stats" "tools tools";gap:16px 20px;padding:22px;background:linear-gradient(145deg,#fff 0%,#fafbfc 58%,#f3f5f7 100%);box-shadow:0 14px 34px rgba(18,24,31,.055)}
.biz23-hero-copy{grid-area:copy;min-width:0}.biz23-hero-copy>span{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#17191c;color:#fff!important;font-size:8px!important;letter-spacing:.13em}.biz23-hero-copy h3{font-size:24px;margin:9px 0 7px}.biz23-hero-copy p{max-width:760px;font-size:11px;line-height:1.55}
.biz23-head-stats{grid-area:stats;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.72fr);gap:10px;align-self:stretch}.biz23-head-card{min-width:0;border:1px solid #dfe3e7;border-radius:15px;padding:13px 14px;background:rgba(255,255,255,.88);box-shadow:0 5px 14px rgba(20,27,35,.025)}
.biz23-cap small,.biz23-cap em{font-size:9px}.biz23-head-value{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:3px}.biz23-head-value strong{font-size:25px;line-height:1}.biz23-head-value em{padding-bottom:2px;white-space:nowrap}.biz23-cap i{height:7px;margin:9px 0 0}.biz23-tax-head{min-width:0;padding:13px 14px;border-radius:15px}.biz23-tax-head strong{font-size:19px}.biz23-tax-head .btn{margin-top:5px}
.biz23-head-tools{grid-area:tools;display:grid;grid-template-columns:minmax(190px,.28fr) minmax(0,1fr);gap:10px;align-items:stretch;padding-top:4px;border-top:1px solid #e9ecef}.biz23-new-license{min-height:88px;border-radius:15px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px}.biz23-new-license span{font-size:18px;font-weight:400;line-height:1}
.biz23-bulk-withdraw{border:1px solid #dde2e6;border-radius:15px;background:#fff;padding:12px 13px;display:grid;grid-template-columns:minmax(180px,.8fr) minmax(390px,1.2fr);gap:14px;align-items:center}.biz23-bulk-copy{min-width:0}.biz23-bulk-copy small{display:block;font-size:8px;font-weight:900;letter-spacing:.12em;color:#8b929a}.biz23-bulk-copy strong{display:block;margin:3px 0;font-size:13px}.biz23-bulk-copy span{display:block;font-size:9px;line-height:1.4;color:#747c85}
.biz23-bulk-controls{display:grid;grid-template-columns:86px auto minmax(110px,.55fr) auto;gap:8px;align-items:end}.biz23-bulk-controls label{font-size:8px;font-weight:800;color:#7a828b}.biz23-percent-input{height:36px;margin-top:4px;border:1px solid #d9dde2;border-radius:10px;background:#f8f9fa;display:grid;grid-template-columns:1fr auto;align-items:center;overflow:hidden}.biz23-percent-input input{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:0 0 0 10px;font:800 12px/1 inherit;color:#17191c}.biz23-percent-input span{padding-right:9px;font-size:10px;font-weight:900;color:#737b84}
.biz23-bulk-presets{display:flex;gap:4px;align-items:center;height:36px}.biz23-bulk-presets button{height:31px;min-width:39px;border:1px solid #dfe3e7;border-radius:9px;background:#fff;color:#5e6670;font:800 9px/1 inherit;cursor:pointer}.biz23-bulk-presets button:hover{background:#f3f5f6}.biz23-bulk-presets button.active{background:#17191c;border-color:#17191c;color:#fff}.biz23-bulk-estimate{min-width:0;height:36px;border:1px solid #e3e6e9;border-radius:10px;padding:5px 9px;background:#fafbfc;display:flex;flex-direction:column;justify-content:center}.biz23-bulk-estimate small{font-size:7px;color:#8a9199}.biz23-bulk-estimate strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.biz23-bulk-button{height:36px;white-space:nowrap;border-radius:10px;padding-inline:15px}
@media(max-width:1000px){.biz23-header{grid-template-columns:1fr;grid-template-areas:"copy" "stats" "tools"}.biz23-head-tools{grid-template-columns:1fr}.biz23-new-license{min-height:46px}.biz23-bulk-withdraw{grid-template-columns:1fr}.biz23-bulk-controls{grid-template-columns:86px auto minmax(120px,1fr) auto}}
@media(max-width:680px){.biz23-header{padding:15px;border-radius:16px}.biz23-hero-copy h3{font-size:20px}.biz23-head-stats{grid-template-columns:1fr 1fr}.biz23-head-tools{padding-top:10px}.biz23-bulk-controls{grid-template-columns:86px 1fr}.biz23-bulk-presets{justify-content:flex-start;overflow-x:auto}.biz23-bulk-estimate{grid-column:1/2}.biz23-bulk-button{grid-column:2/3}.biz23-bulk-withdraw{padding:11px}}
@media(max-width:430px){.biz23-head-stats{grid-template-columns:1fr}.biz23-bulk-controls{grid-template-columns:1fr}.biz23-bulk-controls label,.biz23-bulk-presets,.biz23-bulk-estimate,.biz23-bulk-button{grid-column:1}.biz23-bulk-button{width:100%}}

/* v23.6 scalable workforce */
.staff-cap>div{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;width:100%}.staff-cap small{font-size:9px;text-align:right}.biz23-camp-card{background:linear-gradient(180deg,#fff,#fafbfc)}
@media(max-width:640px){.staff-cap>div{align-items:flex-start;flex-direction:column}.staff-cap small{text-align:left}}


/* ======================================================================
   KIVORA MOBILE NAV v23.7 — 3 primary tabs + large Dashboard quick cards
   Mobile bottom nav: Dashboard / Profile / Laptop only.
   Secondary destinations remain as the 2x2 Akses Pantas cards.
   ====================================================================== */
@media (max-width:760px){
  .bottomnav.bottomnav-primary,
  #bottomnav.bottomnav-primary{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px;
    padding-left:max(10px,env(safe-area-inset-left));
    padding-right:max(10px,env(safe-area-inset-right));
  }
  .bottomnav.bottomnav-primary .nav-item{
    min-width:0;
    min-height:58px;
    padding:6px 8px;
    gap:4px;
    border-radius:15px;
    font-size:.62rem;
    font-weight:900;
    letter-spacing:-.01em;
  }
  .bottomnav.bottomnav-primary .nav-item .ic{
    width:32px;
    height:32px;
    min-width:32px;
    border-radius:10px;
  }
  .bottomnav.bottomnav-primary .nav-item .ic .ui-icon{
    width:17px;
    height:17px;
  }

  /* Secondary navigation follows the large card language shown in Akses Pantas. */
  #v-dashboard .quicklinks{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    width:100%;
    margin-top:0;
  }
  #v-dashboard .qlink{
    min-height:142px !important;
    padding:16px !important;
    border-radius:20px !important;
    justify-content:flex-end;
    text-align:left;
  }
  #v-dashboard .qlink .ic{
    top:15px !important;
    left:15px !important;
    width:44px !important;
    height:44px !important;
    border-radius:13px !important;
  }
  #v-dashboard .qlink .ic .ui-icon{
    width:22px !important;
    height:22px !important;
  }
  #v-dashboard .qlink > span:not(.ic):not(.mini-market){
    font-size:.98rem !important;
    line-height:1.08;
  }
  #v-dashboard .qlink small{
    margin-top:4px;
    font-size:.65rem !important;
    line-height:1.22;
  }
  #v-dashboard .qlink::after{
    top:16px;
    right:16px;
  }
  #v-dashboard .mini-market{
    top:42px;
    right:13px;
    width:58px;
    height:31px;
  }
}

@media (max-width:390px){
  .bottomnav.bottomnav-primary .nav-item{
    font-size:.58rem !important;
  }
  .bottomnav.bottomnav-primary .nav-item .ic{
    width:31px !important;
    height:31px !important;
    min-width:31px !important;
  }
  #v-dashboard .quicklinks{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }
  #v-dashboard .qlink{
    min-height:128px !important;
    padding:13px !important;
  }
  #v-dashboard .qlink .ic{
    top:12px !important;
    left:12px !important;
    width:40px !important;
    height:40px !important;
  }
  #v-dashboard .qlink > span:not(.ic):not(.mini-market){
    font-size:.88rem !important;
  }
  #v-dashboard .qlink small{
    font-size:.59rem !important;
  }
}

@media (max-width:340px){
  /* Keep the same 2x2 navigation pattern even on very narrow phones. */
  #v-dashboard .quicklinks{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #v-dashboard .qlink{
    min-height:118px !important;
    padding:11px !important;
  }
}

/* ================================================================
   KIVORA v24 — Public Citizen Page / Character Page
   ================================================================ */
.citizen-page-body{margin:0;background:#f4f4f2;color:#111318;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;height:auto;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto}
.citizen-sitebar{position:sticky;top:0;z-index:200;display:grid;grid-template-columns:auto minmax(260px,560px) auto;align-items:center;gap:18px;padding:12px max(18px,calc((100vw - 1260px)/2));background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid #dedfdd}
.citizen-brand{display:flex;align-items:center;gap:10px;color:#111;text-decoration:none;min-width:max-content}.citizen-brand img{width:38px;height:38px;object-fit:contain;border:1px solid #e1e2df;border-radius:11px;background:#fff}.citizen-brand span{display:grid;gap:1px}.citizen-brand b{font-size:14px}.citizen-brand small{font-size:7px;letter-spacing:.17em;color:#7c7f7c;font-weight:900}
.citizen-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.citizen-search input,.citizen-lookup-hero input{width:100%;box-sizing:border-box;border:1px solid #d8dad7;border-radius:12px;background:#f8f8f7;color:#111;padding:0 14px;height:42px;font:700 12px/1 inherit;outline:none}.citizen-search input:focus,.citizen-lookup-hero input:focus{border-color:#111;box-shadow:0 0 0 3px rgba(17,17,17,.06)}.citizen-search button,.citizen-lookup-hero button,.citizen-head-actions button,.citizen-head-actions a,.citizen-back{border:1px solid #111;background:#111;color:#fff;border-radius:11px;padding:0 14px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;font:900 10px/1 inherit;text-decoration:none;cursor:pointer;white-space:nowrap}.citizen-back{background:#fff;color:#111;border-color:#d5d7d4}
.citizen-shell{width:min(1260px,calc(100% - 32px));margin:28px auto 70px}.citizen-lookup-hero,.citizen-not-found{min-height:60vh;display:grid;place-content:center;text-align:center;justify-items:center}.citizen-lookup-hero>span,.citizen-not-found>span,.citizen-eyebrow,.citizen-section-head span{font-size:8px;letter-spacing:.18em;font-weight:950;color:#7c817f}.citizen-lookup-hero h1,.citizen-not-found h1{font-size:clamp(32px,6vw,72px);letter-spacing:-.05em;margin:9px 0 10px}.citizen-lookup-hero p,.citizen-not-found p{max-width:600px;color:#707572;font-size:13px;line-height:1.6;margin:0 0 22px}.citizen-lookup-hero form{display:grid;grid-template-columns:minmax(280px,460px) auto;gap:8px}.citizen-not-found-mark{width:72px;height:72px;border-radius:22px;background:#111;color:#fff;display:grid;place-items:center;font-size:30px;font-weight:950;margin-bottom:18px}
.citizen-identity-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px}.citizen-identity-head h1{font-size:clamp(35px,6vw,66px);letter-spacing:-.055em;line-height:.95;margin:7px 0 12px}.citizen-id-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.citizen-id-row b{font-size:10px;letter-spacing:.09em;background:#111;color:#fff;border-radius:999px;padding:7px 10px}.citizen-id-row span{font-size:10px;color:#777c79}.citizen-head-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.citizen-head-actions button{background:#fff;color:#111;border-color:#d3d5d2}.citizen-head-actions a{background:#111}
.citizen-showcase-card,.citizen-panel{border:1px solid #dcdfdb;background:#fff;border-radius:24px;padding:16px;box-shadow:0 16px 38px rgba(20,24,21,.045);margin-bottom:16px}.citizen-section-head{display:flex;justify-content:space-between;align-items:end;gap:14px;padding:4px 4px 14px}.citizen-section-head h2{font-size:20px;letter-spacing:-.025em;margin:3px 0 0}.citizen-section-head>small{font-size:9px;color:#858a87}.citizen-showcase{position:relative;overflow:hidden;width:100%;aspect-ratio:16/7;min-height:330px;border-radius:17px;background:linear-gradient(#dfe9ee 0 55%,#c7d1ce 55% 58%,#8fa083 58% 100%);isolation:isolate}.citizen-showcase:before{content:"";position:absolute;left:0;right:0;top:43%;height:15%;pointer-events:none;opacity:.22;background:linear-gradient(90deg,transparent 0 6%,#71818a 6% 11%,transparent 11% 16%,#71818a 16% 22%,transparent 22% 67%,#71818a 67% 73%,transparent 73% 79%,#71818a 79% 86%,transparent 86%);clip-path:polygon(0 70%,4% 70%,4% 28%,8% 28%,8% 55%,13% 55%,13% 14%,18% 14%,18% 66%,23% 66%,23% 37%,29% 37%,29% 75%,67% 75%,67% 52%,73% 52%,73% 23%,79% 23%,79% 60%,85% 60%,85% 34%,91% 34%,91% 70%,100% 70%,100% 100%,0 100%)}.citizen-scene-layer{position:absolute;transform:translate(-50%,-100%) scale(var(--layer-scale,1));transform-origin:50% 100%;pointer-events:none}.citizen-home-layer{width:61%;max-width:710px}.citizen-home-layer canvas,.citizen-home-layer img{display:block;width:100%;height:auto;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 12px 8px rgba(22,28,30,.20))}.citizen-character-layer{width:11%;max-width:128px}.citizen-character-layer canvas{display:block;width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 8px 5px rgba(0,0,0,.21))}.citizen-asset-layer img{display:block;max-width:180px;max-height:180px;image-rendering:pixelated;image-rendering:crisp-edges}.citizen-no-home{position:absolute;left:20px;bottom:20px;border:1px dashed rgba(0,0,0,.25);border-radius:10px;background:rgba(255,255,255,.72);padding:10px 12px;font-size:9px;font-weight:800}.citizen-private-showcase,.citizen-empty{min-height:140px;border:1px dashed #d8dbd7;border-radius:16px;background:#f8f8f7;display:grid;place-content:center;text-align:center;color:#777}.citizen-private-showcase b{font-size:14px;color:#222}.citizen-private-showcase span{font-size:10px;margin-top:4px}
.citizen-stat-grid{display:grid;grid-template-columns:1.55fr repeat(4,1fr);gap:10px;margin-bottom:16px}.citizen-stat{border:1px solid #dbddda;border-radius:18px;background:#fff;padding:17px;min-width:0}.citizen-stat span{display:block;font-size:7px;letter-spacing:.14em;font-weight:950;color:#858a87}.citizen-stat strong{display:block;font-size:25px;letter-spacing:-.035em;margin:6px 0 3px;overflow:hidden;text-overflow:ellipsis}.citizen-stat small{display:block;font-size:8px;color:#8b908d}.citizen-stat.hero{background:#111;color:#fff;border-color:#111}.citizen-stat.hero span,.citizen-stat.hero small{color:#aaa}.citizen-stat.hero strong{font-size:31px}
.citizen-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.citizen-business-card{position:relative;overflow:hidden;border:1px solid #e0e2df;border-radius:17px;padding:15px;background:#fafafa;min-width:0}.citizen-business-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#c4c8c4}.citizen-business-card.tier-growth:before{background:#868e87}.citizen-business-card.tier-corporate:before{background:#414742}.citizen-business-card.tier-strategic:before{background:#111}.citizen-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.citizen-card-top span{font-size:7px;letter-spacing:.1em;font-weight:950;color:#7f8581;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.citizen-card-top b{font-size:8px;background:#111;color:#fff;border-radius:999px;padding:5px 7px;white-space:nowrap}.citizen-business-card h3,.citizen-property-copy h3{font-size:16px;margin:10px 0 3px;line-height:1.15}.citizen-business-card p,.citizen-property-copy p{font-size:9px;color:#818682;margin:0}.citizen-mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:13px}.citizen-mini-metrics>div{background:#fff;border:1px solid #e4e6e3;border-radius:10px;padding:9px}.citizen-mini-metrics small{display:block;font-size:7px;color:#858b87}.citizen-mini-metrics b{display:block;margin-top:3px;font-size:11px}
.citizen-property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.citizen-property-card{display:grid;grid-template-columns:165px minmax(0,1fr);gap:14px;align-items:center;border:1px solid #e0e2df;border-radius:17px;padding:10px;background:#fafafa;min-width:0}.citizen-property-card.is-showcase{box-shadow:inset 0 0 0 1px #111}.citizen-property-visual{height:135px;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#f2f4f5,#e7eae8);display:grid;place-items:center}.citizen-property-visual canvas,.citizen-property-visual img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}.citizen-property-copy>strong{display:block;font-size:16px;margin-top:12px}
.citizen-badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.citizen-badge{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center;border:1px solid #e0e2df;border-radius:15px;background:#fafafa;padding:12px}.citizen-badge-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#e6e8e5;color:#313531;font-size:17px;font-weight:950}.citizen-badge span{font-size:6px;letter-spacing:.12em;font-weight:950;color:#8b908c}.citizen-badge h3{font-size:12px;margin:2px 0}.citizen-badge p{font-size:8px;line-height:1.4;color:#7f8581;margin:0}.citizen-badge.tier-silver .citizen-badge-mark{background:#d8dcda}.citizen-badge.tier-gold .citizen-badge-mark{background:#111;color:#fff;box-shadow:inset 0 0 0 2px #aba78f}.citizen-badge.tier-elite .citizen-badge-mark,.citizen-badge.tier-legendary .citizen-badge-mark{background:#111;color:#fff}.citizen-badge.tier-legendary{border-color:#aaa793}
.citizen-wealth-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.citizen-wealth-grid>div{border:1px solid #e1e3e0;border-radius:12px;padding:12px;background:#fafafa}.citizen-wealth-grid span{display:block;font-size:7px;color:#848a86}.citizen-wealth-grid b{display:block;font-size:14px;margin-top:5px}.citizen-wealth-grid .debt b{color:#9b2d2d}.citizen-footer{width:min(1260px,calc(100% - 32px));margin:0 auto 30px;padding-top:16px;border-top:1px solid #d9dbd8;display:flex;justify-content:space-between;gap:12px;font-size:8px;color:#7f8480}.citizen-footer b{color:#222}
@media(max-width:980px){.citizen-sitebar{grid-template-columns:auto 1fr}.citizen-back{display:none}.citizen-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.citizen-stat.hero{grid-column:1/-1}.citizen-business-grid,.citizen-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.citizen-showcase{aspect-ratio:4/3}.citizen-home-layer{width:78%}.citizen-character-layer{width:16%}.citizen-wealth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.citizen-sitebar{position:relative;grid-template-columns:1fr;padding:10px 12px;gap:9px}.citizen-brand{justify-content:center}.citizen-search{grid-template-columns:1fr auto}.citizen-shell{width:min(100% - 20px,1260px);margin-top:18px}.citizen-identity-head{display:block}.citizen-head-actions{justify-content:flex-start;margin-top:14px}.citizen-showcase-card,.citizen-panel{padding:10px;border-radius:17px}.citizen-section-head{align-items:flex-start}.citizen-section-head>small{display:none}.citizen-showcase{min-height:0;aspect-ratio:4/3;border-radius:12px}.citizen-home-layer{width:84%}.citizen-character-layer{width:20%}.citizen-stat-grid{gap:7px}.citizen-stat{padding:13px;border-radius:14px}.citizen-stat strong{font-size:20px}.citizen-stat.hero strong{font-size:27px}.citizen-business-grid,.citizen-property-grid,.citizen-badge-grid{grid-template-columns:1fr}.citizen-property-card{grid-template-columns:120px minmax(0,1fr);padding:8px}.citizen-property-visual{height:112px}.citizen-wealth-grid{grid-template-columns:1fr 1fr}.citizen-footer{display:block;line-height:1.5}.citizen-footer span{display:block;margin-top:4px}.citizen-lookup-hero form{grid-template-columns:1fr;width:100%}.citizen-lookup-hero{min-height:52vh}.citizen-lookup-hero h1,.citizen-not-found h1{font-size:38px}}
@media(max-width:420px){.citizen-search button{padding:0 11px}.citizen-property-card{grid-template-columns:100px minmax(0,1fr)}.citizen-property-visual{height:100px}.citizen-wealth-grid{grid-template-columns:1fr}.citizen-stat-grid{grid-template-columns:1fr 1fr}.citizen-stat small{min-height:20px}}
.showcase-public-link{grid-column:1/-1;display:flex!important;position:static!important;float:none!important;clear:both;width:100%;min-width:0;min-height:48px;margin:0!important;box-sizing:border-box;text-decoration:none;text-align:center;align-items:center;justify-content:center}
.fs-profile-actions .fs-citizen-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}

@media(max-width:600px){.showcase-editor-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.showcase-editor-actions>.btn,.showcase-public-link{min-height:48px!important;margin:0!important}.showcase-public-link{grid-column:1/-1}}

/* =====================================================================
   KIVORA SHOP v25 — procedural collectible asset market
   ===================================================================== */
.dashboard-shop-entry{
  width:100%; margin:18px 0 0; border:1.5px solid var(--line); border-radius:20px; background:#111;
  color:#fff; padding:17px 18px; display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:14px;
  align-items:center; text-align:left; cursor:pointer; box-shadow:0 12px 28px rgba(0,0,0,.08); transition:.16s ease;
}
.dashboard-shop-entry:hover{ transform:translateY(-1px); box-shadow:0 16px 34px rgba(0,0,0,.12); }
.dashboard-shop-icon{ width:48px;height:48px;border-radius:14px;background:#fff;color:#111;display:grid;place-items:center; }
.dashboard-shop-icon .ui-icon{width:25px;height:25px;}
.dashboard-shop-copy{min-width:0;display:grid;gap:2px;}
.dashboard-shop-copy small{font-size:.62rem;letter-spacing:.18em;font-weight:900;color:#aaa;}
.dashboard-shop-copy strong{font-size:1.08rem;line-height:1.15;}
.dashboard-shop-copy em{font-style:normal;color:#bcbcbc;font-size:.77rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dashboard-shop-open{font-weight:900;font-size:.78rem;white-space:nowrap;}

.shop-view{max-width:1180px;}
.shop-app{min-height:480px;}
.shop-shell{display:grid;gap:18px;}
.shop-hero{border:1.5px solid var(--line);border-radius:22px;background:#fff;padding:24px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;}
.shop-hero h2{font-size:clamp(1.65rem,3vw,2.4rem);margin:5px 0 7px;letter-spacing:-.04em;}
.shop-hero p{margin:0;max-width:720px;color:var(--muted);line-height:1.5;}
.shop-category-title{display:flex;justify-content:space-between;gap:12px;align-items:end;padding:0 2px;}
.shop-category-title strong{font-size:1rem}.shop-category-title small{color:var(--muted);text-align:right;}
.shop-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.shop-category{min-width:0;border:1.5px solid var(--line);border-radius:18px;background:#fff;padding:14px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 11px;text-align:left;cursor:pointer;position:relative;transition:.15s ease;}
.shop-category:hover{border-color:#111;transform:translateY(-1px)}.shop-category.active{border-color:#111;box-shadow:inset 0 0 0 1px #111;}
.shop-category-icon{grid-row:1/3;width:42px;height:42px;border-radius:12px;background:#111;color:#fff;display:grid;place-items:center;}
.shop-category-icon .ui-icon{width:22px;height:22px}.shop-category span:nth-child(2){min-width:0;display:grid;gap:3px;align-content:center}.shop-category strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-category small{font-size:.67rem;color:var(--muted)}.shop-category em{position:absolute;right:10px;top:9px;font-style:normal;font-size:.55rem;font-weight:900;letter-spacing:.08em;color:#999}.shop-category.active em{color:#111}
.shop-catalog-section{display:grid;gap:14px;}
.shop-catalog-head{border:1.5px solid var(--line);border-radius:20px;background:#fff;padding:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;}
.shop-catalog-head h3{font-size:1.35rem;margin:5px 0 6px}.shop-catalog-head p{margin:0;color:var(--muted);line-height:1.45;max-width:650px;}
.shop-catalog-stats{display:grid;grid-template-columns:repeat(3,auto);gap:8px}.shop-catalog-stats span{min-width:94px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:grid;gap:2px;background:#fafafa}.shop-catalog-stats b{font-size:.9rem;white-space:nowrap}.shop-catalog-stats small{font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800;}
.shop-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.35fr);gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:12px}.shop-toolbar label{display:grid;gap:5px}.shop-toolbar label>span{font-size:.61rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#777}.shop-toolbar input,.shop-toolbar select{width:100%;height:42px;border:1.5px solid #d9d9d6;border-radius:11px;background:#fafafa;padding:0 11px;font:inherit;font-size:.78rem;outline:none}.shop-toolbar input:focus,.shop-toolbar select:focus{border-color:#111;background:#fff}
.shop-result-note{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:0 3px;color:#555;font-size:.73rem}.shop-result-note small{color:#999}
.shop-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.shop-product-card{border:1.5px solid var(--line);border-radius:20px;background:#fff;overflow:hidden;display:grid;grid-template-rows:210px minmax(0,1fr);min-width:0;transition:.15s ease}.shop-product-card:hover{border-color:#b8b8b5;box-shadow:0 10px 28px rgba(0,0,0,.06)}.shop-product-card.owned{background:#fbfbfa}
.shop-product-image{position:relative;display:grid;place-items:center;background:linear-gradient(180deg,#f4f5f4,#eceeeb);overflow:hidden;border-bottom:1px solid var(--line);padding:12px}.shop-product-image img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto}.shop-product-copy{padding:15px;display:grid;align-content:start;gap:8px;min-width:0}.shop-product-kicker{display:flex;justify-content:space-between;gap:8px;align-items:center}.shop-product-kicker span{font-size:.6rem;letter-spacing:.13em;font-weight:900;color:#888;text-transform:uppercase}.shop-product-kicker em{font-style:normal;background:#111;color:#fff;border-radius:999px;padding:4px 7px;font-size:.5rem;font-weight:900;letter-spacing:.07em}.shop-product-copy h3{font-size:1.03rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-product-copy p{font-size:.72rem;line-height:1.45;color:#777;margin:0;min-height:2.9em}.shop-product-copy p.muted{color:#aaa}.shop-product-buy{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ececea;padding-top:12px;margin-top:3px}.shop-product-buy b{font-size:.95rem}.shop-buy-btn{min-width:76px}.shop-product-card.owned .shop-buy-btn{background:#e7e7e4!important;color:#777!important;border-color:#e7e7e4!important}
.shop-pagination{display:flex;justify-content:center;align-items:center;gap:14px;padding:7px}.shop-pagination span{font-size:.74rem;font-weight:800;color:#666}.shop-empty,.shop-loading{min-height:280px;border:1.5px solid var(--line);border-radius:20px;background:#fff;display:grid;place-items:center;align-content:center;text-align:center;gap:9px;padding:28px}.shop-empty small,.shop-loading small{max-width:520px;color:var(--muted);margin:0}.shop-loader{width:28px;height:28px;border-radius:50%;border:3px solid #ddd;border-top-color:#111;animation:shopspin .7s linear infinite}@keyframes shopspin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.shop-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-catalog-head{grid-template-columns:1fr}.shop-catalog-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-catalog-stats span{min-width:0}}
@media(max-width:640px){.dashboard-shop-entry{grid-template-columns:46px minmax(0,1fr);padding:14px;border-radius:18px}.dashboard-shop-open{grid-column:1/-1;border-top:1px solid #313131;padding-top:10px;text-align:right}.dashboard-shop-copy em{font-size:.7rem}.shop-shell{gap:13px}.shop-hero{padding:17px;border-radius:18px;display:grid}.shop-category-title{display:grid}.shop-category-title small{text-align:left}.shop-category-grid{gap:9px}.shop-category{padding:11px;grid-template-columns:38px minmax(0,1fr);border-radius:15px}.shop-category-icon{width:38px;height:38px;border-radius:11px}.shop-category strong{font-size:.8rem}.shop-category small{font-size:.59rem}.shop-catalog-head{padding:15px;border-radius:17px}.shop-catalog-stats{gap:6px}.shop-catalog-stats span{padding:8px}.shop-catalog-stats b{font-size:.76rem}.shop-toolbar{grid-template-columns:1fr;padding:10px;gap:8px}.shop-toolbar input,.shop-toolbar select{height:44px;font-size:16px}.shop-result-note{align-items:flex-start;display:grid}.shop-result-note small{line-height:1.35}.shop-product-grid{grid-template-columns:1fr}.shop-product-card{grid-template-columns:42% 58%;grid-template-rows:none;min-height:180px}.shop-product-image{border-bottom:0;border-right:1px solid var(--line);min-height:180px}.shop-product-copy{padding:13px}.shop-pagination{gap:8px}.shop-pagination .btn{padding-left:10px;padding-right:10px}}
@media(max-width:430px){.shop-category-grid{grid-template-columns:1fr 1fr}.shop-category{grid-template-columns:34px minmax(0,1fr);padding:9px}.shop-category-icon{width:34px;height:34px}.shop-category em{display:none}.shop-product-card{grid-template-columns:1fr;grid-template-rows:190px auto}.shop-product-image{border-right:0;border-bottom:1px solid var(--line);min-height:0}.shop-catalog-stats{grid-template-columns:1fr 1fr}.shop-catalog-stats span:last-child{grid-column:1/-1}}

/* =====================================================================
   KIVORA v25.2 — Profile Editor mirrors Citizen Page
   Citizen Page keeps its original cinematic dimensions. The editor now
   uses the SAME aspect ratio and layer percentages at every breakpoint,
   so saved x/y/scale previews match the public Character/Citizen Page.
   ===================================================================== */

/* Desktop: match the public Citizen Page exactly. */
.showcase-scene{
  width:100% !important;
  aspect-ratio:16/7 !important;
  min-height:330px !important;
  margin-inline:0;
}
.showcase-home-layer{
  width:61% !important;
  max-width:710px !important;
}
.showcase-character-layer{
  width:11% !important;
  max-width:128px !important;
}

/* Restore/lock the Citizen Page to its intended public presentation. */
.citizen-showcase{
  width:100% !important;
  aspect-ratio:16/7 !important;
  min-height:330px !important;
  margin-inline:0;
}
.citizen-home-layer{
  width:61% !important;
  max-width:710px !important;
}
.citizen-character-layer{
  width:11% !important;
  max-width:128px !important;
}

.showcase-asset-layer img,
.citizen-asset-layer img{
  max-width:180px;
  max-height:180px;
}

/* Tablet: Citizen Page already changes to 4:3 here; editor follows it. */
@media(max-width:980px){
  .showcase-scene,
  .citizen-showcase{
    aspect-ratio:4/3 !important;
    min-height:0 !important;
  }
  .showcase-home-layer,
  .citizen-home-layer{width:78% !important}
  .showcase-character-layer,
  .citizen-character-layer{width:16% !important}
}

/* Phone: use the exact same layer sizing as Citizen Page. */
@media(max-width:680px){
  .showcase-home-layer,
  .citizen-home-layer{width:84% !important}
  .showcase-character-layer,
  .citizen-character-layer{width:20% !important}
}


/* ======================================================================
   KIVORA v26.1 — Primary sidebar + Shop inside Dashboard Quick Access
   Desktop/tablet sidebar only keeps Dashboard / Profile / Laptop.
   Upgrade / Business / Properties / Trading / Shop live in Akses Pantas.
   Sidebar may be tucked fully to the left and reopened with the edge tab.
   ====================================================================== */
.sidebar-toggle{
  display:none;
  position:fixed;
  z-index:420;
  top:50%;
  width:30px;
  height:58px;
  padding:0;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  border-left:0;
  border-radius:0 15px 15px 0;
  background:#111;
  color:#fff;
  box-shadow:8px 8px 24px rgba(0,0,0,.16);
  font:800 24px/1 system-ui,sans-serif;
  cursor:pointer;
  transform:translateY(-50%);
  transition:left .22s ease,background .15s ease,color .15s ease,box-shadow .15s ease;
}
.sidebar-toggle:hover{background:#fff;color:#111;border-color:#d8d8d8;box-shadow:8px 10px 26px rgba(0,0,0,.12)}
.sidebar-toggle span{display:block;transform:translateX(-1px);transition:transform .22s ease}

/* Shop is a normal Quick Access tile now. */
#v-dashboard .q-shop .ic{background:#111;color:#fff}
#v-dashboard .q-shop:hover{border-color:#111}

@media (min-width:761px){
  .app{transition:grid-template-columns .22s ease}
  .sidenav{transition:transform .22s ease,opacity .18s ease}
  .sidebar-toggle{display:flex;left:76px}
  .app.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr) !important}
  .app.sidebar-collapsed .sidenav{
    transform:translateX(-105%);
    opacity:0;
    pointer-events:none;
  }
  .app.sidebar-collapsed .sidebar-toggle{left:0}
  .app.sidebar-collapsed .sidebar-toggle span{transform:rotate(180deg) translateX(-1px)}
}
@media (min-width:901px) and (max-width:1024px){
  .sidebar-toggle{left:220px}
}
@media (min-width:1025px){
  .sidebar-toggle{left:248px}
}
@media (max-width:760px){
  .sidebar-toggle{display:none !important}
}

/* =====================================================================
   KIVORA v26.3 — Shop collectibles inside Profile Showcase
   Purchased Shop products are real draggable scene layers shared by the
   editor and public Citizen Page.
   ===================================================================== */
.showcase-controls{max-height:calc(100dvh - 104px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.showcase-asset-layer,.citizen-asset-layer{width:16%;max-width:260px}
.showcase-asset-layer img,.citizen-asset-layer img{display:block;width:100%;height:auto;max-width:none!important;max-height:none!important;object-fit:contain;image-rendering:auto!important;filter:drop-shadow(0 8px 7px rgba(0,0,0,.18));pointer-events:none;user-select:none}
.showcase-asset-layer.asset-type-car,.citizen-asset-layer.asset-type-car{width:23%;max-width:280px}
.showcase-asset-layer.asset-type-motorcycle,.citizen-asset-layer.asset-type-motorcycle{width:14%;max-width:180px}
.showcase-asset-layer.asset-type-private_jet,.citizen-asset-layer.asset-type-private_jet{width:32%;max-width:390px}
.showcase-asset-layer.asset-type-yacht,.citizen-asset-layer.asset-type-yacht{width:30%;max-width:370px}
.showcase-asset-layer.asset-type-painting,.citizen-asset-layer.asset-type-painting{width:13%;max-width:160px}
.showcase-asset-layer.asset-type-antique_coin,.citizen-asset-layer.asset-type-antique_coin{width:8%;max-width:105px}
.showcase-asset-layer.asset-type-nft,.citizen-asset-layer.asset-type-nft{width:13%;max-width:165px}
.showcase-selected-item{margin:0 0 12px;border:1px solid #e0e3e6;border-radius:12px;background:#f8f9f9;padding:10px;display:grid;gap:9px}.showcase-selected-item>div:first-child{display:grid;gap:2px}.showcase-selected-item small{font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#8a9096}.showcase-selected-item b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.showcase-layer-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.showcase-layer-actions button{min-height:34px;border:1px solid #d9dde0;border-radius:9px;background:#fff;font:800 9px/1 inherit;cursor:pointer}.showcase-layer-actions .danger{grid-column:1/-1;color:#a11b1b;background:#fff7f7;border-color:#ebcaca}
.showcase-asset-library{margin:15px 0;border-top:1px solid #eceef1;padding-top:14px}.showcase-library-title{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:8px}.showcase-library-title b{font-size:10px}.showcase-library-title span{font-size:8px;color:#8b9199;font-weight:800}.showcase-library-grid{display:grid;gap:7px;max-height:260px;overflow-y:auto;padding-right:2px;overscroll-behavior:contain}.showcase-library-item{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left;border:1px solid #e0e3e6;border-radius:11px;background:#fff;padding:7px;cursor:pointer;min-width:0}.showcase-library-item:hover:not(:disabled){border-color:#111}.showcase-library-item:disabled{cursor:default;opacity:.62;background:#f7f7f6}.showcase-library-item.placed{opacity:.72}.showcase-library-thumb{width:48px;height:42px;border-radius:8px;background:#f0f2f1;display:grid;place-items:center;overflow:hidden}.showcase-library-thumb img{display:block;max-width:94%;max-height:94%;object-fit:contain;pointer-events:none}.showcase-library-copy{display:grid;gap:2px;min-width:0}.showcase-library-copy b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.showcase-library-copy small{font-size:7px;color:#8b9199}.showcase-library-item em{font-style:normal;font-size:7px;font-weight:900;color:#60666c;white-space:nowrap}.showcase-library-empty{border:1px dashed #d9dde0;border-radius:10px;padding:12px;text-align:center;color:#858b91;font-size:9px;line-height:1.45}
@media(max-width:920px){.showcase-controls{max-height:none;overflow:visible}.showcase-library-grid{max-height:320px}}
@media(max-width:680px){.showcase-asset-layer.asset-type-car,.citizen-asset-layer.asset-type-car{width:27%}.showcase-asset-layer.asset-type-motorcycle,.citizen-asset-layer.asset-type-motorcycle{width:17%}.showcase-asset-layer.asset-type-private_jet,.citizen-asset-layer.asset-type-private_jet{width:35%}.showcase-asset-layer.asset-type-yacht,.citizen-asset-layer.asset-type-yacht{width:34%}.showcase-asset-layer.asset-type-painting,.citizen-asset-layer.asset-type-painting{width:16%}.showcase-asset-layer.asset-type-antique_coin,.citizen-asset-layer.asset-type-antique_coin{width:10%}.showcase-asset-layer.asset-type-nft,.citizen-asset-layer.asset-type-nft{width:16%}.showcase-library-item{grid-template-columns:44px minmax(0,1fr) auto}.showcase-library-thumb{width:44px;height:40px}}

/* ============================================================
   v27 — Premium Shop + Profile background parity + slot limits
   ============================================================ */
.premium-nav-item{position:relative}.premium-nav-kc{margin-left:auto;font-size:.5rem!important;font-weight:950;letter-spacing:.08em;padding:3px 6px;border-radius:999px;background:#fff;color:#111}.sidebar-collapsed .premium-nav-kc{display:none}
.premium-shop-app,.premium-shop-shell{width:100%;min-width:0}.premium-shop-shell{display:grid;gap:18px}.premium-shop-hero{display:flex;align-items:end;justify-content:space-between;gap:20px;background:#111;color:#fff;border-radius:24px;padding:24px}.premium-shop-hero h2{font-size:2rem;margin:5px 0 6px}.premium-shop-hero p{margin:0;color:#c9c9c9;max-width:620px}.premium-kc-balance{display:grid;gap:4px;text-align:right;white-space:nowrap}.premium-kc-balance small{font-size:.58rem;letter-spacing:.13em;color:#a8a8a8;font-weight:900}.premium-kc-balance strong{font-size:1.4rem}.premium-section{display:grid;gap:12px}.premium-section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:0 3px}.premium-section-head span{font-size:.58rem;letter-spacing:.13em;font-weight:900;color:#858585}.premium-section-head h3{font-size:1.25rem;margin:3px 0 0}.premium-section-head>small{color:#888;font-weight:800}.premium-bg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.premium-bg-card,.premium-slot-card{border:1.5px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}.premium-bg-card.owned{box-shadow:inset 0 0 0 1px #111}.premium-bg-preview{aspect-ratio:16/7;background:#e7e8e8 center/cover no-repeat}.premium-bg-copy{padding:14px;display:grid;gap:8px}.premium-bg-copy>div:first-child{display:flex;justify-content:space-between;gap:8px}.premium-bg-copy span{font-size:.55rem;letter-spacing:.1em;font-weight:900;color:#777}.premium-bg-copy em{font-style:normal;font-size:.52rem;font-weight:900;background:#111;color:#fff;border-radius:999px;padding:4px 7px}.premium-bg-copy h3{margin:0;font-size:1rem}.premium-bg-copy p{margin:0;color:#777;font-size:.72rem;line-height:1.45}.premium-buy-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:3px}.premium-buy-row b{font-size:.95rem}.premium-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.premium-slot-card{padding:15px;display:grid;gap:8px}.premium-slot-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.premium-slot-head span{font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#777}.premium-slot-head b{font-size:.65rem;background:#f0f0ef;padding:5px 7px;border-radius:999px}.premium-slot-card>strong{font-size:.92rem}.premium-slot-card>p{margin:0;color:#777;font-size:.68rem}.premium-slot-card.maxed{opacity:.68}
.showcase-background-picker{display:grid;gap:6px;margin:12px 0}.showcase-background-picker label{font-size:8px;font-weight:900;color:#262626}.showcase-background-picker select{width:100%;height:42px;border:1px solid #d8dcdf;border-radius:10px;background:#fff;padding:0 10px;font:inherit;font-size:10px;color:#111;outline:none}.showcase-background-picker select:focus{border-color:#111}
.showcase-scene.premium-profile-background,.citizen-showcase.premium-profile-background{background-color:#dfe9ee;background-position:center;background-size:cover;background-repeat:no-repeat}.showcase-scene.premium-profile-background:before,.citizen-showcase.premium-profile-background:before{display:none}.showcase-scene.premium-profile-background .showcase-grid-bg,.citizen-showcase.premium-profile-background .showcase-grid-bg{display:none}.showcase-library-item.slot-full{opacity:.48}
@media(max-width:1100px){.premium-bg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.premium-shop-hero{padding:17px;border-radius:18px;align-items:flex-start}.premium-shop-hero h2{font-size:1.55rem}.premium-shop-hero p{font-size:.72rem}.premium-kc-balance strong{font-size:1rem}.premium-bg-grid,.premium-slot-grid{grid-template-columns:1fr}}


/* ============================================================
   v29 — Kivora Mail / Inbox
   ============================================================ */
.mail-topbar-btn{width:40px;height:36px;border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;place-items:center;position:relative;cursor:pointer;color:#111;flex:0 0 auto}.mail-topbar-btn .ui-icon{width:17px;height:17px}.mail-topbar-btn:hover{background:#111;color:#fff}.mail-unread-badge{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#111;color:#fff;border:2px solid #fff;font:900 8px/14px inherit;box-sizing:border-box}.mail-open{overflow:hidden}.mail-overlay[hidden],.mail-gift-overlay[hidden]{display:none!important;pointer-events:none!important}.mail-overlay{position:fixed;inset:0;z-index:9000}.mail-backdrop{position:absolute;inset:0;background:rgba(10,10,10,.36);backdrop-filter:blur(5px)}.mail-window{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1040px,calc(100vw - 34px));height:min(720px,calc(100dvh - 42px));background:#f5f5f3;border:1px solid rgba(255,255,255,.7);border-radius:24px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.28);display:grid;grid-template-rows:auto minmax(0,1fr)}.mail-window-head{height:76px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #dededb}.mail-window-head small{display:block;font-size:8px;font-weight:950;letter-spacing:.16em;color:#858585}.mail-window-head h2{margin:3px 0 0;font-size:24px}.mail-close{width:38px;height:38px;border-radius:50%;border:1px solid #dadad7;background:#f7f7f5;font-size:23px;line-height:1;cursor:pointer}.mail-window-body{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:0}.mail-list-pane{background:#ededeb;border-right:1px solid #d7d7d4;display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0}.mail-list-toolbar{height:48px;padding:0 14px;display:flex;align-items:center;justify-content:space-between}.mail-list-toolbar b{font-size:9px;letter-spacing:.12em}.mail-list-toolbar span{font-size:9px;color:#747474;font-weight:800}.mail-list{overflow:auto;padding:0 9px 12px;display:grid;align-content:start;gap:6px}.mail-list-item{width:100%;min-width:0;border:1px solid transparent;border-radius:13px;background:transparent;padding:10px;display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:8px;text-align:left;cursor:pointer;color:#111}.mail-list-item:hover{background:#fff}.mail-list-item.active{background:#fff;border-color:#d8d8d5;box-shadow:0 5px 16px rgba(0,0,0,.05)}.mail-dot{width:7px;height:7px;margin-top:4px;border-radius:50%;background:transparent}.mail-list-item.unread .mail-dot{background:#111}.mail-list-copy{display:grid;gap:3px;min-width:0}.mail-list-copy b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-list-item.unread .mail-list-copy b{font-weight:950}.mail-list-copy small{font-size:9px;color:#747474;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-list-copy time{font-size:8px;color:#9a9a96}.mail-gift-mark{width:27px;height:27px;border-radius:9px;background:#111;color:#fff;display:grid;place-items:center}.mail-gift-mark.claimed{background:#d6d6d2;color:#777}.mail-gift-mark .ui-icon{width:13px;height:13px}.mail-empty{padding:28px 16px;text-align:center;color:#8a8a86;display:grid;gap:5px}.mail-empty b{color:#333}.mail-detail{min-width:0;overflow:auto;background:#fff;padding:28px 32px}.mail-detail-empty{height:100%;min-height:320px;display:grid;place-items:center;align-content:center;gap:10px;color:#999}.mail-detail-empty .ui-icon{width:36px;height:36px}.mail-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid #e9e9e6}.mail-detail-head small{font-size:8px;font-weight:950;letter-spacing:.16em;color:#858585}.mail-detail-head h3{font-size:28px;margin:6px 0 7px}.mail-detail-head time{font-size:9px;color:#999}.mail-claimed-pill{font-size:8px;font-weight:950;letter-spacing:.08em;background:#111;color:#fff;border-radius:999px;padding:7px 9px;white-space:nowrap}.mail-letter{padding:22px 0 16px}.mail-letter p{font-size:13px;line-height:1.75;margin:0;max-width:720px;color:#333}.mail-attachment{margin-top:15px;border:1px solid #dededb;border-radius:18px;padding:15px;background:#f7f7f4;display:grid;gap:14px}.mail-attachment-head{display:flex;align-items:center;gap:10px}.mail-attachment-head>span{width:38px;height:38px;border-radius:12px;background:#111;color:#fff;display:grid;place-items:center}.mail-attachment-head .ui-icon{width:17px;height:17px}.mail-attachment-head small{display:block;font-size:7px;letter-spacing:.15em;font-weight:950;color:#81817e}.mail-attachment-head b{font-size:12px}.mail-rewards,.mail-gift-results{display:flex;gap:8px;flex-wrap:wrap}.mail-reward-chip{min-height:42px;border:1px solid #dadad6;border-radius:12px;background:#fff;padding:6px 10px;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:850}.mail-reward-chip b{font-size:7px;letter-spacing:.09em;color:#777}.mail-reward-chip img{width:38px;height:34px;object-fit:contain;border-radius:7px;background:#f0f0ed}.mail-reward-chip i{font-style:normal;width:26px;height:26px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center}.mail-claim-btn{height:45px;border:0;border-radius:12px;background:#111;color:#fff;font:900 11px/1 inherit;cursor:pointer}.mail-claim-btn:hover:not(:disabled){transform:translateY(-1px)}.mail-claim-btn.claimed{background:#d6d6d2;color:#777}.mail-gift-overlay{position:fixed;inset:0;z-index:12000;background:rgba(5,5,5,.72);backdrop-filter:blur(9px);display:grid;place-items:center;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .18s ease,visibility 0s linear .18s}.mail-gift-overlay.play{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s}.mail-gift-stage{position:relative;width:min(560px,calc(100vw - 30px));min-height:500px;display:grid;place-items:center;align-content:center;color:#fff;text-align:center;overflow:hidden}.mail-gift-box{position:relative;width:150px;height:130px;margin-bottom:34px}.mail-gift-body{position:absolute;left:15px;bottom:0;width:120px;height:90px;border-radius:10px;background:#fff;box-shadow:0 16px 45px rgba(0,0,0,.35);overflow:hidden}.mail-gift-body:after{content:'';position:absolute;left:51px;top:0;width:18px;height:100%;background:#111}.mail-gift-body span:after{content:'';position:absolute;left:0;top:32px;width:100%;height:13px;background:#111}.mail-gift-lid{position:absolute;z-index:3;left:7px;bottom:80px;width:136px;height:35px;border-radius:8px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.22);transform-origin:20px 30px}.mail-gift-lid:after{content:'';position:absolute;left:59px;top:0;width:18px;height:100%;background:#111}.mail-gift-overlay.play .mail-gift-lid{animation:mailLid 1s .25s cubic-bezier(.2,.8,.2,1) forwards}.mail-gift-overlay.play .mail-gift-box{animation:mailBox .65s .05s ease both}.mail-gift-copy{opacity:0;transform:translateY(18px);display:grid;gap:11px;justify-items:center}.mail-gift-overlay.play .mail-gift-copy{animation:mailCopy .55s 1.05s ease forwards}.mail-gift-copy small{font-size:9px;font-weight:950;letter-spacing:.18em;color:#c9c9c9}.mail-gift-copy h2{font-size:32px;margin:0}.mail-gift-copy button{margin-top:8px;height:42px;padding:0 28px;border:0;border-radius:999px;background:#fff;color:#111;font-weight:900;cursor:pointer}.mail-gift-results{justify-content:center;max-width:500px}.mail-gift-results .mail-reward-chip{color:#111}.mail-confetti{position:absolute;inset:0;pointer-events:none}.mail-confetti i{position:absolute;left:50%;top:48%;width:7px;height:15px;border-radius:2px;background:#fff;opacity:0;--a:calc(var(--i)*20deg);transform:translate(-50%,-50%) rotate(var(--a)) translateY(-20px)}.mail-gift-overlay.play .mail-confetti i{animation:mailConfetti 1.25s .75s ease-out forwards;animation-delay:calc(.72s + var(--i)*.018s)}.mail-confetti i:nth-child(3n){width:12px;height:5px}.mail-confetti i:nth-child(2n){background:#9f9f9f}@keyframes mailBox{0%{transform:scale(.6) rotate(-5deg);opacity:0}65%{transform:scale(1.08) rotate(2deg);opacity:1}100%{transform:scale(1)}}@keyframes mailLid{0%{transform:rotate(0) translate(0,0)}55%{transform:rotate(-22deg) translate(-26px,-72px)}100%{transform:rotate(-28deg) translate(-42px,-98px);opacity:.18}}@keyframes mailCopy{to{opacity:1;transform:none}}@keyframes mailConfetti{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-35px)}100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-240px) rotate(320deg)}}
@media(max-width:760px){.mail-topbar-btn{width:36px;height:34px}.mail-window{inset:0;transform:none;left:0;top:0;width:100vw;height:100dvh;border-radius:0;border:0}.mail-window-head{height:64px;padding:0 14px}.mail-window-body{grid-template-columns:1fr;grid-template-rows:minmax(0,42%) minmax(0,58%)}.mail-list-pane{border-right:0;border-bottom:1px solid #d7d7d4}.mail-list-toolbar{height:42px}.mail-detail{padding:18px 16px 120px}.mail-detail-head h3{font-size:20px}.mail-letter p{font-size:12px}.mail-gift-stage{min-height:440px}.mail-gift-copy h2{font-size:26px}}

/* ========================================================================== */
/* Kivora Business Management v31 — full-page CEO command center             */
/* ========================================================================== */
body.biz31-open{overflow:hidden!important}
.biz31-command,.biz31-inbox{position:fixed;inset:0;z-index:12020;background:#f5f6f7;color:#17191c;overflow:hidden}
.biz31-command[hidden],.biz31-inbox[hidden]{display:none!important}
.biz31-shell,.biz31-inbox-shell{height:100%;display:flex;flex-direction:column;background:#f5f6f7}
.biz31-top{flex:0 0 auto;min-height:88px;padding:16px clamp(16px,3vw,42px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;background:#fff;border-bottom:1px solid #e4e7ea}
.biz31-back,.biz31-mail-btn,.biz31-global-inbox,.biz31-top button,.biz31-body button,.biz31-inbox button{font:800 11px/1.2 inherit;letter-spacing:.01em;cursor:pointer}
.biz31-back{height:42px;padding:0 15px;border:1px solid #dfe3e7;border-radius:12px;background:#fff;color:#252a30}
.biz31-title{min-width:0}.biz31-title small{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;color:#8a9199;text-transform:uppercase}.biz31-title h1{margin:4px 0 0;font-size:clamp(22px,3vw,34px);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.biz31-mail-btn{height:44px;padding:0 13px;border:0;border-radius:12px;background:#17191c;color:#fff;display:flex;align-items:center;gap:9px}.biz31-mail-btn b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#fff;color:#17191c;font-size:10px}
.biz31-tabs{flex:0 0 auto;padding:10px clamp(16px,3vw,42px);display:flex;gap:7px;overflow-x:auto;background:#fff;border-bottom:1px solid #e5e8eb}.biz31-tabs button{min-width:96px;height:38px;border:1px solid #e2e5e8;border-radius:11px;background:#f6f7f8;color:#666e77}.biz31-tabs button.active{background:#17191c;border-color:#17191c;color:#fff}
.biz31-body{flex:1;overflow:auto;padding:22px clamp(16px,3vw,42px) 70px;max-width:1500px;width:100%;margin:0 auto}.biz31-body h2,.biz31-body h3,.biz31-body p{margin-top:0}
.biz31-loading{height:100%;display:grid;place-items:center;align-content:center;gap:14px;background:#fff}.biz31-loading i{width:34px;height:34px;border-radius:50%;border:3px solid #e5e8eb;border-top-color:#17191c;animation:biz31spin .8s linear infinite}.biz31-loading b{font-size:10px;letter-spacing:.15em}@keyframes biz31spin{to{transform:rotate(360deg)}}
.biz31-error{height:100%;display:grid;place-items:center;align-content:center;gap:18px}.biz31-error button{border:0;background:#17191c;color:#fff;border-radius:12px;padding:12px 18px}.biz31-error strong{max-width:620px;text-align:center;font-size:18px}
.biz31-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:16px;background:#17191c;color:#fff;border-radius:24px;padding:clamp(22px,4vw,42px);box-shadow:0 18px 42px rgba(20,24,29,.10)}.biz31-hero h2{margin:18px 0 3px;font-size:clamp(38px,7vw,72px);line-height:.95;letter-spacing:-.045em}.biz31-hero>div>small{font-size:9px;letter-spacing:.13em;color:#aeb4bc;font-weight:900}.biz31-status{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 9px;border-radius:999px;background:#eef7ef;color:#2d6835;font-size:8px;font-weight:900;letter-spacing:.1em}.biz31-status.attention{background:#fff4dd;color:#8c661e}.biz31-status.critical{background:#ffe8e8;color:#a12f2f}.biz31-hero .biz31-status{background:#2a3037;color:#dfe5eb}.biz31-hero .biz31-status.attention{background:#4b3e23;color:#ffe9b3}.biz31-hero .biz31-status.critical{background:#512d2d;color:#ffd1d1}
.biz31-hero-side{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;align-self:end}.biz31-stat{min-width:0;border:1px solid #e2e5e8;background:#fff;border-radius:15px;padding:14px}.biz31-stat small{display:block;color:#828a93;font-size:8px;letter-spacing:.07em;font-weight:800;text-transform:uppercase}.biz31-stat strong{display:block;margin-top:6px;font-size:clamp(15px,2.2vw,22px);overflow:hidden;text-overflow:ellipsis}.biz31-stat.good{background:#f3faf4;border-color:#dcecdf}.biz31-stat.neg{background:#fff4f4;border-color:#efd5d5;color:#a32929}.biz31-hero-side .biz31-stat{background:#23292f;border-color:#30373e;color:#fff}.biz31-hero-side .biz31-stat small{color:#aab1b8}
.biz31-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0}.biz31-section{margin-top:16px;border:1px solid #e1e4e7;border-radius:20px;background:#fff;padding:18px}.biz31-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.biz31-section-head small,.biz31-page-head small,.biz31-manager-card>small,.biz31-auto-card>small,.biz31-control-card>small,.biz31-resource-card>small,.biz31-report header small,.biz31-tax small,.biz31-recruit>small{display:block;font-size:8px;font-weight:900;letter-spacing:.13em;color:#858d95;text-transform:uppercase}.biz31-section-head h3{margin:4px 0 0;font-size:21px}.biz31-section-head button,.biz31-manager-card button,.biz31-auto-card button{border:0;background:#17191c;color:#fff;border-radius:10px;padding:10px 13px}
.biz31-attention-list{display:grid;gap:8px;margin-top:13px}.biz31-attention-list button{display:grid;grid-template-columns:1fr auto;gap:3px 10px;text-align:left;border:1px solid #e4e7ea;background:#fafbfc;border-radius:13px;padding:13px;color:#17191c}.biz31-attention-list button span{font-size:13px;font-weight:900}.biz31-attention-list button small{grid-column:1;color:#818891;font-size:9px}.biz31-attention-list button b{grid-column:2;grid-row:1/3;align-self:center;font-size:19px}.biz31-all-good{margin-top:14px;min-height:80px;display:flex;align-items:center;gap:13px;padding:16px;background:#f7f9f7;border:1px solid #e3ebe4;border-radius:14px}.biz31-all-good b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e2f0e4;color:#286b34}.biz31-all-good span{font-size:14px;font-weight:800}
.biz31-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:15px}.biz31-manager-card,.biz31-auto-card,.biz31-control-card,.biz31-resource-card{border:1px solid #e0e4e7;border-radius:20px;background:#fff;padding:18px}.biz31-manager-card h3,.biz31-auto-card h3,.biz31-control-card h3,.biz31-resource-card h3{font-size:24px;margin:7px 0 5px}.biz31-manager-card p,.biz31-auto-card p,.biz31-control-card p,.biz31-resource-card p{color:#727a83;font-size:11px;line-height:1.45}.biz31-manager-card>div{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:8px;margin:14px 0;font-size:9px}.biz31-auto-card ul{list-style:none;margin:12px 0;padding:0;display:grid;gap:6px}.biz31-auto-card li{font-size:10px;color:#535b64}
.biz31-note{margin-top:12px;padding:15px 16px;border-radius:14px;background:#f6f7f8;border-left:4px solid #17191c}.biz31-note b{font-size:8px;letter-spacing:.1em}.biz31-note p{margin:7px 0 0;font-size:13px;line-height:1.55;color:#424951}
.biz31-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:2px 2px 16px}.biz31-page-head h2{margin:5px 0 0;font-size:34px}.biz31-page-head p{margin:5px 0 0;color:#737b84;font-size:11px}.biz31-page-head button.primary,.biz31-fin-actions button{border:0;background:#17191c;color:#fff;padding:12px 16px;border-radius:11px}
.biz31-dept-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:13px}.biz31-dept{text-align:left;border:1px solid #e0e4e7;border-radius:14px;background:#fff;padding:13px;color:#17191c}.biz31-dept.active{border-color:#17191c;box-shadow:inset 0 0 0 1px #17191c}.biz31-dept small,.biz31-dept span{display:block;font-size:8px;color:#7f8790}.biz31-dept strong{display:block;font-size:25px;margin:5px 0}
.biz31-worker-list{display:grid;gap:9px}.biz31-worker{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(170px,.28fr);gap:14px;align-items:center;border:1px solid #e1e4e8;border-radius:16px;background:#fff;padding:13px}.biz31-worker .worker-sprite-canvas{width:48px;height:72px;image-rendering:pixelated}.biz31-worker-main>small{font-size:8px;color:#858c95;font-weight:900;letter-spacing:.08em}.biz31-worker-main h3{margin:4px 0 3px;font-size:16px}.biz31-worker-main p{margin:0;color:#707881;font-size:10px}.biz31-worker-bars{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px}.biz31-worker-bars span{font-size:8px;color:#79818a}.biz31-worker-bars b{color:#22272d}.biz31-worker-actions{display:grid;gap:8px}.biz31-worker-actions label{font-size:8px;color:#78808a}.biz31-worker-actions select{width:100%;margin-top:4px;border:1px solid #d9dde1;border-radius:9px;background:#fafbfc;padding:9px;font:700 9px/1.2 inherit}.biz31-worker-actions button{border:1px solid #eccaca;background:#fff5f5;color:#a53333;border-radius:9px;padding:8px}
.biz31-recruit{margin-top:16px;padding:18px;border:1px solid #dde2e6;border-radius:18px;background:#fff}.biz31-recruit h3{font-size:16px;margin:5px 0 12px}.biz31-recruit-actions{display:grid;grid-template-columns:1fr auto;gap:9px}.biz31-recruit select{border:1px solid #d9dde1;border-radius:10px;padding:11px;background:#fafbfc;font:700 10px/1.2 inherit}.biz31-recruit button,.biz31-candidate-grid button{border:0;border-radius:10px;background:#17191c;color:#fff;padding:11px 14px}.biz31-candidate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.biz31-candidate-grid article{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #e3e6e9;border-radius:12px;padding:12px}.biz31-candidate-grid h3{margin:0 0 3px;font-size:13px}.biz31-candidate-grid p,.biz31-candidate-grid small{margin:0;font-size:9px;color:#777f88}
.biz31-price-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.biz31-price-buttons button{border:1px solid #dde1e5;background:#f8f9fa;border-radius:9px;padding:9px 11px;color:#58616a}.biz31-price-buttons button.active{background:#17191c;color:#fff;border-color:#17191c}.biz31-strategy-list{display:grid;gap:7px;margin-top:8px}.biz31-strategy-list button{text-align:left;border:1px solid #e1e4e7;background:#f8f9fa;border-radius:11px;padding:10px;color:#2a3036}.biz31-strategy-list button.active{border-color:#17191c;background:#fff;box-shadow:inset 0 0 0 1px #17191c}.biz31-strategy-list b{display:block}.biz31-strategy-list small{display:block;margin-top:3px;color:#7d858d;font-size:8px}.biz31-bar{height:9px;border-radius:99px;background:#eaedf0;overflow:hidden;margin:12px 0}.biz31-bar i{display:block;height:100%;background:#252a30;border-radius:inherit}.biz31-inline-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.biz31-inline-actions button,.biz31-resource-card>button,.biz31-wide-action,.biz31-fleet-grid button{border:1px solid #dce1e5;background:#fff;border-radius:9px;padding:9px 11px;color:#2b3137}.biz31-inline-actions button:first-child,.biz31-resource-card>button{background:#17191c;color:#fff;border-color:#17191c}.biz31-wide-action{width:100%;margin-top:9px;background:#17191c;color:#fff!important;border-color:#17191c!important}.biz31-wide-action.secondary{background:#fff;color:#17191c!important}.biz31-fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.biz31-fleet-grid article{border:1px solid #e1e4e8;border-radius:12px;padding:12px}.biz31-fleet-grid h3{font-size:12px;margin:0 0 4px}.biz31-fleet-grid p{font-size:8px;color:#78818a}.biz31-fleet-grid b{display:block;margin-bottom:8px;font-size:11px}
.biz31-fin-actions{display:flex;gap:7px;flex-wrap:wrap}.biz31-fin-actions button:nth-child(n+2){background:#fff;color:#17191c;border:1px solid #dce0e4}.biz31-report{border:1px solid #dfe3e7;border-radius:20px;background:#fff;padding:18px}.biz31-report header h3{margin:5px 0 0;font-size:20px}.biz31-report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.biz31-tax{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;border:1px solid #e1e4e7;border-radius:18px;background:#fff;padding:18px}.biz31-tax h3{font-size:26px;margin:5px 0 2px}.biz31-tax p{margin:0;color:#7a828b;font-size:9px}.biz31-tax button{border:0;border-radius:10px;background:#17191c;color:#fff;padding:11px 14px}
.biz31-policy{display:grid;gap:12px}.biz31-policy fieldset{border:1px solid #e0e4e7;border-radius:18px;background:#fff;padding:16px}.biz31-policy legend{padding:0 6px;font-size:8px;font-weight:900;letter-spacing:.12em;color:#7d858e}.biz31-style-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.biz31-style-grid.three{grid-template-columns:repeat(3,1fr)}.biz31-style-grid label{position:relative;border:1px solid #e0e4e8;border-radius:11px;padding:13px;text-align:center;cursor:pointer}.biz31-style-grid label.active{background:#17191c;color:#fff;border-color:#17191c}.biz31-style-grid input{position:absolute;opacity:0;pointer-events:none}.biz31-style-grid b{font-size:10px}.biz31-switch{display:flex;align-items:center;gap:9px;width:max-content;margin-bottom:13px}.biz31-switch input{position:absolute;opacity:0}.biz31-switch span{width:38px;height:22px;border-radius:99px;background:#cfd4d9;padding:3px;transition:.2s}.biz31-switch span:before{content:"";display:block;width:16px;height:16px;background:#fff;border-radius:50%;transition:.2s}.biz31-switch input:checked+span{background:#17191c}.biz31-switch input:checked+span:before{transform:translateX(16px)}.biz31-switch b{font-size:9px}.biz31-policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.biz31-policy-grid label{position:relative;font-size:8px;color:#747d86}.biz31-policy-grid input{width:100%;margin-top:5px;border:1px solid #d9dde1;border-radius:10px;padding:10px 34px 10px 10px;font:800 11px/1 inherit}.biz31-policy-grid i{position:absolute;right:10px;bottom:11px;font-style:normal;font-size:8px;color:#7d858e}.biz31-save{height:48px;border:0;border-radius:12px;background:#17191c;color:#fff;font-size:11px;font-weight:900;letter-spacing:.08em}
.biz31-empty{padding:30px;text-align:center;border:1px dashed #d7dce1;border-radius:14px;color:#7a828b;background:#fafbfc}
.biz31-global-inbox{min-height:88px;border:1px solid #dce1e5;border-radius:15px;background:#17191c;color:#fff;padding:12px 15px;display:flex;justify-content:center;align-items:center;gap:9px}.biz31-global-inbox b{display:grid;place-items:center;min-width:25px;height:25px;border-radius:50%;background:#fff;color:#17191c}.biz31-global-inbox span{font-size:11px}
/* Business Inbox */
.biz31-inbox-shell>header{min-height:82px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px clamp(16px,3vw,36px);background:#17191c;color:#fff}.biz31-inbox-shell>header>button{border:1px solid #3a4148;background:#22282e;color:#fff;border-radius:10px;padding:10px 13px}.biz31-inbox-shell>header small{font-size:8px;color:#9fa6ad;letter-spacing:.13em}.biz31-inbox-shell>header h2{margin:3px 0 0;font-size:25px}.biz31-inbox-shell>header>b{font-size:10px;padding:8px 10px;border-radius:999px;background:#fff;color:#17191c}.biz31-inbox-shell>nav{display:flex;gap:7px;padding:10px clamp(16px,3vw,36px);background:#fff;border-bottom:1px solid #e4e7ea}.biz31-inbox-shell>nav button{border:1px solid #e0e4e8;background:#f6f7f8;border-radius:9px;padding:9px 12px;color:#626a73}.biz31-inbox-shell>nav button.active{background:#17191c;color:#fff;border-color:#17191c}.biz31-inbox-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(300px,.42fr) minmax(0,1fr);overflow:hidden}.biz31-inbox-body>aside{overflow:auto;border-right:1px solid #e2e5e8;background:#fff;padding:10px}.biz31-inbox-body>article{overflow:auto;padding:clamp(18px,4vw,48px);background:#f5f6f7}.biz31-mail-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;text-align:left;border:1px solid transparent;border-radius:12px;background:#fff;padding:12px;color:#252a30}.biz31-mail-row:hover,.biz31-mail-row.active{background:#f5f7f8;border-color:#e0e4e7}.biz31-mail-row.unread strong{font-weight:1000}.biz31-mail-dot{width:9px;height:9px;border-radius:50%;background:#aab1b8;margin-top:4px}.biz31-mail-dot.decision{background:#c24848}.biz31-mail-dot.report{background:#4875ad}.biz31-mail-dot.warning{background:#c28a35}.biz31-mail-row small{display:block;color:#838b94;font-size:8px}.biz31-mail-row strong{display:block;margin:3px 0;font-size:11px}.biz31-mail-row p{margin:0;color:#707982;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.biz31-mail-row>b{align-self:center;color:#b33b3b}.biz31-mail-detail{max-width:800px;margin:0 auto;border:1px solid #dfe3e7;border-radius:20px;background:#fff;padding:clamp(20px,4vw,38px)}.biz31-mail-detail>small{font-size:8px;font-weight:900;letter-spacing:.12em;color:#858d95}.biz31-mail-detail>h1{margin:7px 0 18px;font-size:clamp(26px,4vw,42px);line-height:1.08}.biz31-mail-from{display:flex;gap:10px;align-items:center;padding-bottom:14px;border-bottom:1px solid #eceff1}.biz31-mail-from b{font-size:12px}.biz31-mail-from span{font-size:9px;color:#7a828b}.biz31-mail-detail>p{font-size:15px;line-height:1.65;color:#3f464e;margin:22px 0}.biz31-decision-data{display:flex;justify-content:space-between;align-items:center;background:#f6f7f8;border-radius:13px;padding:14px;margin:13px 0}.biz31-decision-data small{font-size:8px;color:#7c848d}.biz31-decision-data strong{font-size:17px}.biz31-decision-actions{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px;margin-top:18px}.biz31-decision-actions button{border:1px solid #dce1e5;background:#fff;border-radius:11px;padding:12px;color:#3b434b}.biz31-decision-actions .primary{background:#17191c;color:#fff;border-color:#17191c}.biz31-decision-actions .secondary{background:#f6f7f8}.biz31-mail-resolved{font-size:10px;font-weight:900;color:#397046}.biz31-open-company{width:100%;margin-top:20px;border:1px solid #dde1e5;background:#fff;border-radius:11px;padding:11px;color:#2f363d}
@media(max-width:900px){.biz31-hero{grid-template-columns:1fr}.biz31-hero-side{grid-template-columns:repeat(3,1fr)}.biz31-kpis,.biz31-dept-grid{grid-template-columns:repeat(2,1fr)}.biz31-two{grid-template-columns:1fr}.biz31-report-grid{grid-template-columns:repeat(2,1fr)}.biz31-fleet-grid{grid-template-columns:repeat(2,1fr)}.biz31-worker{grid-template-columns:auto 1fr}.biz31-worker-actions{grid-column:1/-1;grid-template-columns:1fr auto}.biz31-inbox-body{grid-template-columns:minmax(260px,.45fr) 1fr}.biz31-policy-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.biz31-top{min-height:70px;padding:10px 12px;grid-template-columns:auto 1fr auto;gap:8px}.biz31-back{width:40px;padding:0;font-size:0}.biz31-back:before{content:"←";font-size:18px}.biz31-title small{font-size:7px}.biz31-title h1{font-size:18px}.biz31-mail-btn{width:42px;padding:0;justify-content:center;font-size:0}.biz31-mail-btn:before{content:"✉";font-size:16px}.biz31-mail-btn b{position:absolute;transform:translate(12px,-12px);min-width:18px;height:18px;font-size:8px}.biz31-tabs{padding:7px 10px}.biz31-tabs button{min-width:80px;height:34px;font-size:9px}.biz31-body{padding:14px 12px 50px}.biz31-hero{border-radius:18px;padding:20px}.biz31-hero h2{font-size:44px}.biz31-hero-side{grid-template-columns:repeat(3,1fr)}.biz31-hero-side .biz31-stat{padding:10px}.biz31-kpis{grid-template-columns:1fr 1fr}.biz31-stat{padding:12px}.biz31-page-head{align-items:flex-start;flex-direction:column}.biz31-page-head h2{font-size:28px}.biz31-dept-grid{grid-template-columns:1fr 1fr}.biz31-worker{grid-template-columns:auto 1fr;padding:11px}.biz31-worker-actions{grid-template-columns:1fr}.biz31-candidate-grid{grid-template-columns:1fr}.biz31-recruit-actions{grid-template-columns:1fr}.biz31-style-grid{grid-template-columns:1fr 1fr}.biz31-style-grid.three{grid-template-columns:1fr}.biz31-policy-grid{grid-template-columns:1fr}.biz31-report-grid{grid-template-columns:1fr 1fr}.biz31-fin-actions{width:100%}.biz31-fin-actions button{flex:1}.biz31-inbox-shell>header{grid-template-columns:auto 1fr;padding:10px 12px}.biz31-inbox-shell>header>b{grid-column:1/-1;justify-self:start}.biz31-inbox-shell>nav{padding:7px 10px}.biz31-inbox-body{grid-template-columns:1fr}.biz31-inbox-body>aside{border-right:0}.biz31-inbox-body>article{display:none}.biz31-mail-row.active+*{}.biz31-inbox.show-detail .biz31-inbox-body>aside{display:none}.biz31-inbox.show-detail .biz31-inbox-body>article{display:block;padding:12px}.biz31-mail-detail{border-radius:15px;padding:18px}.biz31-mail-detail>h1{font-size:25px}.biz31-decision-actions{grid-template-columns:1fr}.biz31-fleet-grid{grid-template-columns:1fr}.biz31-global-inbox{min-height:48px}}
/* v31.0.1 polish: hierarchy + report cards + mobile inbox detail navigation */
.biz31-dept em{display:block;margin-top:5px;font-style:normal;font-size:7px;color:#8a929a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.biz31-reports-to{display:block!important;margin-top:4px!important;color:#8a929a!important;font-size:7px!important;letter-spacing:.01em!important;text-transform:none!important}
.biz31-detail-back{display:none;border:0;background:transparent;color:#555f68;padding:0 0 14px;font:800 9px/1 inherit;cursor:pointer}
.biz31-mail-report{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 4px}
.biz31-mail-report>div{border:1px solid #e1e5e8;border-radius:12px;background:#f8f9fa;padding:12px}
.biz31-mail-report small{display:block;font-size:7px;letter-spacing:.08em;color:#7b848c;font-weight:900}
.biz31-mail-report b{display:block;margin-top:5px;font-size:14px;color:#242a30}
.biz31-mail-report .net{background:#17191c;border-color:#17191c}.biz31-mail-report .net small{color:#aeb5bc}.biz31-mail-report .net b{color:#fff}
.biz31-decision-data>div{display:grid;gap:4px}.biz31-decision-data>span{font-size:9px;color:#69727b}.biz31-decision-data>span b{color:#20262b}
@media(max-width:620px){.biz31-mail-btn:before{content:"BIZ";font-size:8px;font-weight:950;letter-spacing:.04em}.biz31-detail-back{display:inline-flex}.biz31-mail-report{grid-template-columns:1fr}.biz31-mail-report b{font-size:16px}}
.biz31-level-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #dfe3e6;background:#fff;border-radius:18px;padding:16px 18px;margin-bottom:12px}.biz31-level-card small{font-size:7px;font-weight:950;letter-spacing:.11em;color:#808890}.biz31-level-card h3{font-size:25px;margin:4px 0 2px}.biz31-level-card h3 span{font-size:12px;color:#969da4}.biz31-level-card p{font-size:9px;color:#777f87;margin:0}.biz31-level-card button{border:0;border-radius:11px;background:#17191c;color:#fff;padding:12px 14px;font-weight:900;font-size:9px}.biz31-level-card>b{font-size:10px;color:#8b939a}
@media(max-width:620px){.biz31-level-card{align-items:flex-start;flex-direction:column}.biz31-level-card button{width:100%;min-height:44px}}
.biz31-dept em.warn{color:#a45b31}.biz31-dept>i{display:inline-block;margin-top:5px;padding:3px 5px;border-radius:6px;background:#fff0e8;color:#9a4d2d;font-style:normal;font-size:6px;font-weight:950;letter-spacing:.05em}

/* ============================================================
   v31.1 — Business UI response + MY/EN parity
   ============================================================ */
.biz31-top-actions,.biz31-inbox-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}
.biz31-lang-toggle{display:inline-grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border:1px solid #dfe3e7;border-radius:11px;background:#f3f5f6;flex:0 0 auto}
.biz31-lang-toggle button{min-width:38px;height:36px!important;padding:0 8px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#737b84!important;font-size:9px!important;font-weight:950!important;letter-spacing:.05em!important;transition:background .14s ease,color .14s ease,transform .08s ease!important}
.biz31-lang-toggle button.active{background:#17191c!important;color:#fff!important;box-shadow:0 2px 7px rgba(0,0,0,.12)}
.biz31-lang-toggle button:active,.biz31-style-grid label:active,.biz31-policy button:active{transform:scale(.97)}
.biz31-policy-head{align-items:center}
.biz31-policy-state{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border-radius:999px;font-size:9px;font-weight:950;letter-spacing:.06em;border:1px solid #dce2df;background:#f3f8f4;color:#2f6b3b;transition:.18s ease}
.biz31-policy-state.dirty{border-color:#ead7aa;background:#fff7df;color:#8b6518;box-shadow:0 0 0 3px rgba(227,184,72,.08)}
.biz31-policy fieldset{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.biz31-policy legend{font-size:10px;line-height:1.2}
.biz31-style-grid label{min-height:54px;display:flex;align-items:center;justify-content:center;transition:background .14s ease,color .14s ease,border-color .14s ease,transform .08s ease,box-shadow .14s ease;user-select:none}
.biz31-style-grid label:hover{border-color:#abb2b9;background:#fafbfc}
.biz31-style-grid label.active{background:#17191c!important;color:#fff!important;border-color:#17191c!important;box-shadow:0 5px 14px rgba(23,25,28,.16)}
.biz31-style-grid label.active:after{content:"✓";position:absolute;right:8px;top:7px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#fff;color:#17191c;font-size:9px;font-weight:1000}
.biz31-style-grid b{font-size:11px;letter-spacing:.015em}
.biz31-switch{min-height:38px;cursor:pointer;user-select:none}
.biz31-switch span{width:46px;height:26px;padding:3px;box-sizing:border-box;box-shadow:inset 0 0 0 1px rgba(0,0,0,.03)}
.biz31-switch span:before{width:20px;height:20px;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.biz31-switch input:checked+span:before{transform:translateX(20px)}
.biz31-switch b{min-width:42px;font-size:10px;transition:color .15s ease}
.biz31-switch.active b{color:#17191c}
.biz31-policy-grid{gap:10px}
.biz31-policy-grid label{font-size:10px;font-weight:750;color:#616a73}
.biz31-policy-grid input{min-height:44px;margin-top:7px;font-size:13px;padding:10px 38px 10px 12px;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}
.biz31-policy-grid input:focus{outline:0;border-color:#17191c;box-shadow:0 0 0 3px rgba(23,25,28,.08);background:#fff}
.biz31-policy-grid i{bottom:15px;font-size:9px}
.biz31-save{min-height:52px;font-size:12px;transition:background .15s ease,color .15s ease,opacity .15s ease,transform .08s ease,box-shadow .15s ease}
.biz31-save.dirty{background:#17191c;color:#fff;box-shadow:0 8px 20px rgba(23,25,28,.12)}
.biz31-save.saved,.biz31-save:disabled{background:#e8ece9;color:#55705b;cursor:default;opacity:1;box-shadow:none}
.biz31-policy.is-dirty .biz31-save.dirty{animation:biz31SaveNudge .22s ease-out}
@keyframes biz31SaveNudge{0%{transform:translateY(2px)}100%{transform:translateY(0)}}
.biz31-body button,.biz31-tabs button,.biz31-mail-row{transition:transform .08s ease,background .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease}
.biz31-body button:active,.biz31-tabs button:active,.biz31-mail-row:active{transform:scale(.98)}
.biz31-inbox-head-actions>b{font-size:10px;padding:8px 10px;border-radius:999px;background:#fff;color:#17191c;white-space:nowrap}

@media(max-width:760px){
 .biz31-top{gap:9px}
 .biz31-top-actions{gap:6px}
 .biz31-lang-toggle button{min-width:34px;height:34px!important;padding:0 6px!important}
 .biz31-policy-state{align-self:flex-start}
}
@media(max-width:620px){
 .biz31-top{grid-template-columns:auto minmax(0,1fr) auto}
 .biz31-top-actions{flex-direction:column-reverse;align-items:flex-end;gap:5px}
 .biz31-top-actions .biz31-lang-toggle{padding:2px;border-radius:8px}
 .biz31-top-actions .biz31-lang-toggle button{min-width:28px;height:25px!important;border-radius:6px!important;font-size:8px!important}
 .biz31-policy-head{gap:9px}
 .biz31-policy-head h2{font-size:27px}
 .biz31-policy-head p{font-size:12px;line-height:1.45}
 .biz31-policy-state{font-size:8px;min-height:30px}
 .biz31-policy fieldset{padding:14px 12px}
 .biz31-style-grid label{min-height:50px;padding:10px 8px}
 .biz31-style-grid b{font-size:10px}
 .biz31-policy-grid input{min-height:46px;font-size:14px}
 .biz31-save{position:sticky;bottom:8px;z-index:4;min-height:54px;border:1px solid rgba(255,255,255,.55)}
 .biz31-inbox-shell>header{grid-template-columns:auto minmax(0,1fr) auto!important}
 .biz31-inbox-head-actions{flex-direction:column-reverse;align-items:flex-end;gap:5px}
 .biz31-inbox-head-actions>b{font-size:8px;padding:6px 8px}
 .biz31-inbox-head-actions .biz31-lang-toggle{padding:2px;border-color:#3c434a;background:#252b31}
 .biz31-inbox-head-actions .biz31-lang-toggle button{min-width:28px;height:25px!important;border-radius:6px!important;font-size:8px!important;color:#aeb5bc!important}
 .biz31-inbox-head-actions .biz31-lang-toggle button.active{background:#fff!important;color:#17191c!important}
}
@media(max-width:390px){
 .biz31-style-grid{grid-template-columns:1fr!important}
 .biz31-top-actions .biz31-mail-btn{width:38px}
}

/* ============================================================
   v31.1.2 — Business readability + overlap safety
   Larger money/action typography and robust bulk-withdraw layout.
   ============================================================ */

/* Main Business Empire header: easier to scan from desktop/mobile. */
.biz23-hero-copy h3{font-size:clamp(27px,2.4vw,34px);line-height:1.08;margin:10px 0 8px}
.biz23-hero-copy p{font-size:13px;line-height:1.55;max-width:820px}
.biz23-hero-copy>span{min-height:26px;padding:0 10px;font-size:9px!important}
.biz23-head-card{padding:16px 17px}
.biz23-cap small,.biz23-cap em{font-size:11px}
.biz23-head-value strong{font-size:32px}
.biz23-cap i{height:9px;margin-top:11px}
.biz23-tax-head{padding:16px 17px}
.biz23-tax-head small{font-size:10px}
.biz23-tax-head strong{font-size:25px;line-height:1.12;margin-top:2px}
.biz23-tax-head span{font-size:10px;line-height:1.35}
.biz23-tax-head .btn{min-height:40px;font-size:11px;padding:9px 14px}

/* Primary entry actions should look like actions, not tiny labels. */
.biz23-new-license{min-height:72px!important;font-size:16px!important;font-weight:900!important;border-radius:16px!important;padding:14px 20px!important}
.biz23-new-license span{font-size:23px!important}

/* Bulk withdrawal: card always owns its controls; nothing may spill over it. */
.biz23-bulk-withdraw{
  width:100%;min-width:0;box-sizing:border-box;overflow:hidden;
  padding:17px 18px;border-radius:16px;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
  gap:18px;
}
.biz23-bulk-copy{align-self:center}
.biz23-bulk-copy small{font-size:9px;line-height:1.25}
.biz23-bulk-copy strong{font-size:16px;line-height:1.2;margin:5px 0 6px}
.biz23-bulk-copy span{font-size:11px;line-height:1.45;max-width:410px}
.biz23-bulk-controls{
  min-width:0;width:100%;box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(105px,.72fr) minmax(205px,1.3fr) minmax(165px,.95fr) minmax(165px,auto);
  gap:10px;align-items:end;
}
.biz23-bulk-controls label{min-width:0;font-size:10px}
.biz23-percent-input{height:48px;margin-top:6px;border-radius:12px}
.biz23-percent-input input{font-size:15px;padding-left:13px}
.biz23-percent-input span{font-size:12px;padding-right:12px}
.biz23-bulk-presets{min-width:0;height:48px;display:grid;grid-template-columns:repeat(4,minmax(48px,1fr));gap:6px}
.biz23-bulk-presets button{width:100%;min-width:0;height:48px;border-radius:11px;font-size:12px}
.biz23-bulk-estimate{min-width:0;height:48px;border-radius:12px;padding:7px 11px}
.biz23-bulk-estimate small{font-size:8px}
.biz23-bulk-estimate strong{font-size:14px;overflow:visible;text-overflow:clip}
.biz23-bulk-button{width:100%;min-width:165px;height:48px;border-radius:12px;padding:0 18px;font-size:13px!important;font-weight:900!important}

/* Business cards + action buttons. */
.biz23-card-head h3{font-size:19px}
.biz23-card-head p{font-size:10px}
.biz23-net{font-size:20px!important}
.biz23-buttons .btn{min-height:44px;padding:11px 14px!important;font-size:11px!important}

/* Full company page level / upgrade card. */
.biz31-level-card{padding:20px 22px;gap:22px;min-height:104px;box-sizing:border-box}
.biz31-level-card small{font-size:9px}
.biz31-level-card h3{font-size:31px;line-height:1;margin:6px 0 5px}
.biz31-level-card h3 span{font-size:14px}
.biz31-level-card p{font-size:11px;line-height:1.45}
.biz31-level-card button{
  flex:0 0 auto;min-width:245px;min-height:54px;
  padding:14px 20px;border-radius:13px;
  font-size:13px;line-height:1.25;white-space:normal;text-align:center;
}
.biz31-level-card>b{font-size:12px}

/* Generic important monetary values on business screens. */
.biz31-finance-hero strong,.biz31-report-grid strong,.biz31-tax strong{font-variant-numeric:tabular-nums}

/* Tablet: deliberately stack bulk copy and controls before they can collide. */
@media(max-width:1250px){
  .biz23-bulk-withdraw{grid-template-columns:1fr}
  .biz23-bulk-copy span{max-width:none}
  .biz23-bulk-controls{grid-template-columns:minmax(105px,.7fr) minmax(205px,1.3fr) minmax(155px,1fr) minmax(165px,1fr)}
}
@media(max-width:900px){
  .biz23-bulk-controls{grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr)}
  .biz23-bulk-estimate{grid-column:1/2}
  .biz23-bulk-button{grid-column:2/3}
  .biz31-level-card button{min-width:210px}
}
@media(max-width:620px){
  .biz23-header{padding:16px!important}
  .biz23-hero-copy h3{font-size:25px}
  .biz23-hero-copy p{font-size:12px}
  .biz23-head-stats{grid-template-columns:1fr!important}
  .biz23-head-tools{grid-template-columns:1fr!important}
  .biz23-new-license{min-height:56px!important;font-size:14px!important}
  .biz23-bulk-withdraw{padding:15px}
  .biz23-bulk-copy strong{font-size:17px}
  .biz23-bulk-copy span{font-size:12px}
  .biz23-bulk-controls{grid-template-columns:1fr;gap:9px}
  .biz23-bulk-controls label,.biz23-bulk-presets,.biz23-bulk-estimate,.biz23-bulk-button{grid-column:1!important;width:100%}
  .biz23-bulk-presets{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible!important}
  .biz23-bulk-button{min-width:0;height:52px;font-size:14px!important}
  .biz23-percent-input,.biz23-bulk-estimate{height:50px}
  .biz31-level-card{padding:18px;gap:14px}
  .biz31-level-card h3{font-size:29px}
  .biz31-level-card p{font-size:12px}
  .biz31-level-card button{width:100%;min-width:0;min-height:56px;font-size:14px}
}

/* ======================================================================
   v31.1.3 — Business bulk withdrawal layout hotfix
   Business Inbox is injected as the first tool button, so the bulk card
   must explicitly span the whole tool row. Keep every control visible.
   ====================================================================== */
@media (min-width:1001px){
  .biz23-head-tools{
    grid-template-columns:minmax(220px,.28fr) minmax(0,1fr)!important;
    align-items:stretch;
  }
  .biz31-global-inbox{
    grid-column:1;
    grid-row:1;
    min-width:0;
  }
  .biz23-new-license{
    grid-column:2;
    grid-row:1;
    min-width:0;
  }
  .biz23-bulk-withdraw{
    grid-column:1 / -1;
    grid-row:2;
  }
}

/* Full-width withdrawal card: copy on top, controls below. This avoids
   squeezing controls when translations or RM values become longer. */
.biz23-bulk-withdraw{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  padding:18px!important;
}
.biz23-bulk-copy{
  width:100%;
  margin:0 0 14px;
}
.biz23-bulk-copy strong{
  font-size:18px!important;
  line-height:1.2!important;
}
.biz23-bulk-copy span{
  max-width:720px!important;
  font-size:12px!important;
  line-height:1.45!important;
}
.biz23-bulk-controls{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(125px,.65fr) minmax(260px,1.25fr) minmax(190px,.9fr) minmax(190px,.9fr)!important;
  gap:10px!important;
  align-items:end!important;
  box-sizing:border-box!important;
}
.biz23-bulk-controls > *{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.biz23-bulk-controls label{display:block!important;font-size:11px!important}
.biz23-percent-input,.biz23-bulk-estimate{height:52px!important}
.biz23-percent-input input{font-size:16px!important}
.biz23-bulk-presets{height:52px!important;display:grid!important;grid-template-columns:repeat(4,minmax(52px,1fr))!important;gap:7px!important;overflow:visible!important}
.biz23-bulk-presets button{height:52px!important;font-size:13px!important}
.biz23-bulk-estimate{justify-content:center!important;padding:7px 12px!important}
.biz23-bulk-estimate small{font-size:9px!important}
.biz23-bulk-estimate strong{font-size:15px!important;white-space:nowrap!important}
.biz23-bulk-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:52px!important;
  height:52px!important;
  padding:0 18px!important;
  font-size:14px!important;
  white-space:nowrap!important;
  visibility:visible!important;
  opacity:1!important;
}

@media(max-width:1100px){
  .biz23-bulk-controls{
    grid-template-columns:minmax(120px,.7fr) minmax(230px,1.3fr) minmax(170px,1fr) minmax(180px,1fr)!important;
  }
}
@media(max-width:900px){
  .biz23-bulk-controls{
    grid-template-columns:minmax(120px,.65fr) minmax(250px,1.35fr)!important;
  }
  .biz23-bulk-estimate{grid-column:1!important}
  .biz23-bulk-button{grid-column:2!important}
}
@media(max-width:620px){
  .biz23-bulk-withdraw{padding:15px!important}
  .biz23-bulk-copy{margin-bottom:12px}
  .biz23-bulk-controls{grid-template-columns:1fr!important;gap:9px!important}
  .biz23-bulk-controls label,.biz23-bulk-presets,.biz23-bulk-estimate,.biz23-bulk-button{
    grid-column:1!important;
    width:100%!important;
  }
  .biz23-bulk-presets{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .biz23-bulk-button{min-height:56px!important;height:56px!important;font-size:15px!important}
}

/* Kivora v31.3 — Virtual Card payment + live employee activity */
.biz31-activity{overflow:hidden}
.biz31-live{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dfe3e6;border-radius:999px;background:#fff;font-size:9px;font-weight:950;letter-spacing:.08em;color:#4f5961}
.biz31-live i{width:7px;height:7px;border-radius:50%;background:#2d9b52;box-shadow:0 0 0 4px rgba(45,155,82,.1);animation:biz31LivePulse 1.7s infinite}
@keyframes biz31LivePulse{50%{box-shadow:0 0 0 8px rgba(45,155,82,0)}}
.biz31-activity>[data-b31-activity]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.biz31-activity-row{display:grid;grid-template-columns:34px minmax(0,1fr) 8px;align-items:center;gap:10px;min-height:67px;padding:12px 14px;border:1px solid #e1e5e8;border-radius:15px;background:#fff;transition:transform .18s ease,opacity .18s ease}
.biz31-activity-row canvas{width:28px;height:42px;image-rendering:pixelated}
.biz31-activity-row b{display:block;font-size:12px;color:#17191c;margin-bottom:3px}
.biz31-activity-row p{margin:0;font-size:11px;line-height:1.35;color:#69727b}
.biz31-activity-row>i{width:7px;height:7px;border-radius:50%;background:#71b784}
.biz31-tax-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.biz31-tax-actions button{min-height:46px;padding:0 16px!important}
.biz31-tax-actions button.card{background:#fff!important;color:#17191c!important;border:1px solid #17191c!important;position:relative;padding-left:42px!important}
.biz31-tax-actions button.card:before{content:'◔';position:absolute;left:15px;top:50%;transform:translateY(-50%) rotate(-22deg);display:grid;place-items:center;width:19px;height:13px;border:2px solid currentColor;border-radius:3px;font-size:0}

.kcardpay[hidden]{display:none!important}
.kcardpay{position:fixed;inset:0;z-index:13080;display:grid;place-items:center;padding:20px;background:rgba(16,18,20,.68);backdrop-filter:blur(10px)}
.kcardpay-stage{position:relative;width:min(92vw,560px);min-height:455px;border-radius:28px;background:#f4f5f6;padding:28px;box-shadow:0 35px 100px rgba(0,0,0,.36);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}
.kcardpay-x{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#e4e7e9;color:#17191c;font-size:24px;line-height:1;z-index:5}
.kcardpay-terminal{position:relative;justify-self:end;width:210px;height:280px;border-radius:24px;background:#17191c;color:#fff;padding:24px 19px;box-sizing:border-box;box-shadow:0 20px 45px rgba(23,25,28,.24);display:flex;flex-direction:column;align-items:center;text-align:center}
.kcardpay-terminal:after{content:'';position:absolute;bottom:22px;width:104px;height:9px;border-radius:99px;background:#34383d}
.kcardpay-terminal>small{font-size:9px;font-weight:950;letter-spacing:.16em;color:#aeb5bc;margin-top:6px}
.kcardpay-terminal>b{font-size:29px;margin:15px 0 2px;font-variant-numeric:tabular-nums}
.kcardpay-terminal>span{max-width:160px;font-size:10px;color:#c4c9ce;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kcardpay-screen{width:100%;min-height:62px;margin-top:18px;border-radius:12px;background:#e9f0ea;color:#285f36;display:grid;place-items:center;padding:8px;box-sizing:border-box;font-size:11px;font-weight:950;letter-spacing:.04em}
.kcardpay-nfc{position:absolute;right:18px;bottom:52px;font-size:18px;font-style:normal;letter-spacing:-7px;transform:rotate(90deg);color:#d9dde0}
.kcardpay-card{position:relative;justify-self:start;width:270px;height:164px;border-radius:20px;background:linear-gradient(145deg,#08090a,#23272b);color:#fff;padding:20px 22px;box-sizing:border-box;box-shadow:0 22px 48px rgba(0,0,0,.26);transform:rotate(-6deg);transform-origin:center;transition:transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .3s ease;z-index:2}
.kcardpay-card:before{content:'';position:absolute;left:22px;top:55px;width:37px;height:27px;border-radius:5px;background:linear-gradient(135deg,#c7b273,#8a7948)}
.kcardpay-card small{font-size:9px;letter-spacing:.12em;color:#c8cdd1;font-weight:900}
.kcardpay-card strong{position:absolute;right:20px;top:19px;font-size:17px}
.kcardpay-card b{position:absolute;left:22px;bottom:42px;font-size:13px;letter-spacing:.06em}
.kcardpay-card span{position:absolute;left:22px;bottom:19px;font-size:9px;color:#aeb5bc;text-transform:uppercase}
.kcardpay-info{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #dde2e5;border-radius:15px;background:#fff}
.kcardpay-info span{font-size:10px;color:#6e7780}.kcardpay-info span b{display:block;margin-top:2px;font-size:18px;color:#17191c}
.kcardpay-info button{min-width:160px;min-height:48px;border:0;border-radius:12px;background:#17191c;color:#fff;font-size:12px;font-weight:950;letter-spacing:.04em}
.kcardpay.tapping .kcardpay-card{transform:translate(-112px,72px) rotate(-2deg) scale(.9);box-shadow:0 8px 20px rgba(0,0,0,.22)}
.kcardpay.tapping .kcardpay-nfc{color:#fff;animation:kcardNfc .45s infinite alternate}
@keyframes kcardNfc{to{opacity:.25}}
.kcardpay.approved .kcardpay-screen{background:#dff3e4;color:#1e7135}.kcardpay.approved .kcardpay-terminal{box-shadow:0 0 0 3px rgba(50,153,78,.18),0 20px 45px rgba(23,25,28,.2)}
.kcardpay.declined .kcardpay-screen{background:#f9e1df;color:#a33832}.kcardpay.declined .kcardpay-card{animation:kcardShake .25s linear 2}
@keyframes kcardShake{25%{transform:translateX(-7px) rotate(-6deg)}75%{transform:translateX(7px) rotate(-6deg)}}
@media(max-width:700px){.biz31-activity>[data-b31-activity]{grid-template-columns:1fr}.kcardpay-stage{grid-template-columns:1fr;min-height:600px;padding:52px 18px 20px}.kcardpay-terminal{justify-self:center;width:190px;height:245px}.kcardpay-card{justify-self:center;width:250px;height:152px}.kcardpay-info{grid-column:auto;flex-direction:column;align-items:stretch}.kcardpay-info button{width:100%}.kcardpay.tapping .kcardpay-card{transform:translate(0,-96px) rotate(-2deg) scale(.88)}.biz31-tax-actions{width:100%}.biz31-tax-actions button{flex:1 1 100%}}


/* Kivora v31.4 — Simple Business + Staff Welfare */
.biz31-simple-copy{margin-top:13px!important;font-size:11px!important;line-height:1.5!important;color:#69727b!important}
.biz31-welfare-summary{border:1px solid #e0e4e7;border-radius:18px;background:#fff;padding:18px;display:flex;flex-direction:column;justify-content:center;min-height:170px}
.biz31-welfare-summary>small{font-size:9px;font-weight:950;letter-spacing:.12em;color:#7c858e}
.biz31-welfare-summary>h3{font-size:38px;line-height:1;margin:10px 0 7px;color:#17191c}
.biz31-welfare-summary>p{margin:0 0 15px;font-size:12px;line-height:1.45;color:#67717a}
.biz31-welfare-summary>button{min-height:48px;border:0;border-radius:12px;background:#17191c;color:#fff;font-size:11px;font-weight:950}
.biz31-worker.simple{grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center}
.biz31-worker-actions.simple{display:flex!important;grid-column:auto!important;align-items:center!important}
.biz31-worker-actions.simple button{min-width:92px;min-height:44px}
.biz31-manual-note{display:block;margin:10px 0;color:#7a838b;font-size:10px;font-weight:800}
.biz31-wallet-mini{min-width:190px;padding:13px 16px;border:1px solid #e0e4e7;border-radius:15px;background:#fff;text-align:right}
.biz31-wallet-mini small{display:block;font-size:8px;font-weight:950;letter-spacing:.11em;color:#7a838b}
.biz31-wallet-mini b{display:block;margin-top:4px;font-size:22px;color:#17191c}
.biz31-welfare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.biz31-welfare-card{border:1px solid #dfe4e7;border-radius:18px;background:#fff;padding:18px;display:grid;gap:15px;min-height:210px}
.biz31-welfare-card small{font-size:9px;font-weight:950;letter-spacing:.1em;color:#69727b}
.biz31-welfare-card h3{margin:7px 0 0;font-size:17px;line-height:1.35;color:#17191c}
.biz31-welfare-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.biz31-welfare-meta span{padding:10px 11px;border-radius:11px;background:#f5f6f7;font-size:9px;color:#747d85}
.biz31-welfare-meta b{display:block;margin-top:3px;font-size:12px;color:#17191c}
.biz31-welfare-card>button{min-height:50px;border:0;border-radius:12px;background:#17191c;color:#fff;font-size:12px;font-weight:950;letter-spacing:.03em}
.biz31-welfare-card>button:disabled{background:#e4e7e9;color:#868e95;cursor:not-allowed}
.biz31-decision-actions.simple{grid-template-columns:1fr 1fr!important}
@media(max-width:720px){
 .biz31-welfare-grid{grid-template-columns:1fr}
 .biz31-wallet-mini{width:100%;min-width:0;text-align:left}
 .biz31-worker.simple{grid-template-columns:auto minmax(0,1fr)!important}
 .biz31-worker-actions.simple{grid-column:1/-1!important}
 .biz31-worker-actions.simple button{width:100%}
 .biz31-welfare-card{min-height:0}
}

/* Kivora v31.4.1 — card payment must sit above the full-screen Business Command Center. */
.kcardpay{z-index:13080!important}
.kcardpay-error{flex:1 1 100%;margin:8px 0 0;padding:9px 11px;border-radius:9px;background:#f9e1df;color:#9a302c;font-size:10px;font-weight:800;line-height:1.35}


/* Kivora Bank v31.5 — player controlled virtual-card daily limit */
.kbank-limit-settings{margin-top:15px;padding:16px;border:1px solid #dcdfe3;border-radius:16px;background:#fff}.kbank-limit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.kbank-limit-head>div{min-width:0}.kbank-limit-head small{display:block;font-size:.48rem;letter-spacing:.12em;font-weight:900;color:#818791}.kbank-limit-head strong{display:block;margin-top:4px;font-size:.86rem}.kbank-limit-head p{margin:5px 0 0;max-width:570px;color:#747b85;font-size:.55rem;line-height:1.5}.kbank-limit-head>b{flex:0 0 auto;padding:9px 12px;border-radius:10px;background:#17191c;color:#fff;font-size:.68rem}.kbank-limit-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:13px}.kbank-limit-preset{min-height:42px;border:1px solid #d8dce1;border-radius:10px;background:#fff;color:#363b42;font:800 .55rem/1 inherit;cursor:pointer}.kbank-limit-preset:hover,.kbank-limit-preset.active{background:#17191c;color:#fff;border-color:#17191c}.kbank-limit-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:11px}.kbank-limit-form label>span{display:block;margin-bottom:5px;color:#737a84;font-size:.48rem;font-weight:800}.kbank-limit-form label>div{display:flex;align-items:center;min-height:46px;border:1px solid #d8dce1;border-radius:11px;background:#fafafa;overflow:hidden}.kbank-limit-form label b{padding:0 0 0 13px;font-size:.58rem}.kbank-limit-form input{width:100%;min-width:0;height:44px;border:0!important;outline:0;background:transparent;padding:0 12px;font-size:.7rem;font-weight:800}.kbank-limit-form .kbank-btn{min-height:46px;min-width:135px}.kbank-limit-note{display:block;margin-top:8px;color:#8a9098;font-size:.47rem;line-height:1.4}
@media(max-width:760px){.kbank-limit-head{flex-direction:column}.kbank-limit-head>b{align-self:flex-start}.kbank-limit-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.kbank-limit-preset:last-child{grid-column:1/-1}.kbank-limit-form{grid-template-columns:1fr}.kbank-limit-form .kbank-btn{width:100%}}

/* === Kivora Business Growth v31.6 === */
.biz31-growth{border:1px solid #dfe3e6;background:#fff;border-radius:20px;padding:20px 22px;margin:0 0 14px;box-sizing:border-box}
.biz31-growth.ready{border-color:#b8c8bb;background:#fbfdfb}
.biz31-growth header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.biz31-growth header small{display:block;font-size:9px;font-weight:950;letter-spacing:.13em;color:#7b838b;margin-bottom:5px}
.biz31-growth header h3{font-size:22px;line-height:1.1;margin:0 0 5px;color:#17191c}
.biz31-growth header p{font-size:11px;line-height:1.45;color:#777f87;margin:0;max-width:620px}
.biz31-growth header>strong{font-size:30px;line-height:1;font-weight:950;color:#17191c;white-space:nowrap}
.biz31-growth-bar{height:9px;background:#e8ebee;border-radius:999px;overflow:hidden;margin:16px 0}
.biz31-growth-bar i{display:block;height:100%;background:#17191c;border-radius:inherit;transition:width .25s ease}
.biz31-growth.ready .biz31-growth-bar i{background:#2f6b3c}
.biz31-growth-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.biz31-growth-row{min-width:0;border:1px solid #e0e4e7;border-radius:13px;padding:12px 11px;display:grid;grid-template-columns:18px 1fr;gap:3px 7px;background:#fafbfc}
.biz31-growth-row i{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#e9ecef;color:#7b838b;font-size:10px;font-style:normal;font-weight:950}
.biz31-growth-row span{font-size:9px;font-weight:850;color:#727a82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.biz31-growth-row b{font-size:12px;line-height:1.25;color:#17191c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.biz31-growth-row b em{font-style:normal;font-size:9px;color:#8a929a;font-weight:750}
.biz31-growth-row.done{border-color:#d4dfd6;background:#fbfdfb}
.biz31-growth-row.done i{background:#e4f0e6;color:#2f6b3c}
.biz31-growth-focus{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#17191c;color:#fff;border-radius:13px;padding:12px 14px;margin-top:10px}
.biz31-growth-focus small{font-size:8px;font-weight:950;letter-spacing:.12em;opacity:.65;white-space:nowrap}
.biz31-growth-focus b{font-size:11px;line-height:1.35;text-align:right}
.biz31-growth.ready .biz31-growth-focus{background:#2f6b3c}
.biz31-growth-benefits{border-top:1px solid #e5e8ea;margin-top:14px;padding-top:13px}
.biz31-growth-benefits>small{display:block;font-size:8px;font-weight:950;letter-spacing:.12em;color:#7b838b;margin-bottom:8px}
.biz31-growth-benefits>div{display:flex;gap:8px;flex-wrap:wrap}
.biz31-growth-benefits span{background:#f5f6f7;border-radius:10px;padding:9px 11px;font-size:9px;color:#747c84}
.biz31-growth-benefits b{font-size:11px;color:#17191c;margin-left:4px}
.biz31-growth.compact{padding:16px 18px;margin-top:0}
.biz31-growth.compact header h3{font-size:18px}
.biz31-growth.compact header p{display:none}
.biz31-growth.compact header>strong{font-size:24px}
.biz31-growth.compact .biz31-growth-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.biz31-level-card button:disabled{background:#c9cdd1!important;color:#727980!important;cursor:not-allowed;box-shadow:none!important}
@media(max-width:1000px){
 .biz31-growth-grid,.biz31-growth.compact .biz31-growth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .biz31-growth-row:last-child{grid-column:span 2}
}
@media(max-width:620px){
 .biz31-growth{padding:17px 15px;border-radius:17px}
 .biz31-growth header h3{font-size:19px}
 .biz31-growth header>strong{font-size:24px}
 .biz31-growth-grid,.biz31-growth.compact .biz31-growth-grid{grid-template-columns:1fr}
 .biz31-growth-row:last-child{grid-column:auto}
 .biz31-growth-row{padding:12px}
 .biz31-growth-row span{font-size:10px}
 .biz31-growth-row b{font-size:13px}
 .biz31-growth-focus{align-items:flex-start;flex-direction:column;gap:4px}
 .biz31-growth-focus b{text-align:left;font-size:12px}
 .biz31-growth-benefits>div{display:grid;grid-template-columns:1fr}
 .biz31-growth-benefits span{font-size:10px;padding:11px 12px}
}

/* =========================================================
   KIVORA BUSINESS v31.7 — SIMPLE TASK DELEGATION
   ========================================================= */
.biz31-delegation{margin-top:0!important;margin-bottom:14px}
.biz31-delegation>.biz31-section-head h3{max-width:760px;font-size:15px;line-height:1.45;color:#5f6972;font-weight:750}
.biz31-delegate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}
.biz31-delegate-card{border:1px solid #dfe4e8;border-radius:18px;background:#fafbfc;padding:17px;display:grid;gap:12px;min-width:0}
.biz31-delegate-card.active{background:#fff;border-color:#1b2025;box-shadow:inset 0 0 0 1px #1b2025}
.biz31-delegate-card.disabled{opacity:.68;background:#f2f4f5}
.biz31-delegate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.biz31-delegate-head small{display:block;font-size:9px;font-weight:950;letter-spacing:.11em;color:#69737c}
.biz31-delegate-head h3{margin:6px 0 0;font-size:19px;line-height:1.2;color:#17191c}
.biz31-delegate-head>span{flex:0 0 auto;border-radius:999px;background:#e9edf0;padding:7px 9px;font-size:8px;font-weight:950;letter-spacing:.06em;color:#59636c}
.biz31-delegate-card.active .biz31-delegate-head>span{background:#17191c;color:#fff}
.biz31-delegate-card>p{margin:0;min-height:35px;color:#69737c;font-size:11px;line-height:1.5}
.biz31-delegate-card>select{width:100%;min-height:48px;border:1px solid #d9dee2;border-radius:12px;background:#fff;color:#252a2f;padding:0 12px;font:750 11px/1.2 inherit}
.biz31-delegate-card>button{min-height:48px;border:0;border-radius:12px;background:#17191c;color:#fff;font-size:11px;font-weight:950;letter-spacing:.035em}
.biz31-delegate-card>button:disabled{opacity:.55}
.biz31-delegate-note{margin:12px 2px 0!important;font-size:10px!important;color:#7a838c!important}
.biz31-task-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.biz31-task-badges b{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;background:#17191c;color:#fff;padding:4px 8px;font-size:7px;letter-spacing:.07em;font-weight:950}
.biz31-manual-note{display:block!important;margin-top:8px;font-size:9px!important;line-height:1.4;color:#58616a!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important}
@media(max-width:760px){
 .biz31-delegate-grid{grid-template-columns:1fr}
 .biz31-delegate-card{padding:15px}
 .biz31-delegate-head h3{font-size:18px}
 .biz31-delegate-card>select,.biz31-delegate-card>button{min-height:50px;font-size:12px}
}

/* V35.10 — Corporate identity on Profile/Citizen pages */
.showcase-asset-layer.asset-type-building,.citizen-asset-layer.asset-type-building{width:30%;max-width:420px}
.showcase-library-thumb.asset-type-building{background:linear-gradient(180deg,#f2f5f6,#e6ebed)}
.citizen-company-panel{padding:18px}
.citizen-company-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;border-radius:19px;background:#111318;color:#fff;padding:20px 22px}
.citizen-company-brand{display:flex;align-items:center;gap:15px;min-width:0}.citizen-company-logo{flex:0 0 auto;border-radius:22px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.2)}
.citizen-company-brand span,.citizen-company-worth span,.citizen-company-subhead span{display:block;font-size:8px;font-weight:950;letter-spacing:.13em;color:#8e969f}.citizen-company-brand h2{font-size:30px;line-height:1.05;letter-spacing:-.04em;margin:4px 0 5px}.citizen-company-brand p{margin:0;color:#abb1b8;font-size:10px}
.citizen-company-worth{text-align:right;flex:0 0 auto}.citizen-company-worth b{display:block;font-size:31px;letter-spacing:-.045em;margin:4px 0}.citizen-company-worth small{color:#9ea5ad;font-size:9px}
.citizen-company-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 18px}.citizen-company-kpis>div{border:1px solid #e0e3df;border-radius:14px;background:#f8f9f7;padding:13px}.citizen-company-kpis span{font-size:7px;font-weight:950;letter-spacing:.09em;color:#858b86}.citizen-company-kpis b{display:block;font-size:18px;margin-top:5px;color:#171a18}
.citizen-company-subhead{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:15px 3px 9px;border-top:1px solid #eceeeb}.citizen-company-subhead:first-of-type{border-top:0}.citizen-company-subhead h3{margin:2px 0 0;font-size:18px}.citizen-company-subhead>small{font-size:8px;color:#858b86}
.citizen-company-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.citizen-company-products article{border:1px solid #e0e3df;border-radius:15px;background:#fafbfa;padding:13px;min-width:0}.citizen-company-products article>small{font-size:7px;font-weight:950;color:#858b86;letter-spacing:.08em}.citizen-company-products h4{font-size:16px;margin:5px 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.citizen-company-products article>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.citizen-company-products span{font-size:7px;color:#858b86;background:#fff;border:1px solid #e8eae7;border-radius:9px;padding:7px}.citizen-company-products span b{display:block;font-size:10px;color:#171a18;margin-top:2px}
.citizen-company-workers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:720px;overflow:auto;padding-right:2px}.citizen-worker-card{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(190px,.9fr);gap:10px;align-items:center;border:1px solid #e0e3df;border-radius:15px;background:#fafbfa;padding:10px;min-width:0}.citizen-worker-card canvas{width:52px;height:78px;image-rendering:pixelated;image-rendering:crisp-edges}.citizen-worker-copy{min-width:0}.citizen-worker-copy small{display:block;font-size:7px;font-weight:950;letter-spacing:.08em;color:#858b86}.citizen-worker-copy h4{font-size:14px;margin:4px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.citizen-worker-copy span{font-size:8px;color:#7b817c}.citizen-worker-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.citizen-worker-stats b{font-size:6px;letter-spacing:.04em;color:#8a908b;background:#fff;border:1px solid #e8eae7;border-radius:7px;padding:5px 4px}.citizen-worker-stats em{display:block;font-style:normal;font-size:10px;color:#171a18;margin-top:1px}
.citizen-company-buildings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.citizen-company-buildings article{border:1px solid #e0e3df;border-radius:15px;background:#fafbfa;padding:10px;min-width:0}.citizen-company-buildings article>div{height:150px;border-radius:11px;background:linear-gradient(180deg,#f2f5f6,#e7ebec);display:grid;place-items:center;overflow:hidden}.citizen-company-buildings img{max-width:94%;max-height:94%;object-fit:contain}.citizen-company-buildings small{display:block;font-size:7px;color:#858b86;margin-top:8px}.citizen-company-buildings h4{font-size:15px;margin:3px 0}.citizen-company-buildings p{font-size:8px;color:#7d837e;margin:0}
@media(max-width:980px){.citizen-company-products,.citizen-company-buildings{grid-template-columns:repeat(2,minmax(0,1fr))}.citizen-company-workers{grid-template-columns:1fr}.citizen-company-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.showcase-asset-layer.asset-type-building,.citizen-asset-layer.asset-type-building{width:38%}.citizen-company-hero{display:block;padding:16px}.citizen-company-brand{align-items:flex-start}.citizen-company-brand h2{font-size:24px}.citizen-company-worth{text-align:left;margin-top:14px;padding-top:12px;border-top:1px solid #30343a}.citizen-company-worth b{font-size:27px}.citizen-company-kpis{grid-template-columns:1fr 1fr}.citizen-company-products,.citizen-company-buildings{grid-template-columns:1fr}.citizen-worker-card{grid-template-columns:52px minmax(0,1fr)}.citizen-worker-stats{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.citizen-company-workers{max-height:none}}


/* V35.14 — top-level Activity SPA keeps Corporate inside the same Discord iframe */
:root{--discord-sait:var(--discord-safe-area-inset-top,env(safe-area-inset-top,0px));--discord-saib:var(--discord-safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--discord-sail:var(--discord-safe-area-inset-left,env(safe-area-inset-left,0px));--discord-sair:var(--discord-safe-area-inset-right,env(safe-area-inset-right,0px))}
body.kivora-subapp-open{overflow:hidden!important}.kivora-subapp[hidden]{display:none!important}.kivora-subapp{position:fixed;inset:0;z-index:50000;background:#f4f4f1;display:grid;grid-template-rows:auto minmax(0,1fr);opacity:0;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease;padding-top:var(--discord-sait);padding-left:var(--discord-sail);padding-right:var(--discord-sair);padding-bottom:var(--discord-saib)}.kivora-subapp.is-open{opacity:1;transform:none}.kivora-subapp-bar{min-height:48px;background:#0f1115;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;border-bottom:1px solid #282c31}.kivora-subapp-brand{display:flex;align-items:center;gap:9px;min-width:0}.kivora-subapp-brand>span{width:32px;height:32px;border-radius:9px;background:#fff;color:#111;display:grid;place-items:center;font-weight:950}.kivora-subapp-brand small{display:block;font-size:7px;letter-spacing:.14em;color:#858c95;font-weight:900}.kivora-subapp-brand b{display:block;font-size:12px;margin-top:1px}.kivora-subapp-close{border:1px solid #383d45;background:#1b1e23;color:#fff;border-radius:9px;padding:9px 12px;font-size:9px;font-weight:950;letter-spacing:.07em}.kivora-subapp iframe{display:block;width:100%;height:100%;min-height:0;border:0;background:#f4f4f1}.kivora-subapp iframe:focus{outline:none}
@media(max-width:600px){.kivora-subapp-bar{min-height:44px;padding:5px 7px}.kivora-subapp-brand>span{width:29px;height:29px}.kivora-subapp-close{padding:8px 10px}.kivora-subapp-brand small{display:none}}
