/* nbstudy mobile visual hotfix - 2026-05-15
   Fixes mobile auth pages, menu, chatbot floating widget and admin/student dashboards. */
:root{--nb-orange:#ff7a18;--nb-pink:#d74665;--nb-purple:#62269a;--nb-ink:#2d1f3c;--nb-border:#eadff4;--nb-grad:linear-gradient(135deg,#ff7a18 0%,#d74665 48%,#62269a 100%)}
html,body{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}button,input,select,textarea{font-family:'Cairo',sans-serif}.site-header{z-index:500}.main-nav.open{z-index:700}.menu-btn{align-items:center;justify-content:center}

/* Public mobile header */
@media(max-width:768px){
  .container{width:min(100% - 28px,1180px)!important}.site-header{position:sticky!important;top:0!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(18px);box-shadow:0 10px 28px rgba(98,38,154,.06)}
  .nav-wrap{min-height:74px!important;gap:10px!important}.brand img{width:86px!important;height:58px!important;object-fit:contain!important}.menu-btn{display:inline-flex!important;width:52px!important;height:52px!important;border-radius:18px!important;padding:0!important;background:var(--nb-grad)!important;color:#fff!important;box-shadow:0 14px 34px rgba(98,38,154,.18)!important;flex:0 0 auto!important}.menu-btn i{font-size:22px!important}
  .main-nav{display:none!important;position:fixed!important;top:82px!important;left:14px!important;right:14px!important;width:auto!important;max-height:calc(100vh - 104px)!important;overflow:auto!important;background:rgba(255,255,255,.98)!important;border:1px solid var(--nb-border)!important;border-radius:24px!important;box-shadow:0 26px 80px rgba(31,23,48,.18)!important;padding:12px!important;grid-template-columns:1fr!important;gap:7px!important;align-items:stretch!important;z-index:750!important}.main-nav.open{display:grid!important}.main-nav a{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:12px 14px!important;border-radius:16px!important;background:linear-gradient(135deg,#fff,#fffaf7)!important;border:1px solid #f1e7f7!important;font-size:14px!important;line-height:1.4!important}.main-nav .btn{justify-content:center!important}.notification-link span{min-width:18px;height:18px;font-size:11px;line-height:18px}
}

/* Front page mobile rhythm */
@media(max-width:768px){
  .hero{padding:28px 0 38px!important}.hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}.badge{font-size:13px!important;padding:8px 13px!important}.hero h1,h1{font-size:clamp(28px,9vw,42px)!important;line-height:1.35!important;margin:14px 0 12px!important}.lead{font-size:15px!important;line-height:1.95!important}.hero-actions{gap:10px!important}.hero-actions .btn{flex:1 1 145px!important;min-height:48px!important;padding:11px 14px!important}.hero-card{padding:18px!important;border-radius:28px!important}.hero-card .logo-big{width:min(260px,88%)!important}.section{padding:44px 0!important}h2.section-title{font-size:clamp(24px,7vw,34px)!important;line-height:1.45!important}.grid,.grid-3,.grid-4{grid-template-columns:1fr!important}.card{border-radius:22px!important;padding:18px!important}.uni-cover{height:116px!important}.uni-body{padding:18px!important}.footer-grid{grid-template-columns:1fr!important;gap:22px!important;text-align:start!important}.site-footer{margin-top:42px!important;padding-top:34px!important}.footer-logo{width:112px!important}.copyright{font-size:13px!important;line-height:1.8!important;padding:16px 10px!important}.footer-powered{font-size:12px!important;padding:9px 10px 13px!important;gap:6px!important;flex-wrap:wrap!important}.footer-powered a{font-size:12px!important;padding:4px 9px!important}
}

/* Auth pages: compact mobile cards instead of oversized text blocks */
@media(max-width:768px){
  .auth-page,.login-screen,.auth-flow-screen{padding:22px 0 46px!important;background:linear-gradient(180deg,#fff 0%,#fff8f4 55%,#faf4ff 100%)!important}.login-screen:before{opacity:.55!important}.login-orb{display:none!important}.auth-page .container,.login-screen .container,.auth-flow-screen .container{width:100%!important;max-width:100%!important;padding-inline:14px!important}.login-shell,.auth-flow-shell,.compact-flow-shell,.register-flow-shell{display:block!important;width:100%!important;max-width:540px!important;margin:0 auto!important}.login-intro-panel,.auth-flow-panel{display:none!important}.login-card-pro,.auth-flow-card,.register-card-pro{width:100%!important;margin:0 auto!important;padding:18px!important;border-radius:24px!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(98,38,154,.12)!important;box-shadow:0 20px 58px rgba(31,23,48,.10)!important;overflow:hidden!important}.login-card-pro:before{width:170px!important;height:170px!important;inset:-70px -70px auto auto!important}.login-card-head{align-items:center!important;gap:12px!important;margin-bottom:16px!important}.login-card-head span{font-size:12px!important;margin-bottom:2px!important}.login-card-head h2{font-size:25px!important;line-height:1.45!important}.login-head-icon{width:48px!important;height:48px!important;border-radius:18px!important;font-size:19px!important;flex:0 0 auto!important}.form-grid{gap:12px!important}.form-2,.form-2.enhanced-form,.enhanced-form{grid-template-columns:1fr!important}.field label{font-size:15px!important;line-height:1.45!important;margin-bottom:7px!important}.input-with-icon{position:relative!important}.input-with-icon i{inset-inline-start:14px!important;font-size:16px!important;color:var(--nb-purple)!important;z-index:2!important}.field input,.field select,.field textarea,.input-with-icon input,.select-with-icon select{min-height:50px!important;border-radius:18px!important;font-size:14px!important;padding-block:11px!important;background:#fff!important;border:1px solid #eadff0!important}.input-with-icon input,.select-with-icon select{padding-inline-start:44px!important}.field textarea{min-height:96px!important}.field-hint{font-size:11.5px!important;line-height:1.65!important}.login-submit,.btn.primary.login-submit{min-height:52px!important;border-radius:999px!important;font-size:15px!important;margin-top:4px!important;box-shadow:0 14px 34px rgba(255,122,24,.22)!important}.auth-divider{margin:18px 0 12px!important;font-size:13px!important}.auth-action-grid,.otp-method-cards,.single-action-grid{grid-template-columns:1fr!important;gap:10px!important}.auth-action-card{display:grid!important;grid-template-columns:44px 1fr!important;grid-template-areas:'icon title' 'icon desc' 'tag tag'!important;column-gap:12px!important;row-gap:4px!important;min-height:auto!important;padding:14px!important;border-radius:20px!important;background:linear-gradient(135deg,#fff,#fff9f4)!important;box-shadow:0 14px 32px rgba(98,38,154,.08)!important}.auth-action-icon{grid-area:icon!important;width:44px!important;height:44px!important;border-radius:16px!important;font-size:18px!important;margin:0!important}.auth-action-card strong{grid-area:title!important;font-size:14.5px!important;line-height:1.55!important;margin:0!important}.auth-action-card small{grid-area:desc!important;font-size:12px!important;line-height:1.75!important;margin:0!important}.auth-action-card em{position:static!important;grid-area:tag!important;justify-self:start!important;margin-top:8px!important;font-size:11.5px!important}.register-strip{display:block!important;text-align:center!important;font-size:13px!important;line-height:1.8!important;padding:12px 14px!important;border-radius:18px!important}.register-strip a{display:inline-flex!important;margin-top:4px!important}.auth-consent-box{align-items:flex-start!important;font-size:12px!important;line-height:1.8!important;padding:12px!important}.auth-consent-box i{width:30px!important;height:30px!important;flex:0 0 auto!important}.otp-method-card{padding:14px 12px!important;border-radius:18px!important}.otp-method-card strong{font-size:15px!important}.otp-method-card small{font-size:12px!important}.otp-sent-card{align-items:flex-start!important;font-size:12px!important}.otp-code-input{font-size:20px!important;letter-spacing:4px!important;text-align:center!important}
}
@media(max-width:390px){.login-card-pro,.auth-flow-card,.register-card-pro{padding:15px!important;border-radius:22px!important}.login-card-head h2{font-size:22px!important}.field label{font-size:14px!important}.auth-action-card{grid-template-columns:40px 1fr!important;padding:12px!important}.auth-action-icon{width:40px!important;height:40px!important}}

/* Floating WhatsApp placement on mobile */
.whatsapp-float{z-index:950!important}@media(max-width:768px){.whatsapp-float{width:54px!important;height:54px!important;left:14px!important;right:auto!important;bottom:16px!important;font-size:26px!important;box-shadow:0 18px 40px rgba(37,211,102,.28)!important}}

/* Chatbot: always floating; never render as raw page content */
.nb-chatbot{position:fixed!important;right:24px!important;bottom:24px!important;z-index:10000!important;width:auto!important;max-width:none!important;height:auto!important;display:block!important;margin:0!important;padding:0!important;font-family:'Cairo',sans-serif!important;direction:rtl!important;text-align:start!important}.nb-chatbot *{box-sizing:border-box}.nb-chatbot-launch{position:relative!important;width:70px!important;height:70px!important;border:0!important;border-radius:25px!important;background:var(--nb-grad)!important;color:#fff!important;display:grid!important;place-items:center!important;box-shadow:0 24px 55px rgba(98,38,154,.24),0 12px 28px rgba(255,122,24,.22)!important;cursor:pointer!important;overflow:visible!important;z-index:2!important}.nb-chatbot-icon{position:relative!important;z-index:2!important;width:46px!important;height:46px!important;border-radius:18px!important;background:rgba(255,255,255,.18)!important;display:grid!important;place-items:center!important;font-size:22px!important;color:#fff!important}.nb-chatbot-orbit{position:absolute!important;inset:-8px!important;border:1px solid rgba(255,255,255,.58)!important;border-radius:28px!important;animation:nbOrbit 2.8s linear infinite!important}.nb-chatbot-orbit:before{content:''!important;position:absolute!important;top:6px!important;left:10px!important;width:10px!important;height:10px!important;background:#fff!important;border-radius:50%!important;box-shadow:0 0 18px rgba(255,255,255,.9)!important}.nb-chatbot-pulse-dot{position:absolute!important;top:7px!important;right:8px!important;width:14px!important;height:14px!important;border-radius:50%!important;background:#25d366!important;border:3px solid #fff!important;z-index:3!important;box-shadow:0 0 0 0 rgba(37,211,102,.6)!important;animation:nbPulse 1.55s infinite!important}.nb-chatbot-hint{position:absolute!important;right:82px!important;bottom:8px!important;min-width:214px!important;background:rgba(255,255,255,.98)!important;border:1px solid rgba(98,38,154,.12)!important;border-radius:20px!important;padding:12px 15px!important;box-shadow:0 20px 45px rgba(31,36,48,.12)!important;color:#352442!important;pointer-events:none!important}.nb-chatbot-hint strong{display:block!important;font-size:14px!important;line-height:1.6!important;color:var(--nb-purple)!important}.nb-chatbot-hint small{display:block!important;font-size:11px!important;color:#7c7089!important;font-weight:800!important}.nb-chatbot-hint.hidden{opacity:0!important;visibility:hidden!important;transform:translateY(8px)!important}.nb-chatbot-panel{position:fixed!important;right:24px!important;bottom:108px!important;width:min(430px,calc(100vw - 48px))!important;height:min(690px,calc(100vh - 132px))!important;background:linear-gradient(180deg,#fff 0%,#fff8f2 48%,#f8f1ff 100%)!important;border:1px solid rgba(98,38,154,.13)!important;border-radius:32px!important;box-shadow:0 34px 95px rgba(31,23,48,.22)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;transform:translateY(18px) scale(.96)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:.28s!important;z-index:10001!important}.nb-chatbot.is-open .nb-chatbot-panel{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0) scale(1)!important}.nb-chatbot-head{display:flex!important;align-items:center!important;gap:12px!important;padding:16px!important;background:var(--nb-grad)!important;color:#fff!important}.nb-chatbot-head-icon{width:44px!important;height:44px!important;border-radius:17px!important;background:rgba(255,255,255,.18)!important;display:grid!important;place-items:center!important;flex:0 0 auto!important}.nb-chatbot-head strong{display:block!important;font-size:16px!important;line-height:1.5!important;color:#fff!important}.nb-chatbot-head span{display:block!important;font-size:12px!important;line-height:1.6!important;color:rgba(255,255,255,.9)!important}.nb-chatbot-close{margin-inline-start:auto!important;width:36px!important;height:36px!important;border:0!important;border-radius:14px!important;background:rgba(255,255,255,.16)!important;color:#fff!important;display:grid!important;place-items:center!important;cursor:pointer!important}.nb-chatbot-body{flex:1!important;overflow:auto!important;padding:16px!important}.nb-chatbot-empty-state{text-align:center!important;background:rgba(255,255,255,.78)!important;border:1px dashed #e2ccef!important;border-radius:24px!important;padding:22px 16px!important;color:#6c5d78!important}.nb-chatbot-empty-icon{width:62px!important;height:62px!important;margin:0 auto 10px!important;border-radius:22px!important;background:var(--nb-grad)!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:26px!important}.nb-chatbot-empty-state h3{margin:0 0 6px!important;font-size:20px!important;color:#2d1f3c!important}.nb-chatbot-empty-state p{margin:0!important;font-size:13px!important;line-height:1.85!important}.nb-chatbot-quick{display:flex!important;gap:8px!important;overflow:auto!important;padding:11px 12px!important;background:rgba(255,255,255,.95)!important;border-top:1px solid #efe2f5!important}.nb-chatbot-quick-btn{flex:0 0 auto!important;border:1px solid #eadff4!important;background:#fff!important;color:#4e3563!important;border-radius:999px!important;padding:9px 12px!important;display:inline-flex!important;align-items:center!important;gap:7px!important;font:900 12px 'Cairo',sans-serif!important;cursor:pointer!important}.nb-chatbot-input{display:flex!important;gap:8px!important;padding:12px!important;background:#fff!important;border-top:1px solid #efe2f5!important}.nb-chatbot-input input{flex:1!important;width:auto!important;min-width:0!important;border:1px solid #eadff4!important;border-radius:16px!important;padding:11px 12px!important;font-family:'Cairo',sans-serif!important;background:#fffaf7!important}.nb-chatbot-input button{border:0!important;border-radius:16px!important;background:var(--nb-grad)!important;color:#fff!important;padding:0 14px!important;display:inline-flex!important;align-items:center!important;gap:7px!important;font:900 13px 'Cairo',sans-serif!important;cursor:pointer!important}.nb-chatbot-message-row{display:flex!important;margin-bottom:12px!important}.nb-chatbot-message-row.user{justify-content:flex-start!important}.nb-chatbot-message-row.bot,.nb-chatbot-message-row.error{justify-content:flex-end!important}.nb-chatbot-message{max-width:88%!important;padding:12px 14px!important;border-radius:18px!important;line-height:1.85!important;font-size:13px!important;font-weight:800!important;box-shadow:0 12px 28px rgba(98,38,154,.07)!important;white-space:pre-wrap!important}.nb-chatbot-message-row.bot .nb-chatbot-message{background:#fff!important;color:#3a2d45!important;border:1px solid #efe2f5!important}.nb-chatbot-message-row.user .nb-chatbot-message{background:linear-gradient(135deg,#fff3e7,#f7edff)!important;color:#4c2a66!important;border:1px solid #ead8f5!important}.nb-chatbot-message-row.error .nb-chatbot-message{background:#fff0f0!important;color:#ad2323!important;border:1px solid #ffd2d2!important}.nb-chatbot-cards{display:grid!important;gap:12px!important;margin:12px 0 15px!important}.nb-chatbot-card{background:#fff!important;border:1px solid #eadff4!important;border-radius:22px!important;padding:14px!important;box-shadow:0 18px 42px rgba(98,38,154,.09)!important}.nb-chatbot-card-head{display:flex!important;align-items:center!important;gap:10px!important}.nb-chatbot-card-icon{width:42px!important;height:42px!important;border-radius:15px!important;background:linear-gradient(135deg,#fff5ea,#f4e9ff)!important;display:grid!important;place-items:center!important;color:var(--nb-purple)!important;flex:0 0 auto!important}.nb-chatbot-card-titlebox strong{display:block!important;font-size:14px!important;line-height:1.6!important}.nb-chatbot-card-titlebox span,.nb-chatbot-meta span,.nb-chatbot-conditions{font-size:12px!important}.nb-chatbot-price{font-size:15px!important;color:var(--nb-orange)!important;font-weight:900!important}.nb-chatbot-card-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:11px!important}.nb-chatbot-card-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;border-radius:999px!important;background:var(--nb-grad)!important;color:#fff!important;padding:8px 11px!important;font-size:12px!important;font-weight:900!important}.nb-chatbot-lead-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.nb-chatbot-lead-grid .wide{grid-column:1/-1!important}.nb-chatbot-lead-grid input,.nb-chatbot-lead-grid textarea{width:100%!important;border:1px solid #eadff4!important;border-radius:14px!important;padding:10px 11px!important}.nb-chatbot-lead-actions{display:flex!important;gap:8px!important;margin-top:10px!important}.nb-chatbot-lead-submit{background:var(--nb-grad)!important;color:#fff!important;border:0!important}.nb-chatbot-lead-cancel{background:#f7efff!important;color:var(--nb-purple)!important;border:0!important}
@keyframes nbOrbit{to{transform:rotate(360deg)}}@keyframes nbPulse{70%{box-shadow:0 0 0 12px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
html[dir='ltr'] .nb-chatbot{left:24px!important;right:auto!important;direction:ltr!important}html[dir='ltr'] .nb-chatbot-panel{left:24px!important;right:auto!important}html[dir='ltr'] .nb-chatbot-hint{left:82px!important;right:auto!important}
@media(max-width:680px){.nb-chatbot{right:14px!important;bottom:16px!important}.nb-chatbot-launch{width:62px!important;height:62px!important;border-radius:22px!important}.nb-chatbot-icon{width:40px!important;height:40px!important;border-radius:16px!important;font-size:20px!important}.nb-chatbot-hint{display:none!important}.nb-chatbot-panel{left:10px!important;right:10px!important;bottom:86px!important;width:auto!important;height:min(640px,calc(100vh - 104px))!important;border-radius:26px!important}.nb-chatbot-body{padding:13px!important}.nb-chatbot-input button span{display:none!important}.nb-chatbot-lead-grid{grid-template-columns:1fr!important}.nb-chatbot-card-actions{display:grid!important}.nb-chatbot-card-link{width:100%!important}html[dir='ltr'] .nb-chatbot{left:14px!important;right:auto!important}html[dir='ltr'] .nb-chatbot-panel{left:10px!important;right:10px!important}}

/* Admin/student dashboard mobile consistency */
@media(max-width:960px){.dashboard-body{overflow-x:hidden}.dashboard-main,.admin-main{margin-right:0!important;margin-left:0!important;padding:14px!important}.dashboard-top,.admin-topbar{height:auto!important;min-height:62px!important;border-radius:20px!important;padding:12px 14px!important;gap:10px!important}.topbar-title{min-width:0!important}.topbar-title strong,.dashboard-top strong{font-size:15px!important;line-height:1.5!important}.topbar-title small{display:none!important}.topbar-actions{gap:7px!important;flex-wrap:wrap!important}.topbar-pill{display:none!important}.sidebar,.admin-sidebar,.student-side{position:fixed!important;top:0!important;bottom:0!important;right:0!important;width:min(84vw,310px)!important;z-index:900!important;transform:translateX(110%)!important;transition:.28s ease!important}.sidebar.open,.admin-sidebar.open,.student-side.open{transform:translateX(0)!important}.sidebar-backdrop.open{display:block!important;z-index:850!important}.stats,.admin-grid-2,.admin-grid-3,.dashboard-stats-pro{grid-template-columns:1fr!important}.table-wrap{border-radius:18px!important;overflow:auto!important}table{min-width:720px!important}.admin-page-head{flex-direction:column!important;align-items:flex-start!important}.actions{gap:7px!important}.actions .btn{flex:1 1 auto!important}}

/* Mobile menu emergency fix v20260516-menu-2 */
@media (max-width: 960px) {
  .site-header { z-index: 12000 !important; }
  .nav-wrap { position: relative !important; }
  .menu-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    padding: 0 !important;
    border-radius: 20px !important;
    position: relative !important;
    z-index: 12020 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }
  .main-nav {
    display: none !important;
    position: fixed !important;
    top: 92px !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    max-height: calc(100vh - 118px) !important;
    overflow: auto !important;
    padding: 16px !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.98) !important;
    border: 1px solid rgba(98,38,154,.14) !important;
    box-shadow: 0 28px 85px rgba(31,23,48,.22) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    z-index: 12010 !important;
    opacity: 0 !important;
    transform: translateY(-8px) scale(.98) !important;
    pointer-events: none !important;
  }
  .main-nav.open,
  .main-nav.is-open,
  body.mobile-menu-open .main-nav {
    display: flex !important;
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    pointer-events: auto !important;
  }
  .main-nav a {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, rgba(255,122,24,.07), rgba(123,31,162,.07)) !important;
  }
  .main-nav .btn,
  .main-nav a.btn {
    margin-top: 2px !important;
    min-height: 44px !important;
  }
}
