                            .mwk-login-page {
                                align-items: flex-start;
                                gap: 18px 0;
                            }

                            .login-panel,
                            .login-help-panel {
                                border-radius: 8px;
                                border-top-width: 4px;
                                overflow: hidden;
                            }

                            .login-brand-icon {
                                width: 48px;
                                height: 48px;
                                border-radius: 50%;
                                display: inline-flex;
                                align-items: center;
                                justify-content: center;
                                background: #fce8e8;
                                color: #dc3545;
                                font-size: 20px;
                            }

                            .login-title {
                                font-size: 28px;
                                font-weight: 800;
                                color: #2f3439;
                            }

                            .login-subtitle,
                            .login-section-note {
                                color: #6c757d;
                                font-size: 14px;
                                line-height: 1.55;
                            }

                            .login-section-heading {
                                display: flex;
                                align-items: center;
                                justify-content: space-between;
                                gap: 10px;
                                margin-bottom: 12px;
                            }

                            .login-section-heading h3 {
                                margin: 0;
                                font-size: 17px;
                                font-weight: 800;
                                color: #343a40;
                            }

                            .login-section-heading i {
                                color: #adb5bd;
                            }

                            .login-form-shell {
                                border: 1px solid #eef0f3;
                                border-radius: 8px;
                                background: #fff;
                                padding: 16px;
                            }

                            .login-back-btn {
                                border-radius: 999px;
                                min-height: 34px;
                                font-weight: 700;
                            }

                            .login-input-hint {
                                display: block;
                                color: #6c757d;
                                font-size: 12px;
                                line-height: 1.45;
                                margin-top: -6px;
                                margin-bottom: 10px;
                            }

                            .login-submit-row {
                                display: grid;
                                grid-template-columns: minmax(0, 1fr) auto;
                                align-items: center;
                                gap: 12px;
                            }

                            .login-submit-row .btn {
                                min-width: 128px;
                                border-radius: 8px;
                                font-weight: 800;
                            }

                            .verify-box {
                                border: 1px solid #e5e9ef;
                                border-radius: 8px;
                                background: #f8f9fa;
                                padding: 14px;
                                text-align: center;
                            }

                            .verify-box small {
                                color: #495057;
                                font-weight: 700;
                                line-height: 1.45;
                            }

                            .verify-box .cf-turnstile {
                                display: inline-block;
                                max-width: 100%;
                            }

                            .google-auth-panel {
                                border: 1px solid #e7edf3;
                                border-radius: 8px;
                                background: #fff;
                                padding: 14px;
                            }

                            .google-auth-action {
                                display: flex;
                                justify-content: center;
                            }

                            #google-signin-fallback {
                                width: 320px;
                                max-width: 100%;
                                margin-right: auto;
                                margin-left: auto;
                            }

                            .thaid-auth-button {
                                width: 320px;
                                max-width: 100%;
                                min-height: 40px;
                                display: grid;
                                grid-template-columns: 20px minmax(0, 1fr) auto;
                                align-items: center;
                                gap: 10px;
                                border: 1px solid #cfd5df;
                                border-radius: 4px;
                                background: #fff;
                                color: #212529;
                                padding: 0 12px;
                                cursor: default;
                                text-align: left;
                                margin-right: auto;
                                margin-left: auto;
                            }

                            .thaid-auth-logo {
                                width: 20px;
                                height: 20px;
                                display: block;
                                border-radius: 2px;
                                object-fit: cover;
                            }

                            .thaid-auth-label {
                                font-size: 14px;
                                font-weight: 500;
                            }

                            .thaid-auth-badge {
                                border-radius: 999px;
                                background: #f1f3f5;
                                color: #6c757d;
                                padding: 3px 7px;
                                font-size: 10px;
                                font-weight: 700;
                                white-space: nowrap;
                            }

                            .parent-flow-intro {
                                border: 1px solid #ffe9a6;
                                border-radius: 8px;
                                background: #fffdf2;
                                padding: 14px;
                                display: flex;
                                gap: 12px;
                                align-items: flex-start;
                                margin-bottom: 16px;
                            }

                            .parent-flow-icon {
                                width: 42px;
                                height: 42px;
                                border-radius: 50%;
                                display: inline-flex;
                                align-items: center;
                                justify-content: center;
                                background: #fff8e1;
                                color: #d39e00;
                                flex: 0 0 auto;
                                font-size: 18px;
                            }

                            .parent-flow-title {
                                margin: 0 0 2px;
                                font-size: 15px;
                                font-weight: 800;
                                color: #343a40;
                            }

                            .parent-student-summary {
                                border: 1px solid #e5e9ef;
                                border-left: 4px solid #ffc107;
                                border-radius: 8px;
                                background: #fff;
                                padding: 12px 14px;
                            }

                            .parent-student-summary .name {
                                font-size: 16px;
                                font-weight: 800;
                                color: #343a40;
                            }

                            .parent-action-link {
                                display: inline-flex;
                                align-items: center;
                                gap: 6px;
                                font-weight: 700;
                            }

                            .help-list {
                                display: grid;
                                gap: 12px;
                            }

                            .help-card {
                                border: 1px solid #e5e9ef;
                                border-radius: 8px;
                                background: #fff;
                                padding: 14px;
                            }

                            .help-card-header {
                                display: flex;
                                align-items: center;
                                gap: 10px;
                                margin-bottom: 10px;
                            }

                            .help-card-icon {
                                width: 36px;
                                height: 36px;
                                border-radius: 50%;
                                display: inline-flex;
                                align-items: center;
                                justify-content: center;
                                flex: 0 0 auto;
                            }

                            .help-card h5 {
                                margin: 0;
                                font-size: 15px;
                                font-weight: 800;
                                color: #343a40;
                            }

                            .help-field {
                                display: grid;
                                grid-template-columns: 84px minmax(0, 1fr);
                                gap: 10px;
                                align-items: start;
                                margin-top: 8px;
                            }

                            .help-field .badge {
                                width: 84px;
                                white-space: normal;
                                line-height: 1.25;
                                padding: 6px 8px;
                            }

                            .help-field strong {
                                min-width: 0;
                                color: #343a40;
                                line-height: 1.45;
                            }

                            .help-google {
                                border-color: #f1c2c7;
                                background: #fff8f8;
                            }

                            .help-student .help-card-icon {
                                background: #e0f4f8;
                                color: #17a2b8;
                            }

                            .help-parent .help-card-icon {
                                background: #fff8e1;
                                color: #d39e00;
                            }

                            .help-staff .help-card-icon {
                                background: #e7f7ec;
                                color: #28a745;
                            }

                            .help-google .help-card-icon {
                                background: #fce8e8;
                                color: #dc3545;
                            }

                            .role-card {
                                border: 1px solid #e9ecef;
                                border-radius: 12px;
                                padding: 15px;
                                cursor: pointer;
                                transition: all 0.2s ease;
                                background: #fff;
                                text-align: left;
                                display: flex;
                                align-items: center;
                                text-decoration: none !important;
                                color: inherit;
                            }

                            .role-card:hover {
                                transform: translateY(-2px);
                                box-shadow: 0 6px 15px rgba(0, 0, 0, 0.05);
                            }

                            .role-card-icon {
                                width: 50px;
                                height: 50px;
                                border-radius: 50%;
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                font-size: 22px;
                                margin-right: 15px;
                                flex-shrink: 0;
                            }

                            .role-card-staff {
                                border-color: #f8d7da;
                            }

                            .role-card-staff:hover {
                                border-color: #dc3545;
                                background-color: #fffafb;
                            }

                            .role-card-staff .role-card-icon {
                                background: #fce8e8;
                                color: #dc3545;
                            }

                            .role-card-student {
                                border-color: #bee5eb;
                            }

                            .role-card-student:hover {
                                border-color: #17a2b8;
                                background-color: #f4fbfd;
                            }

                            .role-card-student .role-card-icon {
                                background: #e0f4f8;
                                color: #17a2b8;
                            }

                            .role-card-parent {
                                border-color: #ffeeba;
                            }

                            .role-card-parent:hover {
                                border-color: #ffc107;
                                background-color: #fffdf5;
                            }

                            .role-card-parent .role-card-icon {
                                background: #fff8e1;
                                color: #ffc107;
                            }

                            .role-card-content {
                                flex-grow: 1;
                            }

                            .role-card-title {
                                font-size: 16px;
                                font-weight: 600;
                                margin-bottom: 2px;
                                color: #343a40;
                                display: flex;
                                justify-content: space-between;
                                align-items: center;
                            }

                            .role-card-desc {
                                font-size: 13px;
                                color: #6c757d;
                                margin-bottom: 0;
                            }

                            .browser-guard-card {
                                border: 1px solid #f1c2c7;
                                border-left: 4px solid #dc3545;
                                border-radius: 8px;
                                background: #fff8f8;
                                padding: 14px;
                                margin-bottom: 16px;
                                color: #343a40;
                            }

                            .browser-guard-card-header {
                                display: flex;
                                align-items: center;
                                gap: 10px;
                                margin-bottom: 10px;
                            }

                            .browser-guard-icon,
                            .browser-guard-popup-icon {
                                width: 38px;
                                height: 38px;
                                border-radius: 50%;
                                display: inline-flex;
                                align-items: center;
                                justify-content: center;
                                flex: 0 0 auto;
                                background: #fce8e8;
                                color: #dc3545;
                            }

                            .browser-guard-title {
                                margin: 0;
                                font-size: 15px;
                                font-weight: 800;
                                color: #2f3439;
                            }

                            .browser-guard-subtitle,
                            .browser-guard-note {
                                margin: 0;
                                font-size: 12px;
                                color: #6c757d;
                            }

                            .browser-guard-copy {
                                margin-bottom: 10px;
                                line-height: 1.55;
                                font-size: 13px;
                            }

                            .browser-guard-browser-list,
                            .browser-guard-popup-chips {
                                display: flex;
                                flex-wrap: wrap;
                                gap: 6px;
                                margin-bottom: 12px;
                            }

                            .browser-guard-browser-list span,
                            .browser-guard-popup-chips span {
                                display: inline-flex;
                                align-items: center;
                                gap: 5px;
                                border: 1px solid #e4e7eb;
                                border-radius: 999px;
                                background: #fff;
                                color: #495057;
                                font-size: 12px;
                                font-weight: 700;
                                padding: 5px 9px;
                            }

                            .browser-guard-actions {
                                display: flex;
                                flex-wrap: wrap;
                                gap: 8px;
                                margin-bottom: 10px;
                            }

                            .browser-guard-actions .btn {
                                border-radius: 8px;
                                min-height: 34px;
                            }

                            .browser-guard-swal {
                                border-radius: 8px !important;
                                padding: 28px 22px 20px !important;
                            }

                            .browser-guard-swal-title {
                                color: #2f3439 !important;
                                font-size: 20px !important;
                                font-weight: 800 !important;
                                padding: 0 34px !important;
                                margin: 4px 0 0 !important;
                            }

                            .browser-guard-swal .swal2-close {
                                position: absolute !important;
                                top: 10px !important;
                                right: 10px !important;
                                width: 34px !important;
                                height: 34px !important;
                                min-width: 34px !important;
                                border-radius: 50% !important;
                                display: inline-flex !important;
                                align-items: center !important;
                                justify-content: center !important;
                                background: #f5f6f8 !important;
                                color: #8a929c !important;
                                font-size: 24px !important;
                                line-height: 1 !important;
                                transition: background-color 0.15s ease, color 0.15s ease !important;
                                box-shadow: none !important;
                                outline: none !important;
                            }

                            .browser-guard-swal .swal2-close:hover,
                            .browser-guard-swal .swal2-close:focus {
                                background: #fce8e8 !important;
                                color: #dc3545 !important;
                                transform: none !important;
                            }

                            .browser-guard-swal-html {
                                margin: 12px 0 0 !important;
                                padding: 0 !important;
                            }

                            .browser-guard-popup {
                                text-align: center;
                            }

                            .browser-guard-popup.compact {
                                padding-top: 2px;
                            }

                            .browser-guard-popup-icon {
                                margin: 0 auto 12px;
                                width: 48px;
                                height: 48px;
                                font-size: 20px;
                            }

                            .browser-guard-popup-icon.is-help {
                                background: #e8f1ff;
                                color: #0d6efd;
                            }

                            .browser-guard-popup-icon.is-success {
                                background: #e9f8ee;
                                color: #198754;
                            }

                            .browser-guard-popup-lead {
                                color: #495057;
                                font-size: 14px;
                                line-height: 1.6;
                                margin: 0 0 12px;
                            }

                            .browser-guard-popup-chips {
                                justify-content: center;
                            }

                            .browser-guard-popup-tip {
                                display: flex;
                                align-items: flex-start;
                                gap: 8px;
                                border-radius: 8px;
                                background: #fff8e6;
                                color: #6b5300;
                                font-size: 13px;
                                line-height: 1.5;
                                text-align: left;
                                padding: 10px 12px;
                            }

                            .browser-guard-popup-tip i {
                                margin-top: 3px;
                                color: #b58100;
                            }

                            .browser-guard-steps {
                                display: grid;
                                gap: 8px;
                                margin: 12px 0;
                                text-align: left;
                            }

                            .browser-guard-steps div {
                                display: flex;
                                align-items: flex-start;
                                gap: 10px;
                                border: 1px solid #eef0f3;
                                border-radius: 8px;
                                background: #fafbfc;
                                padding: 10px;
                            }

                            .browser-guard-steps span {
                                width: 24px;
                                height: 24px;
                                border-radius: 50%;
                                display: inline-flex;
                                align-items: center;
                                justify-content: center;
                                background: #dc3545;
                                color: #fff;
                                font-weight: 800;
                                font-size: 12px;
                                flex: 0 0 auto;
                            }

                            .browser-guard-steps p {
                                margin: 0;
                                color: #495057;
                                font-size: 13px;
                                line-height: 1.55;
                            }

                            .browser-guard-swal-actions {
                                gap: 8px !important;
                                margin-top: 18px !important;
                            }

                            .browser-guard-primary,
                            .browser-guard-secondary {
                                border-radius: 8px !important;
                                min-height: 40px;
                                padding: 8px 14px !important;
                                font-weight: 800 !important;
                            }

                            @media (max-width: 420px) {
                                .browser-guard-actions .btn,
                                .browser-guard-primary,
                                .browser-guard-secondary {
                                    width: 100%;
                                }

                                .browser-guard-swal {
                                    padding: 30px 16px 18px !important;
                                }

                                .browser-guard-swal-title {
                                    padding: 0 30px !important;
                                }

                                .browser-guard-swal .swal2-close {
                                    top: 8px !important;
                                    right: 8px !important;
                                    width: 32px !important;
                                    height: 32px !important;
                                    min-width: 32px !important;
                                }
                            }

                            .browser-guard-blocked .role-card {
                                opacity: 0.6;
                                cursor: not-allowed;
                            }

                            .browser-guard-blocked #google-signin-btn-container,
                            .browser-guard-blocked #google-signin-fallback {
                                display: none !important;
                            }

                            .role-card:active {
                                transform: scale(0.98);
                            }

                            .parent-step {
                                display: flex;
                                align-items: center;
                                justify-content: center;
                            }

                            .parent-step .step-dot {
                                width: 32px;
                                height: 32px;
                                border-radius: 50%;
                                display: inline-flex;
                                align-items: center;
                                justify-content: center;
                                background: #e9ecef;
                                color: #6c757d;
                                font-weight: 700;
                            }

                            .parent-step .step-dot.active {
                                background: #ffc107;
                                color: #212529;
                            }

                            .parent-step .step-dot.done {
                                background: #28a745;
                                color: #fff;
                            }

                            .parent-step .step-line {
                                width: 44px;
                                height: 2px;
                                background: #dee2e6;
                            }

                            .relationship-grid {
                                display: grid;
                                grid-template-columns: repeat(2, minmax(0, 1fr));
                                gap: 10px;
                            }

                            .relationship-choice {
                                min-width: 0;
                                margin-bottom: 0;
                            }

                            .relationship-choice-featured {
                                grid-column: 1 / -1;
                            }

                            .relationship-choice input {
                                display: none;
                            }

                            .relationship-choice span {
                                display: block;
                                border: 1px solid #dee2e6;
                                border-radius: 8px;
                                padding: 12px;
                                text-align: center;
                                font-weight: 700;
                                cursor: pointer;
                            }

                            .relationship-choice input:checked+span {
                                border-color: #ffc107;
                                background: #fff8df;
                                color: #856404;
                            }

                            #parent-verify-form .input-group {
                                flex-wrap: wrap;
                            }

                            #parent-verify-form .input-group>.form-control {
                                order: 1;
                            }

                            #parent-verify-form .input-group>.input-group-append {
                                order: 2;
                            }

                            #parent-verify-form .input-group>label.error {
                                flex: 0 0 100%;
                                order: 3;
                                width: 100%;
                                margin: 4px 0 0;
                                color: #dc3545;
                                font-size: 0.875rem;
                            }

                            #parent-verify-form .parent-birthdate-row>[class*="col-"] {
                                display: flex;
                                flex-direction: column;
                            }

                            #parent-verify-form .parent-birthdate-row .form-control {
                                order: 1;
                            }

                            #parent-verify-form .parent-birthdate-row label.error {
                                order: 2;
                                margin: 4px 0 0;
                                color: #dc3545;
                                font-size: 0.875rem;
                            }

                            @media (max-width: 576px) {
                                .content-header {
                                    padding-bottom: 0.75rem;
                                }

                                .mwk-login-page {
                                    margin-left: -8px;
                                    margin-right: -8px;
                                    gap: 12px 0;
                                }

                                .mwk-login-page>[class*="col-"] {
                                    padding-left: 8px;
                                    padding-right: 8px;
                                }

                                .login-panel,
                                .login-help-panel {
                                    margin-bottom: 12px;
                                }

                                .login-panel .card-header {
                                    padding: 16px 14px 12px;
                                }

                                .login-panel .card-body,
                                .login-help-panel .card-body {
                                    padding: 14px;
                                }

                                .login-title {
                                    font-size: 23px;
                                }

                                .login-subtitle,
                                .login-section-note {
                                    font-size: 13px;
                                }

                                .login-brand-icon {
                                    width: 42px;
                                    height: 42px;
                                    font-size: 18px;
                                }

                                .login-form-shell,
                                .google-auth-panel {
                                    padding: 12px;
                                }

                                .google-auth-action,
                                #google-signin-btn-container {
                                    max-width: 100%;
                                    overflow: hidden;
                                }

                                #google-signin-btn-container iframe,
                                #google-signin-btn-container>div {
                                    max-width: 100% !important;
                                }

                                #google-signin-fallback .btn {
                                    white-space: normal;
                                    line-height: 1.35;
                                }

                                .role-card {
                                    min-height: 74px;
                                    padding: 12px;
                                }

                                .role-card-icon {
                                    width: 42px;
                                    height: 42px;
                                    margin-right: 12px;
                                    font-size: 18px;
                                }

                                .role-card-title {
                                    font-size: 15px;
                                }

                                .role-card-desc {
                                    font-size: 12px;
                                }

                                .login-submit-row {
                                    grid-template-columns: 1fr;
                                    gap: 8px;
                                }

                                .login-submit-row .btn {
                                    width: 100%;
                                    min-height: 40px;
                                }

                                .verify-box {
                                    margin-left: -8px;
                                    margin-right: -8px;
                                    padding: 10px 4px;
                                    overflow-x: auto;
                                }

                                .verify-box .d-flex {
                                    min-width: 300px;
                                }

                                .parent-flow-intro {
                                    flex-direction: column;
                                    gap: 8px;
                                    padding: 12px;
                                }

                                .parent-flow-icon {
                                    width: 38px;
                                    height: 38px;
                                }

                                .parent-step .step-dot {
                                    width: 30px;
                                    height: 30px;
                                }

                                .parent-step .step-line {
                                    width: 34px;
                                }

                                #parent-verify-form .parent-birthdate-row {
                                    display: grid;
                                    grid-template-columns: minmax(64px, 0.8fr) minmax(118px, 1.35fr) minmax(82px, 1fr);
                                    gap: 8px;
                                    margin-left: 0;
                                    margin-right: 0;
                                }

                                #parent-verify-form .parent-birthdate-row>[class*="col-"] {
                                    flex: none;
                                    max-width: none;
                                    padding-left: 0;
                                    padding-right: 0;
                                    width: auto;
                                }

                                #parent-verify-form .parent-birthdate-row .form-control {
                                    padding-left: 8px;
                                    padding-right: 8px;
                                }

                                .help-field {
                                    grid-template-columns: 1fr;
                                    gap: 6px;
                                }

                                .help-field .badge {
                                    width: fit-content;
                                }

                                .relationship-grid {
                                    grid-template-columns: repeat(2, minmax(0, 1fr));
                                }
                            }

                            @media (max-width: 380px) {
                                .login-panel .card-body,
                                .login-help-panel .card-body {
                                    padding: 12px;
                                }

                                .login-form-shell,
                                .google-auth-panel,
                                .help-card {
                                    padding: 10px;
                                }

                                .role-card {
                                    align-items: flex-start;
                                }

                                .role-card-icon {
                                    width: 38px;
                                    height: 38px;
                                    margin-right: 10px;
                                }

                                .relationship-grid {
                                    grid-template-columns: 1fr;
                                }

                                #parent-verify-form .parent-birthdate-row {
                                    grid-template-columns: 1fr;
                                }

                                .browser-guard-browser-list span,
                                .browser-guard-popup-chips span {
                                    font-size: 11px;
                                    padding: 4px 7px;
                                }
                            }
