/* =========================================================
   V116 SOURCE-LEVEL MOBILE WORKSPACE REBUILD
   Desktop remains untouched. These rules apply only to phone/tablet widths.
   ========================================================= */

@media (max-width: 920px), (pointer: coarse) and (max-width: 1180px) {
  :root{
    --v116-safe-bottom: env(safe-area-inset-bottom, 0px);
    --v116-safe-top: env(safe-area-inset-top, 0px);
    --v116-bottom-nav-h: 78px;
    --v116-page-pad: clamp(10px, 3vw, 14px);
  }

  html,
  body{
    width:100%!important;
    max-width:100vw!important;
    min-height:100dvh!important;
    overflow-x:hidden!important;
    -webkit-text-size-adjust:100%!important;
    overscroll-behavior-y:auto!important;
  }

  body.app-page{
    height:auto!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    position:relative!important;
    padding:0 0 calc(var(--v116-bottom-nav-h) + var(--v116-safe-bottom) + 14px)!important;
    background:
      radial-gradient(circle at 76% -8%,rgba(124,92,255,.18),transparent 30%),
      radial-gradient(circle at 0% 36%,rgba(77,141,255,.12),transparent 32%),
      #040810!important;
    touch-action:auto!important;
  }

  body.app-page *{
    max-width:100%;
    -webkit-tap-highlight-color: transparent;
  }

  .app-frame{
    display:block!important;
    width:100%!important;
    max-width:100vw!important;
    height:auto!important;
    min-height:100dvh!important;
    overflow:visible!important;
  }

  .main-app{
    width:100%!important;
    min-width:0!important;
    max-width:100vw!important;
    height:auto!important;
    min-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }

  /* Mobile drawer sidebar: fixes the old display:none conflict. */
  .sidebar{
    display:flex!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    width:min(310px,86vw)!important;
    min-width:0!important;
    max-width:86vw!important;
    height:100dvh!important;
    z-index:1420!important;
    transform:translateX(-108%)!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .28s cubic-bezier(.2,.9,.2,1), visibility .28s ease, box-shadow .28s ease!important;
    border-right:1px solid rgba(167,139,250,.22)!important;
    background:
      radial-gradient(circle at 0 0,rgba(124,92,255,.18),transparent 35%),
      linear-gradient(180deg,rgba(12,19,33,.98),rgba(5,10,20,.99))!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }

  .app-frame.mobile-sidebar-open .sidebar{
    transform:translateX(0)!important;
    visibility:visible!important;
    pointer-events:auto!important;
    box-shadow:26px 0 90px rgba(0,0,0,.58)!important;
  }

  .sidebar-brand{
    height:auto!important;
    min-height:66px!important;
    flex:0 0 auto!important;
    padding:calc(12px + var(--v116-safe-top)) 14px 12px!important;
  }

  .menu-button,
  .mobile-menu-trigger{
    display:grid!important;
    place-items:center!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    border-radius:15px!important;
    border:1px solid rgba(167,139,250,.32)!important;
    background:linear-gradient(180deg,rgba(124,92,255,.24),rgba(124,92,255,.10))!important;
    color:#f8f4ff!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 14px 30px rgba(0,0,0,.24)!important;
  }

  .side-nav{
    flex:1 1 auto!important;
    min-height:0!important;
    padding:12px!important;
    display:grid!important;
    gap:8px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .side-nav::-webkit-scrollbar{display:none!important;}

  .side-link{
    min-height:46px!important;
    padding:11px 12px!important;
    border-radius:16px!important;
    font-size:13px!important;
    line-height:1.1!important;
    white-space:normal!important;
  }

  .logout-link{
    flex:0 0 auto!important;
    margin:8px 12px calc(12px + var(--v116-safe-bottom))!important;
    width:calc(100% - 24px)!important;
  }

  .mobile-sidebar-overlay:not(.hidden){
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:1400!important;
    background:rgba(2,6,14,.68)!important;
    backdrop-filter:blur(12px) saturate(125%)!important;
    -webkit-backdrop-filter:blur(12px) saturate(125%)!important;
  }

  body.mobile-nav-lock,
  body.mobile-module-lock,
  body.drawer-open,
  body.modal-open{
    overflow:hidden!important;
  }

  .topbar{
    position:sticky!important;
    top:0!important;
    z-index:1120!important;
    width:100%!important;
    min-height:calc(60px + var(--v116-safe-top))!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:40px minmax(74px,1fr) max-content!important;
    align-items:center!important;
    gap:8px!important;
    padding:calc(8px + var(--v116-safe-top)) 10px 8px!important;
    border-bottom:1px solid rgba(148,163,184,.13)!important;
    background:linear-gradient(180deg,rgba(4,9,20,.98),rgba(5,10,21,.94))!important;
    backdrop-filter:blur(16px) saturate(125%)!important;
    -webkit-backdrop-filter:blur(16px) saturate(125%)!important;
  }

  .search-shell{
    width:100%!important;
    min-width:0!important;
    height:40px!important;
    padding:0 10px!important;
    border-radius:15px!important;
    gap:7px!important;
    background:rgba(15,23,42,.74)!important;
    border-color:rgba(148,163,184,.16)!important;
  }
  .search-shell svg{width:15px!important;height:15px!important;flex:0 0 auto!important;}
  .search-shell input{
    min-width:0!important;
    font-size:12px!important;
    text-overflow:ellipsis!important;
  }

  .topbar-right{
    min-width:0!important;
    width:auto!important;
    max-width:max-content!important;
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
  }

  .notification-button,
  .top-user-card.profile-trigger-btn,
  .v114-mobile-sync{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    padding:0!important;
    border-radius:15px!important;
    display:grid!important;
    place-items:center!important;
  }
  .top-user-card.profile-trigger-btn{border:1px solid rgba(148,163,184,.16)!important;background:rgba(15,23,42,.72)!important;}
  .top-user-copy,
  .top-user-card .top-user-copy,
  .profile-trigger-caret{display:none!important;}
  .tiny-avatar{width:32px!important;height:32px!important;font-size:11px!important;}

  .announcement-banner{
    padding:9px 12px!important;
    font-size:11px!important;
    line-height:1.35!important;
  }

  .briefing-ribbon{
    width:100%!important;
    max-width:100vw!important;
    min-height:42px!important;
    height:42px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  .briefing-ribbon button,
  #viewBriefingBtn{
    min-width:58px!important;
    height:42px!important;
    padding:0 12px!important;
    font-size:11px!important;
    border-left:1px solid rgba(255,255,255,.08)!important;
  }
  .briefing-track{
    min-width:0!important;
    width:max-content!important;
    max-width:none!important;
    align-items:center!important;
    font-size:11px!important;
    line-height:42px!important;
  }
  .ticker-group{gap:18px!important;padding-right:28px!important;}
  .ticker-item{gap:4px!important;font-size:11px!important;}

  #dashboardRoot,
  .dashboard-root{
    flex:1 1 auto!important;
    width:100%!important;
    max-width:100vw!important;
    height:auto!important;
    min-height:auto!important;
    overflow:visible!important;
    overflow-x:hidden!important;
    padding:var(--v116-page-pad) var(--v116-page-pad) calc(var(--v116-bottom-nav-h) + var(--v116-safe-bottom) + 18px)!important;
  }

  .dashboard-grid,
  .dashboard-grid.selected-dashboard,
  .selected-dashboard{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:start!important;
    overflow:visible!important;
  }

  .dashboard-grid > *,
  .selected-dashboard > *,
  .section-card,
  .team-panel,
  .private-vault,
  .loading-card,
  .hero-card,
  .metric-card,
  .glass-card,
  .admin-card,
  .spotlight-card,
  .workstream-card,
  .employee-tile{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .hero-card,
  .selected-hero-card,
  .hero-card.apple-minimal-hero-v88,
  .hero-card.apple-glass-hero-v89{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:0!important;
    max-height:none!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:16px!important;
    border-radius:24px!important;
  }
  .hero-card::before,
  .hero-card::after,
  .selected-hero-card::before,
  .selected-hero-card::after,
  .apple-glass-hero-v89::after{display:none!important;}

  .v88-hero-copy,
  .hero-copy{width:100%!important;max-width:100%!important;min-width:0!important;}
  .v88-hero-topline{gap:8px!important;min-width:0!important;}
  .v88-apple-dot{width:32px!important;height:32px!important;min-width:32px!important;border-radius:13px!important;}

  .hero-card h1,
  .selected-hero-card h1{
    margin:5px 0 8px!important;
    font-size:clamp(25px,7vw,34px)!important;
    line-height:1.02!important;
    letter-spacing:-.06em!important;
  }
  .hero-card h1 span,
  .selected-hero-card h1 span{
    display:block!important;
    font-size:clamp(16px,4.2vw,19px)!important;
    line-height:1.05!important;
  }
  .hero-card h1 strong,
  .selected-hero-card h1 strong,
  .apple-glass-hero-v89 h1 strong{
    display:block!important;
    font-size:clamp(28px,8.4vw,42px)!important;
    line-height:.98!important;
    overflow-wrap:anywhere!important;
  }
  .v88-hero-subline,
  .hero-subline{
    font-size:12.5px!important;
    line-height:1.45!important;
    margin:0!important;
  }

  .hero-tags,
  .v88-hero-tags{
    display:flex!important;
    gap:7px!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:1px!important;
  }
  .hero-tags::-webkit-scrollbar,.v88-hero-tags::-webkit-scrollbar{display:none!important;}
  .tag,
  .role-badge,
  .hero-tags .active-tag{
    flex:0 0 auto!important;
    min-height:30px!important;
    padding:0 11px!important;
    font-size:10.5px!important;
    white-space:nowrap!important;
  }

  .hero-actions,
  .selected-hero-actions,
  .v54-source-actions,
  .v88-minimal-actions,
  .v89-glass-actions,
  .apple-glass-hero-v89 .v89-glass-actions,
  .apple-glass-hero-v89 .hero-actions.v89-glass-actions{
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    gap:9px!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .hero-actions > *,
  .selected-hero-actions > *,
  .v54-source-actions > *,
  .v89-glass-actions > *,
  .apple-glass-hero-v89 .v89-glass-btn,
  .apple-glass-hero-v89 .hero-actions .v89-glass-btn{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    height:auto!important;
    max-height:none!important;
    border-radius:16px!important;
    padding:9px 8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    text-align:center!important;
    white-space:normal!important;
    font-size:11.5px!important;
    line-height:1.1!important;
  }
  .hero-actions strong,
  .selected-hero-actions strong,
  .v89-glass-btn strong{
    min-width:0!important;
    font-size:11.5px!important;
    line-height:1.1!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .v65-metric-row,
  .v65-panel-row{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    gap:10px!important;
  }
  .v65-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .v65-panel-row{grid-template-columns:1fr!important;}

  .metric-card{
    grid-column:auto!important;
    min-height:98px!important;
    height:auto!important;
    border-radius:20px!important;
    padding:13px!important;
  }
  .metric-icon{width:30px!important;height:30px!important;border-radius:12px!important;font-size:13px!important;}
  .metric-card span{display:block!important;margin-left:36px!important;font-size:10px!important;line-height:1.12!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .metric-card strong{display:block!important;margin-top:18px!important;font-size:clamp(23px,7vw,30px)!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .metric-card small{font-size:10.5px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}

  .team-panel,
  .section-card,
  .private-vault,
  .loading-card{
    grid-column:1/-1!important;
    padding:15px!important;
    border-radius:22px!important;
  }

  .panel-head,
  .compact-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:start!important;
  }
  .panel-head h2,
  .section-card h1{font-size:clamp(19px,5.5vw,24px)!important;line-height:1.1!important;letter-spacing:-.035em!important;margin:0!important;}
  .panel-head p,
  .section-card .muted{font-size:12px!important;line-height:1.42!important;}
  .panel-head .secondary-button{width:100%!important;}

  .team-cards,
  .directory-cards,
  .info-grid,
  .admin-grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .grid-5,
  .heatmap-grid,
  .workstream-line,
  .workstream-tree-grid,
  .mini-employee-grid,
  .card-stats,
  .theme-grid,
  .profile-mini-grid,
  .profile-action-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
  }

  .task-list{width:100%!important;display:grid!important;gap:9px!important;}
  .task-row,
  .deadline-row,
  .briefing-item,
  .submission-row,
  .activity-row,
  .admin-list-item{
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    padding:10px!important;
    border-radius:16px!important;
  }
  .task-icon,
  .date-box,
  .briefing-item-icon{width:36px!important;height:36px!important;min-width:36px!important;border-radius:13px!important;}
  .task-main,
  .person-cell{min-width:0!important;width:100%!important;}
  .task-main strong,
  .task-main span,
  .person-cell strong{
    display:block!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .task-main strong{font-size:12.5px!important;line-height:1.15!important;}
  .task-main span{font-size:10.5px!important;line-height:1.2!important;margin-top:3px!important;}
  .task-status,
  .briefing-time{
    grid-column:1/-1!important;
    justify-self:start!important;
    width:fit-content!important;
    max-width:100%!important;
    margin-top:2px!important;
    white-space:nowrap!important;
  }

  .data-table,
  .table-wrap,
  .mcq-results-table-wrap,
  .v75-expense-table-wrap,
  .v77-analytics-table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    border-radius:16px!important;
  }
  table,
  .mcq-results-table,
  .v75-expense-table,
  .v77-analytics-table{max-width:none!important;}
  .table-row{
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    min-height:auto!important;
    padding:11px 10px!important;
    border-radius:0!important;
  }
  .table-row.header{display:none!important;}
  .table-row > *{min-width:0!important;}
  .table-row > *:nth-child(n+3){display:none!important;}

  .vault-tabs,
  .service-tabs,
  .ts-tab-row,
  .tab-row,
  .profile-tabs,
  .pill-tabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:2px!important;
  }
  .vault-tabs::-webkit-scrollbar,
  .service-tabs::-webkit-scrollbar,
  .ts-tab-row::-webkit-scrollbar,
  .tab-row::-webkit-scrollbar{display:none!important;}
  .vault-tabs > *,
  .service-tabs > *,
  .ts-tab-row > *,
  .tab-row > *,
  .profile-tabs > *,
  .pill-tabs > *{flex:0 0 auto!important;white-space:nowrap!important;}

  input,
  textarea,
  select,
  button{
    max-width:100%!important;
  }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  select,
  textarea{
    min-height:42px!important;
    border-radius:14px!important;
    font-size:16px!important;
  }
  textarea{min-height:96px!important;}

  .secondary-button,
  .gradient-small-button,
  .danger-button,
  .quick-action-card,
  .profile-quick-action,
  .profile-doc-button{
    min-height:42px!important;
    border-radius:15px!important;
    justify-content:center!important;
  }

  .modal-backdrop:not(.hidden),
  .drawer-backdrop:not(.hidden),
  .profile-drawer-backdrop:not(.hidden),
  .test-gate-backdrop:not(.hidden),
  .mcq-portal-backdrop:not(.hidden){
    display:flex!important;
    position:fixed!important;
    inset:0!important;
    z-index:1500!important;
    align-items:flex-end!important;
    justify-content:center!important;
    padding:0!important;
    overflow:hidden!important;
    background:rgba(2,6,14,.72)!important;
    backdrop-filter:blur(14px) saturate(125%)!important;
    -webkit-backdrop-filter:blur(14px) saturate(125%)!important;
  }

  .premium-modal,
  .task-modal,
  .review-modal,
  .briefing-modal,
  .training-portal-modal-v102,
  .employee-drawer,
  .profile-drawer-panel,
  .test-gate-card,
  .mcq-portal-shell,
  .mobile-module-panel{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 10px - var(--v116-safe-top))!important;
    margin:0!important;
    border-radius:24px 24px 0 0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .premium-modal::-webkit-scrollbar,
  .employee-drawer::-webkit-scrollbar,
  .profile-drawer-panel::-webkit-scrollbar,
  .test-gate-card::-webkit-scrollbar,
  .mcq-portal-shell::-webkit-scrollbar{display:none!important;}

  .modal-header,
  .sticky-modal-header,
  .mcq-portal-header{
    position:sticky!important;
    top:0!important;
    z-index:4!important;
    padding:14px 54px 12px 14px!important;
    gap:10px!important;
    background:linear-gradient(180deg,rgba(16,24,39,.98),rgba(11,18,31,.96))!important;
    border-bottom:1px solid rgba(148,163,184,.14)!important;
  }
  .modal-header h2,.mcq-portal-header h2{font-size:17px!important;line-height:1.12!important;}
  .modal-header p,.mcq-portal-header span{font-size:11.5px!important;line-height:1.35!important;}
  .modal-close,
  .drawer-close,
  .profile-drawer-close,
  .test-gate-close,
  .mcq-portal-close{
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    height:38px!important;
    top:10px!important;
    right:10px!important;
    border-radius:15px!important;
    background:rgba(15,23,42,.86)!important;
    border:1px solid rgba(148,163,184,.18)!important;
    color:#fff!important;
    z-index:8!important;
  }

  .submission-grid,
  .modal-form,
  .briefing-list,
  .profile-drawer-content,
  .mcq-portal-body{
    padding:14px!important;
    gap:10px!important;
  }
  .drop-zone{min-height:126px!important;border-radius:18px!important;padding:16px!important;}
  .modal-actions,
  .test-gate-actions,
  .training-portal-actions-v102,
  .mcq-submit-row,
  .mcq-question-nav{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    align-items:center!important;
  }
  .modal-actions > *,
  .test-gate-actions > *,
  .training-portal-actions-v102 > *,
  .mcq-submit-row > *,
  .mcq-question-nav > *{width:100%!important;}

  .profile-drawer-panel{height:100dvh!important;max-height:100dvh!important;border-left:0!important;}
  .profile-drawer-hero{grid-template-columns:1fr!important;text-align:center!important;place-items:center!important;}
  .profile-badge-row{justify-content:center!important;}
  .profile-line-list div{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;align-items:start!important;}
  .profile-line-list strong{text-align:left!important;overflow-wrap:anywhere!important;}

  .mobile-bottom-nav{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:max(8px,var(--v116-safe-bottom))!important;
    z-index:1380!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
    padding:6px!important;
    border-radius:23px!important;
    border:1px solid rgba(148,163,184,.20)!important;
    background:linear-gradient(180deg,rgba(9,16,30,.98),rgba(5,10,20,.96))!important;
    box-shadow:0 20px 54px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.06)!important;
    backdrop-filter:blur(18px) saturate(130%)!important;
    -webkit-backdrop-filter:blur(18px) saturate(130%)!important;
  }
  .mobile-nav-btn{
    min-width:0!important;
    min-height:52px!important;
    padding:6px 2px!important;
    border-radius:17px!important;
    display:grid!important;
    place-items:center!important;
    gap:2px!important;
    border:0!important;
    background:transparent!important;
    color:#adbbd1!important;
  }
  .mobile-nav-btn span{font-size:17px!important;line-height:1!important;}
  .mobile-nav-btn small{font-size:9.5px!important;line-height:1!important;font-weight:800!important;}
  .mobile-nav-btn.active{color:#fff!important;background:linear-gradient(180deg,rgba(124,92,255,.30),rgba(77,141,255,.13))!important;}
  .mobile-nav-primary{color:#fff!important;background:linear-gradient(135deg,rgba(124,92,255,.98),rgba(77,141,255,.92))!important;box-shadow:0 14px 30px rgba(92,82,255,.28)!important;}

  .mobile-module-sheet:not(.hidden){
    z-index:1480!important;
    display:grid!important;
    align-items:end!important;
    padding:0 8px max(8px,var(--v116-safe-bottom))!important;
  }
  .mobile-module-panel{max-height:min(82dvh,690px)!important;}
  .mobile-module-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    padding:12px!important;
    max-height:calc(min(82dvh,690px) - 84px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .mobile-module-grid button{min-height:68px!important;border-radius:18px!important;}

  .mcq-options,
  .mcq-test-list{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;}
  .mcq-attempt-top{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .mcq-result-card,.mcq-final-card{width:min(100%,calc(100vw - 20px))!important;border-radius:24px!important;}
}

@media (max-width: 520px){
  .v65-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .hero-actions,
  .selected-hero-actions,
  .v54-source-actions,
  .v88-minimal-actions,
  .v89-glass-actions,
  .apple-glass-hero-v89 .v89-glass-actions,
  .apple-glass-hero-v89 .hero-actions.v89-glass-actions{grid-template-columns:1fr!important;}
  .mobile-module-grid{grid-template-columns:1fr!important;}
  .briefing-ribbon{grid-template-columns:minmax(0,1fr) 54px!important;}
  #viewBriefingBtn{font-size:0!important;}
  #viewBriefingBtn::after{content:'View';font-size:11px!important;}
}

@media (max-width: 390px){
  .topbar{grid-template-columns:40px 44px max-content!important;gap:6px!important;}
  .search-shell{width:44px!important;padding:0!important;justify-content:center!important;}
  .search-shell input{display:none!important;}
  .v65-metric-row{grid-template-columns:1fr!important;}
  .mobile-bottom-nav{left:6px!important;right:6px!important;gap:4px!important;padding:5px!important;border-radius:20px!important;}
  .mobile-nav-btn{min-height:49px!important;border-radius:15px!important;}
  .mobile-nav-btn small{font-size:8.7px!important;}
}

/* Login page mobile source fit */
@media (max-width: 760px){
  html.v55-login-html,
  body.v55-login-page,
  body.v55-login-page{
    width:100%!important;
    min-height:100dvh!important;
    height:auto!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  .v55-login-shell{
    width:calc(100vw - 14px)!important;
    height:auto!important;
    min-height:calc(100dvh - 14px)!important;
    margin:7px auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    border-radius:26px!important;
  }
  .v55-login-brand{
    padding:18px 16px 12px!important;
    min-height:0!important;
  }
  .v55-logo-xl{width:48px!important;height:48px!important;margin-bottom:8px!important;}
  .v55-login-brand h1{font-size:clamp(27px,8vw,32px)!important;line-height:1!important;}
  .v55-login-brand>span{font-size:12px!important;}
  .v55-secure-chip{margin-top:10px!important;padding:9px 10px!important;text-align:center!important;}
  .v55-secure-chip strong{font-size:11px!important;line-height:1.25!important;}
  .v55-login-card{padding:10px!important;}
  .v55-card-inner{width:100%!important;max-width:100%!important;padding:14px!important;border-radius:22px!important;}
  .v55-login-form input{height:40px!important;min-height:40px!important;font-size:16px!important;}
  .v55-password-row #togglePassword{height:40px!important;}
  .v55-login-form button#loginButton{height:42px!important;min-height:42px!important;}
  .v55-sso{min-height:34px!important;}
}
