:root{--primary-color: #c32228;--secondary-color: #ffffff;--accent-color: #3498db;--success-color: #27ae60;--danger-color: #e74c3c;--white: #ffffff;--light-gray: #f8f9fa;--medium-gray: #6c757d;--dark-gray: #343a40;--border-color: #dee2e6;--font-primary: "Lato", "Segoe UI", "Roboto", "Arial", sans-serif;--font-secondary: "Open Sans", "Segoe UI", "Roboto", "Arial", sans-serif;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--border-radius: 8px;--border-radius-lg: 12px;--box-shadow: 0 2px 8px rgba(0, 0, 0, .1);--box-shadow-lg: 0 4px 16px rgba(0, 0, 0, .15)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:var(--font-primary);background:linear-gradient(135deg,var(--primary-color) 0%,#80161a 100%);color:var(--dark-gray);line-height:1.6;min-height:100vh}.container{max-width:1200px;width:100%;margin:0 auto;padding:var(--spacing-sm);height:100vh;display:flex;flex-direction:column;overflow:hidden}.header{text-align:center;padding:0;margin-bottom:var(--spacing-xs);background:transparent;flex-shrink:0}.header-logo{max-width:90%;height:auto;max-height:70px;object-fit:contain;position:relative;z-index:1;animation:bounceIn 1.2s cubic-bezier(.215,.61,.355,1)}.header-title{color:var(--white);font-family:var(--font-primary);font-weight:700;font-size:16px;margin-top:4px;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.2);letter-spacing:1px;white-space:nowrap}.uba-title{display:none}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(-50px)}50%{opacity:1;transform:scale(1.05) translateY(0)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.progress-container{margin:5px 0;flex-shrink:0}.progress-steps{display:flex;justify-content:space-between;position:relative;margin-bottom:var(--spacing-xs)}.progress-steps:before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:#ffffff4d;z-index:1}.step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;cursor:pointer;transition:all .3s ease}.step-number{width:32px;height:32px;border-radius:50%;background:var(--white);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-primary);margin-bottom:4px;color:var(--medium-gray);transition:all .3s ease;font-size:14px}.step-label{font-size:12px;font-weight:600;font-family:var(--font-secondary);color:var(--white);text-align:center;transition:all .3s ease;background-color:transparent;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.1)}.step.active .step-number{background:var(--white);border-color:var(--white);color:var(--primary-color);box-shadow:0 2px 8px #0003}.step.active .step-label{color:var(--white);font-weight:700}.step.completed:not(.final-step) .step-number{background:#fffc;border-color:#fffc;color:var(--primary-color)}.step.completed:not(.final-step) .step-label{color:#ffffffe6;font-weight:600}.step.completed.final-step .step-number{background:var(--success-color);border-color:var(--success-color);color:var(--white);box-shadow:0 2px 8px #27ae604d}.step.completed.final-step .step-label{color:var(--white);font-weight:700}.progress-bar{height:4px;background:#ffffff4d;border-radius:50px;overflow:hidden;margin-top:var(--spacing-sm)}.progress-fill{height:100%;background:var(--white);border-radius:50px;transition:width .3s ease}.contract-form{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1;overflow:hidden;height:100%}.form-section{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow);padding:var(--spacing-md);border-left:4px solid var(--primary-color);flex:1;overflow-y:auto;display:flex;flex-direction:column;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section-title{color:var(--primary-color);font-size:18px;font-weight:700;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:2px solid var(--light-gray);display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-primary)}.section-title:before{content:"";font-size:18px}.form-group{display:flex;flex-direction:column;margin-bottom:var(--spacing-sm)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}label{font-weight:600;color:var(--primary-color);margin-bottom:var(--spacing-xs);font-size:14px;font-family:var(--font-secondary);text-transform:uppercase;letter-spacing:.5px}input[type=text],input[type=email],input[type=date],input[type=tel],input[type=number],select,textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--border-radius);font-family:var(--font-secondary);font-size:16px;background-color:var(--white);transition:all .3s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #c322281a}.radio-group,.checkbox-group{display:flex;flex-direction:column;gap:10px}.radio-group.row{flex-direction:row}.radio-option,.checkbox-option{position:relative;cursor:pointer;display:flex;align-items:center;background-color:var(--light-gray);padding:12px 15px;border-radius:8px;border:1px solid #e9ecef;transition:all .2s;font-family:var(--font-secondary);font-size:14px}.radio-option:hover,.checkbox-option:hover{background-color:#f1f3f5;border-color:#ced4da}.radio-custom,.checkbox-custom{height:20px;width:20px;background-color:var(--white);border:2px solid var(--medium-gray);border-radius:50%;margin-right:12px;display:inline-block;position:relative;flex-shrink:0}.checkbox-custom{border-radius:4px}input[type=radio]:checked+.radio-custom,input[type=checkbox]:checked+.checkbox-custom{background-color:var(--primary-color);border-color:var(--primary-color)}input[type=radio],input[type=checkbox]{display:none}.modality-grid,.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.modality-card,.plan-card{background:var(--white);border:2px solid var(--border-color);border-radius:var(--border-radius-lg);padding:20px;text-align:center;cursor:pointer;transition:all .3s;box-shadow:var(--box-shadow)}.modality-card:hover,.plan-card:hover{border-color:var(--primary-color);transform:translateY(-2px)}.modality-card.selected,.plan-card.selected{border-color:var(--primary-color);background-color:#fff5f5}.form-navigation{display:flex;justify-content:space-between;margin-top:var(--spacing-md);padding:var(--spacing-sm) 0;border-top:1px solid var(--border-color);flex-shrink:0;width:100%}.btn-nav{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius);text-transform:uppercase;font-weight:700;cursor:pointer;border:none;transition:all .3s;font-family:var(--font-primary);background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-color) 100%);color:var(--white);box-shadow:var(--box-shadow-lg);letter-spacing:1px}.btn-prev{background:var(--light-gray);color:var(--dark-gray);border:1px solid var(--border-color);box-shadow:none}.btn-prev:hover{background:#e2e6ea}.arrow{margin:0 5px}.btn-next:hover,.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3498db4d}.btn-next:disabled,.btn-submit:disabled{background:var(--medium-gray);cursor:not-allowed;box-shadow:none;transform:none}.photo-upload-container{background:var(--light-gray);border:2px dashed var(--border-color);padding:30px;border-radius:var(--border-radius-lg);text-align:center}.photo-preview img{max-width:100%;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}@media(max-width:1024px){.container{max-width:95%}}@media(max-width:768px){.container{padding:var(--spacing-md)}.form-section{padding:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-md)}.form-row{grid-template-columns:1fr;gap:var(--spacing-md)}.header-logo{max-height:140px;max-width:95%}.btn-submit,.btn-nav{padding:var(--spacing-sm) var(--spacing-xl);font-size:16px}.step-label{display:none}}@media(max-width:480px){.container{padding:var(--spacing-sm)}.header{padding:var(--spacing-lg) var(--spacing-md)}.form-section{padding:var(--spacing-md)}}.landing-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,var(--primary-color) 0%,#80161a 100%)}.landing-content{text-align:center;padding:3rem;max-width:800px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 10px 30px #0003;border:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;align-items:center;animation:fadeIn .8s ease-out}.landing-logo{max-width:200px;height:auto;margin-bottom:2rem;border-radius:10px;animation:bounceIn 1.2s cubic-bezier(.215,.61,.355,1)}.landing-title{color:var(--white);font-family:var(--font-primary);font-weight:800;font-size:2rem;margin-bottom:1rem;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.3)}.landing-subtitle{color:#ffffffe6;font-size:1.1rem;margin-bottom:2.5rem;max-width:600px}.btn-start{background:var(--white);color:var(--primary-color);padding:1rem 3rem;font-size:1.2rem;font-weight:700;border-radius:50px;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 15px #0003;text-transform:uppercase;letter-spacing:1px}.btn-start:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #0000004d;background:#f8f9fa}.btn-start:active{transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.uba-registration-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;background:linear-gradient(135deg,var(--primary-color) 0%,#80161a 100%);position:absolute}.success-container{background:var(--white);padding:3rem;border-radius:var(--border-radius-lg);box-shadow:0 10px 40px #0003;text-align:center;max-width:500px;width:90%;display:flex;flex-direction:column;align-items:center;animation:bounceIn .8s;border:1px solid rgba(255,255,255,.2)}.success-icon-container{width:80px;height:80px;margin-bottom:20px}.checkmark{width:80px;height:80px;border-radius:50%;display:block;stroke-width:2;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 0 var(--primary-color);animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checkmark-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:var(--primary-color);fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 50px var(--primary-color)}}.uba-registration-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;background:linear-gradient(135deg,var(--primary-color) 0%,#80161a 100%);position:absolute;top:0;left:0;z-index:1000}.uba-container.success-container{margin:auto}.admin-details-grid{display:grid;grid-template-columns:1fr 2fr;gap:25px;align-items:start}.admin-header-actions{display:flex;gap:10px}@media(max-width:900px){.admin-details-grid{grid-template-columns:1fr}.student-card-admin>div{grid-template-columns:1fr!important}.student-card-admin img{height:250px!important}}@media(max-width:600px){.admin-header-toolbar{flex-direction:column;align-items:flex-start!important;gap:15px}.admin-header-actions{width:100%;justify-content:space-between}}
