/* KonkurPlanner V18.5.2 — dedicated mobile experience. Desktop unaffected. */
@media (max-width: 700px){
  html{font-size:15px;-webkit-text-size-adjust:100%;scroll-padding-top:78px}
  body{overflow-x:visible;padding-bottom:max(18px,env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent}
  button,a,input,select,textarea{touch-action:manipulation}
  button,.btn,.btn-submit,.btn-primary,.btn-secondary,.btn-gold-sm,.btn-secondary-sm,.btn-danger-sm,.top-nav-btn{min-height:46px}
  input,select,textarea,.form-control{font-size:16px!important;min-height:48px;border-radius:14px!important}
  textarea{min-height:110px}
  .container,.app-container,.teacher-page,.sub-shell,.profile-page,.guide-page,main{max-width:100%!important}
  .app-container,.teacher-page{width:100%!important;padding-inline:12px!important}
  .app-header,.teacher-header{position:sticky!important;top:0;z-index:90;margin:0 -12px 12px!important;padding:10px 12px!important;background:rgba(9,10,12,.96)!important;backdrop-filter:blur(18px);box-shadow:0 8px 24px rgba(0,0,0,.22)}
  .app-header>div,.teacher-header>div{min-width:0}
  .app-header h1,.teacher-header h1{font-size:1.08rem!important;line-height:1.4;margin:0!important}
  .app-header p,.teacher-header p{display:none}
  .app-header .header-actions,.teacher-header>div:last-child{display:flex!important;gap:7px!important;overflow-x:auto!important;max-width:100%;padding:3px 0 5px;scrollbar-width:none}
  .app-header .header-actions::-webkit-scrollbar,.teacher-header>div:last-child::-webkit-scrollbar{display:none}
  .app-header .header-actions>* ,.teacher-header>div:last-child>*{flex:0 0 auto;white-space:nowrap}
  .nav-tabs{position:sticky!important;top:66px;z-index:80;display:flex!important;gap:7px!important;overflow-x:auto!important;flex-wrap:nowrap!important;margin:0 -12px 12px!important;padding:8px 12px!important;background:rgba(9,10,12,.94);backdrop-filter:blur(16px);scroll-snap-type:x proximity;scrollbar-width:none}
  .nav-tabs::-webkit-scrollbar{display:none}.nav-tabs>*{flex:0 0 auto!important;scroll-snap-align:start;min-height:44px!important;display:flex;align-items:center;justify-content:center}
  .card,.panel,.teacher-box,.student-panel,.attach-card,.section-card,.dashboard-card{border-radius:18px!important;padding:15px!important;margin-block:12px!important}
  .grid,.dashboard-grid,.teacher-columns,.overview-grid,.stats-grid,.form-grid,.strength-weakness-grid{grid-template-columns:1fr!important;gap:10px!important}
  .students-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .student-card{padding:13px 8px!important;min-width:0}.student-card img{width:58px!important;height:58px!important}
  .section-header,.section-head,.selected-student-head,.attach-row,.actions,.form-actions{align-items:stretch!important;gap:9px!important}
  .section-header,.selected-student-head,.attach-row{flex-direction:column!important}
  .section-header button,.section-header a,.selected-student-head button,.attach-row button{width:100%}
  table{min-width:680px} .table-wrap,.table-responsive,[class*="table-container"]{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .modal-overlay,.modal{padding:0!important;align-items:flex-end!important}
  .modal-card,.modal-content,.student-selector-dialog,.archive-selector-dialog,.archive-detail-dialog{width:100%!important;max-width:none!important;max-height:92dvh!important;margin:0!important;border-radius:24px 24px 0 0!important;padding:17px!important;overflow:auto!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
  .inbox-modal{min-height:65dvh}
  .toast,.notification{max-width:calc(100vw - 24px)!important;left:12px!important;right:12px!important}
  img,video,canvas,svg{max-width:100%;height:auto}
}
@media (max-width: 390px){.students-grid{grid-template-columns:1fr!important}.app-container,.teacher-page{padding-inline:9px!important}.app-header,.teacher-header{margin-inline:-9px!important}.nav-tabs{margin-inline:-9px!important}}

/* V18.5.4 — app-like mobile shell inspired by modern Iranian education web-app patterns; KonkurPlanner theme retained. */
@media (max-width:700px){
  :root{--kp-mobile-bg:#070709;--kp-mobile-surface:#111216;--kp-mobile-surface2:#17181d;--kp-mobile-gold:#d6b45d;--kp-mobile-line:rgba(214,180,93,.18)}
  body{background:var(--kp-mobile-bg)!important}
  .app-container,.teacher-page{padding-inline:10px!important;padding-bottom:92px!important}
  .app-header,.teacher-header{border-bottom:1px solid var(--kp-mobile-line)!important;border-radius:0 0 20px 20px!important;padding:11px 12px 12px!important}
  .app-header h1,.teacher-header h1{font-size:1rem!important;font-weight:800!important}
  .nav-tabs{top:68px!important;padding:8px 10px 10px!important;gap:8px!important;border-bottom:1px solid rgba(255,255,255,.05)}
  .nav-tabs button,.nav-tabs a,.nav-tabs .tab-btn{border-radius:999px!important;padding:9px 14px!important;min-height:40px!important}
  .nav-tabs .active,.nav-tabs [aria-selected="true"]{box-shadow:0 6px 20px rgba(214,180,93,.14)!important}
  .card,.panel,.teacher-box,.student-panel,.attach-card,.section-card,.dashboard-card{background:linear-gradient(180deg,var(--kp-mobile-surface2),var(--kp-mobile-surface))!important;border:1px solid rgba(255,255,255,.065)!important;box-shadow:0 8px 26px rgba(0,0,0,.18)!important;border-radius:20px!important;padding:14px!important}
  .dashboard-grid,.overview-grid,.stats-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .dashboard-grid>* ,.overview-grid>* ,.stats-grid>*{min-width:0!important;margin:0!important}
  .students-grid{display:flex!important;overflow-x:auto!important;gap:10px!important;padding:2px 1px 9px!important;scroll-snap-type:x proximity;scrollbar-width:none}
  .students-grid::-webkit-scrollbar{display:none}.students-grid>.student-card{flex:0 0 132px!important;scroll-snap-align:start;border-radius:18px!important}
  .btn,.btn-primary,.btn-secondary,.btn-submit,button{border-radius:14px}
  .btn-primary,.btn-submit{font-weight:800!important;box-shadow:0 7px 18px rgba(214,180,93,.12)}
  .modal-card,.modal-content,.student-selector-dialog,.archive-selector-dialog,.archive-detail-dialog{border-top:1px solid var(--kp-mobile-line)!important;box-shadow:0 -18px 60px rgba(0,0,0,.55)!important}
  .modal-card:before,.modal-content:before{content:"";display:block;width:44px;height:4px;border-radius:10px;background:rgba(255,255,255,.2);margin:0 auto 12px}
  .form-grid{display:grid!important;grid-template-columns:1fr!important}.form-group{margin-bottom:11px!important}
  input,select,textarea,.form-control{background:#0e0f12!important;border:1px solid rgba(255,255,255,.09)!important;padding-inline:13px!important}
  input:focus,select:focus,textarea:focus,.form-control:focus{border-color:rgba(214,180,93,.55)!important;box-shadow:0 0 0 3px rgba(214,180,93,.08)!important}
  .table-wrap,.table-responsive,[class*="table-container"]{border-radius:16px!important}
  /* Public/landing mobile: app-like hierarchy without changing desktop. */
  .public-shell,.landing-shell{padding-inline:12px!important}
  .hero{min-height:auto!important;padding-top:92px!important;padding-bottom:34px!important}
  .hero h1{font-size:clamp(2rem,10vw,3.1rem)!important;line-height:1.25!important}.hero p{font-size:.96rem!important;line-height:1.9!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.hero-actions>*{width:100%!important}
  .feature-grid,.features-grid,.pricing-grid,.plans-grid{grid-template-columns:1fr!important;gap:11px!important}
  section{scroll-margin-top:88px}
}
@media (max-width:390px){.dashboard-grid,.overview-grid,.stats-grid{grid-template-columns:1fr 1fr!important}}

/* V18.5.5 — mobile daily-quote modal visibility fix */
@media(max-width:760px){
  #wheelModal{padding:12px 10px max(12px,env(safe-area-inset-bottom))!important;align-items:flex-end!important;overflow:hidden!important}
  #wheelModal .wheel-modal-card{width:100%!important;max-width:100%!important;max-height:min(72dvh,560px)!important;min-height:0!important;margin:0!important;padding:14px 16px max(16px,env(safe-area-inset-bottom))!important;border-radius:24px 24px 14px 14px!important;display:flex!important;flex-direction:column!important;overflow:auto!important;overscroll-behavior:contain}
  #wheelModal .wheel-modal-card:before{flex:0 0 auto;margin-bottom:8px!important}
  #wheelModal #wheelTitle{font-size:1.05rem!important;line-height:1.7!important;margin:2px 0 8px!important}
  #wheelModal #wheelResult{font-size:1rem!important;line-height:1.9!important;margin:8px 0 12px!important;white-space:pre-line!important}
  #wheelModal .btn{display:block!important;width:100%!important;min-height:48px!important;flex:0 0 auto!important;margin:0!important;padding:11px 14px!important;position:relative!important;bottom:auto!important}
}

/* V18.5.6 — mobile visual hardening audit */
@media (max-width:700px){
  html,body{width:100%;max-width:100%;overflow-x:visible!important}
  *,*::before,*::after{box-sizing:border-box}
  main,section,.container,.app-container,.teacher-page,.public-shell,.landing-shell{min-width:0!important}
  .card,.panel,.teacher-box,.student-panel,.section-card,.dashboard-card,.modal-card,.modal-content{min-width:0!important;max-width:100%!important}
  .app-header,.teacher-header,.section-header,.section-head,.actions,.form-actions{max-width:100%!important}
  .app-header .header-actions,.teacher-header>div:last-child{min-width:0!important}
  .btn,.btn-primary,.btn-secondary,.btn-submit,.btn-gold,.btn-gold-sm,.btn-secondary-sm,.btn-danger-sm,button,a{max-width:100%}
  .btn,.btn-primary,.btn-secondary,.btn-submit,.btn-gold{white-space:normal!important;line-height:1.45!important}
  pre,code{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}
  .modal-overlay,.modal{width:100vw!important;max-width:100vw!important;inset:0!important}
  .modal-card,.modal-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .modal-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .modal-actions>*{width:100%!important}
  #wheelModal .wheel-modal-card{max-height:calc(100dvh - 16px)!important}
  #wheelModal #wheelResult{overflow-wrap:anywhere!important}
  #wheelModal .btn{visibility:visible!important;opacity:1!important;transform:none!important}
  .table-wrap,.table-responsive,[class*="table-container"]{max-width:100%!important}
  img,video,iframe,canvas,svg{max-width:100%!important}
}
@media (max-width:360px){
  .app-container,.teacher-page,.public-shell,.landing-shell{padding-inline:8px!important}
  .card,.panel,.teacher-box,.student-panel,.section-card,.dashboard-card{padding:12px!important;border-radius:17px!important}
  .nav-tabs{padding-inline:8px!important}
  .modal-card,.modal-content{padding-inline:13px!important}
}


/* V18.5.7 — student mobile web-app home: task-first hierarchy, fixed bottom navigation, KonkurPlanner black/gold identity. */
.mobile-student-home,.mobile-bottom-nav{display:none}
@media(max-width:700px){
  body{padding-bottom:max(82px,env(safe-area-inset-bottom))!important}
  .nav-tabs-primary{display:none!important}
  .nav-tabs-secondary{position:fixed!important;left:10px!important;right:10px!important;bottom:82px!important;top:auto!important;z-index:119!important;margin:0!important;padding:10px!important;border:1px solid rgba(214,180,93,.18)!important;border-radius:20px!important;background:rgba(16,17,21,.98)!important;box-shadow:0 -18px 55px rgba(0,0,0,.55)!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;overflow:visible!important}
  .nav-tabs-secondary[hidden]{display:none!important}
  .nav-tabs-secondary .tab-btn{width:100%!important;min-width:0!important;white-space:normal!important}
  .sub-header-banner{margin:8px 0 12px!important;border-radius:16px!important;padding:12px 14px!important;font-size:.88rem!important;line-height:1.8!important}
  .mobile-student-home{display:block;margin:4px 0 14px}
  .mobile-home-welcome{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px;background:linear-gradient(145deg,#17181d,#0d0e11);border:1px solid rgba(214,180,93,.18);border-radius:24px;box-shadow:0 12px 34px rgba(0,0,0,.25)}
  .mobile-home-welcome>div:first-child{min-width:0;flex:1}.mobile-home-kicker{display:block;color:#d6b45d;font-size:.76rem;font-weight:800;margin-bottom:5px}.mobile-home-welcome h3{margin:0 0 4px;font-size:1.05rem;line-height:1.65}.mobile-home-welcome p{margin:0;color:#9b9da5;font-size:.78rem}
  .mobile-progress-ring{--p:0;flex:0 0 78px;width:78px;height:78px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#111216 57%,transparent 59%),conic-gradient(#d6b45d calc(var(--p)*1%),rgba(255,255,255,.08) 0);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
  .mobile-progress-ring strong{font-size:1rem;color:#f5df9d}.mobile-progress-ring span{font-size:.61rem;color:#92949c}
  .mobile-today-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:9px 0}.mobile-today-stats>div{min-width:0;padding:11px 7px;text-align:center;background:#111216;border:1px solid rgba(255,255,255,.06);border-radius:17px}.mobile-today-stats span{display:block;font-size:.67rem;color:#8e9098;margin-bottom:5px}.mobile-today-stats strong{display:block;font-size:.86rem;color:#f4f4f5;overflow-wrap:anywhere}
  .mobile-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:9px 0 12px}.mobile-quick-actions button{min-width:0;min-height:76px;padding:9px 4px;background:#121318;border:1px solid rgba(255,255,255,.065);color:#f5f5f5;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.mobile-quick-actions button span{font-size:1.3rem}.mobile-quick-actions button b{font-size:.69rem;font-weight:700}
  .mobile-next-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;background:linear-gradient(90deg,rgba(214,180,93,.11),rgba(214,180,93,.035));border:1px solid rgba(214,180,93,.18);border-radius:18px;margin-bottom:13px}.mobile-next-card>div{min-width:0}.mobile-next-card strong{display:block;font-size:.84rem;line-height:1.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70vw}.mobile-next-card button{flex:0 0 42px;width:42px;height:42px;padding:0;border-radius:14px;background:#d6b45d;color:#111;border:0;font-size:1.4rem}
  .task-input-card{padding:14px!important;border-radius:20px!important}.task-input-card h3{font-size:.94rem!important}.section-title{margin-top:15px!important}
  .mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:120;left:8px;right:8px;bottom:max(7px,env(safe-area-inset-bottom));height:68px;padding:6px 7px;background:rgba(17,18,22,.97);border:1px solid rgba(214,180,93,.16);border-radius:23px;box-shadow:0 16px 45px rgba(0,0,0,.65);backdrop-filter:blur(18px)}
  .mobile-bottom-item{position:relative;min-width:0!important;padding:4px 2px!important;border:0!important;background:transparent!important;color:#858790!important;border-radius:15px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px}.mobile-bottom-item span{font-size:1.18rem;line-height:1}.mobile-bottom-item b{font-size:.62rem;font-weight:700}.mobile-bottom-item.active{color:#e2c575!important;background:rgba(214,180,93,.08)!important}
  .mobile-bottom-main{transform:translateY(-12px);background:linear-gradient(145deg,#e0c26c,#b99032)!important;color:#111!important;width:58px!important;height:58px!important;justify-self:center;border-radius:19px!important;box-shadow:0 8px 24px rgba(214,180,93,.24)!important}.mobile-bottom-main span{font-size:1.55rem}.mobile-bottom-main b{font-size:.58rem}
}
@media(max-width:350px){.mobile-quick-actions{grid-template-columns:repeat(2,1fr)}.mobile-quick-actions button{min-height:62px}.mobile-today-stats{gap:5px}.mobile-today-stats>div{padding-inline:4px}.mobile-home-welcome{padding:14px}.mobile-progress-ring{flex-basis:68px;width:68px;height:68px}}

/* V18.7.3 — single mobile navigation + premium More sheet */
.mobile-more-overlay{display:none}
@media(max-width:700px){
 .app-header .header-actions,.nav-tabs-primary,.nav-tabs-secondary{display:none!important}
 .mobile-more-overlay:not([hidden]){display:flex;position:fixed;inset:0;z-index:240;align-items:flex-end;background:rgba(0,0,0,.68);backdrop-filter:blur(7px);padding:12px 10px max(86px,calc(env(safe-area-inset-bottom) + 78px))}
 .mobile-more-sheet{width:100%;max-height:min(70vh,620px);overflow:auto;padding:10px 14px 18px;border:1px solid rgba(224,194,108,.22);border-radius:28px;background:linear-gradient(165deg,#18191e,#0d0e12 72%);box-shadow:0 -25px 70px rgba(0,0,0,.65)}
 .mobile-more-handle{width:44px;height:4px;border-radius:99px;background:#4a4b51;margin:2px auto 12px}.mobile-more-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.mobile-more-head small{color:#bda660}.mobile-more-head h3{margin:2px 0 0;font-size:1.25rem}.mobile-more-head>button{width:38px;height:38px;border:1px solid #303139;border-radius:13px;background:#15161b;color:#aaa}
 .mobile-more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.mobile-more-grid button{min-height:88px;text-align:right;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.025);color:#fff;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center}.mobile-more-grid button span{grid-row:1/3;font-size:1.45rem}.mobile-more-grid button b{font-size:.83rem}.mobile-more-grid button small{color:#81838c;font-size:.64rem}.mobile-more-grid button:active{border-color:rgba(224,194,108,.45);background:rgba(224,194,108,.08)}
}

/* V18.8.0 — mobile navigation cleanup: keep only fixed bottom nav */
@media(max-width:700px){
  .nav-tabs-primary,.nav-tabs-secondary{display:none!important;}
  .mobile-quick-actions{display:none!important;}
}


/* V18.11.0 — mobile card completeness pass */
@media(max-width:700px){
  .task-card,.report-card,.history-card,.archive-card,.planner-mode-card,.flash-subject-card,.flash-topic-card,.rank-section-card,.rank-recent-card,.rank-diag-card,.rank-advice-card,.study-tool-panel{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;max-height:none!important}
  .task-card,.report-card,.history-card,.archive-card,.planner-mode-card,.rank-section-card,.rank-recent-card,.rank-diag-card,.rank-advice-card{overflow:visible!important}
  .task-card *,.report-card *,.history-card *,.archive-card *,.planner-mode-card *,.rank-section-card *,.rank-recent-card *,.rank-diag-card *,.rank-advice-card *{min-width:0;overflow-wrap:anywhere}
  .reports-grid,.grid-container,.planner-mode-grid,.rank-diagnostics,.rank-advice-board,.rank-recent-list{grid-template-columns:1fr!important;min-width:0!important}
  .report-header,.task-header,.section-header{flex-wrap:wrap!important;gap:8px!important}.report-subject,.task-title{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .dashboard-preview,.ticket-preview,.support-copy{max-width:100%!important;min-width:0!important;overflow:hidden!important}
}


/* V18.20.2 — remove duplicate top navigation on mobile; bottom navigation is the single mobile nav. */
@media(max-width:760px){
  .app-container > nav.nav-tabs.nav-tabs-primary{
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }
}
