@media (max-width: 1199.98px) {
    .content { padding: 20px; }
    .login-command-wrap { grid-template-columns: 1fr; padding: 44px 0; }
    .login-intro-card,
    .login-form-card { transform: none; }
    .login-form-shell { width: min(520px, 100%); margin: 0 auto; }
    .dashboard-stat-grid { grid-template-columns: repeat(4, minmax(140px, 1fr)); }
    .dashboard-stat-grid-rich { grid-template-columns: repeat(4, minmax(140px, 1fr)); }
    .dashboard-summary-row { grid-template-columns: repeat(2, 1fr); }
    .plan-grid { gap: 28px; padding-inline: 10px; }
}

@media (max-width: 991.98px) {
    .sidebar {
        width: min(86vw, 380px);
        border-radius: 0 30px 30px 0;
        box-shadow: 22px 0 46px rgba(15, 23, 42, .18);
    }
    .app-drawer {
        padding: 12px 12px 16px;
    }
    .drawer-brand {
        display: none;
    }
    .dark-sidebar .drawer-profile {
        padding: 16px;
        border-radius: 28px;
        background: linear-gradient(135deg, #cf372f 0%, #f25042 58%, #ff725c 100%);
    }
    .dark-sidebar .drawer-user-row {
        margin-bottom: 12px;
    }
    .dark-sidebar .drawer-user-row strong {
        max-width: 210px;
        font-size: 18px;
        font-weight: 800;
    }
    .dark-sidebar .drawer-user-row small {
        font-size: 13px;
    }
    .dark-sidebar .drawer-plan {
        padding: 12px 14px;
        border-radius: 20px;
        background: rgba(255,255,255,.14);
    }
    .dark-sidebar .drawer-plan strong {
        font-size: 18px;
        font-weight: 800;
        line-height: 1.25;
    }
    .dark-sidebar .drawer-plan span {
        font-size: 13px;
        line-height: 1.5;
    }
    .sidebar-section-label {
        margin: 16px 6px 8px;
        color: #d94a38;
        font-size: 12px;
        letter-spacing: .08em;
    }
    .sidebar-section-label:before {
        display: none;
    }
    .dark-sidebar .sidebar-card-link,
    .dark-sidebar .sidebar-card-toggle {
        min-height: 66px;
        padding: 10px 14px;
        border-radius: 22px;
        border-color: #f5d5cf;
        color: #273243;
        background: #fff;
        box-shadow: 0 8px 18px rgba(15, 23, 42, .05);
        font-size: 16px;
        font-weight: 800;
    }
    .dark-sidebar .sidebar-card-link:hover,
    .dark-sidebar .sidebar-card-link.active,
    .dark-sidebar .sidebar-card-toggle:hover {
        color: #1f2937;
        background: #fff;
        border-color: #f1c2ba;
        transform: none;
        box-shadow: 0 10px 20px rgba(15, 23, 42, .06);
    }
    .dark-sidebar .sidebar-card-toggle.active {
        color: #ef4d41;
        background: #fff7f5;
        border-color: #f1c2ba;
        transform: none;
        box-shadow: 0 10px 20px rgba(15, 23, 42, .06);
    }
    .dark-sidebar .sidebar-card-toggle.active .bi-chevron-up {
        color: #ef4d41;
    }
    .dark-sidebar .sidebar-card-link.active {
        color: #ef4d41;
        background: #fff7f5;
    }
    .dark-sidebar .sidebar-menu-card {
        border-radius: 22px;
        background: transparent;
    }
    .dark-sidebar .sidebar-menu-icon {
        width: 48px;
        height: 48px;
        border-radius: 16px;
        border: 1px solid #ffd7d1;
        background: #fff5f3;
    }
    .dark-sidebar .sidebar-menu-icon img {
        width: 24px;
        height: 24px;
    }
    .dark-sidebar .sidebar-card-toggle .bi-chevron-up,
    .dark-sidebar .sidebar-card-link > .bi-chevron-right {
        color: #64748b;
        font-size: 18px;
    }
    .dark-sidebar .sidebar-submenu {
        padding: 10px 10px 12px 62px;
        border: 1px solid #f4ddd8;
        border-top: 0;
        border-radius: 0 0 20px 20px;
        background: #fff;
    }
    .dark-sidebar .sidebar-sub-link {
        min-height: 40px;
        border-radius: 12px;
        color: #334155;
        font-size: 13px;
        font-weight: 700;
    }
    .dark-sidebar .sidebar-sub-link:hover,
    .dark-sidebar .sidebar-sub-link.active {
        color: #ef4d41;
        background: #fff5f3;
    }
    .dark-sidebar .drawer-version {
        min-height: 46px;
        border-radius: 18px;
        font-size: 15px;
        font-weight: 700;
    }
    .sidebar { transform: translateX(-100%); }
    .sidebar.show { transform: translateX(0); }
    .main { margin-left: 0; }
    .topbar-left h1 { font-size: 18px; }
    .dashboard-stat-grid { grid-template-columns: repeat(3, minmax(130px, 1fr)); }
    .dashboard-hero-panel { grid-template-columns: 1fr; }
    .dashboard-health-card { max-width: 320px; }
    .quick-action-grid { grid-template-columns: repeat(2, 1fr); }
    .plan-grid { grid-template-columns: 1fr; width: min(420px, 100%); margin: 0 auto; }
    .support-strip > div { grid-template-columns: 1fr; }
    .auth-card { grid-template-columns: 1fr; }
    .auth-visual { min-height: 260px; padding: 30px; }
    .auth-visual h1 { font-size: 30px; }
    .landing-feature-grid { grid-template-columns: 1fr; }
    .landing-hero,
    .landing-wide { grid-template-columns: 1fr; flex-direction: column; align-items: flex-start; }
    .hero-copy { align-items: flex-start; }
    .library-hero-animation { align-self: center; flex-basis: 150px; width: 190px; margin: -4px 0 4px; }
    .hero-action-card { width: 100%; justify-self: stretch; }
    .hero-action-row { flex-direction: row; }
    .page-3d-scene { opacity: .62; }
    .scene-card { display: none !important; }
}

@media (max-width: 1399.98px) {
    .analytics-grid { grid-template-columns: minmax(0, 1fr) 320px; }
    .dashboard-insights-layout { grid-template-columns: minmax(0, 1fr) 320px; }
    .qr-generator-layout { grid-template-columns: 320px minmax(320px, 1fr); }
    .qr-generator-full { display: block; }
    .about-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-filter-bar { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
    .report-member-tabs { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
    .overview-tile-row { grid-template-columns: repeat(3, minmax(160px, 1fr)); }
    .gym-report-grid { grid-template-columns: repeat(3, minmax(210px, 1fr)); }
    .topbar.dark-appbar { grid-template-columns: auto auto auto 1fr; gap: 14px; }
    .member-list-card-page .membership-stat-grid { grid-template-columns: repeat(3, minmax(160px, 1fr)); }
    .member-list-card-page .membership-filter-row,
    .member-list-card-page .membership-filter-row.secondary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1199.98px) {
    .topbar.dark-appbar { grid-template-columns: auto 1fr; height: 64px; }
    .topbar-clock { display: none !important; }
    .topbar-day { display: none !important; }
    .gym-report-grid { grid-template-columns: repeat(2, minmax(210px, 1fr)); }
    .analytics-grid { height: auto; grid-template-columns: 1fr; }
    .dashboard-insights-layout { grid-template-columns: 1fr; }
    .qr-generator-layout { grid-template-columns: 1fr; }
    .qr-control-panel { width: min(520px, 100%); justify-self: center; }
    .about-hero { grid-template-columns: 1fr; align-items: flex-start; }
    .about-hero-main { padding: 30px; }
    .about-hero-metrics { grid-template-columns: repeat(3, 1fr); border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
    .about-hero-metrics div { min-height: 96px; }
    .about-hero-actions { width: 100%; flex: 0 0 auto; }
    .about-grid { grid-template-columns: 1fr; }
    .about-intro-panel { grid-row: auto; }
    .report-page-head { align-items: flex-start; flex-direction: column; }
    .report-head-actions { width: 100%; justify-content: flex-start; }
    .report-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-member-grid { grid-template-columns: 1fr; }
    .report-member-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .share-option-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rate-store-grid { grid-template-columns: 1fr; }
    .dashboard-insight-graph-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .chart-frame { height: 290px; }
    .chart-frame-large { height: 380px; }
    .pie-frame { height: 280px; }
    .dashboard-insight-chart { height: 330px; }
}

@media (max-width: 991.98px) {
    .main { margin-left: 0; }
    .appbar-round-icon { display: none; }
    .gym-welcome-panel { flex-direction: column; padding: 18px; }
    .member-list-card-page .membership-dashboard-head { align-items: flex-start; flex-direction: column; }
    .member-list-card-page .membership-add-btn { width: 100%; }
    .member-list-card-page .membership-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .member-list-card-page .membership-filter-row,
    .member-list-card-page .membership-filter-row.secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .overview-tile-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gym-report-grid { grid-template-columns: 1fr; }
    .gym-report-card { min-height: 74px; }
    .analytics-panel { padding: 10px; }
    .chart-frame,
    .pie-frame { height: 250px; padding: 0; }
    .chart-frame-large { height: 360px; }
    .dashboard-insight-list { grid-template-columns: 1fr; }
    .dashboard-insight-graph-grid { grid-template-columns: 1fr; }
    .about-hero { min-height: 0; padding: 0; }
    .about-hero-main { padding: 24px; }
    .about-hero-content { align-items: flex-start; flex-direction: column; }
    .about-hero h1 { font-size: 38px; }
    .about-hero p { font-size: 16px; }
    .about-feature-grid { grid-template-columns: 1fr; }
    .about-section-head { flex-direction: column; }
    .about-help-btn { width: 100%; }
    .about-support-grid { grid-template-columns: 1fr; }
    .report-filter-bar,
    .report-metric-row,
    .report-member-tabs,
    .report-member-filter,
    .report-member-plan { grid-template-columns: 1fr; }
    .report-member-card header { grid-template-columns: 54px minmax(0, 1fr); }
    .report-member-card header aside { grid-column: 1 / -1; justify-items: start; }
    .report-member-card img,
    .report-member-avatar { width: 54px; height: 54px; }
    .communication-hero { align-items: flex-start; flex-direction: column; padding: 22px; }
    .communication-hero h1 { font-size: 30px; }
    .share-modal-head { align-items: flex-start; flex-direction: column; }
    .share-copy-mini { width: 100%; justify-content: center; }
    .report-metric-row div { border-right: 0; border-bottom: 1px solid #e2e8f0; }
    .report-metric-row div:last-child { border-bottom: 0; }
    .dashboard-mini-graph { min-height: 260px; }
    .dashboard-insights-panel { padding: 12px; }
    .dashboard-insight-chart { height: 310px; }
    .overview-mini-card strong { font-size: 17px; }
}

@media (max-width: 767.98px) {
    .topbar { padding: 0 14px; }
    .topbar-search { max-width: none; }
    .page-head { align-items: flex-start; flex-direction: column; }
    .footer { flex-direction: column; gap: 4px; }
    .content { padding: 12px; }
    .qr-toolbar-panel { align-items: flex-start; flex-direction: column; padding: 16px; }
    .qr-download-btn { width: 100%; justify-content: center; }
    .module-toolbar { align-items: flex-start; flex-direction: column; padding: 0; }
    .dashboard-banner { min-height: 160px; }
    .dashboard-stat-grid { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
    .dashboard-stat-grid-rich { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
    .dashboard-summary-row { grid-template-columns: 1fr; }
    .dashboard-hero-panel { padding: 20px; min-height: 230px; }
    .subscription-tabs { grid-template-columns: 1fr; }
    .credit-picker { gap: 12px; flex-wrap: wrap; justify-content: center; }
    .landing-nav { padding: 0 14px; }
    .landing-logo span { display: none; }
    .landing-main { width: min(100% - 22px, 1180px); }
    .landing-hero h1 { font-size: 24px; }
    .hero-copy { flex-direction: column; }
    .landing-wide h2 { font-size: 24px; }
    .login-intro-card { padding: 24px; border-radius: 22px; }
    .login-intro-card h1 { font-size: 40px; }
    .login-library-animation { height: 120px; margin-top: 18px; }
    .seat-one { left: 218px; }
    .seat-two { left: 282px; }
    .seat-three { left: 346px; }
    .walking-student { left: 188px; }
    .reader-seat { right: 58px; }
    .reader-dot { right: 86px; }
    .login-mini-grid { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
    .content { padding: 16px; }
    .hero-action-row { flex-direction: column; }
    .auth-page { padding: 12px; }
    .auth-panel { padding: 30px 22px; }
    .auth-visual { display: none; }
    .login-options { grid-template-columns: 1fr; }
    .card-body { padding: 16px; }
    .app-topbar { height: 54px; }
    .topbar-actions { gap: 5px; }
    .appbar-icon { width: 34px; height: 34px; }
    .appbar-profile span:not(.avatar) { display: none !important; }
    .dashboard-stat-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .dashboard-stat-grid-rich { grid-template-columns: 1fr 1fr; }
    .dash-stat-card { min-height: 132px; }
    .quick-action-grid { grid-template-columns: 1fr; }
    .subscription-section h2 { margin-left: 0; }
    .credit-hero { border-radius: 18px; }
    .landing-page { background-attachment: scroll; }
    .landing-hero,
    .landing-wide,
    .glass-card { border-radius: 16px; padding: 18px; }
    .hero-tags span { width: 100%; justify-content: center; }
    .landing-footer { margin-top: 28px; }
    .login-command-wrap { width: min(100% - 22px, 1220px); gap: 14px; padding: 22px 0; }
    .login-intro-top { align-items: flex-start; flex-direction: column; }
    .login-intro-card h1 { font-size: 34px; }
    .library-hero-animation { width: 160px; height: 96px; transform: scale(.82) rotateX(58deg) rotateZ(-8deg); }
    .login-library-animation { display: none; }
    .qr-web-preview { border-radius: 14px; padding: 12px; }
    .qr-card-capture { min-height: 590px; padding-top: 42px; }
    .qr-card-top h2 { font-size: 26px; }
    .qr-card-top p { font-size: 19px; }
    .qr-code-box { padding: 46px 0 34px; }
    .qr-render-box,
    .qr-render-box canvas,
    .qr-render-box img { width: min(290px, 82vw); height: min(290px, 82vw); }
    .qr-card-bottom p { font-size: 16px; }
    .about-web-page { max-width: 100%; }
    .about-hero-main { padding: 20px; }
    .about-hero-content img { width: 84px; height: 84px; border-radius: 18px; }
    .about-hero-actions { grid-template-columns: 1fr; }
    .about-hero-metrics { grid-template-columns: 1fr; }
    .about-hero-metrics div { min-height: 76px; padding: 16px 20px; }
    .about-hero-metrics strong { font-size: 26px; }
    .about-panel { padding: 18px; border-radius: 14px; }
    .about-panel h2 { font-size: 20px; }
    .about-stat-strip strong { font-size: 24px; }
    .about-store-list a,
    .about-support-grid a,
    .developer-panel a { grid-template-columns: 46px minmax(0, 1fr) auto; gap: 10px; padding: 10px; }
    .about-store-list img,
    .developer-panel img,
    .about-store-list > a > i,
    .about-support-grid > a > i { width: 46px; height: 46px; }
    .about-store-list strong,
    .about-support-grid strong,
    .developer-panel strong { font-size: 16px; }
    .report-page-head { padding: 16px; }
    .report-page-head h1 { font-size: 24px; }
    .report-head-actions,
    .report-head-actions .report-action-btn { width: 100%; }
    .report-summary-card { padding: 15px; }
    .report-summary-card strong,
    .report-total-card strong { font-size: 20px; }
    .report-table thead th,
    .report-table tbody td { padding: 12px; white-space: nowrap; }
    .share-option-grid { grid-template-columns: 1fr; }
    .rate-store-card { grid-template-columns: 52px minmax(0, 1fr) auto; min-height: 118px; }
    .rate-store-card img { width: 52px; height: 52px; border-radius: 14px; }
    .rate-store-card strong { font-size: 17px; }
    .master-page { margin: -16px; min-height: calc(100vh - 54px); padding: 0 0 22px; }
    .master-web-head { display: none; }
    .master-mobile-appbar { align-items: center; background: linear-gradient(135deg, var(--plan-theme), var(--plan-theme-accent)); box-shadow: 0 6px 16px rgba(15,23,42,.18); color: #fff; display: grid; grid-template-columns: 42px 1fr 42px; min-height: 78px; padding: 0 18px; position: sticky; top: 0; z-index: 20; }
    .master-mobile-appbar a,
    .master-mobile-appbar span { align-items: center; color: #fff; display: flex; font-size: 28px; height: 42px; justify-content: center; text-decoration: none; width: 42px; }
    .master-mobile-appbar h1 { color: #fff; font-size: 28px; font-weight: 500; margin: 0; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
    .master-filter-card { border-radius: 18px; grid-template-columns: auto 1fr; margin: 24px 14px 16px; padding: 16px; }
    .master-search { grid-column: 1 / -1; }
    .master-filter-card strong { font-size: 22px; }
    .master-card-grid,
    .user-master-grid { grid-template-columns: 1fr; padding: 0 14px; }
    .plan-table-card { border-radius: 18px; margin: 0 14px; padding: 12px; overflow: hidden; }
    .plan-table-card .table-responsive { overflow: visible; padding: 8px; }
    .plan-table-card .dt-container { padding: 12px; }
    .plan-table-card .dt-layout-row:first-child { display: grid; gap: 10px; padding: 10px; }
    .plan-table-card .dt-layout-cell { width: 100%; }
    .plan-table-card .dt-buttons { display: flex; flex-wrap: wrap; gap: 6px; }
    .plan-table-card .dt-search,
    .plan-table-card .dt-search input { width: 100%; }
    .plan-table-card .dt-search input { min-width: 0; }
    .plan-web-table { min-width: 0; }
    .plan-web-table thead { display: none; }
    .plan-web-table,
    .plan-web-table tbody,
    .plan-web-table tr,
    .plan-web-table td { display: block; width: 100%; }
    .plan-web-table tbody tr { border: 1px solid #e1e8f0; border-radius: 14px; box-shadow: 0 8px 18px rgba(15,23,42,.05); margin-bottom: 12px; overflow: hidden; }
    .plan-web-table tbody td { align-items: center; border-bottom: 1px solid #edf2f7; display: flex; gap: 14px; justify-content: space-between; min-height: 48px; padding: 12px 14px; text-align: right !important; }
    .plan-web-table tbody td:before { color: #64748b; content: attr(data-label); flex: 0 0 104px; font-size: 12px; font-weight: 900; text-align: left; text-transform: uppercase; }
    .member-list-card-page .membership-dashboard-head,
    .member-list-card-page .membership-stat-grid,
    .member-list-card-page .membership-filter-bar,
    .member-list-card-page .member-table-card,
    .member-list-card-page .member-pagination { margin-left: 0; margin-right: 0; }
    .member-list-card-page .membership-dashboard-head h1 { font-size: 23px; }
    .member-list-card-page .membership-stat-grid { grid-template-columns: 1fr; }
    .member-list-card-page .membership-filter-row,
    .member-list-card-page .membership-filter-row.secondary { grid-template-columns: 1fr; }
    .member-list-card-page .membership-filter-bar button,
    .member-list-card-page .membership-filter-bar a { width: 100%; }
    .plan-web-table tbody td:last-child { border-bottom: 0; }
    .plan-name-cell { justify-content: flex-end; min-width: 0; text-align: right; }
    .plan-description { max-width: 180px; text-align: right; }
    .plan-table-actions { justify-content: flex-end; }
    .plan-action { min-height: 34px; padding: 7px 10px; }
    .user-table-card { border-radius: 18px; margin: 0 14px; padding: 12px; overflow: hidden; }
    .user-table-card .table-responsive { overflow: visible; padding: 8px; }
    .user-table-card .dt-container { padding: 12px; }
    .user-table-card .dt-layout-row:first-child { display: grid; gap: 10px; padding: 10px; }
    .user-table-card .dt-layout-cell { width: 100%; }
    .user-table-card .dt-buttons { display: flex; flex-wrap: wrap; gap: 6px; }
    .user-table-card .dt-search,
    .user-table-card .dt-search input { width: 100%; }
    .user-table-card .dt-search input { min-width: 0; }
    .user-web-table { min-width: 0; }
    .user-web-table thead { display: none; }
    .user-web-table,
    .user-web-table tbody,
    .user-web-table tr,
    .user-web-table td { display: block; width: 100%; }
    .user-web-table tbody tr { border: 1px solid #e1e8f0; border-radius: 14px; box-shadow: 0 8px 18px rgba(15,23,42,.05); margin-bottom: 12px; overflow: hidden; }
    .user-web-table tbody td { align-items: center; border-bottom: 1px solid #edf2f7; display: flex; gap: 14px; justify-content: space-between; min-height: 48px; padding: 12px 14px; text-align: right !important; }
    .user-web-table tbody td:before { color: #64748b; content: attr(data-label); flex: 0 0 94px; font-size: 12px; font-weight: 900; text-align: left; text-transform: uppercase; }
    .user-web-table tbody td:last-child { border-bottom: 0; }
    .user-name-cell { justify-content: flex-end; min-width: 0; text-align: right; }
    .user-email-cell { max-width: 190px; text-align: right; }
    .user-table-actions { flex-wrap: wrap; justify-content: flex-end; min-width: 0; }
    .user-action { min-height: 34px; padding: 7px 10px; }
    .user-permission-modal .modal-body { grid-template-columns: 1fr; padding: 14px; }
    .user-profile-grid,
    .enroll-button-grid { grid-template-columns: 1fr; }
    .user-profile-grid div.wide { grid-column: auto; }
    .enroll-user-chip { grid-template-columns: 38px minmax(0, 1fr); }
    .enroll-user-chip strong { grid-column: 2; }
    .active-plan-page { gap: 14px; }
    .active-plan-head { align-items: flex-start; display: grid; padding: 18px; }
    .active-plan-head h1 { font-size: 24px; }
    .active-plan-year { width: 100%; }
    .active-plan-summary { grid-template-columns: 1fr; }
    .active-plan-layout { grid-template-columns: 1fr; }
    .active-plan-chart-card,
    .active-plan-table-card { padding: 12px; }
    .active-plan-chart-card canvas { height: 330px !important; }
    .active-plan-table-card .table-responsive { overflow-x: auto; }
    .invoice-toolbar-card { align-items:stretch; display:grid; }
    .invoice-tabs { grid-template-columns:1fr; }
    .invoice-search-form { min-width:0; width:100%; }
    .ai-zone-grid,
    .ai-weekday-grid { grid-template-columns:1fr; }
    .ai-zone-card h2 { grid-template-columns:1fr; }
    .master-record-card { border-radius: 18px; padding: 16px; }
    .master-record-main { padding-right: 116px; }
    .master-record-main h2 { font-size: 21px; }
    .master-record-actions { gap: 8px; right: 14px; top: 16px; }
    .master-action { border-radius: 16px; height: 46px; width: 46px; }
    .master-badge { font-size: 13px; padding: 7px 10px; }
    .master-detail-box { grid-template-columns: 1fr; }
    .master-form-stack { gap: 16px; padding: 24px 14px 0; }
    .master-form-card,
    .master-submit-card { border-radius: 18px; padding: 18px; }
    .master-form-card h2 { font-size: 22px; }
    .master-field { border-radius: 16px; min-height: 62px; }
    .master-field input,
    .master-field select,
    .master-field textarea,
    .master-field .form-control { font-size: 18px; }
    .master-inline-fields { grid-template-columns: 1fr; }
    .master-shift-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .master-submit-card { flex-direction: column-reverse; }
    .master-cancel-btn,
    .master-submit-btn { width: 100%; }
    .locker-stats { grid-template-columns: repeat(3, minmax(112px, 1fr)); margin: 14px 10px; overflow-x: auto; padding-bottom: 4px; }
    .locker-alias-list { gap: 12px; overflow: visible; padding: 0 10px 76px; }
    .locker-alias-group { border-radius: 14px; gap: 10px; padding: 0 8px 10px; }
    .locker-alias-group .locker-alias-head { margin: 0 -8px; }
    .locker-alias-head { border-radius: 12px; min-height: 46px; padding: 0 12px; }
    .locker-alias-head strong,
    .locker-alias-head span { font-size: 15px; }
    .locker-grid { gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); min-width: 0; }
    .locker-tile { border-radius: 10px; min-height: 108px; padding: 7px; }
    .locker-tile span { border-radius: 8px; font-size: 12px; padding: 5px 7px; }
    .locker-tile a { border-radius: 8px; font-size: 13px; height: 24px; width: 24px; }
    .locker-tile img { height: 46px; width: 54px; }
    .locker-tile strong { font-size: 12px; }
    .locker-detail-row { grid-template-columns: 1fr; gap: 4px; }
    .master-floating-add { bottom: 28px; height: 66px; right: 24px; width: 66px; }
    .locker-form-page { padding: 0 0 18px; }
    .locker-editor-form,
    .locker-form-head { max-width: none; }
    .locker-editor-form { padding: 14px 12px 0; }
    .locker-form-grid { grid-template-columns: 1fr; padding: 14px; }
    .locker-submit-card { flex-direction: column-reverse; padding: 14px; }
    .locker-submit-card .btn { width: 100%; }
    .enquiry-current-page { margin: -16px -8px 0; padding: 0 10px 18px; }
    .enquiry-current-title { font-size: 30px; padding: 10px 6px 20px; }
    .member-add-header-icons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 6px; }
    .member-add-header-icon { min-height: 86px; width: 100%; }
    .enquiry-current-grid { gap: 12px; grid-template-columns: 1fr; padding: 14px; }
    .enquiry-mobile-row { grid-template-columns: 96px minmax(0, 1fr); }
    .enquiry-current-submit { grid-column: auto; padding-top: 10px; }
    .simple-form-page { padding: 0 0 18px; }
    .simple-editor-form,
    .simple-form-head { max-width: none; }
    .simple-editor-form { padding: 14px 12px 0; }
    .simple-form-grid { grid-template-columns: 1fr; padding: 14px; }
    .simple-submit-card { flex-direction: column-reverse; padding: 14px; }
    .simple-submit-card .btn { width: 100%; }
    .simple-master-table-card { margin: 0 12px; padding: 12px; }
    .plan-form-page { padding: 0 0 18px; }
    .plan-editor-form,
    .plan-form-head { max-width: none; }
    .plan-editor-form { padding: 14px 12px 0; }
    .plan-form-grid { grid-template-columns: 1fr; padding: 14px; }
    .plan-multi-shift { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .plan-submit-card { flex-direction: column-reverse; padding: 14px; }
    .plan-submit-card .btn { width: 100%; }
    .user-form-page { padding: 0 0 18px; }
    .user-editor-form,
    .user-form-head { max-width: none; }
    .user-editor-form { padding: 14px 12px 0; }
    .user-photo-panel { grid-template-columns: 62px minmax(0, 1fr) 46px; margin: 14px; padding: 14px; }
    .user-photo-panel > span { height: 62px; width: 62px; font-size: 28px; }
    .user-photo-panel label { height: 46px; width: 46px; }
    .user-photo-panel strong { font-size: 18px; }
    .user-editor-title,
    .user-collapse-title { padding: 14px; }
    .user-staff-login { margin-left: 0; }
    .user-form-grid,
    .user-library-list,
    .user-permission-grid { grid-template-columns: 1fr; padding: 14px; }
    .user-submit-card { flex-direction: column-reverse; padding: 14px; }
    .user-submit-card .btn { width: 100%; }
    .seat-map-page { padding: 0 0 14px; }
    .seat-app-head { border-radius: 0 0 14px 14px; grid-template-columns: 1fr; margin: 0 0 10px; padding: 14px 12px; }
    .seat-app-head h1 { font-size: 22px; }
    .seat-stats { grid-template-columns: repeat(3, minmax(112px, 1fr)); margin: 0 10px 10px; overflow-x: auto; padding-bottom: 4px; }
    .seat-stats a,
    .seat-stats button { min-height: 70px; padding: 11px 12px; }
    .seat-stats a i,
    .seat-stats button i { height: 40px; width: 40px; }
    .seat-stats a strong,
    .seat-stats button strong { font-size: 20px; }
    .seat-shift-row { margin: 0 10px 12px; }
    .seat-shift-row a,
    .seat-shift-row button { flex-basis: 126px; min-height: 40px; }
    .seat-search-note { margin: 0 10px 12px; }
    .seat-alias-list { gap: 12px; padding: 0 10px 76px; }
    .seat-alias-head { min-height: 46px; padding: 0 12px; }
    .seat-grid { gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 10px; }
    .seat-tile { border-radius: 10px; min-height: 108px; padding: 32px 7px 0; }
    .seat-tile .seat-no { border-radius: 8px; font-size: 10px; left: 7px; max-width: 58%; min-height: 22px; padding: 3px 6px; top: 7px; }
    .seat-tile em { font-size: 8px; min-height: 18px; padding: 2px 4px; right: 5px; top: 5px; }
    .seat-tile img { height: 46px; margin: 0 auto 7px; width: 54px; }
    .seat-tile strong { font-size: 11px; margin: 0 -7px; min-height: 30px; padding: 6px 4px; width: calc(100% + 14px); }
    .seat-details-modal .modal-dialog { align-items: flex-end; margin: 0; min-height: 100%; }
    .seat-details-modal .modal-content { border-radius: 18px 18px 0 0; }
    .seat-details-modal .modal-body div { grid-template-columns: 120px minmax(0,1fr); }
    .seat-floating-add { bottom: 24px; height: 64px; right: 22px; width: 64px; }
    .seat-add-page { padding: 0 0 18px; }
    .seat-add-head-actions { justify-content: stretch; }
    .seat-add-head-actions .btn,
    .seat-add-head-actions form,
    .seat-add-head-actions button { width: 100%; }
    .seat-add-layout { grid-template-columns: 1fr; padding: 0 12px; }
    .seat-add-layout.single { grid-template-columns: 1fr; }
    .seat-add-panel { position: static; }
    .seat-stats.compact { grid-template-columns: repeat(3, minmax(138px, 1fr)); overflow-x: auto; padding-bottom: 4px; }
    .seat-stats.compact div { min-height: 82px; }
    .seat-grid.add-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .seat-delete-form { right: 6px; top: 36px; }
    .seat-delete-form button { height: 24px; width: 24px; }
    .notice-form-page { padding: 0 0 18px; }
    .notice-form-shell { max-width: none; padding: 14px 12px 0; }
    .notice-form-hero { display: none; }
    .notice-section-title { padding: 14px; }
    .notice-section-title > span { height: 42px; width: 42px; }
    .notice-section-title strong { font-size: 18px; }
    .notice-form-grid { grid-template-columns: 1fr; padding: 14px; }
    .notice-field { border-radius: 16px; }
    .notice-submit-row { flex-direction: column-reverse; padding: 14px; }
    .notice-cancel-btn,
    .notice-submit-btn { width: 100%; }
    .login-form-card h2 { font-size: 26px; }
    .command-options,
    .command-action-row { grid-template-columns: 1fr; flex-direction: column; align-items: stretch; }
    .command-submit { width: 100%; }
    .scene-orbit { width: 150px; height: 150px; }
    .scene-cube { width: 62px; height: 62px; }
    .scene-runner { display: none !important; }
    .login-3d-scene .cube-one,
    .landing-3d-scene .cube-one { top: 86px; right: 18px; left: auto; }
    .mobile-inspired-page { margin: -16px; }
    .mobile-page-appbar { min-height: 78px; padding: 10px 18px; }
    .mobile-page-appbar h1 { font-size: 36px; }
    .refer-layout { width: 100%; grid-template-columns: 1fr; gap: 14px; margin: 0; padding: 14px; }
    .refer-balance-card,
    .refer-program-card { border-radius: 14px; }
    .refer-balance-card { padding: 28px 18px; }
    .refer-balance-card h2 { font-size: 26px; }
    .refer-balance-card p { font-size: 20px; }
    .refer-balance-card .refer-points { font-size: 17px; }
    .refer-points strong { font-size: 25px; }
    .refer-program-card { padding: 24px 18px; }
    .refer-illustration { height: 250px; }
    .refer-program-card p { font-size: 22px; }
    .refer-earn-btn { width: min(464px, 100%); font-size: 25px; }
    .refer-code-box { grid-template-columns: 1fr 136px; }
    .refer-code-box span { font-size: 21px; }
    .refer-code-box button { font-size: 28px; }
    .earn-rule { grid-template-columns: 42px minmax(0, 1fr) 74px; }
    .help-appbar { min-height: 148px; }
    .help-lang-tabs { min-height: 76px; }
    .help-lang-tabs button { font-size: 22px; }
    .help-faq-list { width: 100%; gap: 14px; margin: 0; padding: 12px 14px 26px; }
    .help-faq-card { border-radius: 18px; }
    .help-faq-card > button { min-height: 92px; grid-template-columns: 54px minmax(0, 1fr) 30px; gap: 14px; padding: 16px 18px; }
    .help-faq-card strong { font-size: 22px; }
    .help-faq-body { margin: 0 18px 18px 86px; }
    .help-thanks-card { border-radius: 18px; margin-top: 4px; padding: 26px 20px; }
    .support-web-page { width: 100%; gap: 14px; }
    .support-page-head { display: grid; padding: 18px; border-radius: 12px; }
    .support-page-head h1 { font-size: 24px; }
    .support-head-action { width: 100%; }
    .support-web-page .refer-layout { grid-template-columns: 1fr; padding: 0; }
    .support-web-page .refer-balance-card,
    .support-web-page .refer-program-card { padding: 18px; }
    .support-web-page .refer-illustration { height: 210px; }
    .support-web-page .refer-program-card p { font-size: 15px; }
    .support-web-page .refer-code-box { grid-template-columns: 1fr 104px; }
    .support-web-page .refer-code-box button { font-size: 18px; }
    .support-web-page .help-lang-tabs { min-width: 0; width: 100%; }
    .support-web-page .help-faq-list { grid-template-columns: 1fr; padding: 0 0 22px; }
    .support-web-page .help-faq-card > button { min-height: 74px; }
    .support-web-page .help-faq-body { margin: 0 16px 16px 16px; }
    .ops-page { width: 100%; gap: 14px; }
    .ops-page-head { display: grid; padding: 18px; border-radius: 12px; }
    .ops-page-head h1 { font-size: 24px; }
    .ops-primary-btn,
    .ops-secondary-btn,
    .ops-toolbar button { width: 100%; }
    .ops-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px; }
    .ops-toolbar label,
    .ops-toolbar button { grid-column: 1 / -1; }
    .expense-record-card { grid-template-columns: 52px minmax(0, 1fr); }
    .expense-icon { width: 52px; height: 52px; }
    .expense-actions { grid-column: 1 / -1; justify-content: flex-start; min-width: 0; }
    .expense-form-row { grid-template-columns: 1fr; }
    .expense-row-head { min-height: 34px; }
    .ops-field.wide { max-width: none; }
    .attendance-workspace,
    .attendance-workspace.report-filter { grid-template-columns: 1fr; padding: 14px; }
    .ops-segment span { min-height: 50px; font-size: 16px; }
    .attendance-form { max-width: none; }
    .attendance-current-panel { max-width: none; }
    .attendance-current-mode,
    .attendance-current-filter,
    .attendance-current-grid { grid-template-columns: 1fr; padding: 14px; }
    .attendance-current-actions { justify-content: stretch; padding: 14px; }
    .attendance-current-actions .btn,
    .attendance-current-load { width: 100%; }
    .attendance-log-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .attendance-log-card em { justify-self: start; }
    .expense-table-shell { border: 0; background: transparent; box-shadow: none; }
    .expense-table-head { display: none; }
    .expense-card-list { gap: 12px; }
    .expense-record-card {
        grid-template-columns: 52px minmax(0, 1fr);
        border: 1px solid #e6ebf2;
        border-radius: 12px;
        box-shadow: 0 8px 20px rgba(15, 23, 42, .05);
    }
    .expense-amount,
    .expense-date,
    .expense-mode-cell,
    .expense-actions {
        grid-column: 2;
    }
    .expense-actions { justify-content: flex-start; }
    .expense-filter-toolbar { margin-bottom: 14px; }
    .expense-compact-head { display:grid; grid-template-columns:1fr; padding:14px; }
    .expense-inline-filter { grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
    .expense-inline-filter label,
    .expense-inline-filter button { grid-column:auto; }
    .expense-inline-add { width:100%; }
    .expense-current-date-grid,
    .expense-current-grid { grid-template-columns: 1fr; padding: 14px; }
    .expense-form-rows { gap: 12px; padding: 0 14px 14px; }
    .expense-current-actions { grid-template-columns: 1fr; padding: 14px; }
    .expense-current-add,
    .expense-current-actions .btn { width: 100%; }
    .library-page { width: 100%; gap: 14px; }
    .library-page-head { display: grid; padding: 18px; }
    .library-page-head h1 { font-size: 24px; }
    .library-summary-grid { grid-template-columns: 1fr; }
    .library-row { grid-template-columns: 32px minmax(0, 1fr); align-items: start; }
    .library-row-plan,
    .library-row-actions { grid-column: 2; }
    .library-row-actions { justify-content: flex-start; }
    .library-form-grid,
    .library-toggle-grid { grid-template-columns: 1fr; }
    .form-field.span-2 { grid-column: auto; }
    .logo-card,
    .library-toggle-row { align-items: flex-start; }
    .logo-card,
    .library-toggle-row,
    .library-terms-note { flex-direction: column; }
    .ai-page-head { display: grid; padding: 18px; }
    .ai-page-head h1 { font-size: 24px; }
    .ai-chat-layout { grid-template-columns: 1fr; min-height: 0; }
    .ai-prompt-list { max-height: 280px; }
    .ai-message,
    .ai-answer-group { max-width: 100%; width: 100%; }
    .member-filter-bar { grid-template-columns: 1fr; }
    .member-management-page .member-filter-bar { grid-template-columns: 1fr; }
    .member-list-card-page .report-member-plan { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .member-list-card-page .member-card-view header { grid-template-columns: 58px minmax(0, 1fr); }
    .member-list-card-page .member-card-view header aside { grid-column: 1 / -1; justify-items: start; }
    .member-list-card-page .member-card-view img,
    .member-list-card-page .member-card-view .report-member-avatar { width: 58px; height: 58px; }
    .member-pagination { justify-content: stretch; }
    .member-pagination a,
    .member-pagination span { flex: 1; }
    .member-action-strip { max-width: 72vw; }
    .member-management-page .member-action-strip {
        max-width: 72vw;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 3px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .scene-orbit,
    .scene-cube,
    .scene-card,
    .scene-runner i,
    .landing-hero,
    .login-intro-card,
    .login-form-card,
    .login-form-card:before,
    .login-intro-card:before,
    .library-hero-animation,
    .book-stack,
    .reading-lamp,
    .shelf-book,
    .student-path,
    .student-path:after,
    .walking-student,
    .walking-student:after,
    .seat-row i,
    .study-seat,
    .reader-seat,
    .reader-dot,
    .scan-light,
    .landing-hero:before {
        animation: none !important;
    }
}

@media (max-width: 767.98px) {
    .master-page:has(.ajax-form.needs-validation) {
        margin: -16px -8px 0;
        padding: 0 10px 18px;
    }
    .master-page:has(.ajax-form.needs-validation) > .master-web-head.compact,
    .master-page:has(.ajax-form.needs-validation) .notice-form-hero {
        padding: 10px 6px 20px;
    }
    .master-page:has(.ajax-form.needs-validation) > .master-web-head.compact h1,
    .master-page:has(.ajax-form.needs-validation) .notice-form-hero h1 {
        font-size: 30px;
    }
    .master-form-stack,
    .simple-form-grid,
    .plan-form-grid,
    .locker-form-grid,
    .user-form-grid,
    .notice-form-grid {
        gap: 12px;
        grid-template-columns: 1fr;
        padding: 14px;
    }
    .master-submit-card,
    .simple-submit-card,
    .plan-submit-card,
    .locker-submit-card,
    .user-submit-card,
    .notice-submit-row {
        grid-template-columns: 1fr;
        padding: 0 14px 14px;
    }
    .master-form-stack .master-submit-card {
        padding: 10px 0 0;
    }
    .library-form-page .library-page-head {
        padding: 10px 6px 20px;
    }
    .library-form-page .library-page-head h1 {
        font-size: 30px;
    }
    .library-form-grid {
        gap: 12px;
        grid-template-columns: 1fr;
        padding: 14px;
    }
    .library-submit-btn {
        width: 100%;
    }
    .plan-table-card,
    .user-table-card,
    .simple-master-table-card,
    .active-plan-table-card,
    .master-data-table-card,
    .data-panel,
    .report-table-card {
        border-radius: 8px;
        margin: 0 2px;
        padding: 12px;
    }
    .dt-container .dt-layout-row:first-child {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: stretch;
    }
    .dt-container .dt-layout-cell.dt-layout-start,
    .dt-container .dt-layout-cell.dt-layout-full,
    .dt-container .dt-layout-cell.dt-layout-end {
        justify-self: stretch;
        width: 100%;
    }
    .dt-length,
    .dt-search,
    .dt-buttons {
        justify-content: flex-start;
        width: 100%;
    }
    .dt-search input {
        min-width: 0;
        width: 100%;
    }
    .member-current-grid,
    .member-current-wide,
    .member-ui-grid {
        grid-template-columns: 1fr;
    }
}
