
/* ══ PAGE SYSTEM ══ */
.page {
  display: none;
  position: relative;
  z-index: 10;
  min-height: 100vh;
  padding-bottom: 60px;
}
.page.active {
  display: block;
}

/* Page Transitions */
@keyframes enterFromLeft  { from { opacity:0; transform:translateX(-40px); } to { opacity:1; transform:none; } }
@keyframes enterFromRight { from { opacity:0; transform:translateX(40px);  } to { opacity:1; transform:none; } }
@keyframes enterFromTop   { from { opacity:0; transform:translateY(-30px); } to { opacity:1; transform:none; } }
@keyframes enterFade      { from { opacity:0; }                              to { opacity:1; } }
@keyframes exitToRight    { from { opacity:1; transform:none; }             to { opacity:0; transform:translateX(40px); } }
@keyframes exitToLeft     { from { opacity:1; transform:none; }             to { opacity:0; transform:translateX(-40px); } }
@keyframes exitFade       { from { opacity:1; }                              to { opacity:0; } }

.page-enter-left  { animation: enterFromLeft  0.42s ease both; }
.page-enter-right { animation: enterFromRight 0.42s ease both; }
.page-enter-top   { animation: enterFromTop   0.42s ease both; }
.page-enter-fade  { animation: enterFade      0.32s ease both; }
.page-exit-right  { animation: exitToRight    0.42s ease both; pointer-events:none; }
.page-exit-left   { animation: exitToLeft     0.42s ease both; pointer-events:none; }
.page-exit-fade   { animation: exitFade       0.32s ease both; pointer-events:none; }

/* Auth pages should flex-center */
#page-login.active,
#page-register.active {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Shop page override (already had display:none) */
#page-shop { display: none !important; }
#page-shop.active { display: block !important; }

/* ══ MOBILE: add bottom padding so content doesn't hide behind action bar ══ */
@media (max-width: 900px) {
  .page { padding-bottom: 72px; }
  body { padding-bottom: 56px; }
}


:root{
    --gold:#c9a84c;--gold-light:#f0d080;--gold-dark:#8a6520;
    --gold-glow:rgba(201,168,76,0.4);--gold-glow2:rgba(201,168,76,0.15);
    --purple:#7b2fff;--purple-dark:#3d0080;--purple-glow:rgba(123,47,255,0.3);
    --bg-deep:#020008;--bg-mid:#06001a;
    --glass:rgba(255,255,255,0.04);--glass-border:rgba(201,168,76,0.18);
    --text-muted:rgba(255,255,255,0.4);--text-dim:rgba(255,255,255,0.6);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Vazirmatn',sans-serif;background:var(--bg-deep);color:#fff;overflow-x:hidden;cursor:none;}
  
  /* ── CURSOR ── */
  #cursor{width:10px;height:10px;border-radius:50%;background:var(--gold);position:fixed;top:0;left:0;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);box-shadow:0 0 16px var(--gold),0 0 32px var(--gold-glow);mix-blend-mode:screen;transition:width .2s,height .2s,background .2s;}
  #cursor-ring{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(201,168,76,0.55);position:fixed;top:0;left:0;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s;}
  body:has(button:hover) #cursor,body:has(a:hover) #cursor,body:has(.side-btn:hover) #cursor{width:18px;height:18px;}
  body:has(button:hover) #cursor-ring,body:has(a:hover) #cursor-ring{width:52px;height:52px;border-color:var(--gold);}
  
  /* ── NOISE OVERLAY ── */
  body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");pointer-events:none;z-index:2;opacity:0.5;}
  
  /* ── BACKGROUND ── */
  #hero-bg{position:fixed;inset:0;z-index:0;overflow:hidden;isolation:isolate;contain:layout style paint;}
  .hero-layer-1{position:absolute;inset:0;background:
    radial-gradient(ellipse 90% 70% at 50% 30%,rgba(123,47,255,0.22) 0%,transparent 65%),
    radial-gradient(ellipse 50% 80% at 15% 85%,rgba(201,168,76,0.12) 0%,transparent 55%),
    radial-gradient(ellipse 45% 55% at 85% 15%,rgba(123,47,255,0.14) 0%,transparent 50%),
    linear-gradient(160deg,#020008 0%,#06001a 45%,#020008 100%);
    animation:bgPulse 9s ease-in-out infinite alternate;}
  @keyframes bgPulse{0%{opacity:.85;filter:hue-rotate(0deg);}100%{opacity:1;filter:hue-rotate(18deg);}}
  .hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,168,76,0.035) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,0.035) 1px,transparent 1px);background-size:55px 55px;mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black,transparent);animation:gridMove 22s linear infinite;}
  @keyframes gridMove{0%{background-position:0 0;}100%{background-position:55px 55px;}}
  .light-beam{position:absolute;width:1.5px;background:linear-gradient(180deg,transparent,var(--gold),transparent);animation:beam 5s ease-in-out infinite;}
  .lb1{height:65%;top:18%;left:28%;animation-delay:0s;opacity:.22;}
  .lb2{height:42%;top:28%;left:62%;animation-delay:2s;opacity:.14;}
  .lb3{height:55%;top:8%;left:83%;animation-delay:3.8s;opacity:.17;}
  .lb4{height:35%;top:45%;left:48%;animation-delay:1.2s;opacity:.1;}
  @keyframes beam{0%,100%{opacity:0;transform:scaleY(.4) translateY(-15%);}50%{opacity:1;transform:scaleY(1) translateY(0);}}
  .orb{position:absolute;border-radius:50%;filter:blur(70px);animation:orbFloat 12s ease-in-out infinite;will-change:transform;contain:layout style;}
  .orb1{width:480px;height:480px;background:rgba(123,47,255,.28);top:-120px;right:-80px;}
  .orb2{width:320px;height:320px;background:rgba(201,168,76,.13);bottom:-40px;left:-60px;animation-delay:4s;}
  .orb3{width:240px;height:240px;background:rgba(123,47,255,.18);top:45%;left:45%;animation-delay:7s;}
  .orb4{width:180px;height:180px;background:rgba(201,168,76,.09);top:30%;left:20%;animation-delay:2s;}
  @keyframes orbFloat{0%,100%{transform:translate(0,0);}33%{transform:translate(25px,-18px);}66%{transform:translate(-18px,28px);}}
  #particle-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;}
  
  /* ── HEADER ── */
  #main-header{
    position:fixed;top:0;left:0;right:0;z-index:500;
    will-change:transform;transform:translateZ(0);
    padding:0 40px;height:68px;
    display:flex;align-items:center;justify-content:space-between;
    background:rgba(2,0,10,0.72);
    backdrop-filter:blur(22px) saturate(1.4);
    -webkit-backdrop-filter:blur(22px) saturate(1.4);
    border-bottom:1px solid rgba(201,168,76,.1);
    box-shadow:0 2px 40px rgba(0,0,0,.5),0 1px 0 rgba(201,168,76,.06);
    transition:background .3s;
  }
  #main-header::after{
    content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent 0%,rgba(201,168,76,.25) 30%,rgba(123,47,255,.3) 60%,transparent 100%);
  }
  .logo-area{display:flex;align-items:center;gap:13px;cursor:pointer;flex-shrink:0;}
  .logo-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,rgba(201,168,76,.2),rgba(123,47,255,.3));border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 0 22px var(--gold-glow),0 0 44px rgba(123,47,255,.2);animation:logoGlow 3s ease-in-out infinite;position:relative;}
  .logo-icon::after{content:'';position:absolute;inset:-5px;border-radius:16px;border:1px solid rgba(201,168,76,.16);animation:logoPulse 3s ease-in-out infinite;}
  @keyframes logoGlow{0%,100%{box-shadow:0 0 22px var(--gold-glow),0 0 44px rgba(123,47,255,.2);}50%{box-shadow:0 0 32px var(--gold),0 0 64px rgba(123,47,255,.4);}}
  @keyframes logoPulse{0%,100%{opacity:.32;transform:scale(1);}50%{opacity:.72;transform:scale(1.05);}}
  .logo-name{font-size:14.5px;font-weight:700;background:linear-gradient(135deg,var(--gold-light),var(--gold),#9a7228);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:block;line-height:1.3;}
  .logo-sub{font-size:9px;color:rgba(201,168,76,.42);letter-spacing:2.5px;text-transform:uppercase;}
  
  /* Desktop nav */
  #main-nav{display:flex;align-items:center;gap:2px;}
  .nav-btn{
    position:relative;padding:8px 16px;border-radius:10px;
    border:1px solid transparent;background:transparent;
    color:rgba(255,255,255,.52);font-family:'Vazirmatn',sans-serif;font-size:13px;
    cursor:none;transition:color .25s,background .25s,border-color .25s,box-shadow .25s;
    overflow:hidden;white-space:nowrap;
  }
  .nav-btn::before{
    content:'';position:absolute;bottom:0;left:15%;right:15%;height:2px;
    background:linear-gradient(90deg,var(--purple),var(--gold));
    border-radius:2px 2px 0 0;transform:scaleX(0);transform-origin:center;
    transition:transform .3s cubic-bezier(.34,1.56,.64,1);
  }
  .nav-btn:hover{color:var(--gold-light);background:rgba(201,168,76,.055);border-color:rgba(201,168,76,.18);}
  .nav-btn:hover::before{transform:scaleX(.5);}
  .nav-btn.active-nav{
    color:var(--gold);background:rgba(201,168,76,.07);
    border-color:rgba(201,168,76,.3);
    box-shadow:0 0 18px var(--gold-glow),inset 0 0 12px rgba(201,168,76,.04);
  }
  .nav-btn.active-nav::before{transform:scaleX(1);}
  /* Active indicator dot above */
  .nav-btn.active-nav::after{
    content:'';position:absolute;top:5px;left:50%;transform:translateX(-50%);
    width:4px;height:4px;border-radius:50%;background:var(--gold);
    box-shadow:0 0 8px var(--gold);animation:dotBlink 1.8s ease-in-out infinite;
  }
  
  /* Admin-only nav item */
  .nav-btn.nav-admin{
    color:rgba(201,168,76,.7);
    border-color:rgba(201,168,76,.18);
    background:rgba(123,47,255,.06);
  }
  .nav-btn.nav-admin::before{background:linear-gradient(90deg,var(--gold),#ffaa00);}
  .nav-btn.nav-admin:hover{color:var(--gold-light);background:rgba(123,47,255,.12);border-color:rgba(201,168,76,.35);}
  .nav-admin-badge{
    display:inline-flex;align-items:center;
    font-size:9px;letter-spacing:.5px;
    background:linear-gradient(135deg,rgba(201,168,76,.25),rgba(123,47,255,.25));
    border:1px solid rgba(201,168,76,.3);border-radius:4px;
    padding:1px 5px;margin-right:5px;color:var(--gold);vertical-align:middle;
  }
  
  /* Hamburger button */
  #hamburger-btn{
    display:none;flex-direction:column;justify-content:center;gap:5px;
    width:42px;height:42px;border-radius:10px;border:1px solid rgba(201,168,76,.2);
    background:rgba(255,255,255,.04);cursor:none;padding:10px 9px;
    transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:600;
  }
  #hamburger-btn:hover{border-color:var(--gold);background:rgba(201,168,76,.08);box-shadow:0 0 18px var(--gold-glow);}
  .hb-line{
    width:100%;height:2px;border-radius:2px;
    background:linear-gradient(90deg,var(--gold),rgba(123,47,255,.8));
    transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s,width .35s;
    transform-origin:center;
  }
  #hamburger-btn.open .hb-line:nth-child(1),
  #hamburger-btn.hb-open .hb-line:nth-child(1){transform:translateY(7px) rotate(45deg);}
  #hamburger-btn.open .hb-line:nth-child(2),
  #hamburger-btn.hb-open .hb-line:nth-child(2){opacity:0;transform:scaleX(0);}
  #hamburger-btn.open .hb-line:nth-child(3),
  #hamburger-btn.hb-open .hb-line:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  
  /* Mobile Menu Overlay */
  #mobile-menu-overlay{
    position:fixed;inset:0;z-index:580;
    background:rgba(2,0,8,.6);
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    opacity:0;pointer-events:none;transition:opacity .35s ease;
  }
  #mobile-menu-overlay.open,
  #mobile-menu-overlay.mob-overlay-show{opacity:1;pointer-events:all;}
  
  /* Mobile Menu Drawer */
  #mobile-menu{
    position:fixed;top:0;right:0;bottom:0;z-index:590;
    width:min(320px,88vw);
    background:linear-gradient(160deg,rgba(4,0,18,.97) 0%,rgba(8,0,28,.97) 100%);
    border-left:1px solid rgba(201,168,76,.15);
    box-shadow:-20px 0 80px rgba(0,0,0,.8),0 0 0 1px rgba(123,47,255,.08);
    transform:translateX(100%);transition:transform .42s cubic-bezier(.25,.46,.45,.94);
    display:flex;flex-direction:column;overflow:hidden;
  }
  #mobile-menu::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(201,168,76,.04) 0%,transparent 40%,rgba(123,47,255,.04) 100%);
    pointer-events:none;
  }
  #mobile-menu.open,
  
  
  .mob-menu-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 24px;border-bottom:1px solid rgba(201,168,76,.1);
    flex-shrink:0;
  }
  .mob-menu-logo{display:flex;align-items:center;gap:10px;}
  .mob-logo-icon{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,rgba(201,168,76,.2),rgba(123,47,255,.3));border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:17px;box-shadow:0 0 16px var(--gold-glow);}
  .mob-logo-name{font-size:13px;font-weight:700;background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
  .mob-close-btn{
    width:36px;height:36px;border-radius:9px;border:1px solid rgba(255,100,100,.2);
    background:rgba(255,60,60,.06);color:rgba(255,120,120,.7);font-size:16px;
    cursor:none;transition:all .3s;display:flex;align-items:center;justify-content:center;
  }
  .mob-close-btn:hover{border-color:rgba(255,100,100,.4);background:rgba(255,60,60,.12);color:#ff6060;box-shadow:0 0 14px rgba(255,80,80,.2);}
  
  .mob-nav-list{
    flex:1;padding:16px 16px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;
  }
  .mob-nav-list::-webkit-scrollbar{width:3px;}
  .mob-nav-list::-webkit-scrollbar-thumb{background:rgba(201,168,76,.2);}
  
  .mob-nav-item{
    display:flex;align-items:center;gap:14px;
    padding:14px 18px;border-radius:14px;
    border:1px solid rgba(255,255,255,.05);background:rgba(255,255,255,.025);
    cursor:none;transition:all .3s cubic-bezier(.34,1.56,.64,1);
    position:relative;overflow:hidden;
  }
  .mob-nav-item::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(201,168,76,.08),rgba(123,47,255,.06));
    opacity:0;transition:opacity .3s;
  }
  .mob-nav-item:hover{border-color:rgba(201,168,76,.25);transform:translateX(-4px);box-shadow:0 4px 24px rgba(0,0,0,.4),0 0 20px rgba(201,168,76,.06);}
  .mob-nav-item:hover::before{opacity:1;}
  .mob-nav-item.mob-active{border-color:rgba(201,168,76,.35);background:rgba(201,168,76,.07);box-shadow:0 0 20px rgba(201,168,76,.1);}
  .mob-nav-icon{
    width:38px;height:38px;border-radius:10px;flex-shrink:0;
    background:linear-gradient(135deg,rgba(123,47,255,.25),rgba(201,168,76,.1));
    border:1px solid rgba(201,168,76,.15);
    display:flex;align-items:center;justify-content:center;font-size:17px;
    transition:all .3s;box-shadow:0 0 14px rgba(123,47,255,.15);
  }
  .mob-nav-item:hover .mob-nav-icon{border-color:rgba(201,168,76,.35);box-shadow:0 0 20px var(--gold-glow);}
  .mob-nav-item.mob-active .mob-nav-icon{background:linear-gradient(135deg,rgba(201,168,76,.25),rgba(123,47,255,.2));border-color:var(--gold);}
  .mob-nav-label{font-size:14.5px;font-weight:600;color:rgba(255,255,255,.72);transition:color .3s;}
  .mob-nav-item:hover .mob-nav-label,.mob-nav-item.mob-active .mob-nav-label{color:var(--gold-light);}
  .mob-nav-sub{font-size:10.5px;color:rgba(255,255,255,.28);margin-top:2px;}
  .mob-nav-arrow{margin-right:auto;color:rgba(201,168,76,.3);font-size:14px;transition:all .3s;}
  .mob-nav-item:hover .mob-nav-arrow{color:var(--gold);transform:translateX(-3px);}
  
  .mob-admin-item{border-color:rgba(201,168,76,.18)!important;background:rgba(123,47,255,.06)!important;}
  .mob-admin-item .mob-nav-icon{background:linear-gradient(135deg,rgba(201,168,76,.2),rgba(123,47,255,.25))!important;}
  .mob-admin-badge{
    font-size:9px;padding:2px 7px;border-radius:5px;
    background:linear-gradient(135deg,rgba(201,168,76,.2),rgba(123,47,255,.2));
    border:1px solid rgba(201,168,76,.3);color:var(--gold);margin-right:auto;
  }
  
  .mob-menu-footer{
    padding:16px 20px;border-top:1px solid rgba(201,168,76,.08);flex-shrink:0;
  }
  .mob-user-info{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.1);}
  .mob-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--purple-dark),var(--purple));border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--gold-light);box-shadow:0 0 12px var(--gold-glow);flex-shrink:0;}
  .mob-user-name{font-size:13px;font-weight:600;color:rgba(255,255,255,.8);}
  .mob-user-role{font-size:10.5px;color:rgba(201,168,76,.55);margin-top:2px;}
  
  /* Scan line inside mobile menu */
  #mobile-menu::after{
    content:'';position:absolute;top:0;left:0;right:0;height:100%;
    background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(201,168,76,.005) 3px,rgba(201,168,76,.005) 4px);
    pointer-events:none;
  }
  


 /* ── SIDE MENU ── */

 #side-menu{position:fixed;left:18px;top:50%;transform:translateY(-50%);z-index:90;will-change:transform;isolation:isolate;display:flex;flex-direction:column;gap:7px;background:rgba(4,0,16,.8);backdrop-filter:blur(22px);border:1px solid var(--glass-border);border-radius:22px;padding:14px 9px;box-shadow:0 0 50px rgba(201,168,76,.08),inset 0 0 30px rgba(123,47,255,.04);}
#side-menu::before{content:'';position:absolute;inset:-1px;border-radius:22px;background:linear-gradient(180deg,rgba(201,168,76,.25),transparent,rgba(123,47,255,.25));z-index:-1;}
.side-btn{width:42px;height:42px;border-radius:13px;border:1px solid rgba(201,168,76,.12);background:var(--glass);display:flex;align-items:center;justify-content:center;cursor:none;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;color:var(--gold);font-size:17px;}
.side-btn:hover{transform:scale(1.16) translateX(5px);border-color:var(--gold);box-shadow:0 0 22px var(--gold-glow);background:rgba(201,168,76,.09);}
.side-btn .tooltip{position:absolute;left:54px;background:rgba(3,0,14,.96);border:1px solid var(--glass-border);color:var(--gold-light);padding:5px 11px;border-radius:8px;font-size:11.5px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s;backdrop-filter:blur(12px);}
.side-btn:hover .tooltip{opacity:1;left:50px;}
.side-divider{width:22px;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.28),transparent);margin:3px auto;}
.avatar-btn{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--purple-dark),var(--purple));border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;color:var(--gold-light);box-shadow:0 0 16px var(--gold-glow);cursor:none;transition:all .3s cubic-bezier(.34,1.56,.64,1);}
.avatar-btn:hover{transform:scale(1.12);box-shadow:0 0 28px var(--gold),0 0 54px var(--gold-glow);}
#username-tag{font-size:9px;color:rgba(201,168,76,.6);text-align:center;letter-spacing:.5px;max-width:42px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:none;}

.mob-action-user{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer;}
.mob-action-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--purple-dark),var(--purple));border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--gold-light);flex-shrink:0;overflow:hidden;}
.mob-action-avatar img{width:100%;height:100%;object-fit:cover;}
.mob-action-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;}
.mob-action-btns{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.mob-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 10px;border-radius:10px;border:none;background:transparent;color:rgba(255,255,255,.7);cursor:pointer;transition:all .2s;font-family:inherit;position:relative;}
.mob-action-btn:active{background:rgba(255,255,255,.08);color:var(--gold);}
.mob-action-btn span:first-child{font-size:18px;}
.mob-action-btn span:last-child{font-size:9px;color:rgba(255,255,255,.4);}
.mob-action-badge{position:absolute;top:2px;right:6px;width:14px;height:14px;background:#e74c3c;border-radius:50%;font-size:8px;display:none;align-items:center;justify-content:center;color:#fff;font-weight:700;}

#mobile-action-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:90;height:56px;will-change:transform;transform:translateZ(0);background:rgba(4,0,16,.95);backdrop-filter:blur(20px);border-top:1px solid rgba(201,168,76,.15);padding:0 12px;align-items:center;justify-content:space-between;gap:4px;box-sizing:border-box;}

@media(max-width:900px){
    #side-menu{display:none;}
    #mobile-action-bar{display:flex;}
}



  /* ── HERO ── */
  .hero-content{position:relative;z-index:10;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 40px 80px;}
  .hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 20px;border-radius:50px;border:1px solid rgba(201,168,76,.3);background:rgba(201,168,76,.06);font-size:11px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;margin-bottom:34px;backdrop-filter:blur(10px);animation:badgePulse 2.5s ease-in-out infinite;}
  .badge-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold);animation:dotBlink 1.2s ease-in-out infinite;}
  @keyframes dotBlink{0%,100%{opacity:1;}50%{opacity:.25;}}
  @keyframes badgePulse{0%,100%{box-shadow:0 0 0 0 transparent;}50%{box-shadow:0 0 24px rgba(201,168,76,.18);}}
  .hero-title{font-size:clamp(44px,8vw,92px);font-weight:900;line-height:1.0;margin-bottom:14px;letter-spacing:-2px;}
  .title-line1{display:block;background:linear-gradient(135deg,#fff 0%,rgba(255,255,255,.75) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:titleIn 1s ease forwards;opacity:0;transform:translateY(42px);animation-delay:.2s;}
  .title-line2{display:block;background:linear-gradient(135deg,var(--gold-light) 0%,var(--gold) 45%,#7030d0 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:titleIn 1s ease forwards;opacity:0;transform:translateY(42px);animation-delay:.42s;}
  @keyframes titleIn{to{opacity:1;transform:translateY(0);}}
  .hero-desc{font-size:clamp(13px,1.8vw,17px);color:rgba(255,255,255,.48);max-width:580px;line-height:1.9;margin:24px auto 48px;animation:titleIn 1s ease forwards;opacity:0;animation-delay:.65s;}
  .hero-cta{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;animation:titleIn 1s ease forwards;opacity:0;animation-delay:.88s;}
  .btn-primary{padding:13px 34px;border-radius:50px;background:linear-gradient(135deg,var(--gold),#9a6e20);border:none;color:#000;font-family:'Vazirmatn',sans-serif;font-size:14px;font-weight:800;cursor:none;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 32px rgba(201,168,76,.4);position:relative;overflow:hidden;}
  .btn-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);opacity:0;transition:opacity .3s;}
  .btn-primary:hover{transform:scale(1.06);box-shadow:0 8px 44px rgba(201,168,76,.65);}
  .btn-primary:hover::before{opacity:1;}
  .btn-secondary{padding:13px 34px;border-radius:50px;background:rgba(201,168,76,.04);border:1px solid rgba(201,168,76,.3);color:var(--gold);font-family:'Vazirmatn',sans-serif;font-size:14px;font-weight:600;cursor:none;transition:all .3s ease;backdrop-filter:blur(10px);}
  .btn-secondary:hover{border-color:var(--gold);background:rgba(201,168,76,.1);box-shadow:0 0 32px var(--gold-glow);transform:scale(1.04);}
  .stats-row{display:flex;gap:52px;margin-top:80px;flex-wrap:wrap;justify-content:center;animation:titleIn 1s ease forwards;opacity:0;animation-delay:1.1s;}
  .stat-item{text-align:center;}
  .stat-num{font-size:34px;font-weight:800;background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
  .stat-label{font-size:11.5px;color:var(--text-muted);margin-top:5px;letter-spacing:1px;}
  .stat-divider{width:1px;background:rgba(201,168,76,.18);align-self:stretch;}
  .scroll-ind{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.28);font-size:10.5px;letter-spacing:2px;animation:scrollBounce 2.2s ease-in-out infinite;}
  .scroll-arrow{font-size:18px;color:var(--gold);}
  @keyframes scrollBounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(9px);}}
  
  /* ── SECTIONS ── */
  .section-wrapper{padding:110px 80px;position:relative;z-index:10;}
  .section-tag{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
  .tag-line{width:28px;height:1px;background:var(--gold);}
  .section-title{font-size:clamp(30px,4.5vw,52px);font-weight:800;line-height:1.1;margin-bottom:14px;}
  .section-desc{color:var(--text-muted);line-height:1.85;max-width:540px;}
  .cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:56px;}
  .feature-card{background:rgba(255,255,255,.02);border:1px solid rgba(201,168,76,.09);border-radius:20px;padding:30px;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(10px);opacity:0;transform:translateY(28px);}
  .feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;transition:opacity .3s;}
  .feature-card.visible{opacity:1;transform:translateY(0);}
  .feature-card:hover{border-color:rgba(201,168,76,.28);background:rgba(201,168,76,.038);transform:translateY(-7px);box-shadow:0 22px 64px rgba(0,0,0,.55),0 0 32px rgba(201,168,76,.09);}
  .feature-card:hover::before{opacity:1;}
  .card-icon{width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,rgba(123,47,255,.28),rgba(201,168,76,.09));border:1px solid rgba(201,168,76,.18);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px;box-shadow:0 0 22px rgba(123,47,255,.18);}
  .card-title{font-size:17px;font-weight:700;margin-bottom:9px;color:#fff;}
  .card-desc{font-size:12.5px;color:rgba(255,255,255,.42);line-height:1.75;}
  
  /* ── VISION ── */
  .vision-section{background:linear-gradient(135deg,rgba(123,47,255,.04),transparent,rgba(201,168,76,.025));border-top:1px solid rgba(201,168,76,.07);border-bottom:1px solid rgba(201,168,76,.07);}
  .vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
  @media(max-width:768px){.vision-grid{grid-template-columns:1fr;gap:40px;}}
  .vision-visual{position:relative;height:380px;display:flex;align-items:center;justify-content:center;}
  .ai-core{width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,.28),rgba(123,47,255,.38),transparent);border:1px solid rgba(201,168,76,.38);display:flex;align-items:center;justify-content:center;font-size:58px;animation:coreRotate 9s linear infinite;box-shadow:0 0 64px rgba(201,168,76,.18),0 0 128px rgba(123,47,255,.14);position:relative;z-index:2;}
  .ai-core::before,.ai-core::after{content:'';position:absolute;border-radius:50%;border:1px solid rgba(201,168,76,.18);animation:ringExpand 3.2s ease-in-out infinite;}
  .ai-core::before{inset:-28px;animation-delay:0s;}.ai-core::after{inset:-58px;animation-delay:1.1s;}
  @keyframes ringExpand{0%,100%{opacity:.28;transform:scale(1);}50%{opacity:.58;transform:scale(1.02);}}
  @keyframes coreRotate{from{filter:hue-rotate(0deg);}to{filter:hue-rotate(360deg);}}
  .orbit-ring{position:absolute;border-radius:50%;border:1px dashed rgba(201,168,76,.13);animation:orbit 14s linear infinite;}
  .orbit-ring:nth-child(2){width:250px;height:250px;}
  .orbit-ring:nth-child(3){width:330px;height:330px;animation-duration:20s;animation-direction:reverse;}
  .orbit-ring:nth-child(4){width:390px;height:390px;animation-duration:26s;border-color:rgba(123,47,255,.09);}
  @keyframes orbit{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
  .orbit-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);top:-3.5px;left:50%;transform:translateX(-50%);}
  
  /* ── ROADMAP ── */
  .roadmap-list{max-width:580px;margin:56px auto 0;}
  .roadmap-item{display:flex;align-items:flex-start;gap:22px;margin-bottom:38px;opacity:0;transform:translateX(32px);transition:all .5s ease;}
  .roadmap-item.visible{opacity:1;transform:translateX(0);}
  .rd-dot{width:15px;height:15px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:4px;box-shadow:0 0 10px var(--gold);position:relative;}
  .rd-dot::before{content:'';position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(201,168,76,.28);animation:ringExpand 2s ease-in-out infinite;}
  .rd-line{position:absolute;left:7px;top:18px;width:2px;height:calc(100% + 20px);background:linear-gradient(180deg,rgba(201,168,76,.28),transparent);}
  .rd-phase{font-size:10.5px;letter-spacing:2px;color:var(--gold);margin-bottom:4px;}
  .rd-title{font-size:17px;font-weight:700;margin-bottom:5px;}
  .rd-desc{font-size:12.5px;color:rgba(255,255,255,.42);line-height:1.72;}
  
  /* ── PLACEHOLDER PAGES ── */
  .placeholder-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 40px;position:relative;}
  .placeholder-icon{font-size:76px;margin-bottom:30px;animation:phFloat 3s ease-in-out infinite;filter:drop-shadow(0 0 28px var(--gold));}
  @keyframes phFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
  .placeholder-title{font-size:clamp(26px,5vw,46px);font-weight:800;background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:14px;}
  .placeholder-msg{font-size:15.5px;color:rgba(255,255,255,.38);max-width:400px;line-height:1.85;margin-bottom:38px;}
  .ph-progress{width:190px;height:2px;background:rgba(201,168,76,.09);border-radius:2px;overflow:hidden;margin:0 auto;}
  .ph-bar{height:100%;width:0;background:linear-gradient(90deg,var(--purple),var(--gold));border-radius:2px;animation:progressFill 3s ease infinite;}
  @keyframes progressFill{0%{width:0;opacity:1;}70%{width:100%;opacity:1;}100%{width:100%;opacity:0;}}
  .ph-scan-lines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(201,168,76,.008) 2px,rgba(201,168,76,.008) 4px);pointer-events:none;}
  .ph-data-stream{display:flex;gap:4px;margin-top:30px;flex-wrap:wrap;justify-content:center;max-width:400px;}
  .data-chip{padding:4px 10px;border-radius:50px;border:1px solid rgba(201,168,76,.14);font-size:9.5px;color:rgba(201,168,76,.48);font-family:monospace;animation:chipFlicker 2s ease-in-out infinite;}
  .data-chip:nth-child(2){animation-delay:.3s;}.data-chip:nth-child(3){animation-delay:.6s;}.data-chip:nth-child(4){animation-delay:.9s;}.data-chip:nth-child(5){animation-delay:1.2s;}
  @keyframes chipFlicker{0%,100%{opacity:.48;}50%{opacity:1;border-color:rgba(201,168,76,.38);}}
  
  /* ── FOOTER ── */
  footer{position:relative;z-index:10;border-top:1px solid rgba(201,168,76,.07);padding:36px 80px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;background:rgba(2,0,8,.85);backdrop-filter:blur(22px);}
  .footer-brand{background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:17px;font-weight:800;}
  .footer-copy{font-size:11.5px;color:rgba(255,255,255,.22);}
  .footer-links{display:flex;gap:22px;}
  .footer-link{font-size:11.5px;color:rgba(255,255,255,.32);cursor:none;transition:color .2s;}
  .footer-link:hover{color:var(--gold);}
  
  /* ── AUTH PAGES ── */
  .auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 40px;position:relative;}
  .auth-card{width:100%;max-width:430px;background:rgba(255,255,255,.025);border:1px solid rgba(201,168,76,.18);border-radius:26px;padding:50px 44px;backdrop-filter:blur(24px);position:relative;overflow:hidden;}
  .auth-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}
  .auth-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(123,47,255,.5),transparent);}
  .auth-header{text-align:center;margin-bottom:36px;}
  .auth-logo{width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,rgba(201,168,76,.2),rgba(123,47,255,.3));border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 16px;box-shadow:0 0 24px var(--gold-glow);}
  .auth-title{font-size:22px;font-weight:800;background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
  .auth-subtitle{font-size:12.5px;color:rgba(255,255,255,.35);margin-top:7px;}
  .input-group{position:relative;margin-bottom:14px;}
  .input-label{font-size:11.5px;color:rgba(201,168,76,.6);margin-bottom:6px;display:block;letter-spacing:.5px;}
  .auth-input{width:100%;padding:13px 18px;background:rgba(255,255,255,.035);border:1px solid rgba(201,168,76,.14);border-radius:13px;color:#fff;font-family:'Vazirmatn',sans-serif;font-size:13.5px;outline:none;transition:border-color .3s,box-shadow .3s;text-align:right;}
  .auth-input:focus{border-color:rgba(201,168,76,.5);box-shadow:0 0 18px rgba(201,168,76,.12);}
  .auth-input.error-field{border-color:rgba(255,80,80,.5);box-shadow:0 0 14px rgba(255,80,80,.1);}
  .password-wrap{position:relative;}
  .password-wrap .auth-input{padding-left:44px;}
  .eye-btn{position:absolute;left:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(201,168,76,.5);cursor:none;font-size:16px;transition:color .2s;padding:4px;}
  .eye-btn:hover{color:var(--gold);}
  .error-msg{font-size:11px;color:rgba(255,100,100,.8);margin-top:5px;display:none;animation:fadeIn .3s ease;}
  .error-msg.show{display:block;}
  .auth-btn{width:100%;padding:13px;border-radius:13px;border:none;font-family:'Vazirmatn',sans-serif;font-size:14px;font-weight:700;cursor:none;transition:all .3s cubic-bezier(.34,1.56,.64,1);margin-top:6px;}
  .auth-btn-primary{background:linear-gradient(135deg,var(--gold),#8a6520);color:#000;box-shadow:0 4px 28px rgba(201,168,76,.35);}
  .auth-btn-primary:hover{transform:scale(1.03);box-shadow:0 6px 38px rgba(201,168,76,.55);}
  .auth-btn-secondary{background:rgba(201,168,76,.04);border:1px solid rgba(201,168,76,.25) !important;color:var(--gold);margin-top:8px;}
  .auth-btn-secondary:hover{background:rgba(201,168,76,.1);border-color:var(--gold) !important;}
  .auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:rgba(255,255,255,.2);font-size:11px;}
  .auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:rgba(201,168,76,.1);}
  .back-link{background:none;border:none;color:rgba(255,255,255,.28);font-family:'Vazirmatn',sans-serif;font-size:12px;cursor:none;display:block;margin:20px auto 0;transition:color .2s;text-align:center;}
  .back-link:hover{color:var(--gold);}
  .success-banner{background:rgba(50,200,100,.08);border:1px solid rgba(50,200,100,.3);border-radius:12px;padding:12px 16px;font-size:12.5px;color:rgba(100,255,150,.8);text-align:center;margin-bottom:16px;display:none;animation:fadeIn .3s ease;}
  .success-banner.show{display:block;}
  
  /* ── CHATBOT ── */
  #chatbot-btn{position:fixed;right:24px;bottom:28px;will-change:transform;z-index:2000;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--gold));border:none;cursor:none;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 0 28px rgba(123,47,255,.5),0 4px 20px rgba(0,0,0,.4);transition:all .3s cubic-bezier(.34,1.56,.64,1);animation:botPulse 2.8s ease-in-out infinite;}
  @keyframes botPulse{0%,100%{opacity:1;transform:translateZ(0) scale(1);}50%{opacity:.85;transform:translateZ(0) scale(1.04);}}
  #chatbot-btn:hover{transform:scale(1.12);}
  #chatbot-panel{position:fixed;right:24px;bottom:92px;will-change:transform;z-index:2001;width:340px;background:rgba(4,0,18,.92);border:1px solid rgba(201,168,76,.22);border-radius:22px;backdrop-filter:blur(28px);box-shadow:0 20px 80px rgba(0,0,0,.7),0 0 40px rgba(123,47,255,.15);display:none;flex-direction:column;overflow:hidden;animation:chatSlideUp .35s cubic-bezier(.34,1.56,.64,1);}
  @keyframes chatSlideUp{from{opacity:0;transform:translateY(28px) scale(.96);}to{opacity:1;transform:translateY(0) scale(1);}}
  #chatbot-panel.open{display:flex;}
  .chat-header{padding:16px 18px;border-bottom:1px solid rgba(201,168,76,.1);display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.02);}
  .chat-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--purple-dark),var(--purple));border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;box-shadow:0 0 14px var(--gold-glow);}
  .chat-name{font-size:14px;font-weight:700;color:#fff;}
  .chat-status{font-size:10.5px;color:rgba(100,255,150,.7);display:flex;align-items:center;gap:5px;}
  .status-dot{width:6px;height:6px;border-radius:50%;background:rgba(100,255,150,.8);animation:dotBlink 1.4s infinite;}
  .chat-close{margin-right:auto;background:none;border:none;color:rgba(255,255,255,.35);cursor:none;font-size:18px;transition:color .2s;line-height:1;}
  .chat-close:hover{color:rgba(255,100,100,.7);}
  .chat-messages{overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:14px;height:300px;flex-shrink:0;scrollbar-width:thin;scrollbar-color:rgba(201,168,76,.2) transparent;}
  .chat-messages::-webkit-scrollbar{width:3px;}
  .chat-messages::-webkit-scrollbar-thumb{background:rgba(201,168,76,.2);border-radius:4px;}
  .msg-user-wrap{display:flex;justify-content:flex-start;animation:msgIn .22s ease;}
  .msg-user-box{background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.25);color:rgba(255,255,255,.9);border-radius:14px 14px 14px 2px;padding:9px 13px;font-size:12.5px;line-height:1.7;max-width:85%;direction:rtl;text-align:right;word-break:break-word;}
  .msg-ai-wrap{display:flex;justify-content:flex-start;animation:msgIn .22s ease;}
  .msg-ai-text{color:rgba(255,255,255,.88);font-size:12.5px;line-height:1.8;max-width:95%;direction:rtl;text-align:right;word-break:break-word;}
  .msg-ai-text p{margin:0 0 8px;}.msg-ai-text p:last-child{margin-bottom:0;}
  .msg-ai-text h1,.msg-ai-text h2,.msg-ai-text h3{color:var(--gold);font-size:13px;font-weight:700;margin:10px 0 4px;border-bottom:1px solid rgba(201,168,76,.15);padding-bottom:4px;}
  .msg-ai-text ul,.msg-ai-text ol{padding-right:18px;margin:6px 0;}
  .msg-ai-text li{margin-bottom:4px;}
  .msg-ai-text strong{color:#fff;font-weight:700;}
  .msg-ai-text em{color:rgba(255,255,255,.7);}
  .msg-ai-text a{color:rgba(201,168,76,.8);text-decoration:underline;}
  .msg-ai-text code{background:rgba(123,47,255,.25);border:1px solid rgba(123,47,255,.3);border-radius:4px;padding:1px 5px;font-family:monospace;font-size:11px;direction:ltr;display:inline-block;}
  .msg-ai-text pre{background:rgba(0,0,0,.4);border:1px solid rgba(123,47,255,.25);border-radius:8px;padding:10px 12px;overflow-x:auto;margin:8px 0;}
  .msg-ai-text pre code{background:none;border:none;padding:0;font-size:11.5px;direction:ltr;display:block;text-align:left;}
  .msg-ai-text hr{border:none;border-top:1px solid rgba(255,255,255,.08);margin:10px 0;}
  .msg-ai-text .katex{font-size:13px;}
  .msg-ai-text .katex-display{overflow-x:auto;padding:6px 0;}
  .msg-typing{display:flex;gap:5px;padding:8px 4px;align-items:center;}
  .typing-dot{width:7px;height:7px;border-radius:50%;background:rgba(201,168,76,.5);animation:typingBounce .9s ease-in-out infinite;}
  .typing-dot:nth-child(2){animation-delay:.15s;}.typing-dot:nth-child(3){animation-delay:.3s;}
  @keyframes typingBounce{0%,100%{transform:translateY(0);opacity:.4;}50%{transform:translateY(-5px);opacity:1;}}
  @keyframes msgIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
  .chat-input-row{padding:10px 14px;border-top:1px solid rgba(201,168,76,.09);display:flex;gap:8px;align-items:flex-end;}
  .chat-input{flex:1;background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.14);border-radius:14px;padding:9px 14px;color:#fff;font-family:'Vazirmatn',sans-serif;font-size:12.5px;outline:none;transition:border-color .3s;text-align:right;resize:none;overflow-y:hidden;min-height:38px;max-height:120px;line-height:1.5;direction:rtl;}
  .chat-input:focus{border-color:rgba(201,168,76,.4);}
  .chat-input:disabled{opacity:.4;cursor:not-allowed;}
  .chat-send{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--gold));border:none;color:#fff;font-size:14px;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .chat-send:hover:not(:disabled){transform:scale(1.1);}
  .chat-send-disabled{opacity:.3 !important;cursor:not-allowed !important;transform:none !important;}
  /* ══ کد بلاک چت‌بات ══ */
.msg-ai-text .cb-block{background:rgba(0,0,0,.5);border:1px solid rgba(123,47,255,.3);border-radius:8px;overflow:hidden;margin:8px 0;direction:ltr;text-align:left;}
.msg-ai-text .cb-header{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;background:rgba(123,47,255,.15);border-bottom:1px solid rgba(123,47,255,.2);}
.msg-ai-text .cb-lang{font-size:10px;color:rgba(201,168,76,.8);font-family:monospace;text-transform:uppercase;letter-spacing:1px;}
.msg-ai-text .cb-copy{background:none;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.4);border-radius:4px;padding:2px 7px;font-size:10px;cursor:pointer;font-family:inherit;transition:all .2s;}
.msg-ai-text .cb-copy:hover{border-color:rgba(201,168,76,.4);color:rgba(201,168,76,.8);}
.msg-ai-text .cb-body{padding:10px 12px;font-family:monospace;font-size:11.5px;line-height:1.6;color:#c8b8ff;white-space:pre;overflow-x:auto;}
.msg-ai-text .cb-inline{background:rgba(123,47,255,.2);border:1px solid rgba(123,47,255,.25);border-radius:4px;padding:1px 5px;font-family:monospace;font-size:11px;color:rgba(201,168,76,.9);direction:ltr;display:inline-block;}
/* فرمول ریاضی */
.msg-ai-text .math-block{direction:ltr;text-align:left;display:block;margin:8px 0;overflow-x:auto;}
.msg-ai-text .math-inline{direction:ltr;display:inline-block;vertical-align:middle;}
.msg-ai-text .katex{color:rgba(201,168,76,.9);}


  /* ══ چت بات قفل ══ */
.chat-send-disabled{ opacity:.35 !important; cursor:not-allowed !important; transform:none !important; }
.chat-input:disabled{ opacity:.5; cursor:not-allowed; }
.typing-dot{ width:7px; height:7px; border-radius:50%; background:rgba(123,47,255,.7); display:inline-block; animation:typingBounce 1.2s ease-in-out infinite; }
.typing-dot:nth-child(2){ animation-delay:.2s; }
.typing-dot:nth-child(3){ animation-delay:.4s; }
@keyframes typingBounce{ 0%,60%,100%{transform:translateY(0);} 30%{transform:translateY(-6px);} }
  /* ── MESSAGING PANEL ── */
  #msg-panel{position:fixed;right:24px;bottom:92px;will-change:transform;z-index:2001;width:340px;height:480px;background:rgba(4,0,18,.92);border:1px solid rgba(201,168,76,.22);border-radius:22px;backdrop-filter:blur(28px);box-shadow:0 20px 80px rgba(0,0,0,.7);display:none;flex-direction:column;overflow:hidden;}
  #msg-panel.open{display:flex;}
  .msg-panel-header{padding:14px 18px;border-bottom:1px solid rgba(201,168,76,.1);display:flex;align-items:center;justify-content:space-between;}
  .msg-panel-title{font-size:15px;font-weight:700;background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
  .msg-tabs{display:flex;border-bottom:1px solid rgba(201,168,76,.08);}
  .msg-tab{flex:1;padding:10px;font-family:'Vazirmatn',sans-serif;font-size:12px;background:none;border:none;color:rgba(255,255,255,.4);cursor:none;transition:all .3s;position:relative;}
  .msg-tab.active{color:var(--gold);}
  .msg-tab.active::after{content:'';position:absolute;bottom:0;left:20%;right:20%;height:2px;background:var(--gold);border-radius:1px;}
  .inbox-list{padding:12px;display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;}
  .inbox-list::-webkit-scrollbar{width:3px;}
  .inbox-list::-webkit-scrollbar-thumb{background:rgba(201,168,76,.2);}
  .inbox-item{padding:11px 13px;background:rgba(255,255,255,.025);border:1px solid rgba(201,168,76,.08);border-radius:13px;cursor:none;transition:all .3s;display:flex;gap:10px;align-items:flex-start;}
  .inbox-item:hover{border-color:rgba(201,168,76,.2);background:rgba(201,168,76,.04);}
  .inbox-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--purple-dark),var(--purple));border:1px solid rgba(201,168,76,.3);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
  .inbox-name{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.8);}
  .inbox-preview{font-size:11px;color:rgba(255,255,255,.35);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px;}
  .inbox-time{font-size:10px;color:rgba(255,255,255,.22);margin-right:auto;flex-shrink:0;}
  .unread-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px var(--gold);flex-shrink:0;margin-top:6px;}
  .compose-area{padding:14px;}
  .compose-to{width:100%;padding:10px 14px;background:rgba(255,255,255,.035);border:1px solid rgba(201,168,76,.14);border-radius:11px;color:#fff;font-family:'Vazirmatn',sans-serif;font-size:12.5px;outline:none;text-align:right;margin-bottom:10px;transition:border-color .3s;}
  .compose-to:focus{border-color:rgba(201,168,76,.4);}
  .compose-body{width:100%;height:100px;padding:10px 14px;background:rgba(255,255,255,.035);border:1px solid rgba(201,168,76,.14);border-radius:11px;color:#fff;font-family:'Vazirmatn',sans-serif;font-size:12.5px;outline:none;resize:none;text-align:right;margin-bottom:10px;transition:border-color .3s;line-height:1.6;}
  .compose-body:focus{border-color:rgba(201,168,76,.4);}
  .compose-send{width:100%;padding:11px;border-radius:11px;background:linear-gradient(135deg,var(--gold),#8a6520);border:none;color:#000;font-family:'Vazirmatn',sans-serif;font-size:13px;font-weight:700;cursor:none;transition:all .3s;box-shadow:0 3px 18px rgba(201,168,76,.3);}
  .compose-send:hover{box-shadow:0 5px 28px rgba(201,168,76,.55);transform:scale(1.02);}
  .msg-row{display:flex;align-items:flex-end;gap:8px;margin-bottom:10px;}
  .msg-row-me{flex-direction:row;justify-content:flex-start;}
  .msg-row-other{flex-direction:row;justify-content:flex-end;}
  .msg-avatar-sm{width:32px;height:32px;border-radius:50%;background:rgba(123,47,255,.3);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#c084fc;flex-shrink:0;overflow:hidden;}
  /* ── TOAST ── */
  #toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:rgba(4,0,18,.95);border:1px solid rgba(201,168,76,.3);border-radius:14px;padding:12px 24px;font-size:13px;color:var(--gold-light);backdrop-filter:blur(16px);box-shadow:0 8px 40px rgba(0,0,0,.6);z-index:9999;opacity:0;pointer-events:none;transition:opacity .3s;white-space:nowrap;}
  #toast.show{opacity:1;}
  
  /* ── SCROLLBAR ── */
  ::-webkit-scrollbar{width:4px;}::-webkit-scrollbar-track{background:transparent;}::-webkit-scrollbar-thumb{background:rgba(201,168,76,.28);border-radius:2px;}
  
  /* ── SITE USERS PAGE ── */
  .users-page{min-height:100vh;padding:100px 40px 60px;position:relative;z-index:10;}
  .users-page-header{margin-bottom:32px;}
  .users-page-title{font-size:clamp(26px,4vw,42px);font-weight:800;background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px;}
  .users-page-sub{font-size:13px;color:rgba(255,255,255,.38);}
  .users-stats-bar{display:flex;gap:16px;margin-bottom:28px;flex-wrap:wrap;}
  .u-stat{padding:14px 22px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid rgba(201,168,76,.1);display:flex;align-items:center;gap:12px;transition:border-color .3s;}
  .u-stat:hover{border-color:rgba(201,168,76,.25);}
  .u-stat-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,rgba(123,47,255,.3),rgba(201,168,76,.1));border:1px solid rgba(201,168,76,.2);display:flex;align-items:center;justify-content:center;font-size:16px;}
  .u-stat-val{font-size:20px;font-weight:800;color:var(--gold);}
  .u-stat-lbl{font-size:11px;color:rgba(255,255,255,.35);}
  .users-search-row{display:flex;gap:10px;margin-bottom:20px;align-items:center;flex-wrap:wrap;}
  .users-search{flex:1;min-width:200px;padding:11px 18px;background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.14);border-radius:12px;color:#fff;font-family:'Vazirmatn',sans-serif;font-size:13px;outline:none;transition:border-color .3s;text-align:right;}
  .users-search:focus{border-color:rgba(201,168,76,.4);}
  .users-filter{padding:11px 16px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.14);color:rgba(255,255,255,.6);font-family:'Vazirmatn',sans-serif;font-size:12.5px;cursor:none;transition:all .3s;white-space:nowrap;}
  .users-filter:hover,.users-filter.active-filter{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.07);color:var(--gold);}
  .users-table{width:100%;border-collapse:separate;border-spacing:0 6px;}
  .users-table th{padding:10px 16px;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(201,168,76,.5);font-weight:600;text-align:right;}
  .users-table tbody tr{background:rgba(255,255,255,.022);border:1px solid rgba(201,168,76,.07);transition:all .3s;cursor:none;}
  .users-table tbody tr:hover{background:rgba(201,168,76,.04);transform:scale(1.002);}
  .users-table td{padding:14px 16px;font-size:13px;color:rgba(255,255,255,.75);border-top:1px solid rgba(201,168,76,.06);border-bottom:1px solid rgba(201,168,76,.06);}
  .users-table td:first-child{border-right:1px solid rgba(201,168,76,.06);border-radius:0 12px 12px 0;}
  .users-table td:last-child{border-left:1px solid rgba(201,168,76,.06);border-radius:12px 0 0 12px;}
  .user-row-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--purple-dark),var(--purple));border:1.5px solid rgba(201,168,76,.3);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--gold-light);margin-left:10px;vertical-align:middle;}
  .role-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:10.5px;font-weight:600;}
  .role-badge.owner{background:rgba(201,168,76,.18);border:1px solid rgba(201,168,76,.4);color:var(--gold);}
  .role-badge.admin{background:rgba(123,47,255,.18);border:1px solid rgba(123,47,255,.4);color:#b080ff;}
  .role-badge.user{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.5);}
  .user-action-btn{padding:5px 12px;border-radius:8px;font-family:'Vazirmatn',sans-serif;font-size:11.5px;cursor:none;transition:all .25s;border:1px solid transparent;margin-right:4px;}
  .uab-promote{background:rgba(123,47,255,.12);border-color:rgba(123,47,255,.3);color:#b080ff;}
  .uab-promote:hover{background:rgba(123,47,255,.25);border-color:rgba(123,47,255,.5);box-shadow:0 0 12px rgba(123,47,255,.3);}
  .uab-delete{background:rgba(255,60,60,.08);border-color:rgba(255,60,60,.25);color:rgba(255,100,100,.7);}
  .uab-delete:hover{background:rgba(255,60,60,.18);border-color:rgba(255,80,80,.5);color:#ff6060;box-shadow:0 0 12px rgba(255,60,60,.2);}
  .access-denied-wrapper{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 40px;}
  .access-denied-icon{font-size:72px;margin-bottom:24px;filter:drop-shadow(0 0 20px rgba(255,80,80,.4));animation:phFloat 3s ease-in-out infinite;}
  .access-denied-title{font-size:clamp(24px,4vw,40px);font-weight:800;background:linear-gradient(135deg,#ff6060,#ff9060);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:12px;}
  .access-denied-msg{font-size:15px;color:rgba(255,255,255,.35);max-width:380px;line-height:1.8;margin-bottom:32px;}
  
  /* ── RESPONSIVE ── */
  @media(max-width:900px){
    #main-header{padding:0 20px;height:62px;}
    #main-nav{display:none;}
    #hamburger-btn{display:flex;}
    .section-wrapper{padding:90px 22px;}
    footer{padding:28px 22px;}
    #side-menu{left:8px;}
    .stats-row{gap:22px;}
    .auth-card{padding:36px 26px;}
    #chatbot-panel{right:12px;width:calc(100vw - 24px);}
    .users-page{padding:90px 18px 50px;}
    .users-stats-bar{gap:10px;}
    .users-table{font-size:12px;}
  }
  @media(max-width:480px){
    .hero-content{padding:90px 20px 70px;}
    .logo-sub{display:none;}
  }
  .logo-icon img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    background:transparent;
}
.logo-icon{
  width:44px;
  height:44px;
  border-radius:12px;
  background:transparent !important;
  border:none;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  box-shadow:none;
}
/* ══════════════════════════════════════════
   OTP & Register — اضافه‌شده
   ══════════════════════════════════════════ */
.reg-panel{display:flex;flex-direction:column;width:100%;}
@keyframes slideOutRight{from{transform:translateX(0);opacity:1}to{transform:translateX(60px);opacity:0}}
@keyframes slideInLeft{from{transform:translateX(-60px);opacity:0}to{transform:translateX(0);opacity:1}}
.slide-out-right{animation:slideOutRight .35s ease forwards;pointer-events:none;}
.slide-in-left{animation:slideInLeft .35s ease forwards;}
.otp-inputs-wrap{display:flex;gap:14px;justify-content:center;margin:28px 0 8px;direction:ltr;}
.otp-cell{width:62px;height:72px;border-radius:14px;border:2px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:#fff;font-size:28px;font-weight:700;text-align:center;outline:none;transition:border-color .2s,background .2s,box-shadow .2s;caret-color:transparent;}
.otp-cell:focus{border-color:var(--purple,#7b2fff);background:rgba(123,47,255,.12);box-shadow:0 0 0 3px rgba(123,47,255,.18);}
.otp-cell.filled{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08);}
.otp-cell.cell-success{border-color:#1D9E75!important;background:rgba(29,158,117,.18)!important;box-shadow:0 0 0 3px rgba(29,158,117,.2),0 0 20px rgba(29,158,117,.15)!important;color:#5DCAA5;}
.otp-cell.cell-error{border-color:#E24B4A!important;background:rgba(226,75,74,.15)!important;box-shadow:0 0 0 3px rgba(226,75,74,.2)!important;color:#f09595;}
@keyframes otpShake{0%,100%{transform:translateX(0)}15%{transform:translateX(-7px)}30%{transform:translateX(7px)}45%{transform:translateX(-5px)}60%{transform:translateX(5px)}75%{transform:translateX(-3px)}90%{transform:translateX(3px)}}
.otp-shake{animation:otpShake .5s ease;}
#welcome-banner{position:fixed;top:74px;left:50%;transform:translateX(-50%) translateY(-8px);background:rgba(123,47,255,.18);border:1px solid rgba(123,47,255,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:50px;padding:6px 22px;font-size:13px;color:rgba(255,255,255,.85);pointer-events:none;z-index:900;white-space:nowrap;transition:opacity .4s,transform .4s;opacity:0;}
#welcome-banner.show{opacity:1;transform:translateX(-50%) translateY(0);}
#welcome-banner span{color:var(--gold,#c9a84c);font-weight:600;}
/* ── Messaging Panel ─────────────────────────── */
.conv-list { display:flex; flex-direction:column; gap:2px; padding:8px; overflow-y:auto; max-height:calc(100% - 60px); }
.conv-item { display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:10px; cursor:pointer; transition:background .15s; }
.conv-item:hover { background:rgba(255,255,255,.06); }
.conv-unread { background:rgba(123,47,255,.1); }
.conv-avatar { width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
.conv-name { font-size:14px; font-weight:600; color:#fff; }
.conv-preview { font-size:12px; color:rgba(255,255,255,.45); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:160px; }
.conv-badge { background:#e74c3c; color:#fff; border-radius:50%; width:20px; height:20px; font-size:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.conv-chat-header { display:flex; align-items:center; gap:10px; padding:12px 16px; border-bottom:1px solid rgba(255,255,255,.08); flex-shrink:0; }
.msg-messages-box { flex:1; overflow-y:auto; padding:12px 16px; display:flex; flex-direction:column; gap:8px; }
.msg-bubble { max-width:78%; padding:8px 12px; border-radius:12px; font-size:13px; line-height:1.5; }
.msg-me { align-self:flex-start; background:rgba(123,47,255,.3); border-bottom-left-radius:4px; }
.msg-other { align-self:flex-end; background:rgba(255,255,255,.08); border-bottom-right-radius:4px; }
.msg-sender-name { font-size:11px; color:var(--gold,#c9a84c); margin-bottom:3px; }
.msg-time { font-size:10px; color:rgba(255,255,255,.35); margin-top:4px; text-align:left; }
.msg-input-row { display:flex; gap:8px; padding:12px 16px; border-top:1px solid rgba(255,255,255,.08); flex-shrink:0; }
.msg-input-row input { flex:1; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:8px 12px; color:#fff; font-size:13px; outline:none; font-family:inherit; }
.msg-input-row button { background:var(--purple,#7b2fff); border:none; border-radius:8px; color:#fff; width:36px; cursor:pointer; font-size:16px; }
.badge-count { position:absolute; top:2px; right:2px; background:#e74c3c; color:#fff; border-radius:50%; width:16px; height:16px; font-size:10px; display:none; align-items:center; justify-content:center; }
/* msg-panel defined above */

.msg-tab-bar {
  display: flex;
  border-bottom: 1px solid rgba(255,255,255,.08);
  flex-shrink: 0;
}
.msg-tab-btn {
  flex: 1;
  padding: 10px;
  background: none;
  border: none;
  color: rgba(255,255,255,.5);
  font-family: inherit;
  font-size: 12px;
  cursor: pointer;
  transition: color .2s, border-bottom .2s;
  border-bottom: 2px solid transparent;
}
.msg-tab-btn.active-tab {
  color: #fff;
  border-bottom-color: var(--purple, #7b2fff);
}
.msg-search-input {
  width: 100%;
  box-sizing: border-box;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  padding: 8px 12px;
  color: #fff;
  font-size: 13px;
  outline: none;
  font-family: inherit;
}
.msg-messages-box {
  flex: 1;
  overflow-y: auto;       /* ← اسکرول داخلی */
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 0;          /* ← مهم: بدون این flex کار نمیکنه */
}
/* ── Emoji Picker ─────────────────────────────────── */
.emoji-toggle-btn {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 0 4px;
  flex-shrink: 0;
  opacity: .7;
  transition: opacity .2s;
}
.emoji-toggle-btn:hover { opacity: 1; }

.emoji-picker {
  position: absolute;
  bottom: 56px;
  left: 12px;
  width: 280px;
  background: rgba(18,10,40,.97);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  backdrop-filter: blur(20px);
  z-index: 9999;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,.4);
}
.emoji-search-wrap {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.emoji-search-wrap input {
  width: 100%;
  box-sizing: border-box;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  padding: 6px 10px;
  color: #fff;
  font-size: 12px;
  outline: none;
  font-family: inherit;
}
.emoji-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 2px;
  padding: 8px;
  max-height: 200px;
  overflow-y: auto;
}
.emoji-grid button {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  padding: 4px;
  border-radius: 6px;
  transition: background .15s;
  line-height: 1;
}
.emoji-grid button:hover { background: rgba(255,255,255,.1); }
/* ══════════════════════════════════════════════════════
   WORKSPACE
   ══════════════════════════════════════════════════════ */
.ws-layout {
  display: flex;
  height: 100%;
  min-height: 100vh;
  gap: 0;
  padding-top: 68px;
  box-sizing: border-box;
}
.ws-sidebar {
  width: 220px;
  flex-shrink: 0;
  background: rgba(255,255,255,.03);
  border-left: 1px solid rgba(255,255,255,.07);
  padding: 20px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow-y: auto;
  height: calc(100vh - 68px);
  position: sticky;
  top: 0;
}
.ws-main {
  flex: 1; overflow-y: auto;
  padding: 28px 32px 28px 90px;
  height: calc(100vh - 68px);
}
.ws-menu-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 14px;
  border: none;
  background: none;
  color: rgba(255,255,255,.6);
  font-family: inherit;
  font-size: 13px;
  border-radius: 10px;
  cursor: pointer;
  transition: all .2s;
  text-align: right;
}
.ws-menu-btn:hover { background: rgba(255,255,255,.06); color: #fff; }
.ws-menu-btn.ws-active { background: rgba(123,47,255,.2); color: #fff; border: 1px solid rgba(123,47,255,.3); }
.ws-menu-icon { font-size: 18px; }
.ws-section-title { font-size: 20px; font-weight: 700; color: #fff; margin-bottom: 20px; }
.ws-loading { text-align:center; padding: 60px; color: rgba(255,255,255,.4); }
.ws-empty { text-align: center; padding: 60px 20px; color: rgba(255,255,255,.35); font-size: 15px; display: flex; flex-direction: column; gap: 12px; align-items: center; }
.ws-back-btn { background:none; border:none; color:rgba(255,255,255,.6); cursor:pointer; font-size:14px; font-family:inherit; margin-bottom:16px; padding:0; }
.ws-back-btn:hover { color:#fff; }

/* کارت‌ها */
.ws-cards-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(240px,1fr)); gap: 20px; }
.ws-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; overflow: hidden; transition: transform .2s, border-color .2s; }
.ws-card:hover { transform: translateY(-3px); border-color: rgba(123,47,255,.3); }
.ws-card-cover { height: 140px; background: rgba(123,47,255,.2); position: relative; }
.ws-card-cat { position:absolute; top:10px; right:10px; background:rgba(0,0,0,.5); color:#fff; font-size:11px; padding:3px 8px; border-radius:6px; }
.ws-card-status { position:absolute; top:10px; left:10px; font-size:11px; padding:3px 8px; border-radius:6px; font-weight:600; }
.ws-status-active { background:rgba(29,158,117,.3); color:#5DCAA5; border:1px solid rgba(29,158,117,.4); }
.ws-status-finished { background:rgba(226,75,74,.2); color:#f09595; border:1px solid rgba(226,75,74,.3); }
.ws-card-body { padding: 16px; }
.ws-card-title { font-size: 15px; font-weight: 600; color: #fff; margin-bottom: 6px; }
.ws-card-sub { font-size: 12px; color: rgba(255,255,255,.5); margin-bottom: 12px; }
.ws-card-meta { display:flex; gap:12px; font-size:12px; color:rgba(255,255,255,.4); margin-bottom:12px; flex-wrap:wrap; }

/* دکمه‌ها */
.ws-btn { padding: 8px 16px; border-radius: 8px; border: none; cursor: pointer; font-family: inherit; font-size: 13px; font-weight: 600; transition: all .2s; }
.ws-btn-primary { background: var(--purple,#7b2fff); color: #fff; }
.ws-btn-primary:hover { background: #6a1fff; }
.ws-btn-secondary { background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.15); }
.ws-btn-ghost { background: none; color: rgba(255,255,255,.6); border: 1px solid rgba(255,255,255,.1); }
.ws-btn-ghost:hover { background: rgba(255,255,255,.05); color: #fff; }
.btn-enroll { background: var(--purple,#7b2fff); color: #fff; }
.btn-ongoing { background: rgba(29,158,117,.3); color: #5DCAA5; border: 1px solid rgba(29,158,117,.4); cursor: default; }
.btn-finished { background: rgba(226,75,74,.2); color: #f09595; border: 1px solid rgba(226,75,74,.3); cursor: default; }
.ws-status-badge { display:inline-block; padding: 6px 14px; border-radius: 8px; font-size: 13px; font-weight: 600; }

/* فرم */
.ws-form-card { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 24px; max-width: 720px; }
.ws-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.ws-form-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.ws-label { font-size: 12px; color: rgba(255,255,255,.6); font-weight: 500; }
.ws-input { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 8px; padding: 10px 12px; color: #fff; font-size: 13px; outline: none; font-family: inherit; width: 100%; box-sizing: border-box; }
.ws-input:focus { border-color: var(--purple,#7b2fff); }
.ws-select-role { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: 6px; padding: 4px 8px; color: #fff; font-family: inherit; font-size: 12px; }
.ws-form-title { font-size: 16px; font-weight: 600; color: #fff; margin-bottom: 16px; }
.ws-topic-row { margin-bottom: 8px; }

/* جدول کاربران */
.ws-users-table-wrap { overflow-x: auto; border-radius: 12px; border: 1px solid rgba(255,255,255,.08); }
.ws-table { width:100%; border-collapse:collapse; table-layout:auto; }
.ws-table th { text-align:right; vertical-align:middle; padding:10px 14px; background:#0e0620; font-size:12px; color:rgba(255,255,255,.5); font-weight:600; white-space:nowrap; border-bottom:1px solid rgba(255,255,255,.08); }
.ws-table td { text-align:right; vertical-align:middle; padding:12px 14px; font-size:13px; color:rgba(255,255,255,.8); border-bottom:1px solid rgba(255,255,255,.04); }
.ws-table tbody tr:hover { background:rgba(255,255,255,.03); }
.ws-table tr:last-child td { border-bottom:none; }
.ws-user-avatar { width: 32px; height: 32px; border-radius: 50%; background: rgba(123,47,255,.2); display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; overflow: hidden; }
.ws-badge { display: inline-block; padding: 3px 8px; border-radius: 6px; font-size: 11px; font-weight: 600; }
.ws-badge-green { background: rgba(29,158,117,.2); color: #5DCAA5; }
.ws-badge-red { background: rgba(226,75,74,.2); color: #f09595; }

/* کلاس داخلی */
.ws-class-header { margin-bottom: 20px; }
.ws-class-title { font-size: 22px; font-weight: 700; color: #fff; }
.ws-class-sub { font-size: 13px; color: rgba(255,255,255,.5); margin-top: 4px; }
.ws-class-tabs { display: flex; gap: 4px; margin-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.08); padding-bottom: 0; }
.ws-tab { padding: 10px 16px; background: none; border: none; border-bottom: 2px solid transparent; color: rgba(255,255,255,.5); font-family: inherit; font-size: 13px; cursor: pointer; transition: all .2s; }
.ws-tab:hover { color: #fff; }
.ws-tab.active-ws-tab { color: #fff; border-bottom-color: var(--purple,#7b2fff); }

/* ── کارت تکلیف ── */
.ws-assign-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; margin-bottom: 14px; overflow: hidden; transition: border-color .2s; }
.ws-assign-card:hover { border-color: rgba(255,255,255,.16); }

.ws-assign-inner { display: flex; flex-direction: row-reverse; gap: 0; }
.ws-assign-inner.has-file .ws-assign-body { border-right: 1px solid rgba(255,255,255,.07); }

/* سمت چپ — تصویر/فایل */
.ws-assign-media { width: 180px; min-width: 180px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 16px 12px; background: rgba(123,47,255,.06); }
.ws-assign-media img { width: 100%; max-height: 160px; object-fit: cover; border-radius: 8px; cursor: pointer; transition: opacity .2s; }
.ws-assign-media img:hover { opacity: .85; }
.ws-assign-pdf-thumb { display: flex; flex-direction: column; align-items: center; gap: 6px; color: rgba(255,255,255,.5); font-size: 11px; }
.ws-assign-media-link { font-size: 11px; color: var(--accent, #7b2fff); text-decoration: none; padding: 4px 10px; border: 1px solid rgba(123,47,255,.35); border-radius: 20px; transition: background .2s; white-space: nowrap; }
.ws-assign-media-link:hover { background: rgba(123,47,255,.15); }

/* سمت راست — محتوا */
.ws-assign-body { flex: 1; padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; }

.ws-assign-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.ws-assign-title { font-size: 15px; font-weight: 600; color: #fff; line-height: 1.4; }
.ws-assign-actions { display: flex; gap: 4px; flex-shrink: 0; }
.ws-icon-btn { background: none; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; padding: 3px 8px; font-size: 13px; cursor: pointer; transition: background .2s; }
.ws-icon-btn:hover { background: rgba(255,255,255,.08); }
.ws-icon-btn.danger:hover { background: rgba(248,113,113,.12); border-color: rgba(248,113,113,.3); }

.ws-assign-desc { font-size: 13px; color: rgba(255,255,255,.55); line-height: 1.6; }

.ws-assign-deadline { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--gold,#c9a84c); }
.ws-assign-deadline.passed { color: #f87171; }
.ws-deadline-badge { background: rgba(248,113,113,.15); color: #f87171; font-size: 11px; padding: 2px 8px; border-radius: 20px; }

.ws-assign-footer { margin-top: auto; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.06); display: flex; flex-direction: column; gap: 8px; }
.ws-assign-submitted { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ws-assign-status { font-size: 12px; padding: 4px 12px; border-radius: 20px; display: inline-block; }
.ws-assign-status.submitted { background: rgba(29,158,117,.15); color: #5DCAA5; }
.ws-assign-file-btn { font-size: 12px; color: rgba(255,255,255,.5); text-decoration: none; padding: 3px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; transition: background .2s; }
.ws-assign-file-btn:hover { background: rgba(255,255,255,.07); }
.ws-assign-feedback { font-size: 12px; color: rgba(255,255,255,.45); padding: 8px 12px; background: rgba(255,255,255,.04); border-radius: 8px; border-right: 2px solid rgba(123,47,255,.4); }
.ws-assign-upload { display: flex; align-items: center; }
.ws-grade-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

@media(max-width:600px){
    .ws-assign-inner { flex-direction: column; }
    .ws-assign-media { width: 100%; min-width: unset; border-radius: 0; }
}
/* حضور غیاب */
.ws-att-row { display: flex; align-items: center; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.05); }
.ws-att-btns { display: flex; gap: 6px; }
.ws-att-btn { padding: 5px 10px; border-radius: 6px; border: 1px solid rgba(255,255,255,.1); background: none; color: rgba(255,255,255,.5); font-size: 11px; cursor: pointer; font-family: inherit; transition: all .2s; }
.ws-att-btn:hover:not(:disabled) { background: rgba(255,255,255,.08); color: #fff; }
.ws-att-active-present { background: rgba(29,158,117,.2) !important; color: #5DCAA5 !important; border-color: rgba(29,158,117,.4) !important; }
.ws-att-active-late { background: rgba(201,168,76,.2) !important; color: var(--gold,#c9a84c) !important; border-color: rgba(201,168,76,.4) !important; }
.ws-att-active-absent { background: rgba(226,75,74,.2) !important; color: #f09595 !important; border-color: rgba(226,75,74,.3) !important; }

/* دانش‌آموزان */
.ws-student-list { display: flex; flex-direction: column; gap: 8px; }
.ws-student-row { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: rgba(255,255,255,.03); border-radius: 10px; border: 1px solid rgba(255,255,255,.06); }
.ws-student-avatar { width: 36px; height: 36px; border-radius: 50%; background: rgba(123,47,255,.2); display: flex; align-items: center; justify-content: center; font-size: 16px; overflow: hidden; flex-shrink: 0; }
.ws-student-name { font-size: 14px; font-weight: 600; color: #fff; }
.ws-student-phone { font-size: 12px; color: rgba(255,255,255,.4); }

/* دسته‌بندی */
.ws-cat-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(120px,1fr)); gap: 16px; }
.ws-cat-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 16px; text-align: center; }
.ws-cat-logo { width: 48px; height: 48px; object-fit: contain; margin-bottom: 8px; }
.ws-cat-logo-placeholder { font-size: 36px; margin-bottom: 8px; }
.ws-cat-name { font-size: 13px; color: rgba(255,255,255,.8); font-weight: 500; }

/* مودال */
.ws-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.6); backdrop-filter:blur(4px); z-index:9999; display:flex; align-items:center; justify-content:center; }
.ws-modal { background: #120a28; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 28px; min-width: 320px; max-width: 460px; width: 90%; }
.ws-modal-title { font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 4px; }
.ws-modal-sub { font-size: 13px; color: rgba(255,255,255,.5); margin-bottom: 20px; }

/* فیلتر */
.ws-filter-bar { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; }
.ws-filter-btn { padding: 6px 16px; border-radius: 20px; border: 1px solid rgba(255,255,255,.12); background: none; color: rgba(255,255,255,.6); font-family: inherit; font-size: 13px; cursor: pointer; transition: all .2s; }
.ws-filter-btn:hover { background: rgba(255,255,255,.06); color: #fff; }
.ws-filter-btn.ws-filter-active { background: rgba(123,47,255,.25); color: #fff; border-color: rgba(123,47,255,.4); }


/* ══════════════════════════════════════════════════════
   COURSES PUBLIC — صفحه دوره‌ها
   ══════════════════════════════════════════════════════ */
.courses-hero{padding:80px 60px 60px;background:linear-gradient(135deg,rgba(123,47,255,.15),rgba(201,168,76,.08));border-bottom:1px solid rgba(255,255,255,.06);text-align:center;}
.courses-hero-badge{display:inline-block;background:rgba(123,47,255,.2);border:1px solid rgba(123,47,255,.3);color:rgba(255,255,255,.8);font-size:13px;padding:5px 16px;border-radius:20px;margin-bottom:16px;}
.courses-hero-title{font-size:36px;font-weight:800;color:#fff;margin-bottom:12px;}
.courses-hero-desc{font-size:16px;color:rgba(255,255,255,.6);margin-bottom:28px;}
.courses-cats-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.courses-cat-chip{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 12px;background:transparent;border:none;border-radius:12px;cursor:pointer;transition:all .2s;min-width:60px;overflow:hidden;}.courses-cat-chip:hover{background:rgba(123,47,255,.1);}
.courses-cat-chip.cat-active{background:rgba(123,47,255,.2);border:2px solid rgba(52,211,153,.6);}
.courses-cat-chip span{font-size:12px;color:rgba(255,255,255,.8);font-weight:500;}
.courses-cat-logo-placeholder{font-size:32px;}
.courses-cat-logo{width:52px;height:52px;max-width:52px;max-height:52px;object-fit:contain;display:block;margin:0 auto;}
@media(max-width:900px){
  .courses-cats-row{gap:4px;}
  .courses-cat-chip{padding:6px 4px;min-width:0;width:calc(100% / 7 - 4px);}
  .courses-cat-chip span{font-size:9px;}
  .courses-cat-logo{width:30px;height:30px;max-width:30px;max-height:30px;object-fit:contain;display:block;margin:0 auto;}
  .courses-cat-logo-placeholder{font-size:24px;}
}
/* کارت دوره */
.courses-public-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;}
.course-public-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;transition:transform .2s,border-color .2s;}
.course-public-card:hover{transform:translateY(-4px);border-color:rgba(123,47,255,.35);}
.course-public-cover{height:170px;position:relative;background:linear-gradient(135deg,rgba(123,47,255,.4),rgba(201,168,76,.2));}
.course-public-cat{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.65);color:#fff;font-size:11px;padding:3px 10px;border-radius:20px;}
.course-live-badge{position:absolute;top:10px;left:10px;background:rgba(239,68,68,.85);color:#fff;font-size:10px;padding:3px 8px;border-radius:20px;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}
.course-public-body{padding:18px;}
.course-public-title{font-size:15px;font-weight:700;color:#fff;margin-bottom:6px;line-height:1.4;}
.course-public-instructor{font-size:12px;color:rgba(255,255,255,.5);margin-bottom:10px;}
.course-public-meta{display:flex;gap:12px;font-size:12px;color:rgba(255,255,255,.4);margin-bottom:12px;flex-wrap:wrap;}
.course-price-row{margin-bottom:14px;min-height:28px;}
.course-price-free{font-size:18px;font-weight:700;color:#34d399;}
.course-price-old{font-size:12px;color:rgba(255,255,255,.35);text-decoration:line-through;}
.course-price-final{font-size:16px;font-weight:700;color:#fff;}
.course-discount-badge{display:inline-block;background:rgba(167,139,250,.2);color:#a78bfa;border:1px solid rgba(167,139,250,.3);font-size:11px;padding:2px 7px;border-radius:6px;}
.course-enroll-btn{width:100%;padding:10px;border-radius:10px;border:none;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;}
.enroll-btn-open{background:var(--purple,#7b2fff);color:#fff;}
.enroll-btn-open:hover{background:#6a1fff;}
.enroll-btn-ongoing{background:rgba(29,158,117,.2);color:#5DCAA5;border:1px solid rgba(29,158,117,.3);}
.enroll-btn-finished{background:rgba(226,75,74,.15);color:#f09595;border:1px solid rgba(226,75,74,.2);}

/* badge وضعیت روی کارت */
.course-my-status{display:inline-block;margin-bottom:8px;font-size:11px;padding:3px 10px;border-radius:20px;font-weight:600;}


/* ══════════════════════════════════════════════════════
   ENROLLMENT ADMIN CARDS
   ══════════════════════════════════════════════════════ */
.enroll-admin-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:18px;margin-bottom:12px;transition:border-color .2s;}
.enroll-admin-card:hover{border-color:rgba(123,47,255,.3);}
.eac-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:12px;}
.eac-name{font-size:15px;font-weight:700;color:#fff;}
.eac-course{font-size:12px;color:#c084fc;margin-top:2px;}
.eac-phone{font-size:12px;color:rgba(255,255,255,.42);margin-top:2px;}
.eac-status{display:inline-flex;align-items:center;gap:6px;border:1px solid;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;flex-shrink:0;}
.eac-note{font-size:12px;color:rgba(255,255,255,.6);background:rgba(255,255,255,.04);border-radius:8px;padding:8px 12px;margin-bottom:8px;line-height:1.5;}
.eac-receipt{margin-bottom:8px;}
.eac-date{font-size:11px;color:rgba(255,255,255,.3);margin-bottom:10px;}
.eac-actions{display:flex;gap:8px;flex-wrap:wrap;}

@media(max-width:900px){
  .course-detail-layout{grid-template-columns:1fr;}
  .course-detail-left{border-left:none;border-bottom:1px solid rgba(255,255,255,.08);}
  .course-detail-right{max-height:none;}
  .courses-hero{padding:40px 20px 30px;}
  .courses-hero-title{font-size:24px;}
  .course-detail-meta-grid{grid-template-columns:1fr;}
}

/* ══════════════════════════════════════════════════════
   COURSE DETAIL MODAL — دو ستونه
   ══════════════════════════════════════════════════════ */
.course-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:9998;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:20px;backdrop-filter:blur(4px);}
.course-modal-wrap{width:100%;max-width:1060px;background:linear-gradient(160deg,#0e0620,#120a28);border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;position:relative;margin:20px 0;}
.course-modal-close{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.8);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:14px;z-index:10;transition:all .2s;display:flex;align-items:center;justify-content:center;}
.course-modal-close:hover{background:rgba(255,255,255,.2);}

/* لایه دو ستونه */
.course-modal-body{display:grid;grid-template-columns:1fr 340px;min-height:500px;}

/* ─── ستون چپ (بزرگ) ─── */
.cml-left{padding:28px;border-left:1px solid rgba(255,255,255,.07);overflow-y:auto;max-height:90vh;}
.cml-video-wrap{border-radius:12px;overflow:hidden;background:#000;margin-bottom:0;aspect-ratio:16/9;}
.cml-video{width:100%;max-height:260px;object-fit:cover;display:block;}
.cml-box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px;}
.cml-box-title{font-size:13px;font-weight:700;color:#fff;margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.cml-box-text{font-size:13px;color:rgba(255,255,255,.7);line-height:1.8;margin:0;}
.cml-topics{list-style:none;padding:0;display:flex;flex-direction:column;gap:7px;}
.cml-topics li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:rgba(255,255,255,.75);padding:8px 10px;background:rgba(255,255,255,.03);border-radius:8px;border:1px solid rgba(255,255,255,.06);}
.cml-topic-num{min-width:22px;height:22px;border-radius:50%;background:rgba(123,47,255,.3);color:#c084fc;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cml-prereq{display:flex;align-items:flex-start;gap:8px;background:rgba(251,191,36,.07);border:1px solid rgba(251,191,36,.2);border-radius:10px;padding:12px 14px;font-size:13px;color:rgba(255,255,255,.7);margin-top:14px;}

/* ─── ستون راست (کوچک) ─── */
.cml-right{padding:24px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;max-height:90vh;}
.cml-cover{height:160px;border-radius:12px;background:rgba(123,47,255,.2);position:relative;flex-shrink:0;}
.cml-live-badge{position:absolute;bottom:8px;left:8px;background:rgba(239,68,68,.85);color:#fff;font-size:10px;padding:3px 8px;border-radius:20px;font-weight:700;}
.cml-title{font-size:20px;font-weight:800;color:#fff;line-height:1.3;margin:0;}
.cml-cat{font-size:10px;color:#c084fc;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;}
.cml-meta{display:flex;flex-wrap:wrap;gap:6px;}
.cml-meta-item{font-size:11px;color:rgba(255,255,255,.6);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);padding:5px 10px;border-radius:8px;}
.cml-price-box{background:rgba(123,47,255,.1);border:1px solid rgba(123,47,255,.22);border-radius:12px;padding:14px;}
.cml-price-free{font-size:22px;font-weight:800;color:#34d399;}
.cml-price-old{font-size:12px;color:rgba(255,255,255,.3);text-decoration:line-through;}
.cml-price-final{font-size:20px;font-weight:800;color:#fff;}
.cml-discount-badge{display:inline-block;background:rgba(167,139,250,.2);color:#a78bfa;font-size:11px;padding:2px 8px;border-radius:6px;margin-top:4px;}

/* فرم */
.cml-form{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px;}
.cml-form-title{font-size:13px;font-weight:700;color:#fff;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08);}
.cml-form-row{margin-bottom:10px;}
.cml-readonly{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:9px 12px;font-size:13px;color:rgba(255,255,255,.65);}
.cml-notice{background:rgba(251,191,36,.07);border:1px solid rgba(251,191,36,.18);border-radius:8px;padding:9px 12px;font-size:11px;color:rgba(255,255,255,.65);line-height:1.6;}
.cml-enroll-btn{width:100%;padding:12px;border-radius:10px;border:none;background:linear-gradient(135deg,#7b2fff,#5a1fb8);color:#fff;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;display:block;margin-top:6px;}
.cml-enroll-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px rgba(123,47,255,.4);}
.cml-enroll-btn:disabled{opacity:.55;cursor:default;}
.cml-btn-purple{background:linear-gradient(135deg,#a78bfa,#7c3aed);}
.cml-status-box{display:flex;align-items:flex-start;gap:10px;border:1px solid;border-radius:12px;padding:12px 14px;}
.cml-upload-box{background:rgba(167,139,250,.07);border:1px solid rgba(167,139,250,.2);border-radius:12px;padding:14px;}
.cml-upload-title{font-size:13px;font-weight:700;color:#fff;margin-bottom:6px;}
.cml-upload-hint{font-size:12px;color:rgba(255,255,255,.55);margin-bottom:10px;line-height:1.5;}
.cml-closed{text-align:center;padding:20px;color:rgba(255,255,255,.45);font-size:14px;background:rgba(255,255,255,.03);border-radius:10px;border:1px dashed rgba(255,255,255,.1);}

/* دکمه‌های وضعیت روی کارت دوره */
.enroll-btn-waiting  {background:rgba(245,158,11,.15);color:#f59e0b;border:1px solid rgba(245,158,11,.35);cursor:default;}
.enroll-btn-payment  {background:rgba(167,139,250,.2);color:#a78bfa;border:1px solid rgba(167,139,250,.4);cursor:pointer;}
.enroll-btn-pending  {background:rgba(96,165,250,.15);color:#60a5fa;border:1px solid rgba(96,165,250,.35);cursor:default;}
.enroll-btn-enrolled {background:rgba(52,211,153,.2);color:#34d399;border:1px solid rgba(52,211,153,.4);cursor:default;}
.enroll-btn-rejected {background:rgba(248,113,113,.15);color:#f87171;border:1px solid rgba(248,113,113,.3);cursor:default;}

/* دسته‌بندی‌ها */
.ws-cat-logo-wrap{position:relative;display:flex;justify-content:center;margin-bottom:8px;}
.ws-cat-upload-btn{position:absolute;bottom:-2px;left:-2px;background:rgba(123,47,255,.8);border:none;color:#fff;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;}
.ws-cat-delete-btn{background:none;border:none;color:rgba(248,113,113,.6);cursor:pointer;font-size:14px;margin-top:4px;transition:color .2s;}
.ws-cat-delete-btn:hover{color:#f87171;}

@media(max-width:900px){
  .course-modal-body{grid-template-columns:1fr;}
  .cml-left{border-left:none;border-bottom:1px solid rgba(255,255,255,.07);max-height:none;}
  .cml-right{max-height:none;}
}
.res-personal-grid {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 24px;
  align-items: start;
}
.res-avatar-col {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.res-avatar-circle {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: rgba(233,30,140,.15);
  border: 2px dashed rgba(233,30,140,.4);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.res-fields-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
}
.res-field-wrap {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
@media (max-width: 600px) {
  .res-personal-grid { grid-template-columns: 1fr; }
  .res-fields-grid   { grid-template-columns: 1fr; }
}
/* ── Resume Tabs ── */
.resume-editor-wrap {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  overflow: hidden;
  margin-top: 16px;
}
.resume-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 12px 12px 0;
  background: rgba(0,0,0,.2);
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.resume-tab {
  padding: 8px 14px;
  border-radius: 8px 8px 0 0;
  border: none;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.5);
  font-size: 12px;
  cursor: pointer;
  transition: all .2s;
  font-family: inherit;
}
.resume-tab:hover {
  background: rgba(233,30,140,.15);
  color: rgba(255,255,255,.8);
}
.resume-tab.active-rtab {
  background: linear-gradient(135deg,#e91e8c,#9c27b0);
  color: #fff;
  font-weight: 700;
}
.resume-tab-content {
  padding: 20px;
  min-height: 200px;
}
.resume-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: rgba(0,0,0,.15);
  border-top: 1px solid rgba(255,255,255,.07);
  flex-wrap: wrap;
}
.res-item-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 12px;
}
.res-item-hdr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 13px;
  color: rgba(255,255,255,.8);
}
.res-skills-editor {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}
@media (max-width: 700px) {
  .resume-tabs { gap: 2px; }
  .resume-tab  { padding: 6px 10px; font-size: 11px; }
  .res-skills-editor { grid-template-columns: 1fr; }
}
/* ── Resume Preview Modal ── */
.resume-preview-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.92);
  z-index: 9999;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow-y: auto;
  padding: 20px;
  backdrop-filter: blur(6px);
}

.resume-preview-wrap {
  width: 100%;
  max-width: 870px;
  margin: 20px 0 40px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.resume-preview-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 10px 16px;
}

#resume-doc {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}




.res-avatar-wrapper{
  position: relative;
  width: 120px;
  height: 120px;
}

.res-avatar-circle{
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  background: #f2f2f2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.res-avatar-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.res-avatar-delete{
  position: absolute;
  top: 6px;
  right: 6px;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 50%;
  background: rgba(0,0,0,0.7);
  color: white;
  cursor: pointer;
  display: none; /* در حالت عادی مخفی است */
  align-items: center;
  justify-content: center;
  font-size: 12px;
  z-index: 10;
}

/* دکمه حذف فقط زمانی که باکس هوور شود و عکسی (تگ img) داخل دایره وجود داشته باشد ظاهر می‌شود */
.res-avatar-wrapper:hover .res-avatar-circle img ~ .res-avatar-delete,
.res-avatar-wrapper:hover .res-avatar-delete {
  display: flex;
}

/* اگر فقط اموجی وجود داشت دکمه حذف را مطلقاً مخفی نگه دار */
.res-avatar-circle:not(:has(img)) ~ .res-avatar-delete {
  display: none !important;
}














/* ══════════════════════════════════════════════════════
   projects.css  —  ماژول پروژه‌های انجام شده
   این فایل را به انتهای style.css اضافه کنید
   یا به‌عنوان فایل مستقل در <head> لینک دهید
   ══════════════════════════════════════════════════════ */

/* ── گرید کارت‌ها ────────────────────────────────────── */
.proj-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 24px;
  padding: 8px 0 48px;
}

.proj-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 80px 0;
  color: var(--text-muted);
  font-size: 15px;
  grid-column: 1/-1;
}

.proj-spinner {
  width: 28px; height: 28px;
  border: 3px solid rgba(201,168,76,.2);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: projSpin .7s linear infinite;
}
@keyframes projSpin { to { transform: rotate(360deg); } }

/* ── کارت پروژه ──────────────────────────────────────── */
.proj-card {
  background: var(--glass);
  border: 1px solid var(--glass-border);
  border-radius: 18px;
  overflow: hidden;
  cursor: none;
  transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s;
  position: relative;
}
.proj-card:hover {
  transform: translateY(-6px) scale(1.015);
  box-shadow: 0 16px 50px rgba(0,0,0,.45), 0 0 32px rgba(201,168,76,.12);
}

.proj-card-cover {
  height: 200px;
  background: linear-gradient(135deg, rgba(123,47,255,.3), rgba(201,168,76,.15));
  position: relative;
  overflow: hidden;
}
.proj-card-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.55));
}
.proj-video-badge {
  position: absolute; top: 10px; right: 10px;
  background: rgba(123,47,255,.85);
  backdrop-filter: blur(8px);
  color: #fff; font-size: 11px; font-weight: 700;
  padding: 4px 10px; border-radius: 20px;
  border: 1px solid rgba(255,255,255,.2);
  z-index: 2;
}

.proj-card-body { padding: 16px 18px 18px; }
.proj-card-title {
  font-size: 15px; font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.proj-card-summary {
  font-size: 13px; color: var(--text-dim);
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 62px;
}
.proj-card-footer {
  display: flex; align-items: center; gap: 12px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.proj-stat { font-size: 12px; color: var(--text-muted); }
.proj-date { font-size: 11px; color: var(--text-muted); margin-right: auto; }

/* ── پاجینیشن ────────────────────────────────────────── */
.proj-pagination {
  display: flex; justify-content: center; gap: 8px;
  padding: 16px 0 40px;
  flex-wrap: wrap;
}
.proj-page-btn {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: var(--glass);
  border: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.7);
  font-family: inherit; font-size: 13px;
  cursor: none; transition: all .2s;
}
.proj-page-btn:hover { border-color: var(--gold); color: var(--gold); }
.proj-page-btn.active {
  background: linear-gradient(135deg, var(--gold), #9a6e20);
  border-color: transparent; color: #000; font-weight: 800;
}

/* ── overlay جزئیات ──────────────────────────────────── */
.proj-detail-overlay {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(12px);
  display: flex; align-items: flex-start; justify-content: center;
  padding: 80px 16px 20px;
  overflow-y: auto;
}

.proj-detail-modal {
  background: linear-gradient(145deg, #0d0620, #06001a);
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 22px;
  width: 100%; max-width: 1000px;
  position: relative;
  padding: 24px;
  box-shadow: 0 30px 100px rgba(0,0,0,.7);
  animation: projModalIn .3s cubic-bezier(.34,1.56,.64,1);
}
@keyframes projModalIn {
  from { opacity:0; transform: scale(.94) translateY(20px); }
  to   { opacity:1; transform: scale(1)  translateY(0); }
}

.proj-close-btn {
  position: absolute; top: 16px; left: 16px;
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.6); font-size: 16px;
  cursor: none; transition: all .2s;
  display: flex; align-items: center; justify-content: center;
  z-index: 2;
}
.proj-close-btn:hover { background: rgba(239,68,68,.2); color: #f87171; border-color: rgba(239,68,68,.4); }

/* بخش بالایی: ویدئو / کاور */
.proj-detail-top {
  width: 100%; margin-bottom: 20px;
  border-radius: 14px; overflow: hidden;
  background: rgba(0,0,0,.3);
}
.proj-embed-wrap {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 12px;
}
.proj-embed-wrap > div,
.proj-embed-wrap > iframe,
.proj-embed-wrap > script + * { width: 100% !important; height: 100% !important; }
.proj-detail-cover-img { width: 100%; max-height: 380px; object-fit: cover; display: block; }
.proj-detail-cover-placeholder {
  height: 220px;
  display: flex; align-items: center; justify-content: center;
  font-size: 80px;
  background: linear-gradient(135deg, rgba(123,47,255,.2), rgba(201,168,76,.1));
}

/* عنوان و meta */
.proj-detail-header { margin-bottom: 20px; }
.proj-detail-title { font-size: 22px; font-weight: 800; margin: 0 0 10px; }
.proj-detail-meta {
  display: flex; gap: 16px; align-items: center; flex-wrap: wrap;
  font-size: 13px; color: var(--text-muted);
}

/* لایک */
.proj-like-btn {
  padding: 6px 16px; border-radius: 20px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.6);
  font-family: inherit; font-size: 13px;
  cursor: none; transition: all .25s;
}
.proj-like-btn:hover { border-color: rgba(239,68,68,.4); color: #f87171; }
.proj-like-btn.liked {
  background: rgba(239,68,68,.15);
  border-color: rgba(239,68,68,.4);
  color: #f87171;
}

/* بدنه سه‌ستونه */
.proj-detail-body {
  display: grid;
  grid-template-columns: 200px 1fr 200px;
  gap: 20px;
}
@media (max-width: 768px) {
  .proj-detail-body { grid-template-columns: 1fr; }
  .proj-detail-overlay { padding: 12px 8px; }
  .proj-detail-modal { padding: 16px; border-radius: 16px; }
  .proj-detail-title { font-size: 17px; }
  .proj-grid { grid-template-columns: 1fr; gap: 16px; }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .proj-grid { grid-template-columns: repeat(2, 1fr); }
}
.proj-detail-aside {
  display: flex; flex-direction: column; gap: 16px;
  min-width: 0;
  overflow: hidden;
}
.proj-side-label {
  font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold); margin-bottom: 6px;
}

/* اعضا */
.proj-members-list {
  display: flex; flex-direction: column; gap: 10px;
  max-height: 420px;
  overflow-y: auto;
}
.proj-member-card {
  display: flex; flex-direction: column; align-items: center;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px; padding: 12px 8px; text-align: center;
  gap: 6px;
  word-break: break-word;
  overflow-wrap: break-word;
  min-width: 0;
}
.proj-member-avatar {
  width: 44px; height: 44px; border-radius: 50%;
  border: 2px solid rgba(201,168,76,.3);
  object-fit: cover;
}
.proj-member-initials {
  background: linear-gradient(135deg, var(--purple-dark), var(--purple));
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 700; color: var(--gold-light);
  box-shadow: 0 0 12px var(--gold-glow);
}
.proj-member-name { font-size: 13px; font-weight: 600; color: #fff; }
.proj-member-role { font-size: 11px; color: var(--text-muted); }

/* مواد و تجهیزات */
.proj-materials {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px; padding: 14px;
  overflow: hidden;
}
.proj-materials-body {
  font-size: 13px; color: var(--text-dim); line-height: 2;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: pre-wrap;
}
.proj-aside-cover {
  width: 100%; border-radius: 12px; object-fit: cover;
  border: 1px solid rgba(255,255,255,.08);
  margin-bottom: 4px;
}

/* مرکز */
.proj-detail-main {
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 14px; padding: 20px;
}
.proj-summary-full {
  font-size: 14px; color: var(--text-dim); line-height: 1.8;
  border-bottom: 1px solid rgba(255,255,255,.07); padding-bottom: 14px; margin-bottom: 14px;
}
.proj-description {
  font-size: 14px; color: rgba(255,255,255,.85); line-height: 1.95;
  text-align: justify;
  direction: rtl;
}
.proj-description h2, .proj-description h3 {
  color: var(--gold-light); margin: 20px 0 8px;
  text-align: right;
}
.proj-description strong { color: #fff; }
.proj-description p { margin-bottom: 12px; text-align: justify; }








/* ── مودال نمره‌دهی ── */
.ws-grade-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;}
.ws-grade-modal{background:#1e1535;border:1px solid rgba(200,180,255,.15);border-radius:18px;width:96%;max-width:1000px;height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.7);}
.ws-grade-modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:2px solid rgba(200,180,255,.12);flex-shrink:0;background:#231940;}
.ws-grade-modal-title{font-size:16px;font-weight:700;color:#fff;}
.ws-grade-modal-sub{font-size:12px;color:rgba(255,255,255,.4);margin-top:2px;}
.ws-grade-close-btn{background:#c0392b;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0;}
.ws-grade-close-btn:hover{background:#e74c3c;}
.ws-grade-modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column;background:#1e1535;}
.ws-grade-loading{text-align:center;padding:40px;color:rgba(255,255,255,.35);font-size:13px;}

.ws-gm-table-wrap{flex:1;overflow-y:auto;padding:16px;}
.ws-gm-table{width:100%;border-collapse:collapse;border:2px solid #2a2050;}
.ws-gm-table thead tr{background:#1a6fb5;}
.ws-gm-table thead th{padding:12px 16px;font-size:12px;font-weight:600;color:#fff;text-align:right;white-space:nowrap;border:1px solid rgba(255,255,255,.2);}
.ws-gm-table tbody tr{border-bottom:1px solid #2a2050;transition:background .15s;}
.ws-gm-table tbody tr:nth-child(even){background:rgba(255,255,255,.025);}
.ws-gm-table tbody tr:hover{background:rgba(123,47,255,.08);}
.ws-gm-table td{padding:11px 16px;font-size:13px;color:rgba(255,255,255,.8);vertical-align:middle;text-align:right;border:1px solid #2a2050;}
.ws-gm-name-cell{display:flex;align-items:center;gap:8px;}
.ws-gm-avatar-sm{width:28px;height:28px;border-radius:50%;background:rgba(123,47,255,.35);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;color:#c084fc;}
.ws-gm-empty{color:rgba(255,255,255,.2);font-size:12px;}
.ws-gm-date-sm{font-size:12px;color:rgba(255,255,255,.5);}
.ws-gm-inp{width:90px!important;padding:5px 8px!important;font-size:13px!important;text-align:center;-moz-appearance:textfield;}
.ws-gm-inp::-webkit-outer-spin-button,.ws-gm-inp::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.ws-gm-save{padding:5px 14px!important;font-size:13px!important;}
.ws-gm-ok{color:#5DCAA5;font-size:15px;margin-right:4px;}
.ws-gm-grade-area{display:flex;align-items:center;gap:6px;}


/* ── تنظیمات ── */
.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:8px;}
.settings-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px;}
.settings-card-title{font-size:14px;font-weight:600;color:rgba(255,255,255,.7);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06);}
.settings-card-avatar{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;}
.settings-avatar-wrap{position:relative;cursor:pointer;}
.settings-avatar{width:100px;height:100px;border-radius:14px;background:rgba(123,47,255,.3);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#c084fc;overflow:hidden;border:2px solid rgba(123,47,255,.3);}
.settings-avatar img{width:100%;height:100%;object-fit:cover;}
.settings-avatar-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;opacity:0;transition:opacity .2s;}
.settings-avatar-wrap:hover .settings-avatar-overlay{opacity:1;}
.settings-avatar-name{font-size:15px;font-weight:600;color:#fff;}
.settings-avatar-role{font-size:12px;color:rgba(255,255,255,.4);}
.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.settings-field{display:flex;flex-direction:column;gap:6px;}
.settings-label{font-size:12px;color:rgba(255,255,255,.45);}
.settings-input{font-size:14px;}
.settings-phone-display,.settings-pass-display{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:rgba(255,255,255,.04);border-radius:10px;border:1px solid rgba(255,255,255,.08);}
.settings-phone-num{font-size:14px;color:#fff;letter-spacing:1px;}
.settings-phone-slider{max-height:0;overflow:hidden;transition:max-height .4s ease;margin-top:0;}
.settings-phone-slider.open{margin-top:12px;}
.settings-phone-step{transition:opacity .25s,transform .25s;}

.settings-otp-cell{width:48px;height:56px;text-align:center;font-size:22px;font-weight:700;border-radius:12px;background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.12);color:#fff;caret-color:transparent;outline:none;transition:border-color .2s;}
.settings-otp-cell.filled{border-color:rgba(123,47,255,.6);}
.settings-otp-cell.cell-success{border-color:#34d399;background:rgba(52,211,153,.1);}
.settings-otp-cell.cell-error{border-color:#f87171;background:rgba(248,113,113,.1);}
#settings-otp-box { direction: ltr; }


/* ── صفحه شخصی ── */
.pp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:8px;}
.pp-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:rgba(255,255,255,.04);border-radius:10px;border:1px solid rgba(255,255,255,.08);margin-top:8px;}
.pp-toggle{position:relative;display:inline-block;width:44px;height:24px;}
.pp-toggle input{opacity:0;width:0;height:0;}
.pp-slider{position:absolute;cursor:pointer;inset:0;background:rgba(255,255,255,.15);border-radius:24px;transition:.3s;}
.pp-slider:before{content:'';position:absolute;width:18px;height:18px;right:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s;}
.pp-toggle input:checked + .pp-slider{background:#7b2fff;}
.pp-toggle input:checked + .pp-slider:before{transform:translateX(-20px);}
/* ── بخش افراد ── */
/* ── بخش افراد ── */
.people-hero{text-align:center;padding:80px 20px 40px;}
.people-section{margin-bottom:48px;}

/* مدیران */
.people-admins-row{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;}
.people-admin-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;}
.people-admin-label{font-size:11px;font-weight:700;color:var(--gold,#c9a84c);letter-spacing:.1em;text-transform:uppercase;padding:3px 12px;border:1px solid rgba(201,168,76,.3);border-radius:20px;background:rgba(201,168,76,.08);}
.people-admin-card{background:linear-gradient(135deg,rgba(123,47,255,.12),rgba(201,168,76,.06));border:1px solid rgba(123,47,255,.25);border-radius:20px;padding:24px 20px;text-align:center;width:200px;cursor:pointer;transition:transform .2s,border-color .2s;}
.people-admin-card:hover{transform:translateY(-4px);border-color:rgba(123,47,255,.5);}
.people-admin-photo{width:90px;height:90px;border-radius:50%;background:rgba(123,47,255,.3);margin:0 auto 14px;overflow:hidden;border:3px solid rgba(123,47,255,.4);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#c084fc;}
.people-admin-photo img{width:100%;height:100%;object-fit:cover;}
.people-page-wrap{max-width:1200px;margin:0 auto;padding:60px 24px 80px;}
.people-page-title-area{text-align:center;margin-bottom:48px;}
/* سه باکس */
.people-boxes-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px;max-width:1100px;margin-left:auto;margin-right:auto;}
@media(max-width:900px){.people-boxes-row{grid-template-columns:repeat(2,1fr);}}
@media(max-width:580px){.people-boxes-row{grid-template-columns:1fr;}}
.people-box{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:20px;}
.people-box-label{font-size:13px;font-weight:700;color:rgba(255,255,255,.6);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06);}
.people-box-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

/* slot card */
.people-slot-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:12px;text-align:center;cursor:pointer;transition:border-color .2s;}
.people-slot-card:hover{border-color:rgba(123,47,255,.4);}
.people-slot-photo{width:52px;height:52px;border-radius:50%;background:rgba(123,47,255,.2);margin:0 auto 8px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:20px;color:#c084fc;}
.people-slot-photo img{width:100%;height:100%;object-fit:cover;}
.people-slot-name{font-size:13px;font-weight:600;color:#fff;margin-bottom:2px;}
.people-slot-title{font-size:11px;color:rgba(255,255,255,.4);}

/* انیمیشن slot */
@keyframes slotExit{to{opacity:0;transform:translateX(20px)}}
@keyframes slotEnter{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:none}}
.slot-exit{animation:slotExit .35s ease forwards;}
.slot-enter{animation:slotEnter .4s ease forwards;}

/* مودال */
/* ── مودال کامل پروفایل ── */
.people-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto;}
.people-modal-full{background:#0d0b1e;border:1px solid rgba(201,168,76,.2);border-radius:24px;width:100%;max-width:720px;min-height:500px;position:relative;box-shadow:0 0 80px rgba(123,47,255,.3);margin:auto;}
.people-modal-close-full{position:sticky;top:12px;float:left;margin:12px;background:#c0392b;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:15px;font-weight:700;z-index:2;}

/* هدر مودال */
.pmf-header{position:relative;padding:40px 32px 32px;overflow:hidden;}
.pmf-header-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(123,47,255,.25),rgba(201,168,76,.08),rgba(26,107,181,.2));z-index:0;}
.pmf-header-bg::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 30px,rgba(201,168,76,.04) 30px,rgba(201,168,76,.04) 31px),repeating-linear-gradient(90deg,transparent,transparent 30px,rgba(201,168,76,.04) 30px,rgba(201,168,76,.04) 31px);}
.pmf-header-content{position:relative;z-index:1;display:flex;gap:24px;align-items:flex-end;}
.pmf-photo{width:110px;height:110px;border-radius:50%;border:3px solid rgba(201,168,76,.5);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:700;color:#c9a84c;background:rgba(123,47,255,.3);flex-shrink:0;box-shadow:0 0 30px rgba(201,168,76,.2);}
.pmf-photo img{width:100%;height:100%;object-fit:cover;}
.pmf-name{font-size:24px;font-weight:800;color:#fff;margin-bottom:4px;}
.pmf-title{font-size:14px;color:rgba(201,168,76,.8);margin-bottom:12px;}
.pmf-links{display:flex;gap:8px;flex-wrap:wrap;}
.pmf-link{padding:5px 14px;border-radius:20px;font-size:12px;text-decoration:none;font-weight:600;transition:transform .2s;}
.pmf-link:hover{transform:translateY(-2px);}
.pmf-link-blue{background:rgba(26,107,181,.2);border:1px solid rgba(26,107,181,.4);color:#60a5fa;}
.pmf-link-purple{background:rgba(123,47,255,.2);border:1px solid rgba(123,47,255,.4);color:#c084fc;}
.pmf-link-gold{background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.35);color:#c9a84c;}

/* بدنه مودال */
.pmf-body{padding:24px 32px 32px;display:flex;flex-direction:column;gap:16px;}
.pmf-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:500px){.pmf-two-col{grid-template-columns:1fr;}}

/* بخش‌ها */
.pmf-section{border-radius:14px;padding:18px 20px;}
.pmf-section-gold{background:rgba(201,168,76,.06);border:1px solid rgba(201,168,76,.2);}
.pmf-section-purple{background:rgba(123,47,255,.07);border:1px solid rgba(123,47,255,.25);}
.pmf-section-blue{background:rgba(26,107,181,.07);border:1px solid rgba(26,107,181,.25);}
.pmf-section-teal{background:rgba(29,158,117,.07);border:1px solid rgba(29,158,117,.25);}
.pmf-section-title{font-size:13px;font-weight:700;color:rgba(255,255,255,.6);margin-bottom:10px;letter-spacing:.05em;}
.pmf-section-text{font-size:13px;color:rgba(255,255,255,.75);line-height:1.8;}
.pmf-skills{display:flex;flex-wrap:wrap;gap:8px;}
.people-skill-tag{padding:4px 12px;background:rgba(123,47,255,.15);border:1px solid rgba(123,47,255,.3);border-radius:20px;font-size:12px;color:#c084fc;}
/* انیمیشن ورود */
.people-admin-card,.people-slot-card{opacity:0;}
@keyframes peopleIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.people-animate{animation:peopleIn .5s ease forwards;}
.people-slot-btn{margin-top:8px;font-size:11px;color:#7b2fff;background:rgba(123,47,255,.12);border:1px solid rgba(123,47,255,.25);border-radius:20px;padding:3px 10px;transition:background .2s;}
.people-slot-card:hover .people-slot-btn{background:rgba(123,47,255,.25);}

.people-section-top{margin-bottom:40px;padding-top:20px;}
.people-admin-card-label{font-size:11px;font-weight:700;color:var(--gold,#c9a84c);letter-spacing:.1em;padding:3px 14px;border:1px solid rgba(201,168,76,.3);border-radius:20px;background:rgba(201,168,76,.08);margin-bottom:14px;display:inline-block;}


select.ws-input{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.1);}
select.ws-input option{background:#1a0a35;color:#fff;}

.people-members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px;}
.people-member-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:16px 12px;text-align:center;cursor:pointer;transition:transform .2s,border-color .2s;}
.people-member-card:hover{transform:translateY(-3px);border-color:rgba(123,47,255,.3);}
.people-member-photo{width:56px;height:56px;border-radius:50%;background:rgba(123,47,255,.2);margin:0 auto 10px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:20px;color:#c084fc;}
.people-member-photo img{width:100%;height:100%;object-fit:cover;}
.people-member-name{font-size:13px;font-weight:600;color:#fff;margin-bottom:3px;}
.people-member-title{font-size:11px;color:rgba(255,255,255,.4);margin-bottom:6px;}

/* ── امور مالی ── */
.fin-balance-card{background:linear-gradient(135deg,rgba(29,158,117,.2),rgba(52,211,153,.08));border:1px solid rgba(52,211,153,.3);border-radius:20px;padding:32px;text-align:center;margin-bottom:24px;}
.fin-balance-label{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:8px;}
.fin-balance-amount{font-size:48px;font-weight:800;color:#34d399;line-height:1;}
.fin-balance-unit{font-size:18px;font-weight:400;margin-right:8px;color:rgba(52,211,153,.7);}
.fin-balance-sub{font-size:12px;color:rgba(255,255,255,.3);margin-top:8px;}
.fin-admin-panel{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;margin-bottom:20px;}
.fin-admin-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:flex-start;position:relative;}
.fin-user-opt{padding:8px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;font-size:13px;margin-bottom:4px;}
.fin-user-opt:hover{background:rgba(123,47,255,.2);}
#fin-user-result{position:absolute;top:48px;right:0;width:300px;z-index:10;background:#1a0a35;border-radius:10px;border:1px solid rgba(255,255,255,.1);padding:4px;}

/* ── امور مالی ── */
.fin-top-row{display:flex;gap:20px;align-items:stretch;flex-wrap:wrap;margin-bottom:8px;}
.fin-balance-card{position:relative;min-width:220px;flex:1;max-width:320px;border-radius:16px;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.25);overflow:hidden;padding:24px 20px;display:flex;flex-direction:column;justify-content:center;}
.fin-ruled-bg{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-evenly;padding:16px 0;pointer-events:none;}
.fin-ruled-line{height:1px;background:rgba(255,255,255,.07);width:100%;}
.fin-balance-inner{position:relative;z-index:1;}
.fin-balance-label{font-size:12px;color:rgba(255,255,255,.45);margin-bottom:6px;}
.fin-balance-amount{font-size:32px;font-weight:800;color:var(--gold);line-height:1;letter-spacing:1px;}
.fin-balance-unit{font-size:13px;color:rgba(201,168,76,.6);margin-top:4px;}
.fin-action-btns{display:flex;flex-direction:column;gap:10px;justify-content:center;flex:1;}
.fin-pay-btn{background:transparent;border:1px solid rgba(201,168,76,.35);color:rgba(255,255,255,.85);border-radius:10px;padding:12px 20px;font-size:14px;cursor:pointer;transition:all .2s;text-align:right;font-family:inherit;}
.fin-pay-btn:hover{background:rgba(201,168,76,.1);border-color:var(--gold);color:#fff;}
.fin-pay-btn-danger{border-color:rgba(248,113,113,.35);color:rgba(248,113,113,.8);}
.fin-pay-btn-danger:hover{background:rgba(248,113,113,.1);border-color:#f87171;color:#f87171;}
.fin-tabs{display:flex;gap:4px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:0;}
.fin-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:rgba(255,255,255,.45);padding:10px 18px;cursor:pointer;font-size:13px;font-family:inherit;transition:all .2s;margin-bottom:-1px;}
.fin-tab:hover{color:rgba(255,255,255,.8);}
.fin-tab-active{color:var(--gold)!important;border-bottom-color:var(--gold)!important;}
.fin-req-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px;margin-bottom:12px;}
.fin-req-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:6px;}
.fin-req-amount{font-size:18px;font-weight:700;color:var(--gold);}
.fin-req-status{font-size:12px;}
.fin-req-meta{font-size:12px;color:rgba(255,255,255,.4);}
.fin-req-note{margin-top:6px;font-size:12px;color:rgba(255,255,255,.5);background:rgba(255,255,255,.04);padding:6px 10px;border-radius:6px;}
.fin-admin-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;margin-top:12px;}
.fin-user-opt{padding:8px 12px;background:rgba(255,255,255,.06);border-radius:6px;cursor:pointer;font-size:13px;margin-top:4px;}
.fin-user-opt:hover{background:rgba(201,168,76,.15);}
/* ── فیلدهای مودال پرداخت ── */
.fin-field-group{margin-bottom:4px;}
.fin-field-label{font-size:12px;color:rgba(255,255,255,.45);margin-bottom:8px;display:block;}
.fin-field-wrap{display:flex;align-items:center;border-bottom:1.5px solid rgba(201,168,76,.4);padding:6px 0;transition:border-color .2s;}
.fin-field-wrap:focus-within{border-bottom-color:var(--gold);}
.fin-field-input{background:transparent;border:none;outline:none;color:#fff;font-size:22px;font-weight:700;flex:1;font-family:inherit;direction:ltr;text-align:right;}
.fin-field-input::placeholder{color:rgba(255,255,255,.2);font-size:18px;}
.fin-field-suffix{font-size:13px;color:rgba(255,255,255,.4);margin-right:8px;white-space:nowrap;}
.fin-field-prefix{font-size:18px;margin-left:8px;}
.fin-amount-words{font-size:11px;color:rgba(201,168,76,.6);margin-top:4px;min-height:16px;text-align:right;}
.fin-field-err{font-size:12px;color:#f87171;margin-top:4px;min-height:16px;}
/* ── کارت درخواست ── */
.fin-req-badge{font-size:11px;padding:3px 10px;border-radius:20px;white-space:nowrap;}
.fin-req-info-item{font-size:12px;color:rgba(255,255,255,.4);}
.fin-req-info-item span{color:rgba(255,255,255,.65);}
/* ── آپلود فیش ── */
.fin-upload-zone{margin-top:14px;border:1.5px dashed rgba(201,168,76,.3);border-radius:10px;padding:20px;text-align:center;cursor:pointer;transition:all .2s;}
.fin-upload-zone:hover{border-color:var(--gold);background:rgba(201,168,76,.05);}
.fin-upload-icon{font-size:28px;margin-bottom:6px;}
.fin-upload-text{font-size:13px;color:rgba(255,255,255,.7);}
.fin-upload-sub{font-size:11px;color:rgba(255,255,255,.3);margin-top:2px;}

.fin-referral-card{position:relative;flex:1;min-width:160px;max-width:220px;border-radius:16px;background:linear-gradient(135deg,rgba(123,47,255,.15),rgba(201,168,76,.1));border:1px solid rgba(201,168,76,.25);overflow:hidden;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s;}
.fin-referral-card:hover{transform:translateY(-2px);}
.fin-referral-lines{position:absolute;inset:0;pointer-events:none;}
.fin-ref-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.15),transparent);}
.fin-ref-line-1{width:80%;top:20%;left:10%;}
.fin-ref-line-2{width:60%;top:35%;left:20%;background:linear-gradient(90deg,transparent,rgba(123,47,255,.2),transparent);}
.fin-ref-line-3{width:90%;top:50%;left:5%;}
.fin-ref-line-4{width:70%;top:65%;left:15%;background:linear-gradient(90deg,transparent,rgba(201,168,76,.12),transparent);}
.fin-ref-line-5{width:50%;top:80%;left:25%;background:linear-gradient(90deg,transparent,rgba(123,47,255,.15),transparent);}
.fin-referral-gift{font-size:42px;position:relative;z-index:1;animation:giftBounce 2s ease-in-out infinite;}
@keyframes giftBounce{0%,100%{transform:translateY(0) rotate(-3deg);}50%{transform:translateY(-6px) rotate(3deg);}}
.fin-referral-btn{position:relative;z-index:1;margin-top:12px;background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.4);color:var(--gold);border-radius:20px;padding:6px 16px;font-size:12px;cursor:pointer;font-family:inherit;transition:all .2s;}
.fin-referral-card:hover .fin-referral-btn{background:rgba(201,168,76,.25);}
.ref-info-row{display:flex;gap:0;margin-bottom:16px;background:rgba(255,255,255,.04);border-radius:12px;overflow:hidden;}
.ref-info-box{flex:1;padding:14px;text-align:center;}
.ref-info-val{font-size:16px;font-weight:700;color:var(--gold);}
.ref-info-lbl{font-size:11px;color:rgba(255,255,255,.4);margin-top:4px;}
.ref-info-divider{width:1px;background:rgba(255,255,255,.08);}
.ref-link-box{display:flex;gap:8px;margin-bottom:12px;}
.ref-link-input{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 14px;color:rgba(255,255,255,.8);font-size:12px;flex:1;outline:none;direction:ltr;}
.ref-copy-btn{background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.3);color:var(--gold);border-radius:8px;padding:10px 16px;cursor:pointer;font-size:12px;white-space:nowrap;font-family:inherit;}
/* ══════════════════════════════════════════════════════
   فروشگاه
══════════════════════════════════════════════════════ */
#page-shop{ display:none; }
#page-shop.active{ display:block; }

.shop-layout{ display:grid; grid-template-columns:1fr 320px; gap:24px; padding:24px; max-width:1400px; margin:0 auto; }
@media(max-width:900px){ 
  .shop-layout{ grid-template-columns:1fr; padding:12px; gap:16px; } 
  .shop-cart-panel{ order:2; position:static; max-height:none; }
  .shop-products-grid{ grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; }
}
@media(max-width:480px){
  .shop-products-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .shop-layout{ padding:8px; }
}

/* محصولات */
.shop-products-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.shop-product-card{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:14px; overflow:hidden; cursor:pointer; transition:transform .2s,border-color .2s; }
.shop-product-card:hover{ transform:translateY(-4px); border-color:rgba(201,168,76,.3); }
.shop-product-img{ height:160px; position:relative; background:rgba(123,47,255,.15); }
.shop-out-badge{ position:absolute; top:8px; right:8px; background:rgba(248,113,113,.9); color:#fff; font-size:11px; padding:3px 10px; border-radius:20px; font-weight:700; }
.shop-code-badge{ position:absolute; bottom:8px; left:8px; background:rgba(0,0,0,.6); color:rgba(201,168,76,.9); font-size:10px; padding:2px 8px; border-radius:6px; font-family:monospace; }
.shop-product-body{ padding:14px; }
.shop-product-title{ font-size:14px; font-weight:600; margin-bottom:6px; }
.shop-product-tags{ display:flex; flex-wrap:wrap; gap:4px; margin-bottom:8px; }
.shop-tag{ background:rgba(123,47,255,.2); border:1px solid rgba(123,47,255,.3); color:rgba(255,255,255,.7); font-size:10px; padding:2px 8px; border-radius:10px; cursor:pointer; }
.shop-tag:hover,.shop-filter-tag.active{ background:rgba(123,47,255,.4); }
.shop-product-price{ font-size:16px; font-weight:700; color:var(--gold); margin-bottom:4px; }
.shop-product-price span{ font-size:11px; font-weight:400; color:rgba(255,255,255,.5); }
.shop-product-stock{ font-size:11px; color:rgba(255,255,255,.4); margin-bottom:10px; }
.shop-stock-low{ color:#fbbf24 !important; }
.shop-add-btn{ width:100%; background:rgba(123,47,255,.2); border:1px solid rgba(123,47,255,.4); color:#fff; border-radius:8px; padding:8px; cursor:pointer; font-size:13px; font-family:inherit; transition:all .2s; }
.shop-add-btn:hover:not(.disabled){ background:rgba(123,47,255,.4); }
.shop-add-btn.disabled{ opacity:.5; cursor:not-allowed; }

/* سبد خرید */
.shop-cart-panel{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:20px; position:sticky; top:80px; max-height:calc(100vh - 100px); display:flex; flex-direction:column; }
.shop-cart-title{ font-size:16px; font-weight:700; margin-bottom:16px; display:flex; align-items:center; gap:8px; }
.shop-cart-badge-wrap{ position:relative; display:inline-block; }
#shop-cart-badge{ position:absolute; top:-8px; right:-8px; background:#f87171; color:#fff; font-size:10px; width:18px; height:18px; border-radius:50%; display:none; align-items:center; justify-content:center; font-weight:700; }
#shop-cart-items{ flex:1; overflow-y:auto; margin-bottom:16px; }
.shop-cart-item{ display:flex; align-items:center; gap:8px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.shop-cart-item-img{ width:44px; height:44px; border-radius:8px; background:rgba(123,47,255,.2); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:18px; background-size:cover; background-position:center; }
.shop-cart-item-info{ flex:1; min-width:0; }
.shop-cart-item-title{ font-size:12px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.shop-cart-item-code{ font-size:10px; color:rgba(201,168,76,.7); font-family:monospace; }
.shop-cart-item-price{ font-size:11px; color:rgba(255,255,255,.5); }
.shop-cart-item-qty{ display:flex; align-items:center; gap:4px; flex-shrink:0; }
.shop-cart-item-qty button{ background:rgba(255,255,255,.1); border:none; color:#fff; width:22px; height:22px; border-radius:6px; cursor:pointer; font-size:14px; display:flex; align-items:center; justify-content:center; }
.shop-cart-item-qty span{ font-size:13px; font-weight:700; min-width:20px; text-align:center; }
.shop-cart-remove{ background:none; border:none; color:rgba(248,113,113,.6); cursor:pointer; font-size:14px; padding:4px; flex-shrink:0; }
.shop-cart-remove:hover{ color:#f87171; }
.shop-cart-footer{ border-top:1px solid rgba(255,255,255,.08); padding-top:14px; }
.shop-cart-total-row{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.shop-cart-total-label{ font-size:13px; color:rgba(255,255,255,.5); }
.shop-cart-total-val{ font-size:18px; font-weight:700; color:var(--gold); }

/* فیلتر */
.shop-filter-bar{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; align-items:center; }
.shop-search-input{ flex:1; min-width:200px; }
.shop-filter-tags{ display:flex; gap:6px; flex-wrap:wrap; }
.shop-filter-tag{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.6); font-size:11px; padding:4px 12px; border-radius:20px; cursor:pointer; font-family:inherit; transition:all .2s; }

/* مودال عکس محصول */
.shop-modal-img{ height:200px; border-radius:10px 10px 0 0; background:rgba(123,47,255,.15); position:relative; }

/* ══ سبد خرید پیشرفته ══ */
.shop-cart-panel{ background:rgba(10,5,25,.85); border:1px solid rgba(201,168,76,.2); border-radius:16px; overflow:hidden; position:sticky; top:80px; height:calc(100vh - 110px); display:flex; flex-direction:column; box-shadow:0 8px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(201,168,76,.1); }
.shop-cart-header{ position:relative; padding:18px 20px 14px; background:linear-gradient(135deg,rgba(123,47,255,.25),rgba(201,168,76,.12)); border-bottom:1px solid rgba(201,168,76,.15); flex-shrink:0; overflow:hidden; }
.shop-cart-header-bg{ position:absolute; inset:0; background:radial-gradient(ellipse at top right,rgba(201,168,76,.08),transparent 60%); pointer-events:none; }
.shop-cart-title{ font-size:17px; font-weight:700; display:flex; align-items:center; gap:10px; color:#fff; }
.cart-icon-wrap{ font-size:20px; filter:drop-shadow(0 0 6px rgba(201,168,76,.5)); }
.cart-header-meta{ font-size:11px; color:rgba(201,168,76,.6); margin-top:6px; letter-spacing:.5px; }
.cart-divider{ display:flex; align-items:center; gap:8px; padding:10px 16px; font-size:10px; color:rgba(255,255,255,.25); letter-spacing:1px; text-transform:uppercase; flex-shrink:0; }
.cart-divider::before,.cart-divider::after{ content:''; flex:1; height:1px; background:rgba(255,255,255,.06); }

#shop-cart-items{ flex:1; overflow-y:auto; padding:4px 0; scrollbar-width:thin; scrollbar-color:rgba(201,168,76,.3) transparent; }
#shop-cart-items::-webkit-scrollbar{ width:4px; }
#shop-cart-items::-webkit-scrollbar-track{ background:transparent; }
#shop-cart-items::-webkit-scrollbar-thumb{ background:rgba(201,168,76,.3); border-radius:4px; }

.shop-cart-item{ display:flex; align-items:center; gap:10px; padding:10px 16px; border-bottom:1px solid rgba(255,255,255,.04); transition:background .2s; animation:cartItemIn .3s ease both; }
.shop-cart-item:hover{ background:rgba(255,255,255,.03); }
@keyframes cartItemIn{ from{opacity:0;transform:translateX(10px)} to{opacity:1;transform:none} }

.shop-cart-item-img{ width:46px; height:46px; border-radius:10px; background:linear-gradient(135deg,rgba(123,47,255,.3),rgba(201,168,76,.1)); flex-shrink:0; display:flex; align-items:center; justify-content:center; position:relative; border:1px solid rgba(201,168,76,.15); overflow:hidden; }
.cart-item-emoji{ font-size:20px; }
.cart-item-qty-badge{ position:absolute; top:-4px; right:-4px; background:linear-gradient(135deg,#7b2fff,#c9a84c); color:#fff; font-size:9px; font-weight:700; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; }

.shop-cart-item-info{ flex:1; min-width:0; }
.shop-cart-item-title{ font-size:12px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#fff; }
.shop-cart-item-code{ font-size:10px; color:rgba(201,168,76,.6); font-family:monospace; margin:2px 0; }
.shop-cart-item-price{ font-size:11px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.cart-unit-price{ color:rgba(255,255,255,.7); font-weight:600; }
.cart-price-unit{ color:rgba(255,255,255,.3); font-size:10px; }
.cart-subtotal{ color:rgba(201,168,76,.8); font-size:10px; background:rgba(201,168,76,.08); padding:1px 6px; border-radius:4px; }

.shop-cart-item-qty{ display:flex; align-items:center; gap:4px; flex-shrink:0; }
.qty-btn{ background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); color:#fff; width:24px; height:24px; border-radius:6px; cursor:pointer; font-size:15px; display:flex; align-items:center; justify-content:center; transition:all .15s; line-height:1; }
.qty-btn:hover{ background:rgba(201,168,76,.2); border-color:rgba(201,168,76,.4); }
.qty-val{ font-size:13px; font-weight:700; min-width:22px; text-align:center; color:#fff; }
.shop-cart-remove{ background:none; border:none; color:rgba(248,113,113,.4); cursor:pointer; font-size:13px; padding:4px; flex-shrink:0; transition:color .2s,transform .2s; }
.shop-cart-remove:hover{ color:#f87171; transform:scale(1.2); }

.shop-cart-footer{ border-top:1px solid rgba(201,168,76,.15); padding:16px; flex-shrink:0; background:linear-gradient(to top,rgba(10,5,25,.9),transparent); }
.cart-total-box{ background:rgba(201,168,76,.06); border:1px solid rgba(201,168,76,.15); border-radius:10px; padding:12px 14px; margin-bottom:12px; display:flex; justify-content:space-between; align-items:center; }
.cart-total-label{ font-size:12px; color:rgba(255,255,255,.5); }
.cart-total-amount{ font-size:20px; font-weight:700; color:var(--gold); }
.cart-total-amount small{ font-size:11px; font-weight:400; color:rgba(255,255,255,.4); }

.cart-checkout-btn{ width:100%; background:linear-gradient(135deg,rgba(123,47,255,.7),rgba(201,168,76,.4)); border:1px solid rgba(201,168,76,.4); color:#fff; border-radius:10px; padding:12px 16px; cursor:pointer; font-family:inherit; font-size:14px; font-weight:700; display:flex; align-items:center; justify-content:center; gap:8px; transition:all .25s; position:relative; overflow:hidden; margin-bottom:10px; }
.cart-checkout-btn::before{ content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent); transform:translateX(-100%); transition:transform .5s; }
.cart-checkout-btn:hover::before{ transform:translateX(100%); }
.cart-checkout-btn:hover{ box-shadow:0 4px 20px rgba(201,168,76,.3); transform:translateY(-1px); }
.checkout-icon{ font-size:16px; }
.checkout-arrow{ margin-right:auto; opacity:.6; }
.cart-security-note{ text-align:center; font-size:10px; color:rgba(255,255,255,.25); letter-spacing:.5px; }

.cart-empty-state{ text-align:center; padding:40px 20px; }
.cart-empty-icon{ font-size:48px; opacity:.3; margin-bottom:12px; filter:grayscale(1); }
.cart-empty-text{ font-size:14px; color:rgba(255,255,255,.3); margin-bottom:6px; }
.cart-empty-sub{ font-size:11px; color:rgba(255,255,255,.15); }

/* ══ مودال موفقیت سفارش ══ */
.order-success-anim{ font-size:64px; margin-bottom:16px; animation:phFloat 3s ease-in-out infinite; display:block; }
.order-no-box{ background:rgba(201,168,76,.07); border:1px solid rgba(201,168,76,.25); border-radius:14px; padding:16px; margin:16px 0; position:relative; overflow:hidden; }
.order-no-val{ font-size:22px; font-weight:700; color:var(--gold); letter-spacing:3px; }
.order-no-glow{ position:absolute; inset:0; background:radial-gradient(ellipse at center,rgba(201,168,76,.08),transparent 70%); pointer-events:none; }
.order-info-pills{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-bottom:16px; }
.order-pill{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:20px; padding:6px 14px; font-size:11px; color:rgba(255,255,255,.5); }

/* ══ تگ‌های مدیریت محصول ══ */
.pm-tags-wrap{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.pm-tag-chip{ background:rgba(123,47,255,.2); border:1px solid rgba(123,47,255,.35); color:rgba(255,255,255,.8); font-size:11px; padding:4px 10px; border-radius:20px; cursor:pointer; display:flex; align-items:center; gap:4px; transition:all .15s; }
.pm-tag-chip:hover,.pm-tag-chip.selected{ background:rgba(123,47,255,.45); border-color:rgba(201,168,76,.4); color:#fff; }
.pm-tag-chip.selected::before{ content:'✓ '; font-size:10px; color:var(--gold); }




/* ╔══════════════════════════════════════════════════════════╗
   ║           MOBILE & RESPONSIVE — COMPLETE                ║
   ╚══════════════════════════════════════════════════════════╝ */

/* ── cursor: موبایل ندارد ── */
@media (max-width: 900px) {
  body { cursor: auto !important; }
  * { cursor: auto !important; }
  button, a, [onclick] { cursor: pointer !important; }
  #cursor, #cursor-ring { display: none !important; }
}

/* ── header موبایل ── */
@media (max-width: 900px) {
  #main-header { padding: 0 14px; height: 58px; }
  #main-nav { display: none !important; }
  #hamburger-btn { display: flex !important; }
  .logo-sub { display: none; }
  .logo-name { font-size: 13px; }
}

/* ── hamburger animation ── */
#hamburger-btn.hb-open .hb-line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#hamburger-btn.hb-open .hb-line:nth-child(2) { opacity: 0; transform: scaleX(0); }
#hamburger-btn.hb-open .hb-line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── mobile menu drawer ── */
#mobile-menu {
  position: fixed; top: 0; right: 0; height: 100vh;
  width: min(300px, 85vw); z-index: 590;
  background: linear-gradient(160deg, rgba(4,0,18,.98) 0%, rgba(8,0,28,.98) 100%);
  border-left: 1px solid rgba(201,168,76,.15);
  transform: translateX(100%);
  transition: transform .38s cubic-bezier(.25,.46,.45,.94);
  display: flex; flex-direction: column; overflow-y: auto; overflow-x: hidden;
  will-change: transform;
}
#mobile-menu.mob-open { transform: translateX(0); }
#mobile-menu-overlay {
  position: fixed; inset: 0; z-index: 580;
  background: rgba(0,0,0,.55); backdrop-filter: blur(4px);
  opacity: 0; pointer-events: none; transition: opacity .35s ease;
}
#mobile-menu-overlay.mob-overlay-show { opacity: 1; pointer-events: all; }

/* ── side menu: فقط desktop ── */
@media (max-width: 900px) {
  #side-menu { display: none !important; }
}

/* ── mobile action bar ── */
#mobile-action-bar {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0;
  z-index: 300;
  height: 56px;
  background: rgba(4,0,16,.97);
  backdrop-filter: blur(20px);
  border-top: 1px solid rgba(201,168,76,.15);
  padding: 0 8px;
  align-items: center;
  justify-content: space-between;
  gap: 2px;
  box-sizing: border-box;
  will-change: transform;
  transform: translateZ(0);
}
@media (max-width: 900px) {
  #mobile-action-bar { display: flex !important; }
  body { padding-bottom: 56px; }
  .page { padding-bottom: 56px; }
}

/* ── chatbot و پیام‌رسان: bottom sheet موبایل ── */
@media (max-width: 900px) {
  #chatbot-btn {
    bottom: 66px !important;
    right: 14px !important;
    width: 46px !important; height: 46px !important;
    font-size: 18px !important;
    animation: none !important;
  }
  #chatbot-panel {
    position: fixed !important;
    right: 0 !important; left: 0 !important;
    bottom: 56px !important;
    width: 100% !important;
    max-height: 70vh !important;
    border-radius: 18px 18px 0 0 !important;
    border-left: none !important; border-right: none !important; border-bottom: none !important;
    z-index: 400 !important;
  }
  #msg-panel {
    position: fixed !important;
    right: 0 !important; left: 0 !important;
    bottom: 56px !important;
    width: 100% !important;
    height: 480px !important;
    border-radius: 18px 18px 0 0 !important;
    border-left: none !important; border-right: none !important; border-bottom: none !important;
    z-index: 1000 !important;
    display: none !important;
  }
  #msg-panel.open {
    display: flex !important;
  }
}

/* ── صفحه اصلی hero ── */
@media (max-width: 900px) {
  .hero-content { padding: 90px 20px 70px; min-height: auto; }
  .hero-title { font-size: clamp(34px, 9vw, 60px); }
  .hero-desc { font-size: 13px; margin: 16px auto 32px; }
  .hero-cta { gap: 10px; }
  .btn-primary, .btn-secondary { padding: 11px 24px; font-size: 13px; }
  .stats-row { gap: 20px; margin-top: 36px; }
  .stat-num { font-size: 26px; }
  .scroll-ind { display: none; }
}
@media (max-width: 480px) {
  .hero-cta { flex-direction: column; align-items: center; }
  .btn-primary, .btn-secondary { width: 100%; max-width: 260px; }
}

/* ── section wrapper ── */
@media (max-width: 900px) {
  .section-wrapper { padding: 50px 16px 36px; }
  .cards-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .feature-card { padding: 18px 14px; }
  .card-title { font-size: 13px; }
  .card-desc { font-size: 11px; }
  .vision-grid { grid-template-columns: 1fr; gap: 28px; }
  .vision-visual { height: 200px; }
  footer { padding: 24px 16px; flex-direction: column; text-align: center; gap: 10px; }
}

/* ── placeholder (بالای صفحه‌های دوره / فروشگاه / ...) ── */
@media (max-width: 900px) {
  .placeholder-page { padding: 76px 16px 16px !important; min-height: auto !important; }
  .placeholder-icon { font-size: 40px !important; margin-bottom: 10px !important; filter: none !important; }
  .placeholder-title { font-size: 20px !important; }
  .ph-progress { width: 140px !important; margin: 10px auto !important; }
  .ph-data-stream { margin-top: 8px !important; gap: 4px !important; }
  .data-chip { font-size: 9px !important; padding: 2px 7px !important; }
}

/* ── کارت دوره‌های آموزشی ── */
@media (max-width: 900px) {
  .courses-public-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .course-public-card { border-radius: 12px !important; }
  .course-public-cover { height: 90px !important; }
  .course-public-body { padding: 10px !important; }
  .course-public-title { font-size: 12px !important; line-height: 1.35 !important; margin-bottom: 4px !important; }
  .course-public-instructor { font-size: 10px !important; margin-bottom: 6px !important; }
  .course-public-meta { font-size: 10px !important; gap: 6px !important; margin-bottom: 8px !important; }
  .course-price-row { margin-bottom: 8px !important; min-height: auto !important; }
  .course-price-free { font-size: 13px !important; }
  .course-price-final { font-size: 13px !important; }
  .course-price-old { font-size: 10px !important; }
  .course-enroll-btn { padding: 7px !important; font-size: 11px !important; }
  .course-public-cat { font-size: 9px !important; padding: 2px 6px !important; }
}

/* ── فروشگاه ── */
@media (max-width: 900px) {
  .shop-layout {
    display: flex !important;
    flex-direction: column !important;
    padding: 10px !important;
    gap: 10px !important;
  }

  /* سبد خرید: compact sticky بالا */
  .shop-cart-panel {
    order: -1 !important;
    position: sticky !important;
    top: 58px !important;
    z-index: 50 !important;
    height: auto !important;
    max-height: none !important;
    min-height: auto !important;
    border-radius: 12px !important;
  }
  .shop-cart-header { padding: 10px 12px 8px !important; }
  .shop-cart-header-bg { display: none !important; }
  .shop-cart-title { font-size: 13px !important; gap: 6px !important; }
  .cart-icon-wrap { font-size: 16px !important; }
  .cart-header-meta { font-size: 10px !important; margin-top: 2px !important; }
  .cart-divider { padding: 6px 10px !important; font-size: 9px !important; }
  #shop-cart-items { max-height: 120px !important; overflow-y: auto !important; flex: none !important; }
  .shop-cart-item { padding: 6px 10px !important; gap: 6px !important; }
  .shop-cart-item-img { width: 34px !important; height: 34px !important; font-size: 14px !important; border-radius: 7px !important; }
  .shop-cart-item-title { font-size: 11px !important; }
  .shop-cart-item-code { font-size: 9px !important; }
  .cart-unit-price { font-size: 10px !important; }
  .qty-btn { width: 20px !important; height: 20px !important; font-size: 13px !important; }
  .qty-val { font-size: 11px !important; min-width: 16px !important; }
  .shop-cart-remove { font-size: 12px !important; }
  .shop-cart-footer { padding: 8px 12px !important; }
  .cart-total-box { padding: 8px 10px !important; margin-bottom: 8px !important; border-radius: 8px !important; }
  .cart-total-label { font-size: 11px !important; }
  .cart-total-amount { font-size: 15px !important; }
  .cart-total-amount small { font-size: 10px !important; }
  .cart-checkout-btn { padding: 9px 12px !important; font-size: 12px !important; margin-bottom: 6px !important; border-radius: 8px !important; }
  .cart-security-note { display: none !important; }
  .cart-empty-state { padding: 16px !important; }
  .cart-empty-icon { font-size: 28px !important; margin-bottom: 6px !important; }
  .cart-empty-text { font-size: 12px !important; }
  .cart-empty-sub { font-size: 10px !important; }

  /* محصولات: ۲ ستون فشرده */
  .shop-products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
  .shop-product-card { border-radius: 10px !important; }
  .shop-product-img { height: 88px !important; }
  .shop-out-badge { font-size: 9px !important; padding: 2px 6px !important; }
  .shop-code-badge { font-size: 9px !important; padding: 1px 5px !important; }
  .shop-product-body { padding: 8px !important; }
  .shop-product-title { font-size: 11px !important; margin-bottom: 4px !important; }
  .shop-product-tags { gap: 3px !important; margin-bottom: 5px !important; }
  .shop-tag { font-size: 9px !important; padding: 1px 5px !important; }
  .shop-product-price { font-size: 12px !important; margin-bottom: 2px !important; }
  .shop-product-price span { font-size: 9px !important; }
  .shop-product-stock { font-size: 9px !important; margin-bottom: 6px !important; }
  .shop-add-btn { padding: 6px !important; font-size: 11px !important; border-radius: 6px !important; }

  /* فیلتر */
  .shop-filter-bar { gap: 6px !important; margin-bottom: 10px !important; }
  .shop-search-input { font-size: 12px !important; }
  .shop-filter-tag { font-size: 10px !important; padding: 3px 8px !important; }
}

/* ── auth pages ── */
@media (max-width: 900px) {
  .auth-container { padding: 72px 14px 72px; }
  .auth-card { padding: 24px 18px; border-radius: 16px; }
  .auth-title { font-size: 18px; }
  .auth-input { font-size: 14px; padding: 10px 12px; }
}

/* ── body scroll ── */
@media (max-width: 900px) {
  html, body { overscroll-behavior-y: none; }
}

/* ── performance: disable heavy animations ── */
@media (max-width: 900px) {
  .orb { animation: none !important; transform: none !important; }
  .light-beam { animation: none !important; }
  .hero-layer-1 { animation: none !important; }
  .hero-grid { animation: none !important; transform: none !important; }
  .orbit-ring { animation: none !important; }
  #chatbot-btn { animation: none !important; }
  .logo-icon { animation: none !important; }
  .logo-icon::after { animation: none !important; }
}

/* ══════════════════════════════════════════════
   MOBILE FIXES — اضافه شده
══════════════════════════════════════════════ */

/* ── ۱. فرم شارژ دستی ادمین ── */
@media (max-width: 900px) {
  .fin-admin-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  .fin-admin-form .ws-input,
  .fin-admin-form select,
  .fin-admin-form button {
    width: 100% !important;
    flex: none !important;
  }
  #fin-user-result {
    position: static !important;
    width: 100% !important;
  }
}

/* ── ۲. سبد خرید موبایل — toggle دکمه ── */
@media (max-width: 900px) {
  .shop-cart-panel {
    order: -1 !important;
    position: sticky !important;
    top: 58px !important;
    z-index: 50 !important;
    height: auto !important;
    max-height: none !important;
    border-radius: 12px !important;
  }
  /* وقتی collapsed باشه */
  .shop-cart-panel.cart-collapsed #shop-cart-items,
  .shop-cart-panel.cart-collapsed .cart-divider,
  .shop-cart-panel.cart-collapsed .shop-cart-footer {
    display: none !important;
  }
  .shop-cart-panel.cart-collapsed {
    height: auto !important;
  }
  /* دکمه toggle */
  .cart-toggle-btn {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    color: #fff;
    font-family: inherit;
    font-size: 13px;
    padding: 0;
    cursor: pointer;
  }
  .cart-toggle-arrow {
    font-size: 12px;
    transition: transform .3s;
    color: rgba(255,255,255,.5);
  }
  .shop-cart-panel.cart-collapsed .cart-toggle-arrow {
    transform: rotate(180deg);
  }
  /* badge تعداد */
  .cart-count-pill {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: #7b2fff;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    min-width: 20px;
    height: 20px;
    border-radius: 10px;
    padding: 0 6px;
    margin-right: 6px;
  }
}
/* روی دسکتاپ دکمه toggle مخفی */
@media (min-width: 901px) {
  .cart-toggle-btn { display: none !important; }
  .cart-count-pill { display: none !important; }
}

/* ── ۳. کارت‌ها — ۲ ستون کوچک ── */
@media (max-width: 900px) {
  /* دوره‌ها */
  .courses-public-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
    padding: 0 2px !important;
  }
  .course-public-card { border-radius: 10px !important; }
  .course-public-cover { height: 80px !important; }
  .course-public-body { padding: 8px !important; }
  .course-public-title { font-size: 11px !important; line-height: 1.3 !important; margin-bottom: 3px !important; -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
  .course-public-instructor { font-size: 9px !important; margin-bottom: 4px !important; }
  .course-public-meta { display: none !important; }
  .course-price-row { margin-bottom: 6px !important; min-height: auto !important; }
  .course-price-free, .course-price-final { font-size: 12px !important; }
  .course-enroll-btn { padding: 6px !important; font-size: 10px !important; }

  /* پروژه‌ها */
  .proj-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .proj-card-cover { height: 100px !important; }
  .proj-card-body { padding: 10px !important; }
  .proj-card-title { font-size: 12px !important; margin-bottom: 4px !important; }
  .proj-card-summary { font-size: 11px !important; min-height: auto !important; -webkit-line-clamp: 2; }
  .proj-card-footer { margin-top: 8px !important; padding-top: 8px !important; }
  .proj-stat, .proj-date { font-size: 10px !important; }

  /* محصولات فروشگاه */
  .shop-products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
  .shop-product-img { height: 80px !important; }
  .shop-product-body { padding: 7px !important; }
  .shop-product-title { font-size: 11px !important; margin-bottom: 3px !important; }
  .shop-product-tags { display: none !important; }
  .shop-product-price { font-size: 11px !important; margin-bottom: 2px !important; }
  .shop-product-stock { font-size: 9px !important; margin-bottom: 5px !important; }
  .shop-add-btn { padding: 5px !important; font-size: 10px !important; }
}

/* ── ۴. welcome banner موبایل — گوشه راست ریز ── */
@media (max-width: 900px) {
  #welcome-banner {
    left: auto !important;
    right: 12px !important;
    top: 66px !important;
    transform: translateY(-8px) !important;
    font-size: 10px !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    max-width: 160px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  #welcome-banner.show {
    transform: translateY(0) !important;
  }
}
