        .bg-upload-ready{
            background: url("data:image/svg+xml,%3Csvg  fill='currentColor' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M16.88 9.1A4 4 0 0 1 16 17H5a5 5 0 0 1-1-9.9V7a3 3 0 0 1 4.52-2.59A4.98 4.98 0 0 1 17 8c0 .38-.04.74-.12 1.1zM11 11h3l-4-4-4 4h3v3h2v-3z'%3E%3C/path%3E%3C/svg%3E");
        }
        .bg-download-ready{
            background: url("data:image/svg+xml,%3Csvg fill='currentColor'  viewBox='0 -1.5 35 35' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3Edownload1%3C/title%3E%3Cpath d='M29.426 15.535c0 0 0.648-8.743-7.361-9.74-6.866-0.701-8.955 5.679-8.955 5.679s-2.067-1.988-4.873-0.364c-2.51 1.55-2.067 4.388-2.067 4.388s-5.576 1.083-5.576 6.768c0.125 5.677 6.055 5.734 6.055 5.734h11.351l-5-5h3v-6h4v6h3l-5 5h10.467c0 0 5.52 0.006 6.295-5.395 0.369-5.906-5.336-7.070-5.336-7.070z'%3E%3C/path%3E%3C/svg%3E");
        }
        .bg-upload-done{
            background: url("data:image/svg+xml,%3Csvg class='w-6 h-6' fill='none' stroke='%2300dd33' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 13l4 4L19 7'%3E%3C/path%3E%3C/svg%3E");
        }
        .bg-pakta{
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='32' viewBox='0 96 960 960' width='40'%3E%3Cpath d='M434 926.666H186.666q-27 0-46.833-19.833T120 860V285.333q0-27 18.167-46.833 18.166-19.833 36.499-19.833H365q8.333-35 37.333-57.5t65.667-22.5q37.333 0 66.166 22.5t37.167 57.5h190q27 0 46.833 19.833Q828 258.333 828 285.333v202h-66.667v-202H664V412H284V285.333h-97.334V860H434v66.666Zm186-30.999L456.667 732.334 504 685.001l116 116 234.667-234.667L902 613.667l-282 282ZM480 282.666q17 0 28.5-11.5t11.5-28.5q0-17-11.5-28.5t-28.5-11.5q-17 0-28.5 11.5t-11.5 28.5q0 17 11.5 28.5t28.5 11.5Z'/%3E%3C/svg%3E");
        }

        :root {
            --login-primary: #7f1d1d;
            --login-primary-dark: #1f2937;
            --login-accent: #b91c1c;
            --login-bg: #f8fafc;
            --login-surface: #ffffff;
            --login-text: #1f2937;
            --login-muted: #64748b;
            --login-border: #d9e2ec;
            --login-focus: rgba(185, 28, 28, 0.18);
            --login-font-body: var(--cbp-font-body);
            --login-font-display: var(--cbp-font-display);
            --type-kicker: var(--cbp-type-kicker);
            --type-hero-title: var(--cbp-type-title-xl);
            --type-hero-copy: var(--cbp-type-body);
            --type-section-title: var(--cbp-type-title-lg);
            --type-label: var(--cbp-type-label);
            --type-input: var(--cbp-type-input);
            --type-body: var(--cbp-type-body);
            --type-note: var(--cbp-type-note);
            --space-inline-gap: var(--cbp-space-sm);
            --space-block-gap: var(--cbp-space-lg);
            --space-card-pad-y: var(--cbp-space-lg);
            --space-card-pad-x: var(--cbp-space-lg);
        }

        .register-page {
            min-height: 100vh;
            min-height: 100dvh;
            color: var(--login-text);
            font-family: var(--login-font-body);
            background:
                radial-gradient(circle at 12% 14%, rgba(185, 28, 28, 0.12), transparent 40%),
                radial-gradient(circle at 84% 85%, rgba(30, 41, 59, 0.1), transparent 42%),
                var(--login-bg);
        }

        .auth-shell {
            min-height: 100vh;
            min-height: 100dvh;
            align-items: stretch;
        }

        .auth-shell--split {
            display: grid;
            grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
            gap: clamp(0.95rem, 2vw, 1.6rem);
        }

        .auth-shell--register {
            display: grid;
            grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
            align-items: flex-start;
            width: min(1320px, 100%);
            margin: 0 auto;
            padding: clamp(0.8rem, 2vw, 1.7rem);
        }

        .auth-shell--register .auth-panel,
        .auth-shell--register .auth-panel--half {
            width: 100%;
            max-width: none;
            padding: 0;
            margin: 0;
        }

        .auth-hero {
            width: 100%;
            display: grid;
            align-content: flex-start;
            flex-direction: column;
            position: relative;
            overflow: hidden;
            color: #ffffff;
            background:
                radial-gradient(circle at 76% 14%, rgba(255, 255, 255, 0.14), transparent 40%),
                linear-gradient(168deg, var(--login-primary-dark), var(--login-primary));
            border-radius: 24px;
            border: 1px solid rgba(255, 255, 255, 0.16);
            box-shadow: 0 24px 46px rgba(15, 23, 42, 0.22);
            position: sticky;
            top: 0;
            min-height: calc(100vh - 3.4rem);
            min-height: calc(100dvh - 3.4rem);
            align-self: flex-start;
        }

        .auth-hero::before {
            content: "";
            position: absolute;
            width: 360px;
            height: 360px;
            top: -150px;
            right: -150px;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.11);
        }

        .auth-hero::after {
            content: "";
            position: absolute;
            width: 320px;
            height: 320px;
            bottom: -170px;
            left: -130px;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.08);
        }

        .brand-wrap,
        .hero-content {
            position: relative;
            z-index: 2;
        }

        .brand-wrap {
            padding: clamp(0.95rem, 1.7vw, 1.2rem) clamp(0.9rem, 1.8vw, 1.25rem) 0.72rem;
        }

        .brand-mark {
            display: inline-flex;
            flex-direction: column;
            gap: 0.4rem;
            padding: 0.68rem 0.78rem;
            width: 100%;
            max-width: none;
            border-radius: 14px;
            border: 1px solid rgba(255, 255, 255, 0.24);
            background: rgba(255, 255, 255, 0.12);
            box-shadow: 0 14px 26px rgba(15, 23, 42, 0.24);
            backdrop-filter: blur(5px);
        }

        .brand-logo-wrap {
            display: inline-flex;
            align-items: center;
            justify-content: flex-start;
            max-width: 100%;
        }

        .brand-logo {
            width: 100%;
            height: auto;
            max-height: clamp(2.55rem, 5vw, 3.2rem);
            object-fit: contain;
        }

        .logo-caption {
            margin: 0;
            font-size: 0.79rem;
            line-height: 1.42;
            letter-spacing: 0.015em;
            color: rgba(255, 255, 255, 0.86);
            font-weight: 600;
            text-wrap: pretty;
        }

        .hero-content {
            padding: 0 clamp(0.9rem, 1.8vw, 1.25rem) clamp(0.95rem, 2vw, 1.3rem);
            display: grid;
            gap: 0.74rem;
        }

        .hero-kicker {
            margin: 0;
            font-size: 0.72rem;
            letter-spacing: 0.11em;
            text-transform: uppercase;
            opacity: 0.86;
            font-weight: 700;
            line-height: 1.25;
        }

        .hero-title {
            margin: 0.15rem 0 0;
            font-size: clamp(1.36rem, 1.08rem + 0.95vw, 1.86rem);
            line-height: 1.22;
            font-weight: 800;
            letter-spacing: -0.012em;
            font-family: var(--login-font-display);
            max-width: 17ch;
            text-wrap: balance;
        }

        .hero-text {
            margin: 0;
            max-width: none;
            font-size: clamp(0.86rem, 0.83rem + 0.2vw, 0.94rem);
            line-height: 1.58;
            color: rgba(255, 255, 255, 0.85);
            text-wrap: pretty;
        }

        .hero-pill-list {
            margin: 0.28rem 0 0;
            display: grid;
            gap: 0.4rem;
            grid-template-columns: 1fr;
        }

        .hero-pill {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            border-radius: 10px;
            border: 1px solid rgba(255, 255, 255, 0.26);
            background: rgba(255, 255, 255, 0.12);
            padding: 0.4rem 0.56rem;
            font-size: 0.79rem;
            line-height: 1.35;
            color: rgba(255, 255, 255, 0.94);
            font-weight: 600;
            text-wrap: pretty;
        }

        .hero-pill i {
            font-size: 0.88rem;
        }

        .hero-summary {
            margin: 0.35rem 0 0;
            display: grid;
            gap: 0.55rem;
            grid-template-columns: 1fr;
        }

        .hero-summary-item {
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.26);
            background: rgba(255, 255, 255, 0.12);
            padding: 0.48rem 0.58rem;
        }

        .hero-summary-label {
            margin: 0;
            font-size: 0.68rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.78);
            font-weight: 600;
            line-height: 1.28;
        }

        .hero-summary-value {
            margin: 0.2rem 0 0;
            font-size: 0.98rem;
            line-height: 1.24;
            font-weight: 800;
            color: #ffffff;
            text-wrap: pretty;
        }

        .hero-checklist {
            margin-top: 0.4rem;
            border: 1px solid rgba(255, 255, 255, 0.25);
            background: rgba(255, 255, 255, 0.1);
            border-radius: 14px;
            padding: 0.62rem 0.7rem;
            backdrop-filter: blur(4px);
        }

        .hero-checklist-title {
            margin: 0;
            font-size: 0.84rem;
            font-weight: 700;
            line-height: 1.35;
            color: rgba(255, 255, 255, 0.96);
        }

        .hero-checklist-list {
            margin: 0.48rem 0 0;
            padding-left: 1.04rem;
            display: grid;
            gap: 0.23rem;
            font-size: 0.77rem;
            line-height: 1.48;
            color: rgba(255, 255, 255, 0.86);
            text-wrap: pretty;
        }

        .auth-panel {
            display: flex;
            justify-content: flex-start;
            align-items: stretch;
            padding: 0;
            align-self: flex-start;
        }

        .auth-panel--half {
            min-width: 0;
            padding: 0;
        }

        .register-card {
            width: 100%;
            max-width: none;
            background: var(--login-surface);
            border: 1px solid var(--login-border);
            border-radius: 26px;
            padding: clamp(0.9rem, 2vw, 1.25rem);
            box-shadow: 0 24px 48px rgba(15, 23, 42, 0.09);
            display: grid;
            gap: 0.75rem;
        }

        .register-heading {
            border-radius: 18px;
            background:
                radial-gradient(circle at 96% 8%, rgba(248, 113, 113, 0.14), transparent 30%),
                linear-gradient(128deg, #fff9f9, #f8fbff);
            border: 1px solid #ebd5d5;
            padding: clamp(0.95rem, 2vw, 1.25rem);
            margin-bottom: var(--space-inline-gap);
        }

        .register-heading h2 {
            margin: 0;
            font-size: var(--type-section-title);
            line-height: var(--cbp-line-tight);
            letter-spacing: var(--cbp-track-display);
            font-family: var(--login-font-display);
            color: #7f1d1d;
        }

        .register-heading p {
            margin: 0.5rem 0 0;
            font-size: var(--type-body);
            color: #475569;
            line-height: var(--cbp-line-body);
            max-width: 72ch;
        }

        .register-heading-meta {
            margin-top: 0.75rem;
            display: flex;
            flex-wrap: wrap;
            gap: 0.55rem;
        }

        .register-heading-pill {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            border-radius: 999px;
            border: 1px solid #f0d5d5;
            background: #ffffff;
            padding: 0.35rem 0.7rem;
            font-size: var(--type-note);
            color: #7f1d1d;
            font-weight: 700;
        }

        .register-form-shell {
            border-radius: 16px;
            background: #f8fbff;
            border: 1px solid #e4edf7;
            padding: 0.35rem;
        }

        .register-form-shell .form-input,
        .register-form-shell .form-select {
            border-radius: 12px;
        }

        .register-login-note {
            padding: 0.55rem 0.65rem;
            margin-bottom: 0.7rem;
            border-radius: 12px;
            background: #f1f5f9;
            color: #334e68;
            font-size: var(--type-body);
            line-height: var(--cbp-line-body);
        }

        .register-login-note a {
            color: var(--login-primary);
            font-weight: 700;
            text-decoration: none;
        }

        .register-login-note a:hover {
            text-decoration: underline;
        }

        .register-submit {
            min-width: 12.5rem;
            color: #ffffff !important;
            background: linear-gradient(135deg, var(--login-accent), #9f1f1f) !important;
            box-shadow: 0 10px 24px rgba(181, 38, 38, 0.28);
            border-radius: 12px;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .register-submit:hover {
            transform: translateY(-1px);
            box-shadow: 0 14px 30px rgba(181, 38, 38, 0.3);
        }

        .register-guide {
            margin-bottom: var(--space-inline-gap);
            border: 1px solid #edd7d7;
            border-radius: 16px;
            background: linear-gradient(138deg, #fffafa, #f8fbff);
            padding: clamp(0.8rem, 2vw, 1rem);
        }

        .register-guide h3 {
            margin: 0;
            font-size: var(--type-label);
            font-weight: 800;
            color: #7f1d1d;
            font-family: var(--login-font-display);
        }

        .register-guide p {
            margin: 0;
            color: #475569;
            line-height: var(--cbp-line-body);
            font-size: var(--type-note);
        }

        .register-steps {
            margin-top: var(--space-inline-gap);
            display: grid;
            gap: var(--space-inline-gap);
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .register-step {
            border: 1px solid #e6eaf0;
            background: #ffffff;
            border-radius: 14px;
            padding: 0.66rem 0.7rem;
            display: grid;
            gap: 0.35rem;
        }

        .register-step-index {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 1.45rem;
            height: 1.45rem;
            border-radius: 999px;
            background: #7f1d1d;
            color: #ffffff;
            font-weight: 700;
            font-size: 0.75rem;
        }

        .register-step-title {
            margin: 0;
            font-weight: 700;
            color: #1f2937;
            font-size: var(--type-label);
            line-height: var(--cbp-line-body);
        }

        .register-step-copy {
            margin: 0;
            font-size: var(--type-note);
            color: #64748b;
            line-height: var(--cbp-line-body);
        }

        .register-required-note {
            margin-top: 0.65rem !important;
            font-size: var(--type-note) !important;
            color: #486581 !important;
            line-height: var(--cbp-line-body) !important;
        }

        .register-required-note strong {
            color: #7f1d1d;
        }

        .register-alert {
            margin-bottom: 0.8rem;
            border: 1px solid #fecaca;
            background: #fff1f2;
            border-radius: 12px;
            padding: 0.7rem 0.85rem;
            color: #991b1b;
        }

        .register-alert p {
            margin: 0;
            font-weight: 700;
            font-size: var(--type-label);
        }

        .register-alert ul {
            margin: 0.45rem 0 0;
            padding-left: 1rem;
            font-size: var(--type-note);
            line-height: var(--cbp-line-body);
        }

        .form-section {
            border: 1px solid #dbe8f5;
            border-radius: 16px;
            background: #ffffff;
            padding: clamp(0.72rem, 1.7vw, 0.95rem);
            box-shadow: 0 8px 16px rgba(15, 23, 42, 0.04);
        }

        .form-section + .form-section {
            margin-top: var(--space-inline-gap);
        }

        .form-section-header {
            margin: 0 0 var(--space-inline-gap);
        }

        .form-section-header h3 {
            margin: 0;
            font-size: var(--type-label);
            color: #7f1d1d;
            font-family: var(--login-font-display);
            letter-spacing: 0.01em;
            line-height: var(--cbp-line-tight);
        }

        .form-section-header p {
            margin: 0.35rem 0 0;
            color: #475569;
            font-size: var(--type-note);
            line-height: var(--cbp-line-body);
        }

        .register-field-stack {
            display: grid;
            gap: 0.1rem;
        }

        .register-grid-two {
            display: grid;
            gap: 0.7rem;
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .register-single-flow {
            border-radius: 14px;
            background: #f8fbff;
            border: 1px solid #e4edf7;
            padding: 0.38rem;
        }

        .register-section-stack {
            display: grid;
            gap: var(--space-inline-gap);
        }

        .register-section-stack .form-section + .form-section {
            margin-top: 0;
        }

        .register-agreement-panel {
            border: 1px solid #e8eef5;
            border-radius: 14px;
            background: linear-gradient(145deg, #fcfcfd, #f8fbff);
            padding: 0.82rem;
        }

        .register-form-shell label.block {
            margin-bottom: 0.9rem;
        }

        .register-form-shell label.block > span {
            display: inline-block;
            margin-bottom: 0.34rem;
            color: #334155;
        }

        .form-section-header--compact {
            margin-top: 0.35rem;
            margin-bottom: 0.7rem;
        }

        .register-form-shell .form-input,
        .register-form-shell .form-select,
        .register-form-shell #search-input {
            border: 1px solid #c8d6e5 !important;
            background: #ffffff !important;
            color: #1f2937 !important;
            min-height: 2.65rem;
            border-radius: 11px !important;
            font-size: var(--type-input) !important;
            transition: border-color 0.2s ease, box-shadow 0.2s ease;
        }

        .register-form-shell .form-input:focus,
        .register-form-shell .form-select:focus,
        .register-form-shell #search-input:focus {
            border-color: #7f1d1d !important;
            box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.13) !important;
            outline: none;
        }

        .register-form-shell .form-input::placeholder,
        .register-form-shell #search-input::placeholder {
            color: #94a3b8;
        }

        .course-search-wrap {
            position: relative;
            margin-top: 0.1rem;
        }

        .course-search-wrap .fa-search {
            top: 0.74rem;
            left: 0.1rem;
        }

        #dropdown-list {
            position: absolute;
            top: calc(100% + 0.4rem);
            left: 0;
            right: 0;
            z-index: 20;
            width: 100%;
            max-height: 14rem;
            overflow-y: auto;
            border-radius: 10px;
            border: 1px solid #d5dde7;
            background: #ffffff;
            box-shadow: 0 16px 30px rgba(15, 23, 42, 0.16);
        }

        #dropdown-list li {
            font-size: var(--type-label);
            cursor: pointer;
        }

        #dropdown-list li[data-empty-state="true"] {
            cursor: default;
            color: #64748b;
            background: #f8fafc;
            pointer-events: none;
        }

        #dropdown-list li.is-active {
            background: #dbeafe;
            color: #0f172a;
        }

        .agreement-trigger {
            width: 100%;
            border: 1px solid #c6d6e6;
            border-radius: 12px;
            background: #fff5f5;
            color: #7f1d1d;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.6rem;
            padding: 0.72rem 0.75rem;
            font-size: var(--type-label);
            font-weight: 700;
            transition: border-color 0.2s ease, background-color 0.2s ease;
        }

        .agreement-trigger:hover {
            border-color: #b91c1c;
            background: #fee2e2;
        }

        .agreement-helper {
            margin: 0.45rem 0 0;
            font-size: var(--type-note);
            color: #627d98;
            line-height: var(--cbp-line-body);
        }

        .agreement-checkbox {
            margin-top: 0.7rem;
            display: flex;
            align-items: flex-start;
            gap: 0.55rem;
            font-size: var(--type-label);
            color: #334e68;
            line-height: var(--cbp-line-body);
        }

        .agreement-checkbox input {
            margin-top: 0.2rem;
            width: 1rem;
            height: 1rem;
        }

        .upload-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0.7rem;
        }

        .upload-grid.upload-grid--single {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .upload-card {
            border: 1px solid #c8d7e7;
            border-radius: 14px;
            background: #ffffff;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: flex-start;
            gap: 0.35rem;
            min-height: 136px;
            padding: 0.82rem 0.75rem;
            cursor: pointer;
            transition: border-color 0.2s ease, background-color 0.2s ease;
        }

        .upload-card:hover {
            border-color: #b91c1c;
            background: #fff7f7;
        }

        .upload-card-title {
            margin: 0;
            text-align: left;
            font-size: var(--type-note);
            line-height: var(--cbp-line-tight);
            color: #334e68;
            font-weight: 700;
        }

        .upload-file-name {
            margin: 0;
            text-align: left;
            font-size: var(--type-note);
            line-height: var(--cbp-line-body);
            color: #64748b;
            overflow-wrap: anywhere;
            max-width: 100%;
        }

        .upload-file-limit {
            margin: 0.5rem 0 0;
            font-size: var(--type-note);
            color: #64748b;
        }

        .submit-bar {
            margin-top: var(--cbp-space-xs);
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: var(--space-inline-gap);
            padding: var(--cbp-space-sm) var(--cbp-space-2xs) var(--cbp-space-2xs);
            border-top: 1px solid #e2e8f0;
        }

        .submit-meta {
            margin: 0;
            font-size: var(--type-note);
            color: #627d98;
            line-height: var(--cbp-line-body);
        }

        #modal_overlay {
            position: fixed;
            z-index: 60;
            background: rgba(15, 23, 42, 0.56);
            backdrop-filter: blur(2px);
            min-height: 100dvh;
            overflow-y: auto;
            align-items: flex-start;
            justify-content: center;
            padding: 1rem;
        }

        #modal {
            width: min(900px, calc(100vw - 1rem));
            max-height: min(92dvh, 760px);
            height: auto;
            border-radius: 18px;
            background: #ffffff;
            box-shadow: 0 28px 70px rgba(15, 23, 42, 0.32);
        }

        #modal ol {
            padding-left: 1.25rem;
            margin: 0;
            display: grid;
            gap: 0.4rem;
            color: #334155;
            line-height: 1.55;
        }

        #modal p {
            margin: 0;
            color: #334155;
            line-height: 1.6;
        }

        .modal-actions {
            position: sticky;
            bottom: 0;
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            align-items: center;
            gap: 0.65rem;
            border-top: 1px solid #e2e8f0;
            background: #ffffff;
            padding: 0.75rem 1rem;
        }

        .modal-button {
            border: 0;
            border-radius: 10px;
            padding: 0.56rem 0.95rem;
            font-weight: 700;
            color: #ffffff;
            transition: transform 0.15s ease, filter 0.2s ease;
        }

        .modal-button:hover {
            transform: translateY(-1px);
            filter: brightness(0.96);
        }

        .modal-button--download {
            background: #1d4ed8;
        }

        .modal-button--close {
            background: #b91c1c;
        }

        @media (min-width: 640px) {
            #modal_overlay {
                align-items: center;
            }
        }

        @media (max-width: 1024px) {
            .auth-shell--register {
                grid-template-columns: 1fr;
                width: min(940px, 100%);
            }

            .auth-hero {
                display: none;
            }

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

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

            .register-grid-two {
                grid-template-columns: 1fr;
            }

            .submit-bar {
                align-items: flex-start;
            }

            .register-submit {
                width: 100%;
            }
        }

        @media (max-width: 640px) {
            .auth-shell--register {
                padding: 0.55rem;
            }

            .register-card {
                border-radius: 18px;
                padding: 0.72rem;
            }

            .register-heading {
                padding: 0.8rem;
            }

            .register-form-shell {
                padding: 0.22rem;
            }

            .form-section {
                padding: 0.65rem;
            }

            .register-heading-meta {
                gap: 0.4rem;
            }

            .upload-card {
                min-height: 110px;
            }

            .register-steps,
            .upload-grid,
            .upload-grid.upload-grid--single {
                grid-template-columns: 1fr;
            }

            .nav-buttons {
                display: grid;
                grid-template-columns: 1fr;
            }

            .nav-buttons > .flex-grow {
                display: none;
            }

            .nav-buttons .btn-nav,
            .nav-buttons .register-submit {
                width: 100%;
            }

        }

        /* Stepper Styles */
        .step-hidden {
            display: none !important;
        }

        .step-transition {
            transition: all 0.3s ease-in-out;
        }

        .register-step {
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
            display: flex !important; /* Force flex */
            align-items: center;
            gap: 0.75rem !important;
            text-align: left;
        }

        .step-content {
            display: flex;
            flex-direction: column;
            gap: 0.1rem;
        }
        
        .register-step-title {
            margin: 0 !important;
        }

        .register-step-copy {
            margin: 0 !important;
        }

        .register-step.is-active {
            border-color: var(--login-primary);
            background: #fffafa;
            box-shadow: 0 4px 12px rgba(127, 29, 29, 0.08);
        }

        .register-step.is-completed {
            border-color: #10b981;
            background: #f0fdf4;
        }

        .register-step.is-completed .register-step-index {
            background: #10b981;
        }
        
        .register-step.is-completed .register-step-title {
            color: #065f46;
        }

        .nav-buttons {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            align-items: center;
            gap: 0.55rem;
            margin-top: 0.9rem;
            padding-top: 0.95rem;
            border-top: 1px solid #e2e8f0;
        }

        .btn-nav {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 0.66rem 1.12rem;
            border-radius: 11px;
            font-weight: 600;
            transition: all 0.2s ease;
            cursor: pointer;
            border: 1px solid transparent;
            min-height: 2.65rem;
        }

        .btn-prev {
            background: #f1f5f9;
            color: #475569;
            border-color: #e2e8f0;
        }

        .btn-prev:hover {
            background: #e2e8f0;
            color: #1e293b;
        }

        .btn-next {
            background: var(--login-primary);
            color: #ffffff;
            box-shadow: 0 4px 12px rgba(127, 29, 29, 0.2);
        }

        .btn-next:hover {
            background: #991b1b;
            transform: translateY(-1px);
        }

        .register-submit.cbp-btn {
            min-height: 2.75rem;
            border-radius: 11px;
            font-size: 0.96rem;
            font-weight: 700;
            box-shadow: 0 12px 22px rgba(22, 163, 74, 0.22);
            border: 0;
        }

        .custom-scrollbar::-webkit-scrollbar {
            width: 8px;
        }
        .custom-scrollbar::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 4px;
        }
        .custom-scrollbar::-webkit-scrollbar-thumb {
            background: #cbd5e1;
            border-radius: 4px;
        }
        .custom-scrollbar::-webkit-scrollbar-thumb:hover {
            background: #94a3b8;
        }
