*{box-sizing:border-box}
:root{--bg:#090b10;--sidebar:#0d1016;--panel:#12161d;--panel2:#171c24;--soft:#1c222c;--line:#252c37;--text:#f4f6f8;--muted:#8992a0;--accent:#a8ff45;--accent2:#8ee833;--purple:#7568ff;--cyan:#44d6ff;--orange:#ffae5d;--danger:#ff6f82;--shadow:0 22px 65px rgba(0,0,0,.26)}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif}body[dir="rtl"]{font-family:"Vazirmatn","DM Sans",sans-serif}button,input,select,textarea{font:inherit}button{border:0;color:inherit;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:11px;padding:11px 12px;outline:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(168,255,69,.08)}
.admin-app{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}
.admin-sidebar{background:var(--sidebar);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;overflow:auto}.admin-brand{display:flex;align-items:center;gap:10px;padding:2px 8px 19px}.brand-mark{width:36px;height:36px;border-radius:11px;background:var(--accent);color:#10130c;display:grid;place-items:center;font-weight:900}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font-size:17px;letter-spacing:.06em}.admin-brand small{margin-top:2px;font-size:10px;color:var(--muted)}
.staff-chip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);background:var(--panel);border-radius:14px;margin-bottom:16px}.staff-chip span:nth-child(2){min-width:0}.staff-chip b,.staff-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-chip b{font-size:12px}.staff-chip small{font-size:10px;color:var(--muted);margin-top:2px}.staff-avatar{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,#725dff,#2c265f);display:grid;place-items:center;font-weight:800}.staff-avatar.small{width:28px;height:28px;border-radius:9px;font-size:10px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(168,255,69,.08)}
.admin-nav{display:grid;gap:3px}.admin-nav-item,.sidebar-bottom button{width:100%;display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:10px;background:transparent;color:var(--muted);text-align:left}.admin-nav-item:hover,.admin-nav-item.active,.sidebar-bottom button:hover{background:var(--panel2);color:var(--text)}.admin-nav-item svg,.sidebar-bottom svg{width:17px;height:17px;flex:0 0 auto}.nav-badge{margin-left:auto;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#222934;color:#d4d8de;display:grid;place-items:center;font-size:9px}.sidebar-bottom{margin-top:auto;padding-top:13px;border-top:1px solid var(--line);display:grid;gap:3px}
.admin-main{min-width:0;overflow:hidden}.admin-topbar{height:75px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 25px;border-bottom:1px solid var(--line);background:rgba(9,11,16,.88);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.crumbs{display:flex;align-items:center;gap:8px;min-width:0}.crumbs span{font-size:10px;letter-spacing:.14em;color:var(--muted)}.crumbs svg{width:14px;color:#5e6672}.crumbs strong{font-size:14px;white-space:nowrap}.top-tools{display:flex;align-items:center;gap:8px;min-width:0}.global-search{width:min(360px,35vw);height:39px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);background:var(--panel);border-radius:11px;color:var(--muted)}.global-search input{height:100%;border:0;padding:0;background:transparent;box-shadow:none}.icon-btn{width:36px;height:36px;border-radius:10px;background:var(--panel);border:1px solid var(--line);display:grid;place-items:center;color:var(--muted)}.icon-btn:hover{color:var(--text);background:var(--panel2)}.profile-mini{display:flex;align-items:center;gap:7px;padding:4px 8px 4px 4px;border:1px solid var(--line);background:var(--panel);border-radius:999px}.profile-mini svg{width:13px}.mobile-only{display:none}
.admin-content{max-width:1500px;margin:auto;padding:27px 31px 70px}.section-view{display:none}.section-view.active{display:block}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px}.section-intro h1{font-size:clamp(31px,3.1vw,45px);margin:8px 0 7px;letter-spacing:-.04em}.section-intro p{max-width:690px;color:var(--muted);line-height:1.65;margin:0}.eyebrow{font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:800}.primary-btn,.secondary-btn,.text-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px}.primary-btn{min-height:42px;padding:10px 14px;background:var(--accent);color:#11160c;font-weight:800}.primary-btn:hover{background:var(--accent2)}.primary-btn svg,.secondary-btn svg,.text-btn svg{width:16px}.secondary-btn{min-height:42px;padding:10px 14px;background:var(--panel2);border:1px solid var(--line);color:var(--text)}.secondary-btn:hover{background:var(--soft)}.text-btn{background:transparent;color:var(--muted);font-size:12px}.text-btn:hover{color:var(--text)}.wide{width:100%}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi{padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 10px 30px rgba(0,0,0,.07)}.kpi-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;margin-bottom:15px}.kpi-icon svg{width:19px}.kpi-icon.purple{background:rgba(117,104,255,.14);color:#9a90ff}.kpi-icon.green{background:rgba(168,255,69,.12);color:var(--accent)}.kpi-icon.orange{background:rgba(255,174,93,.13);color:var(--orange)}.kpi-icon.cyan{background:rgba(68,214,255,.13);color:var(--cyan)}.kpi>span,.kpi>small{display:block;color:var(--muted);font-size:11px}.kpi strong{display:block;font-size:29px;margin:5px 0}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.panel{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:17px;min-width:0}.span-2{grid-column:span 2}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h2{font-size:17px;margin:6px 0 0;letter-spacing:-.02em}.panel-head>div{min-width:0}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:12px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-size:11px}th{color:var(--muted);font-weight:600;background:var(--panel2);position:sticky;top:0}tr:last-child td{border-bottom:0}.table-title{font-weight:700}.muted{color:var(--muted)}
.status{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;font-size:9px;border:1px solid var(--line)}.status-dot-mini{width:6px;height:6px;border-radius:50%}.status.pending{background:rgba(255,174,93,.08);color:#ffc884}.status.paid{background:rgba(168,255,69,.08);color:var(--accent)}.status.processing{background:rgba(68,214,255,.08);color:var(--cyan)}.status.completed{background:rgba(117,104,255,.08);color:#aaa0ff}.status.cancelled,.status.rejected{background:rgba(255,111,130,.08);color:#ff9bad}.status.open{background:rgba(255,174,93,.08);color:#ffc884}.status.in_progress{background:rgba(68,214,255,.08);color:var(--cyan)}.status.approved{background:rgba(168,255,69,.08);color:var(--accent)}
.health-list,.bar-list,.activity-list,.review-list,.ticket-grid,.admin-grid{display:grid;gap:9px}.health-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid var(--line);background:var(--panel2);border-radius:11px}.health-item span{font-size:11px}.health-item b{font-size:10px;color:var(--accent)}.bar-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px 11px;border:1px solid var(--line);background:var(--panel2);border-radius:11px}.bar-copy{display:grid;gap:5px}.bar-copy strong{font-size:11px}.bar-copy small{color:var(--muted);font-size:9px}.bar-track{height:6px;border-radius:999px;background:#252b34;overflow:hidden}.bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#7bedff)}.activity-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border-bottom:0}.activity-icon{width:31px;height:31px;border-radius:10px;background:var(--panel2);display:grid;place-items:center;color:var(--accent)}.activity-icon svg{width:15px}.activity-copy strong,.activity-copy small{display:block}.activity-copy strong{font-size:11px}.activity-copy small{margin-top:3px;color:var(--muted);font-size:9px}.activity-time{font-size:9px;color:var(--muted)}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.filter-group{display:flex;gap:6px;flex-wrap:wrap}.filter-chip{padding:8px 11px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:10px}.filter-chip.active,.filter-chip:hover{background:var(--panel2);color:var(--text)}
.admin-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.game-admin-card,.coupon-card,.ticket-card{border:1px solid var(--line);border-radius:15px;background:var(--panel);padding:12px;min-width:0}.game-cover{aspect-ratio:1.35;border-radius:12px;position:relative;display:flex;align-items:flex-end;padding:12px;margin-bottom:11px;overflow:hidden}.game-cover .game-logo{font-size:23px;font-weight:900;color:#fff;text-shadow:0 8px 30px rgba(0,0,0,.35)}.game-g1{background:linear-gradient(145deg,#263f11,#14171d 56%,#4c55ef)}.game-g2{background:linear-gradient(145deg,#4a1c31,#171219 56%,#e67849)}.game-g3{background:linear-gradient(145deg,#163940,#101719 56%,#6fe0c2)}.game-g4{background:linear-gradient(145deg,#3e3210,#15130b 56%,#d9b551)}.game-g5{background:linear-gradient(145deg,#2f2353,#121019 56%,#b776ff)}.game-g6{background:linear-gradient(145deg,#152b43,#11151a 56%,#5eb3ff)}.game-g7{background:linear-gradient(145deg,#512e1b,#1a1412 56%,#e59a65)}.game-g8{background:linear-gradient(145deg,#402355,#151019 56%,#f06fd4)}.game-cover .badge{position:absolute;left:9px;top:9px;padding:5px 7px;border-radius:999px;background:rgba(10,12,15,.58);border:1px solid rgba(255,255,255,.16);font-size:9px;color:#fff;backdrop-filter:blur(8px)}.game-admin-card h3{margin:0 0 4px;font-size:14px}.game-admin-card p{margin:0;color:var(--muted);font-size:10px}.game-admin-meta{display:flex;justify-content:space-between;gap:8px;margin:11px 0;font-size:10px}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.small-btn{min-height:34px;padding:7px 8px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-size:10px}.small-btn:hover{background:var(--soft)}.small-btn.danger{color:#ffafba}.small-btn.accent{background:var(--accent);color:#10150c;border-color:var(--accent)}
.review-item{padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--panel2)}.review-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.review-stars{color:#ffd66a;font-size:12px;letter-spacing:.08em}.review-item h3{margin:7px 0 5px;font-size:13px}.review-item p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}.review-actions{display:flex;gap:7px;margin-top:12px}.coupon-code{font-size:20px;letter-spacing:.1em;font-weight:800}.coupon-card small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.coupon-row{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:12px}.coupon-value{font-weight:800;color:var(--accent)}
.wallet-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-grid label{display:grid;gap:7px;color:var(--muted);font-size:10px}.form-grid .full{grid-column:1/-1}.form-grid button.full{grid-column:1/-1}.form-grid textarea{min-height:110px}.ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-card h3{font-size:14px;margin:0 0 4px}.ticket-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.ticket-top,.ticket-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.ticket-actions{margin-top:12px}.reply-box{margin-top:10px;padding:10px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:10px}
.modal-wrap{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.58);z-index:80;backdrop-filter:blur(5px)}[hidden]{display:none!important}.modal{width:min(94vw,700px);max-height:min(88vh,850px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:22px;position:relative}.modal-close{position:absolute;top:14px;right:14px}.modal h2{margin:2px 0 8px;font-size:25px}.modal p{color:var(--muted);line-height:1.65}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:70}.toast{position:fixed;left:50%;bottom:18px;z-index:100;transform:translate(-50%,12px);opacity:0;background:#f2f4f7;color:#101216;padding:10px 14px;border-radius:11px;box-shadow:var(--shadow);font-size:11px;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
body.light{--bg:#f4f6f9;--sidebar:#ffffff;--panel:#ffffff;--panel2:#f7f8fb;--soft:#eef1f5;--line:#dfe4ea;--text:#11151b;--muted:#68717e;--shadow:0 22px 60px rgba(31,41,55,.12)}body.light .admin-topbar{background:rgba(255,255,255,.88)}body.light .bar-track{background:#e8ebf0}body.light .modal-wrap{background:rgba(15,23,42,.22)}body.light .toast{background:#11151b;color:#fff}
body[dir="rtl"] .admin-sidebar{border-right:0;border-left:1px solid var(--line)}body[dir="rtl"] .admin-nav-item,body[dir="rtl"] .sidebar-bottom button,body[dir="rtl"] th,body[dir="rtl"] td{text-align:right}body[dir="rtl"] .nav-badge{margin-left:0;margin-right:auto}body[dir="rtl"] .modal-close{right:auto;left:14px}body[dir="rtl"] .profile-mini{padding:4px 4px 4px 8px}
@media(max-width:1200px){.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.admin-app{grid-template-columns:1fr}.admin-sidebar{position:fixed;left:-285px;top:0;bottom:0;width:270px;height:100vh;z-index:60;transition:left .22s ease}.admin-sidebar.open{left:0}.admin-topbar{padding:0 15px}.mobile-only{display:grid}.global-search{width:45vw}.dashboard-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.admin-grid,.admin-grid.three,.ticket-grid,.wallet-layout{grid-template-columns:1fr 1fr}.admin-content{padding:20px 15px 55px}}
@media(max-width:620px){.section-intro{align-items:flex-start;flex-direction:column}.section-intro h1{font-size:31px}.top-tools{gap:4px}.global-search{display:none}.profile-mini>span:nth-child(2),.profile-mini svg{display:none}.admin-grid,.admin-grid.three,.ticket-grid,.wallet-layout,.form-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.kpi strong{font-size:23px}.toolbar{align-items:stretch;flex-direction:column}.toolbar>*{width:100%}}

/* ============================================================
   NEXORA UNIFIED ADMIN / MAIN-SITE SHELL
   ============================================================ */
.admin-page{font-family:"DM Sans",sans-serif;background:var(--bg);color:var(--text)}
.admin-page[dir="rtl"]{font-family:"Vazirmatn","DM Sans",sans-serif}
.admin-page .topbar{position:sticky;top:0;z-index:100}
.admin-main-nav{display:flex}
.admin-main-nav .admin-nav-link{gap:7px}
.admin-main-nav .admin-nav-link svg{width:15px;height:15px}
.admin-page .mobile-nav a{white-space:nowrap;padding:8px 11px;border-radius:9px;background:transparent;color:var(--muted);text-decoration:none}
.admin-page .mobile-nav a.active{background:var(--panel-2);color:var(--text)}
.admin-shell{min-height:calc(100vh - 68px);display:grid;grid-template-columns:270px minmax(0,1fr)}
.admin-page .admin-sidebar{position:sticky;top:68px;height:calc(100vh - 68px);min-height:0}
.admin-page .admin-topbar{position:sticky;top:0}
.admin-page .sidebar-bottom .sidebar-link{width:100%;display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:10px;background:transparent;color:var(--muted);text-align:left;text-decoration:none;font:inherit}
.admin-page .sidebar-bottom .sidebar-link:hover{background:var(--panel2);color:var(--text)}

@media(max-width:900px){
  .admin-main-nav{display:none}
  .admin-shell{grid-template-columns:1fr}
  .admin-page .admin-sidebar{position:fixed;left:-285px;top:68px;bottom:0;width:270px;height:calc(100vh - 68px);z-index:90}
  .admin-page .admin-sidebar.open{left:0}
  .admin-page .admin-main{min-width:0}
}

/* Main-store Admin link: reserve its space while Auth resolves so it never flickers. */
.admin-nav-link.auth-gated.auth-pending{visibility:hidden!important;pointer-events:none!important}
.admin-nav-link.auth-gated:not(.auth-visible){visibility:hidden!important;pointer-events:none!important}
.admin-nav-link.auth-gated.auth-visible{visibility:visible!important;pointer-events:auto!important}

/* Same typography as the storefront, with Persian support. */
.admin-page .admin-content,
.admin-page .admin-sidebar,
.admin-page .admin-topbar,
.admin-page input,
.admin-page select,
.admin-page textarea,
.admin-page button,
.admin-page a{font-family:"DM Sans","Vazirmatn",sans-serif}
.admin-page[dir="rtl"] .admin-content,
.admin-page[dir="rtl"] .admin-sidebar,
.admin-page[dir="rtl"] .admin-topbar,
.admin-page[dir="rtl"] input,
.admin-page[dir="rtl"] select,
.admin-page[dir="rtl"] textarea,
.admin-page[dir="rtl"] button,
.admin-page[dir="rtl"] a{font-family:"Vazirmatn","DM Sans",sans-serif}
html[dir="rtl"] .admin-page,
html[dir="rtl"] .admin-page .admin-content,
html[dir="rtl"] .admin-page .admin-sidebar,
html[dir="rtl"] .admin-page .admin-topbar,
html[dir="rtl"] .admin-page input,
html[dir="rtl"] .admin-page select,
html[dir="rtl"] .admin-page textarea,
html[dir="rtl"] .admin-page button,
html[dir="rtl"] .admin-page a{font-family:"Vazirmatn","DM Sans",sans-serif}


/* Unified NEXORA shell */
.admin-page .topbar,
.admin-page .topbar-inner,
.admin-page .main-nav,
.admin-page .top-actions {
  font-family: "DM Sans", "Vazirmatn", sans-serif;
}
.admin-page .brand-text,
.admin-page .nav-link,
.admin-page .top-actions button,
.admin-page .top-actions a {
  font-family: "DM Sans", "Vazirmatn", sans-serif;
}
html[dir="rtl"] .admin-page .brand-text,
html[dir="rtl"] .admin-page .nav-link,
html[dir="rtl"] .admin-page .top-actions button,
html[dir="rtl"] .admin-page .top-actions a {
  font-family: "Vazirmatn", "DM Sans", sans-serif;
}


/* ============================================================
   FINAL NEXORA STOREFRONT-INTEGRATED ADMIN SHELL
   ============================================================ */
.admin-page {
  background: var(--bg);
  color: var(--text);
  font-family: "DM Sans", sans-serif;
}
.admin-page a { color: inherit; text-decoration: none; }
.admin-page .topbar,
.admin-page .topbar-inner,
.admin-page .main-nav,
.admin-page .top-actions { box-sizing: border-box; }
.admin-page .topbar { border-bottom: 1px solid color-mix(in srgb,var(--line) 80%,transparent); }
.admin-page .main-nav .nav-link,
.admin-page .main-nav .nav-link:visited,
.admin-page .main-nav .nav-link:hover,
.admin-page .main-nav .nav-link.active {
  text-decoration: none !important;
}
.admin-page .main-nav .nav-link.active { background: var(--panel-2); color: var(--text); }
.admin-page .top-actions .search-box { width: min(360px, 30vw); }
.admin-page .admin-shell { min-height: calc(100vh - 62px); }
.admin-page .admin-sidebar {
  border-right: 1px solid var(--line);
  background: color-mix(in srgb,var(--bg-soft) 82%,var(--bg));
  padding-top: 16px;
}
.admin-page .staff-chip { margin-top: 2px; }
.admin-page .admin-main { background: transparent; }
.admin-page .admin-content { padding-top: 30px; }
.admin-page .section-view { scroll-margin-top: 85px; }
.admin-page .mobile-nav a { text-decoration: none !important; }
.admin-page .mobile-nav a:visited { color: var(--muted); }
.admin-page .mobile-nav a.active { color: var(--text); background: var(--panel-2); }
.admin-page .search-shell { position: relative; }
.admin-page .top-actions .cart-button { position: relative; }
.admin-page #profileBtn { cursor: pointer; }
.admin-page .admin-nav-item { text-decoration: none; }
.admin-page .admin-nav-item.active { box-shadow: inset 2px 0 0 var(--accent); }
body.light.admin-page .admin-sidebar { background: var(--panel); }

@media(max-width:980px){
  .admin-page .top-actions .search-box { width: min(46vw, 360px); }
}
@media(max-width:700px){
  .admin-page .top-actions .search-shell { display: none; }
}
