/* v45 — mobile-first responsive repair */
html,body{width:100%;max-width:100%;overflow-x:clip!important}
body{min-width:0!important}
.app,.shell,.content,.page{max-width:100%!important;min-width:0!important}
img,svg,canvas,video{max-width:100%}

@media(max-width:860px){
  body.menu-open-v45{overflow:hidden!important;touch-action:none}
  .shell{width:100%!important;margin:0!important;overflow:clip!important}
  .content{width:100%!important;margin:0!important;padding-inline:clamp(12px,4vw,24px)!important}
  .page,.page>*{min-width:0!important;max-width:100%!important}

  .sidebar{inset:0 0 0 auto!important;width:min(84vw,330px)!important;height:100dvh!important;max-width:330px!important;padding:18px 14px calc(16px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;overscroll-behavior:contain;transform:translateX(105%)!important;transition:transform .24s ease!important;border:0!important;border-left:1px solid var(--line)!important;box-shadow:-24px 0 70px rgba(2,9,22,.38)!important;z-index:30001!important}
  .sidebar.open{transform:translateX(0)!important}
  .mobile-nav-backdrop-v45{position:fixed;inset:0;z-index:30000;border:0;background:rgba(3,11,24,.64);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:.2s;cursor:pointer}
  .mobile-nav-backdrop-v45.open{opacity:1;visibility:visible}
  .mobile-nav-close-v45{position:absolute;top:17px;left:15px;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:var(--paper);color:var(--ink);font-size:22px;cursor:pointer}
  .sidebar .logo{width:auto!important;min-height:48px!important;margin:0 4px 14px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important}
  .sidebar .logo img{width:43px!important;height:43px!important;flex:0 0 43px!important;border-radius:13px!important}
  .sidebar .logo span{font-size:22px!important}
  .sidebar nav{gap:3px!important}
  .sidebar nav button{width:100%!important;min-height:43px!important;margin:0!important;padding:9px 12px!important;display:flex!important;align-items:center!important;gap:11px!important;border-radius:12px!important;font-size:13px!important;text-align:right!important;white-space:nowrap!important}
  .sidebar nav button span{margin:0!important;overflow:hidden;text-overflow:ellipsis}
  .sidebar nav button.active{box-shadow:none!important}
  .side-profile{margin-top:12px!important;padding:10px!important}

  .topbar,.topbar-modern{position:sticky!important;top:0;z-index:1000;width:100%!important;max-width:100%!important;height:64px!important;padding:0 12px!important;gap:8px!important;overflow:hidden!important;background:color-mix(in srgb,var(--white) 93%,transparent)!important}
  .mobile-menu{display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;font-size:0!important}
  .mobile-menu::before{content:"☰";font-size:19px!important;line-height:1}
  .topbar .actions,.modern-actions{min-width:0!important;max-width:100%!important;margin:0!important;gap:5px!important}
  .top-tool-dock{min-width:0!important;flex:0 1 auto!important}
  .top-auth-v43{flex:0 0 auto!important;min-width:82px!important;max-width:108px!important;height:38px!important;padding:0 10px!important;font-size:10px!important}
  .date-line{margin-inline-start:auto!important;min-width:0!important;max-width:145px!important}

  .page-title{margin:0 0 20px!important}
  .page-title h1{margin:0 0 5px!important;font-size:clamp(27px,8vw,34px)!important;line-height:1.45!important}
  .page-title p{max-width:100%!important;margin:0!important;font-size:12px!important;line-height:1.9!important}
  .home-dashboard-head{width:100%!important;padding:18px!important;border-radius:19px!important;overflow:hidden!important}
  .home-dashboard-head h1{font-size:clamp(23px,7vw,29px)!important;line-height:1.6!important;overflow-wrap:anywhere}
  .home-dashboard-grid{width:100%!important;grid-template-columns:minmax(0,1fr)!important;grid-template-areas:none!important;gap:12px!important}
  .home-dashboard-card{grid-area:auto!important;width:100%!important;min-width:0!important;min-height:0!important;padding:16px!important;overflow:hidden!important}
  .home-dashboard-card>header{grid-template-columns:40px minmax(0,1fr) auto!important;gap:9px!important}
  .home-dashboard-card header button{max-width:82px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .home-important-copy b{white-space:normal!important;overflow-wrap:anywhere}
  .home-quick-note{width:100%!important;grid-template-columns:1fr!important;padding:14px!important;gap:10px!important}

  .calendar,.tasks,.focus,.calculator,.account-card,.schedule-editor,.report-card,.profile>article,.profile form,.profile-view,.progress-overview,.insight-card{width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:0!important}
  .calendar{padding:13px!important;border-radius:16px!important;overflow:hidden!important}
  .calendar-top{padding-bottom:14px!important}.weekdays{padding:13px 0 8px!important}.days button{min-width:0!important;height:62px!important;padding:6px!important;font-size:11px!important;overflow:hidden!important}.days i{font-size:6px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis}
  .legend{display:flex!important;flex-wrap:wrap!important;gap:7px 12px!important}.legend span{margin:0!important}
  .tasks,.focus{padding:16px!important}.tasks form,.task-form,.task-details,.todo-card form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important}.tasks input,.tasks select,.tasks textarea,.tasks button{max-width:100%!important;min-width:0!important}.jalali-picker{width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .task{min-width:0!important}.task b,.task-copy{min-width:0!important;overflow-wrap:anywhere}
  .schedule-editor{padding:14px!important}.schedule-editor form{grid-template-columns:minmax(0,1fr)!important}.schedule-editor .blue{grid-column:auto!important}.weekly-schedule{width:100%!important;grid-template-columns:minmax(0,1fr)!important}.today-schedule{width:100%!important;overflow:hidden!important}
  .report-summary,.report-form{grid-template-columns:minmax(0,1fr)!important}.report-form>.blue{grid-column:auto!important}.report-table{margin-inline:0!important;overflow-x:auto!important}.report-subject-row{grid-template-columns:minmax(92px,.65fr) minmax(0,1.35fr) 40px!important;gap:8px!important;padding-inline:9px!important}.report-levels{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .profile{width:100%!important;grid-template-columns:minmax(0,1fr)!important}.profile .pair{grid-template-columns:minmax(0,1fr)!important}.avatar-grid{width:100%!important;grid-template-columns:repeat(5,minmax(42px,1fr))!important;justify-items:center!important;gap:10px!important}
  .progress-overview{grid-template-columns:minmax(0,1fr)!important}.calculator{padding:14px!important}.calculator output{height:76px!important;font-size:32px!important}.calc-keys{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}.calc-keys button{min-width:0!important;height:52px!important}
  .options{grid-template-columns:minmax(0,1fr)!important}.timer-screen{width:100%!important;overflow:hidden!important}.timer-screen-main{width:100%!important;padding-inline:16px!important}.timer-screen-main #bigTimer{font-size:clamp(70px,23vw,135px)!important}

  .modal,.confirm-v35,.auth-gate-window-v43{padding:12px!important;overflow:hidden!important}.modal-box,.confirm-v35-card,.auth-panel{width:min(100%,440px)!important;max-width:100%!important;max-height:calc(100dvh - 24px)!important;margin:auto!important;padding:20px 16px!important;overflow-y:auto!important;overflow-x:hidden!important;border-radius:20px!important}.modal-box form,.dialog-body{min-width:0!important}.modal-box input,.modal-box select,.modal-box textarea{width:100%!important;max-width:100%!important;min-width:0!important}

  .lerno-onboarding{width:100%!important;max-width:100%!important;padding:8px!important;overflow-x:hidden!important}.ob-shell{width:100%!important;max-width:100%!important;min-height:calc(100dvh - 16px)!important}.ob-top{width:100%!important;margin:0 0 7px!important;padding-inline:3px!important}.ob-account-actions{min-width:0!important}.ob-account-actions button{padding-inline:10px!important;white-space:nowrap!important}.ob-card{width:100%!important;max-width:100%!important;min-height:calc(100dvh - 75px)!important;margin:0!important;padding:16px 13px!important;border-radius:20px!important;overflow:hidden!important}.ob-card h1{font-size:22px!important;line-height:1.65!important}.ob-card>p{min-height:0!important;font-size:12px!important;line-height:1.9!important}.ob-stage{min-height:0!important;align-content:start!important}.ob-grade-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.ob-grade-grid .ob-option{min-width:0!important;min-height:48px!important;padding:8px 5px!important;font-size:12px!important;white-space:normal!important}.ob-options:not(.ob-grade-grid){grid-template-columns:minmax(0,1fr)!important}.ob-footer{position:sticky!important;bottom:0!important;width:100%!important;grid-template-columns:1fr 1fr!important;margin-top:auto!important;padding-top:10px!important;background:linear-gradient(transparent,#0d2947 34%)!important}.ob-footer button{width:100%!important;min-width:0!important;min-height:48px!important}
}

@media(max-width:600px){
  .content{padding-top:22px!important;padding-bottom:76px!important}
  .topbar-modern .date-line{display:none!important}
  .topbar-modern{justify-content:space-between!important}
  .topbar-modern .top-tool-dock .top-tool,.topbar-modern .top-tool-dock #theme{width:32px!important;height:32px!important}
  .guest-notice-v43{width:100%!important;margin-inline:0!important}
  .confirm-actions-v44,.schedule-delete-confirm-v39>div,.clear-data-v39>div,.focus-exit-confirm>div,.confirm-v35-card>div,.auth-confirm-box>div,.v43-confirm>div{grid-template-columns:1fr 1fr!important}
}

@media(max-width:380px){
  .content{padding-inline:10px!important}.topbar,.topbar-modern{padding-inline:8px!important}.top-auth-v43{min-width:68px!important;width:68px!important}
  .home-dashboard-card{padding:13px!important}.home-dashboard-card>header{grid-template-columns:36px minmax(0,1fr) auto!important}.home-dashboard-card h2{font-size:17px!important}
  .avatar-grid{grid-template-columns:repeat(4,minmax(42px,1fr))!important}
  .ob-brand b{font-size:17px!important}.ob-brand img{width:34px!important;height:34px!important}.ob-account-actions button{padding-inline:7px!important;font-size:10px!important}.ob-card{padding-inline:10px!important}
}

@media(orientation:landscape) and (max-height:520px){.ob-card{min-height:auto!important}.ob-icon{width:48px!important;height:48px!important;margin:6px!important}.sidebar nav button{min-height:39px!important}.timer-screen-main #bigTimer{font-size:20vh!important}}
