@charset "UTF-8";:root{--bg-primary: #ffffffef;--bg-secondary: #f8f9fc;--bg-surface: #f5f5f5;--text-primary: #1a1a1a;--text-secondary: #555555;--accent: #f5a623;--border: #e0e0e0;--wave-color: 0, 0, 0;--wave-accent: 201, 168, 76}body.dark{--bg-primary: #0d1117;--bg-secondary: #131820;--bg-surface: #1a1a24;--text-primary: #f5f5f5;--text-secondary: #9090a8;--accent: #f5a623;--border: #2e2e40;--wave-color: 255, 255, 255;--wave-accent: 245, 166, 35}*{transition:background-color .3s ease,color .3s ease}:root{--accent: #f5a623;--accent-tint: rgba(245, 166, 35, .08);--accent-tint-md: rgba(245, 166, 35, .15);--accent-shadow: rgba(245, 166, 35, .3);--success: #22c55e;--danger: #ef4444;--info: #6366f1;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1.25rem;--radius-xl: 1.5rem;--radius-full: 9999px;--font-display: "Inter", sans-serif;--font-heading: "Plus Jakarta Sans", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 4px #22c55e00}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.dashboard-page{padding:2rem;max-width:1200px;margin:0 auto}.page-content{margin-top:3rem;animation:fade-up .5s ease}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:1.25rem;padding:2rem;transition:all .22s ease}.card.animate-up{animation:fade-up .5s ease both}.btn-primary,.btn-submit{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.75rem 1.8rem;background:var(--accent);color:#fff;border:none;border-radius:9999px;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.92rem;cursor:pointer;transition:all .22s ease;text-decoration:none}.btn-primary:hover:not(:disabled),.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px var(--accent-shadow);filter:brightness(1.05)}.btn-primary:disabled,.btn-submit:disabled{opacity:.6;cursor:not-allowed}.btn-primary svg,.btn-submit svg{stroke-width:2.5px}.form-select,.form-control{width:100%;background:var(--bg-surface);border:1.5px solid var(--border);border-radius:.75rem;padding:.75rem 1.1rem;color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;transition:all .2s;box-sizing:border-box}.form-select:focus,.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-tint)}.form-select::placeholder,.form-control::placeholder{color:var(--text-secondary);opacity:.5}.badge{display:inline-flex;align-items:center;padding:.35rem .8rem;border-radius:.5rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.badge-success{background:#22c55e1a;color:#22c55e}.badge-warning{background:#ef44441a;color:#ef4444}.badge-accent{background:var(--accent-tint);color:var(--accent)}.welcome-banner{border-radius:1.25rem;padding:1.2rem 2.5rem;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;position:relative;overflow:hidden;animation:fade-up .5s ease both}.welcome-banner:after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:#ffffff14;pointer-events:none}.welcome-banner.student-banner{background:linear-gradient(135deg,#f5a623,#f5c04a);position:relative;overflow:hidden}.welcome-banner.student-banner:before{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;background:#ffffff14;pointer-events:none}.welcome-banner.student-banner:after{content:"";position:absolute;bottom:-40px;left:20%;width:150px;height:150px;border-radius:50%;background:#ffffff0d;pointer-events:none}.welcome-banner.professor-banner{background:linear-gradient(135deg,#4f46e5,#7c3aed);position:relative;overflow:hidden}.welcome-banner.professor-banner:before{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;background:#ffffff14;pointer-events:none}.welcome-banner.professor-banner:after{content:"";position:absolute;bottom:-40px;left:20%;width:150px;height:150px;border-radius:50%;background:#ffffff0d;pointer-events:none}.welcome-banner.admin-banner{background:linear-gradient(135deg,#d97706,#f59e0b);position:relative;overflow:hidden}.welcome-banner.admin-banner:before{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;background:#ffffff14;pointer-events:none}.welcome-banner.admin-banner:after{content:"";position:absolute;bottom:-40px;left:20%;width:150px;height:150px;border-radius:50%;background:#ffffff0d;pointer-events:none}.welcome-banner .banner-content{position:relative;z-index:1}.welcome-banner .banner-content h1{font-family:Inter,sans-serif;font-size:clamp(1.1rem,2.5vw,1.6rem);font-weight:800;margin:0 0 .25rem;color:#fff}.welcome-banner .banner-content p{font-size:.9rem;opacity:.88;margin:0}.welcome-banner .banner-stats{display:flex;gap:.5rem;flex-wrap:wrap;position:relative;z-index:1}.welcome-banner .banner-stats .stat-card{background:#ffffff2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem 1.2rem;border-radius:.75rem;text-align:center;min-width:90px;border:1px solid rgba(255,255,255,.2)}.welcome-banner .banner-stats .stat-card .stat-value{display:block;font-family:Inter,sans-serif;font-size:1.5rem;font-weight:800;color:#fff;line-height:1;margin-bottom:.15rem}.welcome-banner .banner-stats .stat-card .stat-label{font-size:.62rem;color:#fffc;text-transform:uppercase;letter-spacing:.07em;font-weight:600}.dashboard-home{padding:2rem;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:3rem}.dashboard-home .quick-actions h2{font-family:Plus Jakarta Sans,sans-serif;font-size:1.3rem;font-weight:700;color:var(--text-primary);margin:0 0 1.5rem}.dashboard-home .quick-actions .actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}.dashboard-home .quick-actions .action-card{background:var(--bg-surface);border:.5px solid var(--border);border-radius:1.25rem;padding:2rem;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;cursor:pointer;text-decoration:none;display:flex;flex-direction:column;animation:fade-up .5s ease both}.dashboard-home .quick-actions .action-card:nth-child(1){animation-delay:0s}.dashboard-home .quick-actions .action-card:nth-child(2){animation-delay:.07s}.dashboard-home .quick-actions .action-card:nth-child(3){animation-delay:.14s}.dashboard-home .quick-actions .action-card:nth-child(4){animation-delay:.21s}.dashboard-home .quick-actions .action-card:nth-child(5){animation-delay:.28s}.dashboard-home .quick-actions .action-card:nth-child(6){animation-delay:.35s}.dashboard-home .quick-actions .action-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px #f5a6234d;border-color:#f5a62359}.dashboard-home .quick-actions .action-card.highlight{border-left:3px solid var(--accent);padding-left:calc(2rem - 2px)}.dashboard-home .quick-actions .action-card .action-icon{width:46px;height:46px;border-radius:12px;background:var(--accent-tint);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;flex-shrink:0}.dashboard-home .quick-actions .action-card .action-icon svg{width:22px;height:22px;stroke:var(--accent)}.dashboard-home .quick-actions .action-card .action-icon.green{background:#22c55e1a}.dashboard-home .quick-actions .action-card .action-icon.green svg{stroke:#22c55e}.dashboard-home .quick-actions .action-card .action-icon.violet{background:#6366f11a}.dashboard-home .quick-actions .action-card .action-icon.violet svg{stroke:#6366f1}.dashboard-home .quick-actions .action-card .action-icon.success{background:#22c55e1a}.dashboard-home .quick-actions .action-card .action-icon.success svg{stroke:#22c55e}.dashboard-home .quick-actions .action-card h3{font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.dashboard-home .quick-actions .action-card p{font-size:.87rem;color:var(--text-secondary);line-height:1.6;margin:0 0 1.5rem;flex:1}.dashboard-home .quick-actions .action-card .btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:.62rem 1.3rem;background:var(--accent);color:var(--bg-primary);border:none;border-radius:9999px;font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;font-weight:700;cursor:pointer;transition:filter .2s,transform .2s;text-decoration:none;width:fit-content}.dashboard-home .quick-actions .action-card .btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.dashboard-home .quick-actions .action-card .btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.62rem 1.3rem;background:transparent;color:var(--text-primary);border:1.5px solid var(--border);border-radius:9999px;font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .2s,color .2s;text-decoration:none;width:fit-content}.dashboard-home .quick-actions .action-card .btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.4rem;background:transparent;color:var(--accent);border:1.5px solid var(--accent);border-radius:9999px;font-family:Plus Jakarta Sans,sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-outline:hover:not(:disabled){background:var(--accent);color:#fff}.btn-outline:disabled{opacity:.45;cursor:not-allowed}.btn-outline svg{width:16px;height:16px}.btn-danger-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.4rem;background:transparent;color:#ef4444;border:1.5px solid #ef4444;border-radius:9999px;font-family:Plus Jakarta Sans,sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-danger-outline:hover:not(:disabled){background:#ef4444;color:#fff}.btn-danger-outline:disabled{opacity:.45;cursor:not-allowed}.progress-mini{width:100%;height:5px;background:var(--border);border-radius:9999px;overflow:hidden;margin:.5rem 0}.progress-mini .progress-mini-bar{height:100%;background:var(--accent);border-radius:9999px;transition:width .4s ease}.section-note{font-size:.85rem;color:var(--text-secondary);background:var(--accent-tint, rgba(245, 166, 35, .08));border-left:3px solid var(--accent);border-radius:.5rem;padding:.75rem 1rem;margin:0;line-height:1.6}html,body{margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif}.card{background:var(--bg-surface);border:1px solid var(--border)}a,button{cursor:pointer}h1,h2,h3,.hero__title{font-family:Inter,sans-serif}p,span,button{font-family:Plus Jakarta Sans,sans-serif}@keyframes slideDownIn{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUpIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRightIn{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}app-navbar{display:block;width:100%;opacity:0;animation:slideDownIn .8s cubic-bezier(.16,1,.3,1) forwards;position:sticky;top:1rem;z-index:1000}.hero__content .hero__badge{opacity:0;animation:fadeUpIn .7s cubic-bezier(.16,1,.3,1) .15s forwards}.hero__content .hero__text-wrapper{opacity:0;animation:fadeUpIn .7s cubic-bezier(.16,1,.3,1) .3s forwards}.hero__content .hero__actions{opacity:0;animation:fadeUpIn .7s cubic-bezier(.16,1,.3,1) .45s forwards}.hero__content .hero__proof{opacity:0;animation:fadeUpIn .7s cubic-bezier(.16,1,.3,1) .6s forwards}.hero__visual{opacity:0;animation:fadeInRightIn 1s cubic-bezier(.16,1,.3,1) .35s forwards}app-testimonials,app-faq,app-footer,app-contact,app-formations-catalog{display:block;width:100%}.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.animate-on-scroll.animate-left{transform:translate(-60px)}.animate-on-scroll.animate-right{transform:translate(60px)}.animate-on-scroll.animate-scale{transform:scale(.94) translateY(20px)}.animate-on-scroll.is-visible{opacity:1!important;transform:none!important}.animate-on-scroll.stagger-1{transition-delay:.12s}.animate-on-scroll.stagger-2{transition-delay:.24s}.animate-on-scroll.stagger-3{transition-delay:.36s}.animate-on-scroll.stagger-4{transition-delay:.48s}.formations__grid .catalog-card:nth-child(1).animate-on-scroll{transition-delay:.05s}.formations__grid .catalog-card:nth-child(2).animate-on-scroll{transition-delay:.15s}.formations__grid .catalog-card:nth-child(3).animate-on-scroll{transition-delay:.25s}.formations__grid .catalog-card:nth-child(4).animate-on-scroll{transition-delay:.35s}.formations__grid .catalog-card:nth-child(5).animate-on-scroll{transition-delay:.05s}.formations__grid .catalog-card:nth-child(6).animate-on-scroll{transition-delay:.15s}.how__steps .how__step-card:nth-child(1).animate-on-scroll{transition-delay:.05s}.how__steps .how__step-card:nth-child(2).animate-on-scroll{transition-delay:.2s}.how__steps .how__step-card:nth-child(3).animate-on-scroll{transition-delay:.35s}@media (prefers-reduced-motion: reduce){.animate-on-scroll,app-navbar,.hero__content .hero__badge,.hero__content .hero__text-wrapper,.hero__content .hero__actions,.hero__content .hero__proof,.hero__visual{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}}.typewriter-cursor{display:inline-block;margin-left:2px;color:var(--accent);font-weight:300;animation:blink-cursor .75s step-end infinite}@keyframes blink-cursor{0%,to{color:transparent}50%{color:var(--accent)}}
