﻿            :root {
                /* Color Palette */
                --primary-color: #1a365d;
                --primary-light: #2d4a7c;
                --secondary-color: #4299e1;
                --secondary-light: #63b3ed;
                --accent-color: #38a169;
                --accent-light: #48bb78;

                /* Neutral Colors */
                --white: #ffffff;
                --gray-50: #f8fafc;
                --gray-100: #f1f5f9;
                --gray-200: #e2e8f0;
                --gray-300: #cbd5e1;
                --gray-400: #94a3b8;
                --gray-500: #64748b;
                --gray-600: #475569;
                --gray-700: #334155;
                --gray-800: #1e293b;
                --gray-900: #0f172a;

                /* Semantic Colors */
                --success-color: #10b981;
                --error-color: #ef4444;
                --warning-color: #f59e0b;
                --info-color: #3b82f6;

                /* Shadows */
                --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
                --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
                --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
                --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
                --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);

                /* Gradients */
                --gradient-primary: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
                --gradient-secondary: linear-gradient(135deg, var(--secondary-color) 0%, var(--secondary-light) 100%);
                --gradient-accent: linear-gradient(135deg, var(--accent-color) 0%, var(--accent-light) 100%);

                /* Typography */
                --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
                --font-mono: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', 'Droid Sans Mono', 'Courier New', monospace;

                /* Spacing */
                --space-xs: 0.5rem;
                --space-sm: 0.75rem;
                --space-md: 1rem;
                --space-lg: 1.5rem;
                --space-xl: 2rem;
                --space-2xl: 3rem;

                /* Border Radius */
                --radius-sm: 0.375rem;
                --radius-md: 0.5rem;
                --radius-lg: 0.75rem;
                --radius-xl: 1rem;
                --radius-2xl: 1.5rem;
                --radius-full: 9999px;

                /* Transitions */
                --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
                --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
                --transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);

                /* Z-indices */
                --z-dropdown: 10;
                --z-sticky: 20;
                --z-fixed: 30;
                --z-modal: 40;
                --z-popover: 50;
                --z-tooltip: 60;
            }

            /* === BASE STYLES === */
            #gideon-registration-container {
                font-family: var(--font-sans);
                max-width: 900px;
                margin: 0 auto;
                padding: var(--space-xl);
                background: linear-gradient(135deg, var(--gray-50) 0%, var(--white) 100%);
                min-height: 100vh;
            }

            /* === PROGRESS INDICATOR === */
            .form-progress {
                margin-bottom: var(--space-2xl);
                position: relative;
            }

            .progress-bar {
                height: 4px;
                background: var(--gray-200);
                border-radius: var(--radius-full);
                overflow: hidden;
                margin: var(--space-lg) 0;
                position: relative;
            }

            .progress-fill {
                height: 100%;
                background: var(--gradient-primary);
                border-radius: var(--radius-full);
                transition: width var(--transition-base);
                position: relative;
            }

            .progress-fill::after {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background: linear-gradient(90deg,
                        transparent 0%,
                        rgba(255, 255, 255, 0.4) 50%,
                        transparent 100%);
                animation: shimmer 2s infinite;
            }

            .progress-steps {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: var(--space-md);
            }

            .progress-step {
                display: flex;
                flex-direction: column;
                align-items: center;
                text-align: center;
                position: relative;
            }

            .step-number {
                width: 40px;
                height: 40px;
                border-radius: var(--radius-full);
                background: var(--gray-200);
                color: var(--gray-600);
                display: flex;
                align-items: center;
                justify-content: center;
                font-weight: 600;
                font-size: 1rem;
                margin-bottom: var(--space-sm);
                border: 3px solid var(--white);
                box-shadow: var(--shadow-md);
                transition: all var(--transition-base);
                position: relative;
                z-index: 1;
            }

            .progress-step.active .step-number {
                background: var(--gradient-primary);
                color: var(--white);
                transform: scale(1.1);
                box-shadow: var(--shadow-lg);
            }

            .progress-step.completed .step-number {
                background: var(--gradient-accent);
                color: var(--white);
            }

            .progress-step.completed .step-number::after {
                content: 'âœ“';
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                font-weight: bold;
            }

            .step-label {
                font-size: 0.875rem;
                font-weight: 500;
                color: var(--gray-600);
                transition: color var(--transition-base);
            }

            #gideon-registration-container .progress-step.active .step-label {
                color: var(--primary-color);
                font-weight: 600;
            }

            /* === FORM CARD === */
            #gideon-registration-container .form-card {
                background: var(--white);
                border-radius: var(--radius-xl);
                padding: var(--space-2xl);
                margin-bottom: var(--space-xl);
                box-shadow: var(--shadow-xl);
                border: 1px solid var(--gray-200);
                transition: transform var(--transition-base), box-shadow var(--transition-base);
            }

            #gideon-registration-container .form-card:hover {
                transform: translateY(-2px);
                box-shadow: var(--shadow-2xl);
            }

            #gideon-registration-container .step-header {
                text-align: center;
                margin-bottom: var(--space-2xl);
                padding-bottom: var(--space-xl);
                border-bottom: 2px solid var(--gray-100);
            }

            #gideon-registration-container .step-title {
                font-size: 1.875rem;
                font-weight: 700;
                color: var(--primary-color);
                margin-bottom: var(--space-sm);
                background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
                background-clip: text;
            }

            #gideon-registration-container .step-subtitle {
                font-size: 1rem;
                color: var(--gray-600);
                max-width: 600px;
                margin: 0 auto;
            }

            /* === FORM HEADER === */
            #gideon-registration-container .form-header {
                display: flex;
                justify-content: space-between;
                align-items: flex-start;
                padding: var(--space-xl);
                background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
                border-radius: var(--radius-lg);
                margin-bottom: var(--space-xl);
                color: var(--white);
                position: relative;
                overflow: hidden;
            }

            #gideon-registration-container .form-header::before {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background: linear-gradient(45deg,
                        transparent 0%,
                        rgba(255, 255, 255, 0.1) 50%,
                        transparent 100%);
                pointer-events: none;
            }

            #gideon-registration-container .university-logo .logo-img {
                width: 80px;
                height: 80px;
                border-radius: var(--radius-lg);
                border: 3px solid rgba(255, 255, 255, 0.2);
                box-shadow: var(--shadow-lg);
                object-fit: cover;
                background: var(--white);
                padding: 4px;
            }

            #gideon-registration-container .university-info {
                text-align: center;
                flex-grow: 1;
                margin: 0 var(--space-xl);
            }

            #gideon-registration-container .university-date {
                font-size: 0.875rem;
                font-weight: 600;
                opacity: 0.9;
                margin-bottom: 4px;
            }

            #gideon-registration-container .university-name {
                font-size: 1.25rem;
                font-weight: 700;
                margin-bottom: 4px;
                letter-spacing: 0.5px;
            }

            #gideon-registration-container .registration-title {
                font-size: 1rem;
                font-weight: 600;
                text-decoration: underline;
                opacity: 0.95;
            }

            /* === PHOTO UPLOAD === */
            #gideon-registration-container .student-photo-upload {
                text-align: center;
                min-width: 140px;
            }

            #gideon-registration-container .photo-preview-container {
                margin-bottom: var(--space-md);
            }

            #gideon-registration-container .photo-preview {
                width: 120px;
                height: 150px;
                border-radius: var(--radius-md);
                display: flex;
                align-items: center;
                justify-content: center;
                background: rgba(255, 255, 255, 0.1);
                backdrop-filter: blur(10px);
                border: 2px dashed rgba(255, 255, 255, 0.3);
                margin: 0 auto;
                overflow: hidden;
                transition: all var(--transition-base);
            }

            #gideon-registration-container .photo-preview:hover {
                border-color: rgba(255, 255, 255, 0.5);
                background: rgba(255, 255, 255, 0.15);
            }

            #gideon-registration-container .photo-preview span {
                color: rgba(255, 255, 255, 0.8);
                font-size: 0.75rem;
                text-align: center;
                padding: var(--space-sm);
            }

            #gideon-registration-container .photo-preview img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            #gideon-registration-container .upload-photo-btn {
                background: rgba(255, 255, 255, 0.2);
                color: var(--white);
                border: 1px solid rgba(255, 255, 255, 0.3);
                padding: var(--space-sm) var(--space-md);
                border-radius: var(--radius-md);
                font-size: 0.875rem;
                font-weight: 500;
                cursor: pointer;
                transition: all var(--transition-base);
                display: flex;
                align-items: center;
                justify-content: center;
                gap: var(--space-xs);
                width: 100%;
                backdrop-filter: blur(4px);
            }

            #gideon-registration-container .upload-photo-btn:hover {
                background: rgba(255, 255, 255, 0.3);
                border-color: rgba(255, 255, 255, 0.5);
                transform: translateY(-1px);
            }

            #gideon-registration-container .upload-icon {
                opacity: 0.9;
            }

            #gideon-registration-container .file-size-info {
                font-size: 0.75rem;
                color: rgba(255, 255, 255, 0.7);
                margin-top: var(--space-xs);
            }

            /* === FORM CONTROLS === */
            #gideon-registration-container .form-group {
                margin-bottom: var(--space-lg);
            }

            #gideon-registration-container .form-group label {
                display: block;
                font-size: 0.875rem;
                font-weight: 600;
                color: var(--gray-700);
                margin-bottom: var(--space-xs);
                text-transform: uppercase;
                letter-spacing: 0.5px;
            }

            #gideon-registration-container .form-input,
            #gideon-registration-container .form-select,
            #gideon-registration-container .form-textarea {
                width: 100%;
                padding: var(--space-md);
                border: 2px solid var(--gray-200);
                border-radius: var(--radius-md);
                font-size: 1rem;
                color: var(--gray-800);
                background: var(--white);
                transition: all var(--transition-base);
                font-family: var(--font-mono);
            }

            #gideon-registration-container .form-input:focus,
            #gideon-registration-container .form-select:focus,
            #gideon-registration-container .form-textarea:focus {
                outline: none;
                border-color: var(--secondary-color);
                box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1);
                transform: translateY(-1px);
            }

            #gideon-registration-container .form-input::placeholder,
            #gideon-registration-container .form-textarea::placeholder {
                color: var(--gray-400);
            }

            #gideon-registration-container .form-select {
                appearance: none;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
                background-repeat: no-repeat;
                background-position: right var(--space-md) center;
                padding-right: var(--space-2xl);
                cursor: pointer;
            }

            #gideon-registration-container .form-textarea {
                min-height: 100px;
                resize: vertical;
                line-height: 1.5;
            }

            /* === FORM LAYOUTS === */
            #gideon-registration-container .student-info-section,
            #gideon-registration-container .personal-info-section {
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
                gap: var(--space-xl);
                margin-bottom: var(--space-xl);
            }

            #gideon-registration-container .form-group.full-width {
                grid-column: 1 / -1;
            }

            /* === SIF BOX === */
            #gideon-registration-container .sif-box {
                text-align: center;
                padding: var(--space-lg);
                background: linear-gradient(135deg, var(--secondary-color) 0%, var(--secondary-light) 100%);
                color: var(--white);
                border-radius: var(--radius-lg);
                font-weight: 700;
                font-size: 1.25rem;
                margin: var(--space-xl) 0;
                letter-spacing: 1px;
                text-transform: uppercase;
                box-shadow: var(--shadow-lg);
                position: relative;
                overflow: hidden;
            }

            #gideon-registration-container .sif-box::before {
                content: '';
                position: absolute;
                top: -50%;
                left: -50%;
                width: 200%;
                height: 200%;
                background: linear-gradient(45deg,
                        transparent 30%,
                        rgba(255, 255, 255, 0.1) 50%,
                        transparent 70%);
                animation: shimmer 3s infinite linear;
            }

            /* === SECTION DIVIDERS === */
            #gideon-registration-container .section-divider {
                display: flex;
                align-items: center;
                margin: var(--space-2xl) 0;
            }

            #gideon-registration-container .divider-line {
                flex: 1;
                height: 1px;
                background: linear-gradient(90deg,
                        transparent 0%,
                        var(--gray-300) 50%,
                        transparent 100%);
            }

            #gideon-registration-container .section-title {
                padding: 0 var(--space-xl);
                font-size: 1rem;
                font-weight: 600;
                color: var(--primary-color);
                text-transform: uppercase;
                letter-spacing: 1px;
                white-space: nowrap;
            }

            /* === CHECKBOXES & RADIOS === */
            #gideon-registration-container .checkbox-group,
            #gideon-registration-container .library-options {
                display: flex;
                gap: var(--space-xl);
                flex-wrap: wrap;
            }

            #gideon-registration-container .form-checkbox,
            #gideon-registration-container .form-radio {
                display: flex;
                align-items: center;
                cursor: pointer;
                padding: var(--space-sm) var(--space-md);
                background: var(--gray-50);
                border-radius: var(--radius-md);
                border: 1px solid var(--gray-200);
                transition: all var(--transition-base);
            }

            #gideon-registration-container .form-checkbox:hover,
            #gideon-registration-container .form-radio:hover {
                border-color: var(--secondary-color);
                background: var(--white);
                transform: translateY(-1px);
                box-shadow: var(--shadow-md);
            }

            #gideon-registration-container .form-checkbox input,
            #gideon-registration-container .form-radio input {
                display: none;
            }

            #gideon-registration-container .checkmark,
            #gideon-registration-container .radio-checkmark {
                width: 20px;
                height: 20px;
                border-radius: var(--radius-sm);
                margin-right: var(--space-sm);
                position: relative;
                background: var(--white);
                border: 2px solid var(--gray-300);
                transition: all var(--transition-base);
            }

            #gideon-registration-container .radio-checkmark {
                border-radius: var(--radius-full);
            }

            #gideon-registration-container .form-checkbox input:checked+.checkmark,
            #gideon-registration-container .form-radio input:checked+.radio-checkmark {
                border-color: var(--secondary-color);
                background: var(--secondary-color);
            }

            #gideon-registration-container .form-checkbox input:checked+.checkmark::after {
                content: '';
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 10px;
                height: 10px;
                background: var(--white);
                border-radius: 2px;
            }

            #gideon-registration-container .form-radio input:checked+.radio-checkmark::after {
                content: '';
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 8px;
                height: 8px;
                background: var(--white);
                border-radius: 50%;
            }

            /* === SECTIONS === */
            #gideon-registration-container .administration-section,
            #gideon-registration-container .library-section,
            #gideon-registration-container .finance-section {
                padding: var(--space-xl);
                background: var(--gray-50);
                border-radius: var(--radius-lg);
                border: 1px solid var(--gray-200);
                margin: var(--space-xl) 0;
            }

            #gideon-registration-container .administration-section-prominent,
            #gideon-registration-container .administration-section {
                display: grid;
                grid-template-columns: 1fr;
                gap: var(--space-xl);
                align-items: center;
            }

            #gideon-registration-container .administration-section-prominent {
                padding: var(--space-xl);
                background: var(--white);
                border-radius: var(--radius-lg);
                border: 1px solid var(--primary-color);
                margin: var(--space-xl) 0;
                box-shadow: var(--shadow-md);
            }

            #gideon-registration-container .admin-label {
                font-weight: 600;
                color: var(--gray-700);
                margin-bottom: var(--space-sm);
            }

            #gideon-registration-container .admin-signature,
            #gideon-registration-container .signature-area {
                text-align: right;
                color: var(--gray-600);
                font-size: 0.875rem;
            }

            #gideon-registration-container .signature-line {
                margin-top: var(--space-xs);
                color: var(--gray-400);
                letter-spacing: 1px;
            }

            #gideon-registration-container .finance-fields {
                display: flex;
                justify-content: space-between;
                margin-bottom: var(--space-lg);
            }

            #gideon-registration-container .finance-label {
                font-weight: 600;
                color: var(--gray-700);
                margin-right: var(--space-sm);
            }

            #gideon-registration-container .finance-dots {
                color: var(--gray-400);
                letter-spacing: 2px;
            }

            /* === REVIEW SECTION === */
            #gideon-registration-container .review-section {
                padding: var(--space-xl);
            }

            #gideon-registration-container .review-group {
                margin-bottom: var(--space-2xl);
                padding: var(--space-xl);
                background: var(--gray-50);
                border-radius: var(--radius-lg);
                border: 1px solid var(--gray-200);
            }

            #gideon-registration-container .review-title {
                font-size: 1.125rem;
                font-weight: 600;
                color: var(--primary-color);
                margin-bottom: var(--space-lg);
                padding-bottom: var(--space-md);
                border-bottom: 2px solid var(--gray-300);
            }

            #gideon-registration-container .review-item {
                display: flex;
                justify-content: space-between;
                align-items: flex-start;
                padding: var(--space-md) 0;
                border-bottom: 1px dashed var(--gray-300);
            }

            #gideon-registration-container .review-item:last-child {
                border-bottom: none;
            }

            #gideon-registration-container .review-label {
                font-weight: 500;
                color: var(--gray-700);
                min-width: 200px;
            }

            #gideon-registration-container .review-value {
                color: var(--gray-900);
                font-weight: 500;
                text-align: right;
                max-width: 400px;
                word-break: break-word;
                line-height: 1.6;
            }

            /* === FORM FOOTER === */
            #gideon-registration-container .form-footer {
                display: flex;
                align-items: center;
                justify-content: space-between;
                padding: var(--space-xl);
                background: var(--gray-50);
                border-radius: var(--radius-lg);
                margin-top: var(--space-2xl);
                border: 1px solid var(--gray-200);
            }

            #gideon-registration-container .footer-logo .footer-logo-img {
                width: 50px;
                height: 50px;
                border-radius: var(--radius-md);
                object-fit: cover;
                border: 2px solid var(--white);
                box-shadow: var(--shadow-md);
            }

            #gideon-registration-container .footer-text {
                font-size: 0.875rem;
                color: var(--gray-600);
                font-weight: 600;
                text-align: center;
                flex-grow: 1;
            }

            /* === FORM NAVIGATION === */
            #gideon-registration-container .form-navigation {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: var(--space-xl) 0;
                margin-top: var(--space-xl);
                border-top: 1px solid var(--gray-200);
            }

            #gideon-registration-container .nav-btn {
                padding: var(--space-md) var(--space-xl);
                border: none;
                border-radius: var(--radius-lg);
                font-size: 1rem;
                font-weight: 600;
                cursor: pointer;
                transition: all var(--transition-base);
                display: flex;
                align-items: center;
                gap: var(--space-sm);
                min-width: 160px;
                justify-content: center;
            }

            #gideon-registration-container .nav-btn:disabled {
                opacity: 0.5;
                cursor: not-allowed;
                transform: none !important;
                box-shadow: none !important;
            }

            #gideon-registration-container .prev-btn {
                background: var(--gray-100);
                color: var(--gray-700);
                border: 1px solid var(--gray-300);
            }

            #gideon-registration-container .prev-btn:hover:not(:disabled) {
                background: var(--gray-200);
                transform: translateX(-2px);
                box-shadow: var(--shadow-md);
            }

            #gideon-registration-container .next-btn {
                background: var(--gradient-primary);
                color: var(--white);
                box-shadow: var(--shadow-lg);
            }

            #gideon-registration-container .next-btn:hover:not(:disabled) {
                transform: translateX(2px);
                box-shadow: var(--shadow-xl);
            }

            #gideon-registration-container .submit-btn {
                background: var(--gradient-accent);
                color: var(--white);
                box-shadow: var(--shadow-lg);
            }

            #gideon-registration-container .submit-btn:hover:not(:disabled) {
                transform: scale(1.05);
                box-shadow: var(--shadow-xl);
            }

            #gideon-registration-container .nav-icon,
            #gideon-registration-container .submit-icon {
                transition: transform var(--transition-base);
            }

            #gideon-registration-container .prev-btn:hover .nav-icon {
                transform: translateX(-2px);
            }

            #gideon-registration-container .next-btn:hover .nav-icon,
            #gideon-registration-container .submit-btn:hover .submit-icon {
                transform: translateX(2px);
            }

            /* === FORM MESSAGES === */
            #gideon-registration-container #form-message {
                padding: var(--space-xl);
                border-radius: var(--radius-lg);
                text-align: center;
                font-weight: 600;
                display: none;
                margin-top: var(--space-xl);
                animation: slideIn var(--transition-base);
                box-shadow: var(--shadow-md);
            }

            .message-success {
                background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
                color: #065f46;
                border: 1px solid #a7f3d0;
            }

            .message-error {
                background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
                color: #7f1d1d;
                border: 1px solid #fecaca;
            }

            /* === ANIMATIONS === */
            @keyframes slideIn {
                from {
                    opacity: 0;
                    transform: translateY(-10px);
                }

                to {
                    opacity: 1;
                    transform: translateY(0);
                }
            }

            @keyframes shimmer {
                0% {
                    transform: translateX(-100%);
                }

                100% {
                    transform: translateX(100%);
                }
            }

            @keyframes pulse {

                0%,
                100% {
                    opacity: 1;
                }

                50% {
                    opacity: 0.7;
                }
            }

            .pulse {
                animation: pulse 2s infinite;
            }

            /* === FORM STEPS === */
            .form-step {
                display: none;
                animation: fadeIn var(--transition-base);
            }

            .form-step.active {
                display: block;
            }

            @keyframes fadeIn {
                from {
                    opacity: 0;
                    transform: translateY(20px);
                }

                to {
                    opacity: 1;
                    transform: translateY(0);
                }
            }

            /* === RESPONSIVE DESIGN === */
            @media (max-width: 768px) {
                #gideon-registration-container {
                    padding: var(--space-md);
                }

                .form-progress {
                    margin-bottom: var(--space-xl);
                }

                .progress-steps {
                    grid-template-columns: repeat(2, 1fr);
                    gap: var(--space-lg);
                }

                .form-card {
                    padding: var(--space-md);
                }

                .form-header {
                    flex-direction: column;
                    gap: var(--space-md);
                    text-align: center;
                    padding: var(--space-md);
                }

                .university-info {
                    margin: 0;
                    order: -1;
                }

                .student-photo-upload {
                    width: 100%;
                }

                .student-info-section,
                .personal-info-section {
                    grid-template-columns: 1fr;
                }

                .administration-section {
                    grid-template-columns: 1fr;
                    gap: var(--space-lg);
                    text-align: center;
                }

                .admin-signature,
                .signature-area {
                    text-align: center;
                }

                .form-navigation {
                    flex-direction: column;
                    gap: var(--space-md);
                }

                .nav-btn {
                    width: 100%;
                }

                .review-item {
                    flex-direction: column;
                    gap: var(--space-xs);
                }

                .review-value {
                    text-align: left;
                    max-width: 100%;
                }

                .checkbox-group,
                .library-options {
                    flex-direction: column;
                    gap: var(--space-md);
                }
            }

            @media (max-width: 480px) {
                .form-card {
                    padding: var(--space-lg);
                }

                .step-title {
                    font-size: 1.25rem;
                }

                .step-subtitle {
                    font-size: 0.875rem;
                }

                .sif-box {
                    font-size: 1rem;
                    padding: var(--space-md);
                }

                .section-title {
                    font-size: 0.875rem;
                    padding: 0 var(--space-md);
                }

                .photo-preview {
                    width: 100px;
                    height: 130px;
                }

                .progress-steps {
                    grid-template-columns: 1fr;
                }
            }

            /* === PRINT STYLES === */
            @media print {
                #gideon-registration-container {
                    background: var(--white);
                    padding: 0;
                }

                .form-progress,
                .form-navigation,
                #form-message {
                    display: none !important;
                }

                .form-step {
                    display: block !important;
                    opacity: 1 !important;
                    transform: none !important;
                }

                .form-card {
                    box-shadow: none;
                    border: 1px solid var(--gray-300);
                    margin: 0;
                    padding: 1cm;
                }

                .form-input,
                .form-select,
                .form-textarea {
                    background: var(--white);
                    border: 1px solid var(--gray-400);
                }

                .watermark-overlay {
                    position: fixed;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    opacity: 0.1;
                    z-index: -1;
                    background-image:
                        <?php
                        $watermark = get_option('gideon_watermark_image');
                        if ($watermark) {
                            echo 'url(' . esc_url($watermark) . ')';
                        } else {
                            echo 'none';
                        }
                        ?>
                    ;
                    background-repeat: no-repeat;
                    background-position: center;
                    background-size: 60%;
                }
            }

            /* === TOUCH DEVICE OPTIMIZATIONS === */
            @media (hover: none) and (pointer: coarse) {

                .form-input,
                .form-select,
                .form-textarea,
                .nav-btn,
                .upload-photo-btn {
                    min-height: 48px;
                    font-size: 16px;
                }

                .form-checkbox,
                .form-radio {
                    min-height: 44px;
                    padding: var(--space-md);
                }

                .step-number {
                    width: 48px;
                    height: 48px;
                }

                .photo-preview {
                    width: 140px;
                    height: 180px;
                }
            }

            /* === VALIDATION STATES === */
            .error-field {
                border-color: var(--error-color) !important;
                box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
                animation: shake 0.5s;
            }

            @keyframes shake {

                0%,
                100% {
                    transform: translateX(0);
                }

                25% {
                    transform: translateX(-5px);
                }

                75% {
                    transform: translateX(5px);
                }
            }

            .success-field {
                border-color: var(--success-color) !important;
                box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1) !important;
            }

            /* === LOADING STATES === */
            .loading {
                position: relative;
                pointer-events: none;
                opacity: 0.8;
            }

            .loading::after {
                content: '';
                position: absolute;
                top: 50%;
                left: 50%;
                width: 20px;
                height: 20px;
                margin: -10px 0 0 -10px;
                border: 2px solid rgba(255, 255, 255, 0.3);
                border-top-color: var(--white);
                border-radius: var(--radius-full);
                animation: spin 1s linear infinite;
            }

            @keyframes spin {
                to {
                    transform: rotate(360deg);
                }
            }

            /* === FOCUS VISIBLE === */
            .form-input:focus-visible,
            .form-select:focus-visible,
            .form-textarea:focus-visible,
            .nav-btn:focus-visible,
            .upload-photo-btn:focus-visible {
                outline: 2px solid var(--secondary-color);
                outline-offset: 2px;
            }

            /* === DEVICE SELECTION GRID === */
            .device-selection-grid {
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
                gap: var(--space-md);
                margin-top: var(--space-sm);
            }

            .device-option {
                position: relative;
            }

            .device-radio {
                position: absolute;
                opacity: 0;
                width: 0;
                height: 0;
            }

            .device-card {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                padding: var(--space-lg);
                background: var(--white);
                border: 2px solid var(--gray-200);
                border-radius: var(--radius-lg);
                cursor: pointer;
                transition: all var(--transition-base);
                text-align: center;
                gap: var(--space-sm);
                height: 100%;
            }

            .device-card i {
                font-size: 2rem;
                color: var(--gray-400);
                transition: all var(--transition-base);
            }

            .device-card span {
                font-weight: 600;
                color: var(--gray-600);
                font-size: 0.9rem;
            }

            .device-radio:checked+.device-card {
                border-color: var(--primary-color);
                background: rgba(30, 64, 175, 0.04);
                box-shadow: var(--shadow-md);
                transform: translateY(-2px);
            }

            .device-radio:checked+.device-card i {
                color: var(--primary-color);
                transform: scale(1.1);
            }

            .device-radio:checked+.device-card span {
                color: var(--primary-color);
            }

            .device-card:hover {
                border-color: var(--primary-light);
                background: var(--gray-50);
            }

            .error-group {
                border: 2px solid var(--error-color) !important;
                border-radius: var(--radius-lg);
                padding: var(--space-xs);
            }

            /* === PHOTO UPLOAD STEP === */
            .photo-upload-step {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: var(--space-xl);
                padding: var(--space-xl) 0;
            }

            .photo-placeholder {
                width: 180px;
                height: 220px;
                background: var(--gray-100);
                border: 3px dashed var(--gray-300);
                border-radius: var(--radius-lg);
                display: flex;
                align-items: center;
                justify-content: center;
                overflow: hidden;
                transition: all var(--transition-base);
            }

            .photo-placeholder img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            .photo-placeholder i {
                font-size: 4rem;
                color: var(--gray-300);
            }

            .photo-instructions {
                text-align: center;
                max-width: 400px;
            }

            .photo-instructions h3 {
                color: var(--primary-color);
                margin-bottom: var(--space-xs);
            }

            .photo-instructions p {
                color: var(--gray-500);
                font-size: 0.9rem;
                line-height: 1.5;
            }

            .upload-photo-btn {
                background: var(--primary-color);
                color: white;
                padding: var(--space-md) var(--space-xl);
                border-radius: var(--radius-full);
                font-weight: 600;
                cursor: pointer;
                transition: all var(--transition-base);
                display: flex;
                align-items: center;
                gap: var(--space-sm);
                box-shadow: var(--shadow-md);
            }

            .upload-photo-btn:hover {
                background: var(--primary-dark);
                transform: translateY(-2px);
                box-shadow: var(--shadow-lg);
            }

            .upload-photo-btn i {
                font-size: 1.2rem;
            }
