/* V2 test site only. The original wide layouts and original detail dialogs stay intact.
 * Reuse the existing important-rule layer so the phone adapter can supersede its
 * compact-card presentation without a global override on any other screen.
 */
@layer peClassPlan12289 {
  html.peV2ProgressPhone :is(#mobileSubjectPlanSelector,#mobileClassProgressSelector){padding:15px!important;border:1px solid #dce5ed!important;border-radius:17px!important;background:#fff!important;box-shadow:none!important;margin:0 0 15px!important}
  html.peV2ProgressPhone :is(.mobileSubjectPlanSelectorTitle,.mobileClassProgressSelectorTitle){margin:0 0 13px!important;justify-content:flex-start!important}
  html.peV2ProgressPhone :is(.mobileSubjectPlanSelectorTitle,.mobileClassProgressSelectorTitle) b{font-size:17px!important;color:#243d51!important}
  html.peV2ProgressPhone [data-v2gp-toggle]{display:flex!important;width:100%!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:58px!important;margin:0!important;padding:12px!important;border:1px solid #dce5ed!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;color:#29495f!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  html.peV2ProgressPhone [data-v2gp-toggle]>span{color:#6c8292!important;font-size:11px!important;text-align:left!important}
  html.peV2ProgressPhone [data-v2gp-toggle]>strong{display:flex!important;align-items:center!important;gap:12px!important;text-align:right!important;font-size:14px!important;min-width:0}
  html.peV2ProgressPhone [data-v2gp-chosen]{overflow-wrap:anywhere;min-width:0}
  html.peV2ProgressPhone .v2gp-chevron{display:inline-block!important;flex:none!important;width:8px!important;height:8px!important;border-right:1.8px solid currentColor!important;border-bottom:1.8px solid currentColor!important;transform:rotate(45deg)!important;margin:-4px 2px 0 3px!important;background:none!important;align-self:center!important}
  html.peV2ProgressPhone [data-v2gp-toggle][aria-expanded="true"] .v2gp-chevron{transform:rotate(225deg)!important;margin-top:4px!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanSelector,#mobileClassProgressSelector)[data-v2gp-expanded="false"] :is(.mobileSubjectPlanSelectorGrid,.mobileClassProgressSelectorGrid,#mobileClassProgressLoad){display:none!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanSelector,#mobileClassProgressSelector)[data-v2gp-expanded="true"] :is(.mobileSubjectPlanSelectorGrid,.mobileClassProgressSelectorGrid){margin-top:13px!important}
  html.peV2ProgressPhone :is(.mobileSubjectPlanLocation,.mobileClassProgressLocation){display:none!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost,#mobileClassProgressHost){padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost>.mobileSubjectPlanEmpty:not(.error):not(.loading),#mobileClassProgressHost>.mobileClassProgressEmpty.waiting){display:none!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost .mobileSubjectPlanDashboard,#mobileClassProgressHost .mobileClassProgressDashboard){padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;margin:0 0 12px!important;position:static!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost .mobileSubjectPlanDashboardHead,#mobileClassProgressHost .mobileClassProgressDashboardHead){display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:0!important;margin:0!important}
  html.peV2ProgressPhone :is(.mobileSubjectPlanDashboardHead,.mobileClassProgressDashboardHead)>div:first-child{min-width:0!important;flex:1!important;text-align:left!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost,#mobileClassProgressHost) :is(.mobileSubjectPlanDashboardHead,.mobileClassProgressDashboardHead) h2{font-size:17px!important;line-height:1.4!important;white-space:normal!important;margin:0 0 4px!important;text-align:left!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost,#mobileClassProgressHost) :is(.mobileSubjectPlanDashboardHead,.mobileClassProgressDashboardHead) p{font-size:10px!important;line-height:1.5!important;text-align:left!important;margin:0!important;color:#6d8293!important}
  html.peV2ProgressPhone [data-v2gp-manage]{flex:none!important;width:auto!important;min-height:44px!important;min-width:80px!important;padding:9px 11px!important;border:1px solid #cddce7!important;border-radius:10px!important;background:#fff!important;color:#31516a!important;font-size:13px!important;white-space:nowrap!important;box-shadow:none!important}
  html.peV2ProgressPhone :is(.mobileSubjectPlanActions,.mobileClassProgressActions,.mobileClassProgressSelectAll,.mobileClassProgressMetaPanel){display:none!important}
  html.peV2ProgressPhone #mobileSubjectPlanHost .mobileSubjectPlanStatus{display:none!important}
  html.peV2ProgressPhone [data-v2gp-filters]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:0 0 10px!important}
  html.peV2ProgressPhone [data-v2gp-filters="subject"]{grid-template-columns:minmax(0,1fr)!important}
  html.peV2ProgressPhone [data-v2gp-filter]{display:grid!important;grid-template-columns:auto minmax(0,1fr) 12px!important;align-items:center!important;gap:6px!important;width:100%!important;min-height:48px!important;padding:10px!important;border:1px solid #dbe5ed!important;border-radius:10px!important;background:#fff!important;color:#28485f!important;box-shadow:none!important}
  html.peV2ProgressPhone [data-v2gp-filter]>span{font-size:10px!important;color:#708596!important}
  html.peV2ProgressPhone [data-v2gp-filter]>strong{font-size:12px!important;text-align:right!important;min-width:0;overflow-wrap:anywhere}
  html.peV2ProgressPhone [data-v2gp-selection]{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0 1px 8px!important;min-height:44px!important;font-size:11px!important;color:#637d90!important}
  html.peV2ProgressPhone [data-v2gp-selection]>label{display:flex!important;align-items:center!important;gap:8px!important;min-height:44px!important;margin:0!important;cursor:pointer}
  html.peV2ProgressPhone [data-v2gp-selection] input{width:18px!important;height:18px!important;flex:none!important;accent-color:#1685cf}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost .mobileSubjectPlanCards,#mobileClassProgressHost .mobileClassProgressCards){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;margin:0!important;border:1px solid #d9e4ec!important;border-radius:15px!important;overflow:hidden!important;background:#fff!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost .mobileSubjectPlanCard.pePlanCompact,#mobileClassProgressHost .mobileClassProgressCard.pePlanCompact){position:relative!important;display:block!important;min-width:0!important;width:100%!important;margin:0!important;padding:13px 13px 13px 46px!important;border:0!important;border-bottom:1px solid #dce6ee!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost .mobileSubjectPlanCard.pePlanCompact,#mobileClassProgressHost .mobileClassProgressCard.pePlanCompact):last-child{border-bottom:0!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost .mobileSubjectPlanCard.pePlanCompact.selected,#mobileClassProgressHost .mobileClassProgressCard.pePlanCompact.selected){background:#f2f8fe!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost .mobileSubjectPlanCard.pePlanCompact,#mobileClassProgressHost .mobileClassProgressCard.pePlanCompact)>header{position:static!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;border:0!important;min-height:24px!important;padding:0!important;margin:0 0 6px!important;background:transparent!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost,#mobileClassProgressHost) .pePlanCompact :is(.mobileSubjectPlanCheck,.mobileClassProgressCheck){position:absolute!important;left:5px!important;top:3px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:40px!important;min-height:44px!important;margin:0!important;padding:0!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost,#mobileClassProgressHost) .pePlanCompact :is(.mobileSubjectPlanCheck,.mobileClassProgressCheck)>span{display:none!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost,#mobileClassProgressHost) .pePlanCompact :is([data-plan-select],[data-class-progress-select]){width:18px!important;height:18px!important;accent-color:#1685cf!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost,#mobileClassProgressHost) .pePlanCompact>header>strong{font-size:13px!important;line-height:1.45!important;text-align:left!important;white-space:normal!important;color:#24465e!important;min-width:0!important}
  html.peV2ProgressPhone #mobileClassProgressHost .pePlanLessonDate{font-size:10px!important;line-height:1.8!important;color:#738b9b!important;white-space:nowrap!important;flex:none!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost,#mobileClassProgressHost) .pePlanCompact .pePlanSummary{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;min-height:60px!important;margin:0!important;padding:0 18px 0 0!important;text-align:left!important;box-shadow:none!important;background:transparent!important;border:0!important;border-radius:0!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost,#mobileClassProgressHost) .pePlanCompact .pePlanClassDetail{display:block!important;font-size:11px!important;line-height:1.6!important;margin:0!important;min-width:0!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost,#mobileClassProgressHost) .pePlanCompact .pePlanClassLabel{display:none!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost,#mobileClassProgressHost) .pePlanCompact .pePlanClassValue{display:block!important;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;color:#617b8e!important;line-height:1.6!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost,#mobileClassProgressHost) .pePlanCompact .pePlanClassDetail:first-child .pePlanClassValue{font-size:14px!important;font-weight:750!important;color:#26465d!important}
  html.peV2ProgressPhone #mobileSubjectPlanHost .pePlanCompact .pePlanClassDetail:nth-child(4){display:none!important}
  html.peV2ProgressPhone #mobileClassProgressHost .pePlanCompact .pePlanSummary{grid-template-columns:auto minmax(0,1fr)!important;column-gap:10px!important}
  html.peV2ProgressPhone #mobileClassProgressHost .pePlanCompact .pePlanClassDetail:is(:first-child,:nth-child(4)){grid-column:1/-1!important}
  html.peV2ProgressPhone #mobileClassProgressHost .pePlanCompact .pePlanClassDetail:nth-child(3){padding-left:10px!important;border-left:1px solid #dbe5ed!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanHost,#mobileClassProgressHost) .pePlanCompact .pePlanSummaryArrow{right:0!important;font-size:20px!important;color:#62849c!important}
  html.peV2ProgressPhone :is(#mobileSubjectPlanSelector,#mobileClassProgressSelector,#mobileSubjectPlanHost,#mobileClassProgressHost,#v2gp-management) button{-webkit-tap-highlight-color:transparent!important;touch-action:manipulation}
  html.peV2ProgressPhone #v2gp-management{position:fixed!important;inset:0!important;z-index:13000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px 12px!important;background:rgba(28,48,66,.43)!important}
  html.peV2ProgressPhone #v2gp-management .v2gp-menu{display:flex!important;flex-direction:column!important;width:100%!important;max-width:450px!important;max-height:calc(100dvh - 36px)!important;overflow:hidden!important;background:#fff!important;border:1px solid #d9e4ec!important;border-radius:19px!important;box-shadow:0 14px 44px rgba(22,43,62,.2)!important;color:#29495e!important}
  html.peV2ProgressPhone #v2gp-management header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:16px!important;border-bottom:1px solid #dce6ee!important;background:#f3f9ff!important}
  html.peV2ProgressPhone #v2gp-management h2{font-size:19px!important;margin:0!important;color:#24465d!important}
  html.peV2ProgressPhone #v2gp-management header button{width:44px!important;height:44px!important;border:1px solid #d9e5ed!important;border-radius:11px!important;background:#fff!important;font-size:20px!important;color:#31536c!important}
  html.peV2ProgressPhone #v2gp-management [data-v2gp-menu-list]{display:grid!important;gap:10px!important;overflow:auto!important;padding:16px!important}
  /* List-row geometry must not leak into the footer's separate 50:50 actions. */
  html.peV2ProgressPhone #v2gp-management [data-v2gp-menu-list]>[data-v2gp-forward]{box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;min-width:0!important;min-height:54px!important;margin:0!important;padding:12px 14px!important;border:1px solid #d7e3ec!important;border-radius:12px!important;background:#fff!important;text-align:left!important;color:#30526a!important;box-shadow:none!important}
  html.peV2ProgressPhone #v2gp-management [data-v2gp-menu-list]>[data-v2gp-forward]>strong{flex:1!important;min-width:0!important;font-size:14px!important;line-height:1.5!important;text-align:left!important}
  html.peV2ProgressPhone #v2gp-management [data-v2gp-menu-list]>[data-v2gp-forward]>span:first-child{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 24px!important;width:24px!important;text-align:center!important;font-size:19px!important;line-height:1!important}
  html.peV2ProgressPhone #v2gp-management [data-v2gp-menu-list]>[data-v2gp-forward]>span:last-child{flex:none!important;font-size:20px!important;line-height:1!important}
  html.peV2ProgressPhone #v2gp-management [data-v2gp-menu-list]>[data-v2gp-forward].is-danger{color:#b5423e!important}
  html.peV2ProgressPhone #v2gp-management button:disabled{opacity:.4!important}
  html.peV2ProgressPhone #v2gp-management footer{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:10px!important;padding:14px 16px 16px!important;border-top:1px solid #dce6ee!important;background:#fff!important}
  html.peV2ProgressPhone #v2gp-management footer>button{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;margin:0!important;padding:10px!important;border:1px solid #d7e3ec!important;border-radius:12px!important;background:#fff!important;color:#31536a!important;font-size:14px!important;line-height:1.4!important;text-align:center!important;box-shadow:none!important}
  html.peV2ProgressPhone #v2gp-management footer>button>span:last-child{display:none!important}
  html.peV2ProgressPhone #v2gp-management footer>button>strong{flex:none!important;text-align:center!important}
  html.peV2ProgressPhone #v2gp-management footer>.is-save{background:#2ecc71!important;border-color:#2ecc71!important;color:#fff!important}
  html.peV2ProgressPhone #v2gp-management footer>[data-v2gp-forward].is-save{justify-content:center!important;gap:7px!important}
  html.peV2ProgressPhone #v2gp-management footer>[data-v2gp-forward].is-save>strong{flex:0 0 auto!important;text-align:center!important}
  html.peV2ProgressPhone #v2gp-management footer>[data-v2gp-forward].is-save>span:first-child{width:auto!important;flex:0 0 auto!important}
}
