:root{--teal-50:oklch(96% 0.03 183);--teal-100:oklch(92% 0.05 183);--teal-200:oklch(86% 0.08 183);--teal-400:oklch(72% 0.14 183);--teal-600:oklch(58% 0.12 183);--teal-700:oklch(48% 0.10 183);--navy-50:oklch(97% 0.01 240);--navy-100:oklch(93% 0.02 240);--navy-300:oklch(60% 0.05 240);--navy-500:oklch(33% 0.06 240);--navy-700:oklch(24% 0.05 240);--navy-900:oklch(16% 0.04 240);--gold-100:oklch(95% 0.05 85);--gold-400:oklch(82% 0.16 85);--gold-600:oklch(68% 0.15 85);--brand:var(--teal-400);--brand-strong:var(--teal-600);--accent:var(--gold-400);--accent-strong:var(--gold-600);--ink:var(--navy-700);--ink-soft:var(--navy-300);--surface:#fff;--surface-sunken:var(--navy-50);--border:oklch(89% 0.012 240);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-full:9999px;--shadow-1:0 1px 3px rgba(15,42,68,.06);--shadow-2:0 4px 16px rgba(15,42,68,.08);--shadow-3:0 14px 38px rgba(47,191,155,.18);--color-primary:var(--navy-700);--color-secondary:var(--brand);--color-accent:var(--accent);--color-background:var(--surface-sunken);--color-text:var(--ink);--color-text-secondary:var(--ink-soft);--color-border:var(--border);--color-white:var(--surface);--font-heading:"Space Grotesk",sans-serif;--font-body:"Plus Jakarta Sans",sans-serif;--font-primary:var(--font-body);--font-secondary:var(--font-body);--font-accent:var(--font-heading)}*{padding:0;box-sizing:border-box}*,body{margin:0}body{font-family:var(--font-body);color:var(--color-text);line-height:1.5;background-color:var(--color-background);background-image:radial-gradient(ellipse at 60% 0,rgba(47,191,155,.08) 0,transparent 60%),radial-gradient(ellipse at 0 80%,rgba(15,42,68,.04) 0,transparent 50%);background-attachment:fixed}.app-wrapper,body{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em}a{text-decoration:none;color:inherit}.header{position:-webkit-sticky;position:sticky;top:0;background:linear-gradient(90deg,rgba(15,42,68,.03) 0,hsla(0,0%,100%,.96) 18%,hsla(0,0%,100%,.96) 82%,rgba(47,191,155,.04));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:none;z-index:100;overflow:hidden;box-shadow:0 4px 24px rgba(15,42,68,.08),0 1px 0 rgba(47,191,155,.18)}.header-deco{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.header-deco-svg{position:absolute;top:0;left:0;width:100%;height:100%}.header-container{max-width:1760px;margin:0 auto;padding:0 80px;height:80px;justify-content:space-between;position:relative;z-index:1}.header-container,.logo{display:flex;align-items:center}.logo{gap:8px;text-decoration:none;color:var(--color-primary);font-weight:700;font-size:18px;cursor:pointer}.logo-image{height:120px;width:auto}.logo-text{font-family:var(--font-accent);font-weight:600;color:var(--color-primary)}.nav-menu{display:flex;gap:6px;align-items:center;flex:1 1;justify-content:center}.nav-link{color:var(--color-primary);text-decoration:none;font-family:var(--font-secondary);font-size:15px;font-weight:600;padding:9px 20px;border-radius:24px;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s,box-shadow .2s;position:relative;z-index:1}.nav-link:hover{color:var(--color-secondary);background:rgba(47,191,155,.09);border-color:rgba(47,191,155,.22)}.nav-link.active{background:linear-gradient(135deg,rgba(47,191,155,.16),rgba(47,191,155,.08));color:var(--color-secondary);font-weight:600;border-color:rgba(47,191,155,.32);box-shadow:0 2px 10px rgba(47,191,155,.14)}.header-actions{display:flex;align-items:center;gap:16px}.icon-button,.menu-button{background:none;border:1px solid var(--color-border);border-radius:22px;padding:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:box-shadow .2s,border-color .2s;color:var(--color-text-secondary)}.icon-button:hover,.menu-button:hover{box-shadow:0 2px 8px rgba(15,42,68,.12);border-color:var(--color-primary);color:var(--color-primary)}.user-menu-button{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;background:var(--color-background);border:1px solid var(--color-border);border-radius:24px;cursor:pointer;transition:all .2s}.user-menu-button:hover{border-color:var(--color-secondary);box-shadow:0 2px 8px rgba(15,42,68,.08)}.user-avatar-mini{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);color:#fff;border-radius:50%;font-family:var(--font-accent);font-size:12px;font-weight:600}.user-name-mini{color:var(--color-text)}.login-header-button,.user-name-mini{font-family:var(--font-secondary);font-size:14px;font-weight:500}.login-header-button{padding:10px 20px;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border:none;border-radius:24px;color:#fff;cursor:pointer;transition:all .2s}.login-header-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(47,191,155,.3)}.bg-decoration{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.bg-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55}.bg-blob-1{width:600px;height:600px;background:radial-gradient(circle,rgba(47,191,155,.25) 0,transparent 70%);top:-120px;right:-80px}.bg-blob-2{width:500px;height:500px;background:radial-gradient(circle,rgba(15,42,68,.12) 0,transparent 70%);bottom:10%;left:-100px}.bg-blob-3{width:350px;height:350px;background:radial-gradient(circle,rgba(242,201,76,.15) 0,transparent 70%);top:40%;right:5%}.bg-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(15,42,68,.06) 1px,transparent 0);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 80%)}.active-filters,.category-chips,.explorar-hero,.header,.main-content,.perfil-hero,.perfil-main,.search-container{position:relative;z-index:1}.explorar-hero{max-width:1760px;margin:0 auto;padding:36px 80px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.explorar-hero-greeting{display:flex;flex-direction:column;gap:4px}.explorar-hero-greeting h1{font-size:28px;font-weight:800;color:var(--color-primary);line-height:1.2}.explorar-hero-greeting p{font-size:15px;color:var(--color-text-secondary);font-weight:400}.explorar-hero-stat{display:flex;align-items:center;gap:28px;flex-shrink:0}.hero-stat-item{text-align:center;padding:16px 24px;background:var(--color-white);border-radius:16px;border:1px solid rgba(209,217,230,.5);box-shadow:0 2px 12px rgba(15,42,68,.06)}.hero-stat-item .stat-num{display:block;font-size:26px;font-weight:800;color:var(--color-secondary);line-height:1}.hero-stat-item .stat-label{display:block;font-size:12px;color:var(--color-text-secondary);font-weight:500;margin-top:4px}.search-container{max-width:980px;margin:24px auto 32px;padding:0 80px}.search-bar{display:flex;align-items:center;background:var(--color-white);border:2px solid var(--color-border);border-radius:64px;padding:10px;box-shadow:0 10px 40px rgba(15,42,68,.12);transition:box-shadow .25s,border-color .25s}.search-bar:hover{box-shadow:0 16px 48px rgba(47,191,155,.18);border-color:var(--color-secondary)}.search-field{flex:1 1;padding:18px 28px;cursor:pointer;position:relative;border-radius:54px;transition:background .2s}.search-field:hover{background:var(--color-background)}.search-field label{display:block;font-family:var(--font-accent);font-size:11px;font-weight:700;color:var(--color-primary);letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase;cursor:pointer}.search-field input{width:100%;border:none;outline:none;font-family:var(--font-primary);font-size:17px;font-weight:500;color:var(--color-text);background:transparent;cursor:pointer}.search-field input::placeholder{color:#b0b8c4;font-weight:400}.search-divider{width:1px;height:44px;background-color:var(--color-border);flex-shrink:0}.search-button{background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border:none;border-radius:50%;width:64px;height:64px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,box-shadow .2s;flex-shrink:0;color:var(--color-white);box-shadow:0 6px 20px rgba(47,191,155,.4)}.search-button:hover{transform:scale(1.08);box-shadow:0 6px 24px rgba(47,191,155,.5)}.active-filters{max-width:1760px;margin:0 auto 24px;padding:0 80px;display:flex;gap:12px;flex-wrap:wrap}.filter-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--color-white);border:1px solid var(--color-border);border-radius:24px;font-family:var(--font-secondary);font-size:14px;color:var(--color-text);transition:border-color .2s}.filter-tag:hover{border-color:var(--color-primary)}.filter-tag button{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:18px;line-height:1;padding:0;margin-left:4px;transition:color .2s}.filter-tag button:hover{color:var(--color-primary)}.category-chips{max-width:1760px;margin:0 auto 8px;padding:0 80px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.category-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:24px;font-family:var(--font-secondary);font-size:13px;font-weight:600;cursor:pointer;border:2px solid transparent;transition:all .18s ease;background:var(--color-white);color:var(--color-text);box-shadow:0 1px 6px rgba(15,42,68,.07)}.category-chip:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(15,42,68,.12)}.category-chip.active{color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(0,0,0,.15);background:var(--brand)}.category-chip--elite{border-color:var(--accent);color:var(--gold-600,#9a7b18)}.category-chip--elite.active{background:var(--accent);color:var(--navy-900);border-color:transparent}.category-chip-icon{font-size:15px;line-height:1}.category-chip-icon svg{width:16px;height:16px}.main-content{max-width:1760px;margin:0 auto;padding:0 80px 100px}.opportunities-section{margin-bottom:64px}.section-header{margin-bottom:24px}.section-header h2{font-family:var(--font-accent);font-size:24px;font-weight:800;color:var(--color-primary);margin-bottom:8px;display:flex;align-items:center;gap:10px}.section-header h2:before{content:"";display:inline-block;width:4px;height:26px;background:linear-gradient(180deg,var(--color-secondary) 0,rgba(47,191,155,.3) 100%);border-radius:2px;flex-shrink:0}.section-subtitle{font-family:var(--font-secondary);margin:0}.recommended-section{margin-bottom:56px;background:linear-gradient(135deg,rgba(47,191,155,.09),rgba(15,42,68,.05) 60%,rgba(242,201,76,.04));border-radius:28px;padding:40px 40px 48px;border:1px solid rgba(47,191,155,.2);position:relative;overflow:hidden;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8),0 4px 24px rgba(47,191,155,.08)}.recommended-geo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.recommended-section .opportunities-grid,.recommended-section .section-header{position:relative;z-index:1}.recommended-section .section-header{text-align:center;margin-bottom:32px}.recommended-section .section-header h2{color:var(--color-secondary);font-size:26px;font-weight:800}.recommended-section .section-header h2:before{content:"✦ ";opacity:.6}.recommended-section .section-header h2:after{content:" ✦";opacity:.6}.recommended-section .opportunities-grid{display:flex;overflow-x:auto;gap:20px;padding-bottom:16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(47,191,155,.3) transparent}.recommended-section .opportunities-grid::-webkit-scrollbar{height:4px}.recommended-section .opportunities-grid::-webkit-scrollbar-track{background:transparent}.recommended-section .opportunities-grid::-webkit-scrollbar-thumb{background:rgba(47,191,155,.4);border-radius:4px}.recommended-section .opportunities-grid .opportunity-card{flex:0 0 300px;scroll-snap-align:start}.opportunities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(295px,1fr));grid-gap:28px;gap:28px}.opportunity-card{cursor:pointer;text-decoration:none;color:inherit;display:block;background:var(--color-white);border-radius:20px;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;border:1px solid rgba(209,217,230,.5);box-shadow:0 2px 16px rgba(15,42,68,.07);position:relative}.opportunity-card:hover{transform:translateY(-6px);box-shadow:0 12px 36px rgba(47,191,155,.18);border-color:rgba(47,191,155,.5)}.opportunity-card:focus-visible{outline:none;box-shadow:0 0 0 3px var(--teal-200)}.opportunity-card:active{transform:translateY(-2px) scale(.995)}.opportunity-card--featured{grid-column:span 2}.opportunity-card--featured .opportunity-image-container{padding-top:42%}.opportunity-card--featured .opportunity-title{font-size:23px}.opportunity-image-container{position:relative;width:100%;padding-top:62%;border-radius:20px 20px 0 0;overflow:hidden;margin-bottom:0;background:linear-gradient(135deg,rgba(47,191,155,.02),rgba(15,42,68,.01))}.opportunity-image-container:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(0deg,rgba(15,42,68,.55) 0,transparent);pointer-events:none;z-index:1}.opportunity-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}.opp-media{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff}.opp-media svg{width:40px;height:40px}.opp-media .opp-media-tipo{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.opp-media--beca{background:linear-gradient(135deg,var(--teal-600),color-mix(in oklch,var(--teal-600) 55%,transparent))}.opp-media--intercambio{background:linear-gradient(135deg,var(--teal-400),color-mix(in oklch,var(--teal-400) 55%,transparent))}.opp-media--competencia{background:linear-gradient(135deg,var(--gold-600),color-mix(in oklch,var(--gold-600) 55%,transparent))}.opp-media--programa{background:linear-gradient(135deg,var(--navy-300),color-mix(in oklch,var(--navy-300) 55%,transparent))}.opp-media--grant{background:linear-gradient(135deg,var(--teal-700),color-mix(in oklch,var(--teal-700) 55%,transparent))}.opp-media--fellowship{background:linear-gradient(135deg,var(--gold-400),color-mix(in oklch,var(--gold-400) 55%,transparent));color:var(--navy-900)}.opp-media--pasantia,.opp-media--trabajo{background:linear-gradient(135deg,var(--navy-500),color-mix(in oklch,var(--navy-500) 55%,transparent))}.opp-media--voluntariado{background:linear-gradient(135deg,var(--teal-600),color-mix(in oklch,var(--teal-600) 55%,transparent))}.opp-media--evento{background:linear-gradient(135deg,var(--navy-300),color-mix(in oklch,var(--navy-300) 55%,transparent))}.opp-media--fallback{background:linear-gradient(135deg,var(--brand),color-mix(in oklch,var(--brand) 55%,transparent))}.opportunity-card:hover .opportunity-image{transform:scale(1.05)}.opportunity-badge{left:12px;background:var(--color-primary);padding:4px 12px;font-size:10px;font-weight:600;text-transform:uppercase;max-width:calc(50% - 8px);overflow:hidden;text-overflow:ellipsis}.opportunity-badge,.opportunity-match-badge{position:absolute;top:12px;color:var(--color-white);border-radius:20px;font-family:var(--font-accent);z-index:3;white-space:nowrap}.opportunity-match-badge{right:52px;background:var(--brand);padding:6px 10px;font-size:11px;font-weight:700;box-shadow:var(--shadow-1)}.opportunity-match-badge.match-excellent{background:var(--accent);color:var(--navy-900)}.opportunity-match-badge.match-good{background:var(--brand);color:#fff}.opportunity-match-badge.match-fair{background:var(--navy-100);color:var(--ink)}.opportunity-match-badge.match-low{background:var(--navy-100);color:var(--ink-soft)}.opportunity-elite-badge{position:absolute;top:44px;left:12px;background:var(--accent);color:var(--navy-900);padding:4px 12px;border-radius:20px;font-family:var(--font-accent);font-size:10px;font-weight:700;text-transform:uppercase;z-index:3;white-space:nowrap;box-shadow:var(--shadow-1)}.opportunity-favorite{position:absolute;top:12px;right:12px;background:var(--color-white);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,color .15s,box-shadow .15s;z-index:3;color:var(--color-text-secondary)}.opportunity-favorite:hover{transform:scale(1.1);color:var(--color-secondary)}.opportunity-favorite:focus-visible{outline:none;box-shadow:0 0 0 3px var(--teal-200)}.opportunity-favorite:active{transform:scale(.95)}.opportunity-info{display:flex;flex-direction:column;gap:6px;padding:20px}.opportunity-type{font-family:var(--font-secondary);font-size:11px;color:var(--color-secondary);font-weight:700;text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;gap:6px}.opportunity-type:before{content:"";display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;flex-shrink:0}.opportunity-title{font-family:var(--font-accent);font-size:16px;font-weight:700;color:var(--color-primary);-webkit-line-clamp:2}.opportunity-description,.opportunity-title{line-height:1.4;margin-bottom:8px;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.opportunity-description{font-family:var(--font-primary);font-size:14px;color:var(--color-text-secondary);-webkit-line-clamp:3}.opportunity-details{display:flex;align-items:center;gap:8px;font-family:var(--font-secondary);font-size:13px;color:var(--color-text-secondary);margin-top:12px;padding:10px 12px;background:var(--color-background);border-radius:10px}.opportunity-dates{display:flex;align-items:center;gap:4px}.opportunity-postulation{font-weight:500;color:var(--color-primary)}.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,42,68,.5);z-index:1000;align-items:center;justify-content:center}.modal-overlay.active{display:flex}.modal{background:var(--color-white);border-radius:16px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:none;flex-direction:column;box-shadow:0 16px 48px rgba(15,42,68,.2)}.modal-overlay.active .modal{display:flex}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--color-border)}.modal-header h3{font-family:var(--font-accent);font-size:18px;font-weight:600;color:var(--color-primary)}.modal-close{background:none;border:none;font-size:32px;color:var(--color-text-secondary);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s,color .2s}.modal-close:hover{background-color:var(--color-background);color:var(--color-primary)}.modal-content{padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.filter-option{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;padding:16px;text-align:left;font-family:var(--font-secondary);font-size:14px;color:var(--color-text);cursor:pointer;transition:all .2s}.filter-option:hover{border-color:var(--color-secondary);background-color:var(--color-background)}.filter-option.active{border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-white)}.language-modal{max-width:600px}.language-modal-content{gap:0;padding:0}.language-option{width:100%;padding:20px 24px;background:var(--color-white);border:none;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background-color .2s;text-align:left}.language-option:hover{background-color:var(--color-background)}.language-option:last-child{border-bottom:none}.language-option.active{background-color:var(--color-background)}.language-name{font-family:var(--font-secondary);font-size:16px;font-weight:500;color:var(--color-text)}.language-check{color:var(--color-secondary);flex-shrink:0}.student-menu-overlay,.student-menu-overlay.active{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important}.student-menu-overlay{background:rgba(15,42,68,.5);z-index:2000;display:flex;align-items:flex-start;justify-content:flex-end;visibility:hidden;opacity:0;transition:opacity .3s ease,visibility .3s ease}.student-menu-overlay.active{visibility:visible;opacity:1}.student-menu{width:33.333%;min-width:400px;max-width:500px;height:100%;background:var(--color-white);box-shadow:-4px 0 24px rgba(15,42,68,.15);overflow-y:auto;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column}.student-menu-overlay.active .student-menu{transform:translateX(0)}.student-menu-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;background:var(--color-white);z-index:10}.student-menu-header h2{font-family:var(--font-accent);font-size:24px;font-weight:600;color:var(--color-primary);margin:0}.student-menu-close{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:8px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.student-menu-close:hover{background-color:var(--color-background);color:var(--color-primary)}.student-info{padding:24px;gap:32px}.student-info,.student-section{display:flex;flex-direction:column}.student-section{gap:16px}.student-section-title{font-family:var(--font-accent);font-size:18px;font-weight:600;color:var(--color-primary);margin:0}.student-profile-header{display:flex;flex-direction:column;gap:12px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.student-name{font-family:var(--font-accent);font-size:28px;font-weight:600;color:var(--color-primary);margin:0}.student-school{font-family:var(--font-secondary);font-size:16px;color:var(--color-text-secondary)}.student-stats{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.student-stat{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--color-background);border-radius:12px}.student-stat-value{font-family:var(--font-accent);font-size:24px;font-weight:600;color:var(--color-secondary)}.student-stat-label{font-family:var(--font-secondary);font-size:14px;color:var(--color-text-secondary)}.student-ranking{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,var(--color-primary) 0,#1a3d5c 100%);border-radius:12px;color:var(--color-white)}.student-ranking-icon{width:48px;height:48px;border-radius:50%;background:hsla(0,0%,100%,.2);display:flex;align-items:center;justify-content:center;font-family:var(--font-accent);font-size:24px;font-weight:600;flex-shrink:0}.student-ranking-info{flex:1 1}.student-ranking-position{font-family:var(--font-accent);font-size:32px;font-weight:700;line-height:1}.student-ranking-text{font-family:var(--font-secondary);font-size:14px;opacity:.9}.skill-item{display:flex;flex-direction:column;gap:8px}.skill-header{display:flex;justify-content:space-between;align-items:center}.skill-name{font-family:var(--font-secondary);font-size:16px;font-weight:500;color:var(--color-text)}.skill-value{font-weight:600}.skill-bar{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.skill-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-secondary) 0,#26a080 100%);border-radius:4px;transition:width .3s ease}.skill-bar-fill.improve{background:linear-gradient(90deg,var(--color-accent) 0,#d4a83a 100%)}.student-goal{padding:24px;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border-radius:12px;color:var(--color-white)}.student-goal-title{font-family:var(--font-accent);font-size:18px;font-weight:600;margin-bottom:12px}.student-goal-text{font-family:var(--font-primary);font-size:16px;line-height:1.6;opacity:.95}.student-goal-hint{font-family:var(--font-secondary);font-size:14px;margin-top:12px;padding-top:12px;border-top:1px solid hsla(0,0%,100%,.2);opacity:.9;font-style:italic}.menu-guest-state{text-align:center;padding:48px 24px}.guest-icon{font-size:48px;margin-bottom:16px}.menu-guest-state h3{font-family:var(--font-accent);font-size:24px;color:var(--color-primary);margin-bottom:8px}.menu-guest-state p{color:var(--color-text-secondary);margin-bottom:24px;font-size:15px}.menu-login-button{padding:14px 32px;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border:none;border-radius:12px;color:#fff;font-family:var(--font-accent);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.menu-login-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(47,191,155,.3)}.menu-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border)}.menu-action-button{padding:14px 24px;border-radius:12px;font-family:var(--font-secondary);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.menu-action-button.primary{background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border:none;color:#fff}.menu-action-button.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(47,191,155,.3)}.menu-action-button.secondary{background:var(--color-white);border:1px solid var(--color-border);color:var(--color-text)}.menu-action-button.secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.opportunity-detail-container{max-width:1120px;margin:0 auto;padding:24px 80px 80px}.opportunity-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.opportunity-title-section h1{font-family:var(--font-accent);font-size:26px;font-weight:600;color:var(--color-primary);margin-bottom:8px}.opportunity-meta{font-family:var(--font-secondary);font-size:14px;color:var(--color-text-secondary)}.opportunity-actions{display:flex;gap:16px}.action-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--color-white);border:1px solid var(--color-primary);border-radius:8px;font-family:var(--font-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;color:var(--color-primary)}.action-button:hover{background-color:var(--color-primary);color:var(--color-white)}.image-gallery{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;border-radius:16px;overflow:hidden;margin-bottom:48px;height:500px}.image-gallery.single-image{grid-template-columns:1fr;height:400px}.image-gallery.two-images{grid-template-columns:1fr 1fr}.image-gallery.three-images{grid-template-columns:2fr 1fr}.image-gallery.three-images .gallery-image:first-child{grid-row:1/3}.image-gallery.four-images{grid-template-columns:1fr 1fr}.image-gallery.five-images{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.image-gallery.five-images .gallery-image:first-child{grid-row:1/3}.gallery-image{position:relative;overflow:hidden;cursor:pointer;background-color:var(--color-background);display:flex;align-items:center;justify-content:center}.gallery-image img{transition:transform .3s}.gallery-image:hover img{transform:scale(1.02)}.gallery-image:first-child{border-top-left-radius:16px;border-bottom-left-radius:16px}.gallery-image:last-child:not(:only-child){border-top-right-radius:16px;border-bottom-right-radius:16px}.detail-layout{display:grid;grid-template-columns:1fr 400px;grid-gap:80px;gap:80px}.detail-left{display:flex;flex-direction:column;gap:48px}.info-section{padding-bottom:32px;border-bottom:1px solid var(--color-border)}.info-header{margin-bottom:24px}.info-header h2{font-family:var(--font-accent);font-size:22px;font-weight:600;color:var(--color-primary);margin-bottom:16px}.event-badges{display:flex;gap:16px;flex-wrap:wrap}.event-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;font-family:var(--font-secondary);font-size:14px;color:var(--color-text)}.info-content{font-family:var(--font-primary);font-size:16px;line-height:1.6;color:var(--color-text)}.info-content p{margin-bottom:12px}.features-section{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:32px;gap:32px;padding:32px 0;border-bottom:1px solid var(--color-border)}.feature-item{display:flex;flex-direction:column;gap:8px}.feature-item svg{width:24px;height:24px;color:var(--color-secondary);margin-bottom:8px}.feature-item h4{font-family:var(--font-accent);font-size:16px;font-weight:600;color:var(--color-primary);margin:0}.feature-item p{font-family:var(--font-secondary);font-size:14px;color:var(--color-text-secondary);margin:0}.description-section,.requirements-section{padding-bottom:32px;border-bottom:1px solid var(--color-border)}.description-section h3,.requirements-section h3{font-family:var(--font-accent);font-size:22px;font-weight:600;color:var(--color-primary);margin-bottom:16px}.description-section p,.requirements-section p{font-family:var(--font-primary);font-size:16px;line-height:1.6;color:var(--color-text);white-space:pre-line}.organizer-section{padding-bottom:32px;border-bottom:1px solid var(--color-border)}.organizer-section h2{font-family:var(--font-accent);font-size:22px;font-weight:600;color:var(--color-primary);margin-bottom:24px}.organizer-card{display:flex;gap:24px}.organizer-avatar{width:80px;height:80px;border-radius:50%;background:var(--color-secondary);display:flex;align-items:center;justify-content:center;color:var(--color-white);font-family:var(--font-accent);font-size:32px;font-weight:600;flex-shrink:0}.organizer-info{flex:1 1}.organizer-name{font-family:var(--font-accent);font-size:22px;font-weight:600;color:var(--color-primary);margin-bottom:8px}.organizer-badge{font-family:var(--font-secondary);font-size:14px;color:var(--color-text);margin-bottom:16px}.organizer-stats{display:flex;gap:32px;margin-bottom:16px}.organizer-stat{display:flex;flex-direction:column}.organizer-stat-value{font-family:var(--font-accent);font-size:22px;font-weight:600;color:var(--color-primary)}.organizer-stat-label{font-family:var(--font-secondary);font-size:14px;color:var(--color-text-secondary)}.organizer-details{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.organizer-detail{display:flex;align-items:center;gap:12px;font-family:var(--font-secondary);font-size:16px;color:var(--color-text)}.organizer-detail svg{width:20px;height:20px;color:var(--color-text-secondary)}.organizer-bio{font-family:var(--font-primary);font-size:16px;line-height:1.6;color:var(--color-text);margin-top:16px}.message-organizer-button{padding:12px 24px;background:var(--color-white);border:1px solid var(--color-primary);border-radius:8px;font-family:var(--font-secondary);font-size:16px;font-weight:500;color:var(--color-primary);cursor:pointer;transition:all .2s;margin-top:16px}.message-organizer-button:hover{background-color:var(--color-primary);color:var(--color-white)}.reviews-section{padding-bottom:32px}.reviews-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.reviews-header h2{font-family:var(--font-accent);font-size:22px;font-weight:600;color:var(--color-primary);margin-bottom:8px}.reviews-summary{display:flex;align-items:center;gap:8px;font-family:var(--font-secondary);font-size:16px;color:var(--color-text)}.reviews-summary .rating{display:flex;align-items:center;gap:4px;font-weight:600}.reviews-summary .star{color:var(--color-accent)}.reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:32px;gap:32px;margin-bottom:32px}.review-card{display:flex;flex-direction:column;gap:16px}.review-header{gap:12px}.review-avatar,.review-header{display:flex;align-items:center}.review-avatar{width:48px;height:48px;border-radius:50%;background:var(--color-text-secondary);justify-content:center;color:var(--color-white);font-family:var(--font-accent);font-size:20px;font-weight:600;flex-shrink:0}.review-author-info{flex:1 1}.review-author-name{font-family:var(--font-accent);font-size:16px;font-weight:600;color:var(--color-primary);margin-bottom:4px}.review-author-meta{font-family:var(--font-secondary);font-size:14px;color:var(--color-text-secondary)}.review-rating{display:flex;gap:4px}.review-rating .star{width:12px;height:12px;fill:var(--color-accent)}.review-date{font-family:var(--font-secondary);font-size:14px;color:var(--color-text-secondary);margin-top:8px}.review-text{font-family:var(--font-primary);font-size:16px;line-height:1.5;color:var(--color-text)}.show-all-reviews{padding:12px 24px;background:var(--color-white);border:1px solid var(--color-primary);border-radius:8px;font-family:var(--font-secondary);font-size:16px;font-weight:500;color:var(--color-primary);cursor:pointer;transition:all .2s}.show-all-reviews:hover{background-color:var(--color-primary);color:var(--color-white)}.detail-right{position:-webkit-sticky;position:sticky;top:100px;align-self:start;height:-moz-fit-content;height:fit-content}.application-card{border:1px solid var(--color-border);border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(15,42,68,.1);background:var(--color-white);width:100%;box-sizing:border-box}.application-header{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.price-info{display:flex;flex-direction:column;gap:8px}.price-amount{font-family:var(--font-accent);font-size:22px;font-weight:600;color:var(--color-primary)}.price-label{font-family:var(--font-secondary);font-size:14px;color:var(--color-text-secondary)}.application-form{display:flex;flex-direction:column;gap:16px;width:100%}.form-group{width:100%}.form-group label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:0}.form-group input{padding:12px;border:1px solid var(--color-border);border-radius:8px;font-family:var(--font-primary);font-size:14px;color:var(--color-text);background:var(--color-white);cursor:pointer;width:100%;box-sizing:border-box;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--color-secondary)}.date-inputs{display:flex;align-items:center;gap:8px;width:100%}.date-inputs input{flex:1 1;min-width:0}.date-inputs span{color:var(--color-text-secondary);font-family:var(--font-secondary);font-size:14px;flex-shrink:0;line-height:1}.submit-button{padding:14px;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border:none;border-radius:8px;font-family:var(--font-accent);font-size:16px;font-weight:600;color:var(--color-white);cursor:pointer;transition:all .2s;margin-top:8px;width:100%;box-sizing:border-box}.submit-button:hover{background:linear-gradient(135deg,#26a080 0,var(--color-secondary) 100%);transform:scale(1.02)}.parent-info-content{display:flex;flex-direction:column;gap:16px;width:100%}.parent-help-section{margin-top:8px;padding-top:24px;border-top:1px solid var(--color-border)}.parent-help-section h4{font-family:var(--font-accent);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-primary);margin-bottom:16px}.parent-tips{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.parent-tips li{font-family:var(--font-primary);font-size:14px;line-height:1.6;color:var(--color-text);padding-left:8px}.parent-tips li strong{color:var(--color-primary);font-weight:600}.parent-action-section{margin-top:8px;padding-top:24px;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:16px}.parent-action-text{font-family:var(--font-primary);font-size:14px;line-height:1.6;color:var(--color-text-secondary);margin:0;text-align:center}.milestone-badge{background:var(--color-accent);color:var(--color-primary);padding:6px 12px;border-radius:6px;font-family:var(--font-accent);font-size:12px;font-weight:600}@media (max-width:1128px){.active-filters,.header-container,.main-content,.search-container{padding:0 40px}.opportunities-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px 20px}.opportunity-detail-container{padding:24px 40px 40px;max-width:100%}.image-gallery{height:400px}.image-gallery.single-image{height:350px}.detail-layout{grid-template-columns:1fr 350px;gap:60px}.features-section{grid-template-columns:repeat(2,1fr)}}@media (max-width:743px){.header-container{padding:0 24px}.nav-menu{display:none}.main-content{padding:0 24px 40px}.active-filters{padding:0 24px}.search-container{padding:0 24px;margin:24px auto}.opportunities-grid{grid-template-columns:1fr;gap:24px}.opportunity-card--featured{grid-column:auto}.opportunity-match-badge{font-size:10px;padding:5px 8px;right:44px}.opportunity-badge{font-size:10px;padding:5px 8px;max-width:calc(50% - 12px)}.opportunity-favorite{width:28px;height:28px;top:10px;right:10px}.search-bar{flex-wrap:wrap;padding:16px}.search-field{flex:1 1 100%;padding:8px 0}.search-divider{display:none}.search-button{width:100%;border-radius:8px;margin-top:8px}.student-menu{width:85%;min-width:320px}.opportunity-detail-container{padding:24px 16px}.opportunity-header{flex-direction:column;gap:16px}.opportunity-title-section h1{font-size:22px}.opportunity-actions{width:100%;justify-content:flex-start}.action-button{flex:1 1;justify-content:center}.image-gallery{grid-template-columns:1fr!important;height:auto;min-height:250px;max-height:400px;margin-bottom:32px}.image-gallery.five-images,.image-gallery.four-images,.image-gallery.single-image,.image-gallery.three-images,.image-gallery.two-images{grid-template-columns:1fr!important;grid-template-rows:auto!important}.image-gallery .gallery-image{min-height:250px;max-height:400px}.image-gallery .gallery-image:first-child{border-radius:16px 16px 0 0}.image-gallery .gallery-image:last-child{border-radius:0 0 16px 16px}.image-gallery .gallery-image:only-child{border-radius:16px}.detail-layout{display:flex;flex-direction:column;gap:32px}.detail-left{gap:32px}.detail-right{position:static;order:-1;width:100%}.application-card{margin-bottom:0}.description-section,.info-section,.organizer-section,.requirements-section{padding-bottom:24px}.info-header h2{font-size:20px}.features-section{grid-template-columns:1fr;gap:24px;padding:24px 0}.feature-item{gap:4px}.organizer-card{flex-direction:column;align-items:center;text-align:center}.organizer-stats{flex-wrap:wrap;gap:16px;justify-content:center}.organizer-info{display:flex;flex-direction:column}.organizer-details,.organizer-info{align-items:center}.reviews-section{padding-bottom:24px}.reviews-header h2{font-size:20px}.reviews-grid{grid-template-columns:1fr;gap:24px}.reviews-summary{flex-direction:column;align-items:flex-start;gap:4px}}.login-split{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-art{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:64px;background:linear-gradient(160deg,var(--navy-700) 0,var(--navy-900) 100%);color:#fff}.login-art-brand{position:relative;z-index:1;align-self:flex-start;display:inline-flex;align-items:center;gap:10px}.login-mark{width:56px;height:50px;flex-shrink:0}.login-mark .m-card{stroke:hsla(0,0%,100%,.14);stroke-width:1}.login-mark .m-navy{fill:var(--navy-700)}.login-mark .m-teal{fill:var(--teal-400)}.login-mark .m-gold{fill:var(--gold-400)}.login-mark .m-paper{fill:#f8f9fb}.login-wordmark{font-family:var(--font-heading);font-weight:700;font-size:32px;letter-spacing:-.02em;color:#fff}.login-camino{position:absolute;right:-20px;bottom:32px;width:72%;height:auto;opacity:.55;pointer-events:none}.login-camino-line{fill:none;stroke:var(--teal-400);stroke-width:2.5;stroke-linecap:round;opacity:.55}.login-camino-node{fill:var(--navy-900);stroke:var(--teal-400);stroke-width:2.5}.login-camino-node--milestone{fill:var(--gold-400);stroke:var(--gold-400)}.login-art-copy{position:relative;z-index:1;max-width:420px}.login-art-title{font-family:var(--font-heading);font-size:34px;font-weight:700;letter-spacing:-.02em;margin-bottom:12px}.login-art-sub{font-size:16px;color:hsla(0,0%,100%,.82);line-height:1.5}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:48px 24px;background:var(--surface)}.login-form-inner{width:100%;max-width:420px}.login-title{font-family:var(--font-heading);font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:24px}.login-form{display:flex;flex-direction:column;gap:16px;margin-bottom:8px}.login-form .form-group{display:flex;flex-direction:column;gap:6px}.login-form label{font-family:var(--font-heading);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.login-form input{padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:15px;font-family:var(--font-body);background:var(--surface);color:var(--ink);transition:border-color .15s,box-shadow .15s}.login-form input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--teal-100)}.login-error{background:#fde8e8;color:#b42318;padding:12px 14px;border-radius:var(--r-sm);font-size:14px}.demo-section{margin-top:28px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-md);padding:20px}.demo-section h3{font-family:var(--font-heading);font-size:15px;color:var(--ink);margin-bottom:4px}.demo-hint{font-size:13px;color:var(--ink-soft);margin-bottom:14px}.demo-users{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.demo-user-card{display:flex;align-items:center;gap:10px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;text-align:left;transition:border-color .15s,transform .15s,box-shadow .15s}.demo-user-card:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow-2)}.demo-user-card:focus-visible{outline:none;box-shadow:0 0 0 3px var(--teal-200)}.demo-user-card:active{transform:scale(.98)}.demo-user-card:disabled{opacity:.5;cursor:not-allowed}.demo-user-icon{display:inline-flex;color:var(--brand)}.demo-user-icon svg{width:22px;height:22px}.demo-user-info{display:flex;flex-direction:column}.demo-user-name{font-family:var(--font-heading);font-weight:600;color:var(--ink);font-size:14px}.demo-user-rol{font-size:12px;color:var(--ink-soft)}@media (max-width:860px){.login-split{grid-template-columns:1fr}.login-art{padding:32px 24px;gap:12px}.login-camino{display:none}.login-art-title{font-size:24px}.login-form-panel{padding:32px 20px}}.register-section{margin:24px 0;text-align:center}.register-divider{margin:16px 0;color:var(--color-text-secondary);font-size:14px;position:relative}.register-divider:after,.register-divider:before{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--color-border)}.register-divider:before{left:0}.register-divider:after{right:0}.register-button{width:100%;padding:16px;background:transparent;border:2px solid var(--color-secondary);border-radius:12px;color:var(--color-secondary);font-family:var(--font-accent);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.register-button:hover{background:var(--color-secondary);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(47,191,155,.3)}.registro-page{min-height:100vh;display:flex;background:var(--color-background)}.registro-layout{display:grid;grid-template-columns:420px 1fr;width:100%;min-height:100vh}.registro-sidebar{background:var(--color-primary);color:#fff;padding:40px 40px 48px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;align-self:start;min-height:100vh}.sidebar-content{display:flex;flex-direction:column;gap:40px;flex:1 1;justify-content:space-between}.sidebar-section{display:flex;flex-direction:column;gap:16px}.sidebar-title{font-family:var(--font-accent);font-size:28px;font-weight:700;color:#fff;margin:0;line-height:1.3}.sidebar-description{font-size:16px;line-height:1.6;color:hsla(0,0%,100%,.9);margin:0}.sidebar-subtitle{font-family:var(--font-accent);font-size:18px;font-weight:600;color:#fff;margin:0}.sidebar-benefits{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:24px}.sidebar-benefit{display:flex;gap:16px;align-items:flex-start}.benefit-icon{font-size:28px;flex-shrink:0;line-height:1}.sidebar-benefit div{flex:1 1}.sidebar-benefit strong{display:block;font-family:var(--font-accent);font-size:16px;font-weight:600;color:#fff;margin-bottom:4px}.sidebar-benefit p{font-size:14px;color:hsla(0,0%,100%,.8);margin:0;line-height:1.5}.sidebar-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;padding:24px 0}.sidebar-stat{text-align:center}.stat-number{font-family:var(--font-accent);font-size:32px;font-weight:700;color:#fff;line-height:1;margin-bottom:8px}.stat-label{color:hsla(0,0%,100%,.8);text-transform:uppercase;letter-spacing:.5px}.sidebar-footer{padding-top:32px;border-top:1px solid hsla(0,0%,100%,.2);margin-top:auto}.sidebar-footer-text{font-size:14px;color:hsla(0,0%,100%,.8);margin:0;text-align:center}.sidebar-footer-link{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}.sidebar-footer-link:hover{color:var(--color-secondary)}.registro-form-container{background:var(--color-white);display:flex;justify-content:center}.registro-form-wrapper{width:100%;max-width:680px;padding:64px 80px;display:flex;flex-direction:column}.registro-container{width:100%}.registro-header{margin-bottom:40px}.registro-header h1{font-family:var(--font-accent);font-size:32px;font-weight:700;color:var(--color-primary);margin:0 0 8px;text-align:left}.registro-header p{font-size:16px;color:var(--color-text-secondary);margin:0;text-align:left}.onboarding-progress{margin-bottom:40px}.progress-steps{display:flex;justify-content:space-between;align-items:center;position:relative;padding:0 12px;gap:8px}.progress-steps:before{content:"";position:absolute;top:20px;left:32px;right:32px;height:2px;background:var(--color-border);z-index:0}.progress-step{flex-direction:column;gap:8px;position:relative;z-index:1;flex:1 1;min-width:0}.progress-step,.step-number{display:flex;align-items:center}.step-number{width:40px;height:40px;border-radius:50%;background:var(--color-background);border:2px solid var(--color-border);justify-content:center;font-family:var(--font-accent);font-weight:600;font-size:14px;color:var(--color-text-secondary);transition:all .3s;flex-shrink:0}.progress-step.active .step-number{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.progress-step.current .step-number{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:scale(1.1)}.step-label{font-size:10px;color:var(--color-text-secondary);text-align:center;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.progress-step.active .step-label{color:var(--color-primary);font-weight:600}.onboarding-content{margin-bottom:32px;min-height:400px}.onboarding-step{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.onboarding-step h2{font-family:var(--font-accent);font-size:24px;color:var(--color-primary);margin-bottom:8px}.step-description{font-size:14px;color:var(--color-text-secondary);margin-bottom:24px}.form-grid{display:grid;grid-gap:16px;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-family:var(--font-accent);font-size:14px;font-weight:600;color:var(--color-primary)}.form-group input,.form-group select{padding:14px 16px;border:2px solid var(--color-border);border-radius:12px;font-size:16px;font-family:var(--font-body);transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 4px rgba(47,191,155,.1)}.interests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:12px;gap:12px}.interest-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;background:var(--color-background);border:2px solid var(--color-border);border-radius:12px;cursor:pointer;transition:all .2s}.interest-card:hover{border-color:var(--color-secondary);transform:translateY(-2px)}.interest-card.selected{background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border-color:var(--color-secondary);color:#fff}.interest-icon{font-size:32px}.interest-name{font-size:13px;text-align:center}.interest-card.selected .interest-name{color:#fff}.languages-section,.skills-section{margin-bottom:32px}.languages-section h3,.skills-section h3{font-family:var(--font-accent);font-size:18px;color:var(--color-primary);margin-bottom:8px}.skills-list{display:flex;flex-direction:column;gap:16px}.skill-item{padding:20px;background:var(--color-white);border:2px solid var(--color-border);border-radius:16px;transition:all .3s ease;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.04)}.skill-item:hover{box-shadow:0 4px 16px rgba(47,191,155,.12)}.skill-item.selected,.skill-item:hover{border-color:var(--color-secondary);transform:translateY(-2px)}.skill-item.selected{background:linear-gradient(135deg,rgba(47,191,155,.08),rgba(38,160,128,.05));box-shadow:0 4px 20px rgba(47,191,155,.15)}.skill-header{margin-bottom:12px}.skill-checkbox{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:600;font-size:15px;color:var(--color-text);width:100%}.skill-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-secondary);flex-shrink:0}.skill-checkbox span{flex:1 1;font-family:var(--font-accent);letter-spacing:.3px}.skill-item.selected .skill-checkbox{color:var(--color-primary)}.skill-item.selected .skill-checkbox input[type=checkbox]{accent-color:var(--color-secondary)}.skill-slider{display:flex;align-items:center;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(47,191,155,.2)}.skill-slider input[type=range]{flex:1 1;height:8px;border-radius:4px;background:linear-gradient(to right,var(--color-border) 0,var(--color-border) 100%);outline:none;-webkit-appearance:none;cursor:pointer}.skill-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);cursor:pointer;box-shadow:0 2px 8px rgba(47,191,155,.3);-webkit-transition:all .2s;transition:all .2s}.skill-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 4px 12px rgba(47,191,155,.4)}.skill-slider input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);cursor:pointer;border:none;box-shadow:0 2px 8px rgba(47,191,155,.3);-moz-transition:all .2s;transition:all .2s}.skill-slider input[type=range]::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 4px 12px rgba(47,191,155,.4)}.skill-value{font-family:var(--font-accent);font-weight:700;font-size:16px;color:var(--color-secondary);min-width:70px;text-align:right;background:rgba(47,191,155,.1);padding:6px 12px;border-radius:8px}.languages-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px}.language-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--color-white);border:2px solid var(--color-border);border-radius:16px;transition:all .3s ease;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.04)}.language-item:hover{box-shadow:0 4px 16px rgba(47,191,155,.12)}.language-item.selected,.language-item:hover{border-color:var(--color-secondary);transform:translateY(-2px)}.language-item.selected{background:linear-gradient(135deg,rgba(47,191,155,.08),rgba(38,160,128,.05));box-shadow:0 4px 20px rgba(47,191,155,.15)}.language-checkbox{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:600;font-size:15px;color:var(--color-text);flex:1 1}.language-checkbox span{font-family:var(--font-accent);letter-spacing:.3px}.language-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-secondary);flex-shrink:0}.language-item.selected .language-checkbox,.language-level{color:var(--color-primary)}.language-level{padding:8px 14px;border:2px solid var(--color-secondary);border-radius:10px;font-size:13px;font-weight:600;background:var(--color-white);cursor:pointer;transition:all .2s;font-family:var(--font-accent)}.language-level:hover{background:rgba(47,191,155,.05);border-color:var(--color-secondary)}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px}.goal-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-background);border:2px solid var(--color-border);border-radius:12px;cursor:pointer;transition:all .2s;text-align:left}.goal-card:hover{border-color:var(--color-secondary);transform:translateY(-2px)}.goal-card.selected{background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border-color:var(--color-secondary);color:#fff}.goal-check{width:24px;height:24px;border-radius:50%;background:var(--color-border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#fff;flex-shrink:0}.goal-card.selected .goal-check{background:#fff;color:var(--color-secondary)}.goal-text{font-size:14px;font-weight:500;flex:1 1}.preview-summary{background:var(--color-background);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:12px}.summary-item{font-size:14px;color:var(--color-text)}.summary-item strong{color:var(--color-primary);font-weight:600}.onboarding-actions{display:flex;gap:12px;padding-top:24px;border-top:1px solid var(--color-border)}.actions-spacer{flex:1 1}.btn-primary,.btn-secondary{padding:14px 32px;border-radius:12px;font-family:var(--font-accent);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px rgba(47,191,155,.3)}.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-border)}.btn-secondary:hover{background:var(--color-background)}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:18px;color:var(--color-text-secondary)}.dashboard-page{min-height:100vh;background:var(--color-background)}.dashboard-header{background:var(--color-white);border-bottom:1px solid var(--color-border);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:70px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.dashboard-header-left{display:flex;align-items:center;gap:16px}.dashboard-breadcrumb{display:flex;align-items:center;gap:8px;font-family:var(--font-secondary);color:var(--color-text-secondary)}.breadcrumb-separator{color:var(--color-border)}.dashboard-header-right{display:flex;align-items:center;gap:16px}.user-info{display:flex;align-items:center;gap:12px}.user-badge{font-family:var(--font-accent);font-weight:600;color:var(--color-primary)}.plan-badge,.specialty-badge{padding:4px 12px;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);color:#fff;font-size:12px;font-weight:600;border-radius:20px;text-transform:uppercase}.logout-button,.nav-button{padding:10px 20px;background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;font-family:var(--font-secondary);font-size:14px;color:var(--color-text);cursor:pointer;transition:all .2s}.logout-button:hover,.nav-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.dashboard-content{max-width:1400px;margin:0 auto;padding:32px 40px 80px}.dashboard-welcome{margin-bottom:32px}.dashboard-welcome h1{font-family:var(--font-accent);font-size:32px;font-weight:700;color:var(--color-primary);margin-bottom:8px}.dashboard-welcome p{font-size:16px;color:var(--color-text-secondary)}.privacy-notice{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:12px 20px;background:#eef2ff;border-radius:8px;font-size:14px;color:#4f46e5}.privacy-icon{font-size:16px}.stats-section{margin-bottom:32px}.stats-section h2{font-family:var(--font-accent);font-size:20px;color:var(--color-primary);margin-bottom:20px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px}.kpi-grid.four{grid-template-columns:repeat(4,1fr)}.kpi-card{background:var(--color-white);border-radius:16px;padding:24px;border:1px solid var(--color-border);transition:transform .2s,box-shadow .2s}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.06)}.kpi-card.highlight{background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border:none;color:#fff}.kpi-card.highlight .kpi-label,.kpi-card.highlight .kpi-percentage,.kpi-card.highlight .kpi-value{color:#fff}.kpi-icon{font-size:28px;margin-bottom:12px}.kpi-value{font-family:var(--font-accent);font-size:36px;font-weight:700;color:var(--color-primary);line-height:1}.kpi-label{font-family:var(--font-secondary);font-size:14px;color:var(--color-text-secondary);margin-top:8px}.kpi-percentage{font-size:13px;color:var(--color-secondary);margin-top:4px}.charts-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;margin-bottom:32px}.chart-section{background:var(--color-white);border-radius:16px;padding:24px;border:1px solid var(--color-border)}.chart-section h3{font-family:var(--font-accent);font-size:18px;color:var(--color-primary);margin-bottom:20px}.bar-chart{display:flex;align-items:flex-end;justify-content:space-between;height:200px;padding:0 10px}.bar-item{display:flex;flex-direction:column;align-items:center;flex:1 1}.bar-wrapper{display:flex;gap:4px;align-items:flex-end;height:180px}.bar{width:24px;border-radius:4px 4px 0 0;transition:height .3s}.bar-vistas{background:linear-gradient(180deg,var(--color-secondary) 0,#26a080 100%)}.bar-postulaciones{background:linear-gradient(180deg,var(--color-primary) 0,#1a4a6e 100%)}.bar-label{font-size:12px;color:var(--color-text-secondary);margin-top:8px}.chart-legend{display:flex;justify-content:center;gap:24px;margin-top:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary)}.legend-color.vistas{background:var(--color-secondary)}.legend-color.postulaciones{background:var(--color-primary)}.interests-chart{display:flex;flex-direction:column;gap:16px}.interest-bar{display:grid;grid-template-columns:180px 1fr 50px;grid-gap:12px;gap:12px;align-items:center}.interest-info{display:flex;flex-direction:column}.interest-name{font-family:var(--font-secondary);font-size:14px;font-weight:500;color:var(--color-text)}.interest-count{font-size:12px;color:var(--color-text-secondary)}.interest-progress{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.interest-fill{height:100%;background:linear-gradient(90deg,var(--color-secondary) 0,#26a080 100%);border-radius:4px;transition:width .5s}.interest-percentage{font-family:var(--font-accent);font-size:14px;font-weight:600;color:var(--color-secondary);text-align:right}.bottom-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;margin-bottom:32px}.list-section{background:var(--color-white);border-radius:16px;padding:24px;border:1px solid var(--color-border)}.list-section h3{font-family:var(--font-accent);font-size:18px;color:var(--color-primary);margin-bottom:20px}.section-hint{font-size:13px;color:var(--color-text-secondary);margin-top:-12px;margin-bottom:16px}.ranking-list{display:flex;flex-direction:column;gap:12px}.ranking-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--color-background);border-radius:8px}.ranking-position{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;border-radius:50%;font-family:var(--font-accent);font-size:12px;font-weight:600}.ranking-info{flex:1 1}.ranking-title{font-family:var(--font-secondary);font-size:14px;font-weight:500;color:var(--color-text);display:block}.ranking-stats{font-size:12px;color:var(--color-text-secondary)}.achievements-list{display:flex;flex-direction:column;gap:16px}.achievement-item{display:flex;align-items:center;gap:16px}.achievement-icon{font-size:32px}.achievement-info{display:flex;flex-direction:column}.achievement-count{font-family:var(--font-accent);font-size:24px;font-weight:700;color:var(--color-secondary);line-height:1}.achievement-desc{font-size:13px;color:var(--color-text-secondary)}.public-posts-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.public-post-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--color-background);border-radius:8px}.post-avatar{width:36px;height:36px}.post-info{flex:1 1;display:flex;flex-direction:column}.post-student{font-family:var(--font-secondary);font-weight:500;color:var(--color-text)}.post-date,.post-opportunity,.section-note{font-size:12px}.section-note{display:flex;align-items:flex-start;gap:8px;padding:12px;background:#fef3c7;border-radius:8px;color:#92400e}.note-icon{flex-shrink:0}.add-opportunity-section{margin-top:32px}.add-opportunity-card{background:linear-gradient(135deg,var(--color-primary) 0,#1a4a6e 100%);border-radius:16px;padding:32px;text-align:center;color:#fff}.add-opportunity-icon{font-size:48px;margin-bottom:16px}.add-opportunity-card h3{font-family:var(--font-accent);font-size:22px;margin-bottom:12px}.add-opportunity-card p{font-size:16px;opacity:.9;max-width:600px;margin:0 auto 24px}.add-opportunity-button{padding:14px 32px;background:#fff;border:none;border-radius:8px;color:var(--color-primary);font-family:var(--font-accent);font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s}.add-opportunity-button:hover{transform:scale(1.05)}.profesor-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;margin-bottom:32px;align-items:start}.alertas-section,.cursos-section{background:var(--color-white);border-radius:16px;padding:24px;border:1px solid var(--color-border);display:flex;flex-direction:column;height:clamp(300px,42vh,440px);margin:0}.alertas-section h3,.cursos-section h3{font-family:var(--font-accent);font-size:18px;color:var(--color-primary);margin:0 0 20px;position:relative;z-index:2}.cursos-list{display:flex;flex-direction:column;gap:10px;flex:1 1;min-height:0;overflow-y:auto;padding-right:6px;position:relative;z-index:1}.cursos-section .curso-card{padding:12px 14px;background:var(--color-background);border:1.5px solid transparent;border-radius:12px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.cursos-section .curso-card.selected,.cursos-section .curso-card:hover{border-color:var(--color-secondary);background:#fff;transform:none;box-shadow:none}.curso-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.curso-header h4{font-family:var(--font-accent);font-size:15px;color:var(--color-primary)}.curso-stats{font-size:12px;color:var(--color-text-secondary)}.curso-details{display:flex;gap:14px;align-items:flex-start}.curso-metric{display:flex;align-items:baseline;gap:6px}.metric-value{font-family:var(--font-accent);font-size:20px;font-weight:700;color:var(--color-secondary);line-height:1}.metric-label{font-size:12px;color:var(--color-text-secondary)}.curso-interests{flex:1 1}.interests-label{font-size:11px;color:var(--color-text-secondary);display:block;margin-bottom:6px}.interests-tags{display:flex;flex-wrap:wrap;gap:5px}.interest-tag{padding:3px 9px;background:#fff;border:1px solid var(--color-border);border-radius:12px;font-size:11px;color:var(--color-text)}.alertas-list{display:flex;flex-direction:column;gap:12px;flex:1 1;min-height:0;overflow-y:auto;padding-right:6px}.panel-empty{margin:0;min-height:150px;justify-content:center;text-align:center;border:1px dashed var(--color-border)}.alerta-card,.panel-empty{display:flex;align-items:center;background:var(--color-background);border-radius:12px;padding:16px}.alerta-card{gap:12px;border-left:4px solid var(--color-accent)}.alerta-card.urgente{border-left-color:#ef4444;background:#fef2f2}.alerta-icon{font-size:20px}.alerta-info{flex:1 1}.alerta-titulo{font-family:var(--font-secondary);font-size:14px;font-weight:500;color:var(--color-text);display:block}.alerta-meta{font-size:12px;color:var(--color-text-secondary)}.alerta-action{padding:8px 16px;background:var(--color-primary);border:none;border-radius:6px;color:#fff;font-size:13px;cursor:pointer}.recomendar-section{background:var(--color-white);border-radius:16px;padding:24px;border:1px solid var(--color-border);margin-bottom:32px}.recomendar-section h3{font-family:var(--font-accent);font-size:18px;color:var(--color-primary);margin-bottom:8px}.oportunidades-recomendar{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:16px}.oportunidad-mini-card{padding:16px;background:var(--color-background);border-radius:12px;border:1px solid var(--color-border)}.oportunidad-mini-header{display:flex;justify-content:space-between;margin-bottom:8px}.oportunidad-tipo-badge{font-size:10px;text-transform:uppercase;color:var(--color-secondary);font-weight:600}.oportunidad-nivel{font-size:10px;color:var(--color-text-secondary)}.oportunidad-mini-card h4{font-family:var(--font-accent);font-size:14px;color:var(--color-primary);margin-bottom:8px;line-height:1.3}.oportunidad-mini-card p{font-size:12px;color:var(--color-text-secondary);line-height:1.4;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.oportunidad-mini-actions{display:flex;justify-content:space-between;align-items:center}.deadline{font-size:11px;color:var(--color-text-secondary)}.recomendar-btn{padding:6px 12px;background:var(--color-secondary);border:none;border-radius:6px;color:#fff;font-size:12px;cursor:pointer}.ver-todas-btn{padding:12px 24px;background:transparent;border:1px solid var(--color-primary);border-radius:8px;color:var(--color-primary);font-family:var(--font-secondary);font-size:14px;cursor:pointer;transition:all .2s}.ver-todas-btn:hover{background:var(--color-primary);color:#fff}.teacher-courses-grid,.teacher-students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px;margin-top:12px}.teacher-course-card,.teacher-student-card{border:1px solid var(--color-border);border-radius:12px;background:var(--color-background);padding:14px;display:flex;flex-direction:column;gap:8px}.teacher-course-card,.teacher-student-card.clickable{cursor:pointer}.teacher-course-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.teacher-course-header h4,.teacher-student-card h4{font-size:16px;color:var(--color-primary)}.teacher-course-header span,.teacher-course-metrics span,.teacher-student-card p{font-size:13px;color:var(--color-text-secondary)}.teacher-course-metrics{display:flex;flex-direction:column;gap:4px}.professional-courses-section{margin-top:8px}.professional-courses-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.professional-courses-tools{display:flex;align-items:center;justify-content:flex-end;width:100%}.professional-courses-search{width:min(420px,100%);border:1px solid var(--color-border);border-radius:10px;background:#fff;padding:10px 12px;font-size:14px;color:var(--color-text)}.professional-courses-search:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(47,191,155,.14)}.professional-courses-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:12px;background:#fff}.professional-courses-table{width:100%;border-collapse:collapse;min-width:920px}.professional-courses-table thead th{text-align:left;background:#f4f7fb;color:var(--color-primary);font-size:13px;font-weight:700;padding:12px 14px;border-bottom:1px solid var(--color-border);white-space:nowrap}.professional-courses-table tbody td{padding:12px 14px;border-bottom:1px solid #eef2f7;font-size:13px;color:var(--color-text);vertical-align:top}.professional-courses-table tbody tr:hover{background:#f8fbff}.course-rate-pill{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.course-rate-pill.good{background:#d1fae5;color:#047857}.course-rate-pill.mid{background:#fef3c7;color:#b45309}.course-rate-pill.low{background:#fee2e2;color:#b91c1c}.professional-courses-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}.professional-pagination{display:flex;align-items:center;gap:10px}.page-indicator{font-size:13px;color:var(--color-text-secondary);font-weight:600}.teacher-student-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}@media (max-width:768px){.professional-courses-header{flex-direction:column}.professional-courses-tools{justify-content:flex-start}.professional-courses-search{width:100%}.professional-courses-footer{flex-direction:column;align-items:flex-start}.professional-pagination{width:100%;justify-content:space-between}.teacher-student-detail-grid{grid-template-columns:1fr}}.docente-section{margin-bottom:32px}.docente-banner{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:16px;padding:32px;display:flex;justify-content:space-between;align-items:center;color:#fff}.coming-soon-badge{display:inline-block;padding:4px 12px;background:hsla(0,0%,100%,.2);border-radius:20px;font-size:12px;font-weight:600;margin-bottom:12px}.docente-banner h3{font-family:var(--font-accent);font-size:22px;margin-bottom:12px}.docente-banner p{font-size:15px;opacity:.9;max-width:600px}.docente-banner-icon{font-size:64px}.recursos-templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:20px;gap:20px}.recursos-template-card{display:flex;flex-direction:column;gap:12px;padding:20px;background:#fff;border:1px solid #e8e8e8;border-radius:16px;text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden}.recursos-template-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--template-color,var(--color-secondary));border-radius:16px 16px 0 0}.recursos-template-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.1);transform:translateY(-2px)}.recursos-template-emoji{font-size:2rem;line-height:1}.recursos-template-emoji svg{width:28px;height:28px}.recursos-template-body{flex:1 1;display:flex;flex-direction:column;gap:6px}.recursos-template-body h3{font-size:1rem;font-weight:700;color:var(--color-primary);margin:0}.recursos-template-body p{font-size:.875rem;color:#555;line-height:1.5;margin:0}.recursos-template-tag{display:inline-block;margin-top:4px;font-size:.75rem}.recursos-template-download,.recursos-template-tag{color:var(--template-color,var(--color-secondary));font-weight:600}.recursos-template-download{display:flex;align-items:center;gap:6px;font-size:.82rem;padding-top:8px;border-top:1px solid #f0f0f0}.perfil-hero{position:relative;z-index:1;max-width:1760px;margin:0 auto;padding:32px 40px 28px}.perfil-hero-inner{background:linear-gradient(135deg,var(--color-primary) 0,#2d4a7a 60%,#1a3460 100%);border-radius:20px;padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 8px 32px rgba(30,41,59,.18);overflow:hidden;position:relative}.perfil-hero-inner:before{content:"";position:absolute;top:-60px;right:-60px;width:280px;height:280px;border-radius:50%;background:rgba(47,191,155,.12)}.perfil-hero-inner:after{content:"";position:absolute;bottom:-80px;left:40%;width:200px;height:200px;border-radius:50%;background:hsla(0,0%,100%,.05)}.perfil-hero-left{display:flex;align-items:center;gap:24px;position:relative;z-index:1}.perfil-hero-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;border:3px solid hsla(0,0%,100%,.25);flex-shrink:0}.perfil-hero-avatar,.perfil-hero-info h1{font-family:var(--font-accent);color:#fff}.perfil-hero-info h1{font-size:26px;font-weight:800;margin-bottom:4px}.perfil-hero-info p{font-size:15px;color:hsla(0,0%,100%,.75);margin-bottom:4px}.perfil-hero-email{display:block;font-size:13px;color:hsla(0,0%,100%,.5)}.perfil-hero-stats{display:flex;align-items:center;gap:32px;position:relative;z-index:1}.perfil-hero-stat{text-align:center}.perfil-hero-stat-num{display:block;font-family:var(--font-accent);font-size:32px;font-weight:800;color:var(--color-secondary);line-height:1}.perfil-hero-stat-label{display:block;font-size:12px;color:hsla(0,0%,100%,.6);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.perfil-hero-stat-divider{width:1px;height:40px;background:hsla(0,0%,100%,.15)}.perfil-main{position:relative;z-index:1;max-width:1760px;margin:0 auto;padding:0 40px 80px}.perfil-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-bottom:20px}.perfil-col-left,.perfil-col-right{display:flex;flex-direction:column;gap:20px}.perfil-card{background:var(--color-white);border-radius:18px;padding:24px;border:1px solid var(--color-border);box-shadow:0 2px 12px rgba(30,41,59,.05);transition:box-shadow .2s}.perfil-card:hover{box-shadow:0 4px 24px rgba(30,41,59,.1)}.perfil-card-full{margin-top:0}.perfil-card-objetivo{background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border:none}.perfil-card-objetivo .perfil-card-title-row h2,.perfil-card-objetivo .perfil-card-title-row span{color:#fff}.objetivo-titulo{font-family:var(--font-accent);font-size:20px;font-weight:700;color:#fff;margin:12px 0 8px}.objetivo-desc{font-size:14px;color:hsla(0,0%,100%,.85);line-height:1.6}.perfil-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.perfil-card-title-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}.perfil-card-icon{font-size:20px;line-height:1}.perfil-card-icon svg{width:20px;height:20px}.perfil-card-title-row h2{font-family:var(--font-accent);font-size:17px;font-weight:700;color:var(--color-primary);margin:0}.perfil-card-hint{font-size:13px;color:var(--color-text-secondary);margin-bottom:16px}.perfil-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.perfil-btn-primary{background:var(--color-secondary);color:#fff;border:none;border-radius:8px;padding:6px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.perfil-btn-primary:hover{background:#26a080}.perfil-btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:8px;padding:6px 14px;font-size:13px;cursor:pointer;transition:border-color .15s}.perfil-btn-ghost:hover{border-color:var(--color-text-secondary)}.perfil-saved-badge{font-size:12px;color:var(--color-secondary);font-weight:600}.perfil-btn-outline-white{background:hsla(0,0%,100%,.15);color:#fff;border:1px solid hsla(0,0%,100%,.4);border-radius:8px;padding:6px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.perfil-btn-outline-white:hover{background:hsla(0,0%,100%,.25)}.perfil-edit-fields{display:flex;flex-direction:column;gap:6px;margin-top:12px}.perfil-field-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.perfil-field-label-white{color:hsla(0,0%,100%,.7)}.perfil-input{width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--color-border);font-size:14px;background:var(--color-background);color:var(--color-text);outline:none;transition:border-color .15s;box-sizing:border-box}.perfil-input:focus{border-color:var(--color-secondary)}.perfil-input-dark{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.2);color:#fff}.perfil-input-dark::placeholder{color:hsla(0,0%,100%,.45)}.perfil-input-dark:focus{border-color:hsla(0,0%,100%,.6)}.perfil-textarea{width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--color-border);font-size:14px;font-family:inherit;background:var(--color-background);color:var(--color-text);outline:none;resize:vertical;transition:border-color .15s;box-sizing:border-box}.perfil-textarea:focus{border-color:var(--color-secondary)}.perfil-skill-edit-row{display:flex;align-items:center;gap:8px;width:100%;padding:4px 0}.perfil-select{padding:7px 10px;border-radius:8px;border:1px solid var(--color-border);font-size:13px;background:var(--color-background);color:var(--color-text);outline:none;cursor:pointer;flex:1 1}.perfil-select:focus{border-color:var(--color-secondary)}.perfil-select-sm{flex:0 0 140px;min-width:0}.perfil-slider{flex:1 1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;outline:none;cursor:pointer}.perfil-slider-strong{background:linear-gradient(to right,var(--color-secondary) 0,var(--color-secondary) var(--val,60%),#e2e8f0 var(--val,60%));accent-color:var(--color-secondary)}.perfil-slider-improve{accent-color:#f59e0b}.perfil-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid;cursor:pointer}.perfil-slider-val{font-size:12px;font-weight:700;flex-shrink:0;width:28px;text-align:right}.perfil-slider-val.strong{color:var(--color-secondary)}.perfil-slider-val.improve{color:#f59e0b}.perfil-idioma-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.perfil-add-btn{margin-top:10px;background:none;border:1px dashed var(--color-border);border-radius:8px;padding:8px 14px;font-size:13px;color:var(--color-text-secondary);cursor:pointer;width:100%;text-align:center;transition:border-color .15s,color .15s}.perfil-add-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.perfil-remove-btn{background:none;border:none;color:#ef4444;font-size:14px;cursor:pointer;padding:2px 4px;border-radius:4px;flex-shrink:0;opacity:.7;transition:opacity .15s}.perfil-remove-btn:hover{opacity:1}.perfil-empty-hint{font-size:13px;color:var(--color-text-secondary);font-style:italic}.habilidad-valor.strong{color:var(--color-secondary)}.habilidad-valor.improve{color:#f59e0b}.perfil-section{background:var(--color-white);border-radius:18px;padding:24px;border:1px solid var(--color-border)}.perfil-section.full-width{grid-column:1/-1}.section-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.perfil-section h2{font-family:var(--font-accent);font-size:18px;color:var(--color-primary);margin-bottom:16px}.section-header-with-action h2{margin-bottom:0}.edit-button{padding:8px 16px;background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.edit-button:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.intereses-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.interes-chip{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--color-background);border:2px solid transparent;border-radius:12px;font-size:14px;cursor:default;transition:all .2s;text-align:left}.interes-chip.selected{border-color:var(--color-secondary);background:rgba(47,191,155,.1)}.interes-chip.editable{cursor:pointer}.interes-chip.editable:hover{border-color:var(--color-secondary)}.interes-icon{font-size:20px}.interes-nombre{flex:1 1;color:var(--color-text)}.check-icon{color:var(--color-secondary);font-weight:700}.objetivo-section{background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%)!important;color:#fff}.objetivo-section h2{color:#fff}.objetivo-card h3{font-family:var(--font-accent);font-size:20px;margin-bottom:8px}.objetivo-card p{font-size:15px;opacity:.95;line-height:1.5}.idiomas-list{display:flex;flex-direction:column;gap:12px}.idioma-item{display:flex;justify-content:space-between;padding:12px 16px;background:var(--color-background);border-radius:8px}.idioma-nombre{font-weight:500;color:var(--color-text)}.idioma-nivel{color:var(--color-secondary);font-weight:600}.habilidades-list{gap:16px}.habilidad-item,.habilidades-list{display:flex;flex-direction:column}.habilidad-item{gap:8px}.habilidad-header{display:flex;justify-content:space-between}.habilidad-nombre{font-size:14px;color:var(--color-text)}.habilidad-valor{font-family:var(--font-accent);font-size:14px;font-weight:600;color:var(--color-secondary)}.habilidad-bar{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.habilidad-fill{height:100%;border-radius:4px}.habilidad-fill.strong{background:linear-gradient(90deg,var(--color-secondary) 0,#26a080 100%)}.habilidad-fill.improve{background:linear-gradient(90deg,var(--color-accent) 0,#e0a800 100%)}.badges-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.badge-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:var(--color-background);border-radius:12px;text-align:center}.badge-icon{font-size:32px}.badge-name{font-size:12px;color:var(--color-text);font-weight:500}.perfil-postulaciones-hint{margin:0 0 16px;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.postulaciones-table{border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.postulaciones-table .table-header,.postulaciones-table .table-row{grid-template-columns:minmax(0,2fr) 100px minmax(0,1.35fr) 110px}.table-header{display:grid;padding:14px 20px;background:var(--color-background);font-family:var(--font-accent);font-size:12px;text-transform:uppercase;color:var(--color-text-secondary);font-weight:600}.table-row{display:grid;padding:16px 20px;border-top:1px solid var(--color-border);align-items:center}.post-oportunidad{font-weight:500;color:var(--color-primary)}.post-fecha{color:var(--color-text-secondary);font-size:14px}.post-estado{padding:4px 12px;border-radius:20px;font-size:13px;font-weight:500;display:inline-block;text-align:center}.estado-pendiente{background:#fef3c7;color:#92400e}.estado-enviada{background:#dbeafe;color:#1d4ed8}.estado-aceptada{background:#d1fae5;color:#047857}.estado-rechazada{background:#fee2e2;color:#dc2626}.post-seguimiento{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;display:inline-block;text-align:center;max-width:100%}.seguimiento-sin_actualizar{background:#f3f4f6;color:#4b5563}.seguimiento-postulo_externo{background:#e0e7ff;color:#3730a3}.seguimiento-aceptado{background:#d1fae5;color:#047857}.seguimiento-rechazado{background:#fee2e2;color:#b91c1c}.seguimiento-no_interesa{background:#fef9c3;color:#854d0e}.post-seg-btn{font-size:13px;padding:6px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-primary);font-weight:600;cursor:pointer}.post-seg-btn:hover{background:var(--color-background)}.post-seg-modal-overlay{position:fixed;inset:0;z-index:1200;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:24px}.post-seg-modal{background:var(--color-white);border-radius:16px;max-width:440px;width:100%;padding:24px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.post-seg-modal-title{margin:0 0 8px;font-size:1.25rem;font-weight:700;color:var(--color-text)}.post-seg-modal-sub{margin:0 0 12px;font-size:14px;color:var(--color-primary);font-weight:600}.post-seg-modal-hint{margin:0 0 20px;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.post-seg-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:8px}.post-seg-select{margin-bottom:16px}.post-seg-select,.post-seg-textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--color-border);font-size:14px}.post-seg-textarea{margin-bottom:12px;font-family:inherit;resize:vertical}.post-seg-error{color:#dc2626;font-size:13px;margin:0 0 12px}.post-seg-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.visible-badge{color:var(--color-secondary);font-weight:500}.private-badge{color:var(--color-text-secondary)}.hijos-section{margin-bottom:32px}.hijos-section h2{font-family:var(--font-accent);font-size:20px;color:var(--color-primary);margin-bottom:20px}.hijo-card{background:var(--color-white);border-radius:16px;padding:24px;border:1px solid var(--color-border);margin-bottom:20px}.hijo-header{gap:16px;padding-bottom:20px;border-bottom:1px solid var(--color-border);margin-bottom:20px}.hijo-avatar,.hijo-header{display:flex;align-items:center}.hijo-avatar{width:60px;height:60px;justify-content:center;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);color:#fff;border-radius:50%;font-family:var(--font-accent);font-size:24px;font-weight:600}.hijo-info{flex:1 1}.hijo-info h3{font-family:var(--font-accent);font-size:20px;color:var(--color-primary)}.hijo-info p{font-size:14px;color:var(--color-text-secondary)}.ultimo-acceso{text-align:right}.acceso-label{display:block;font-size:12px;color:var(--color-text-secondary)}.acceso-fecha{font-family:var(--font-accent);font-weight:600;color:var(--color-secondary)}.hijo-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-bottom:20px}.hijo-stat{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-background);border-radius:12px}.hijo-stat.highlight{background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);color:#fff}.hijo-stat .stat-icon{font-size:24px}.hijo-stat .stat-content{display:flex;flex-direction:column}.hijo-stat .stat-value{font-family:var(--font-accent);font-size:24px;font-weight:700;color:var(--color-primary);line-height:1}.hijo-stat.highlight .stat-value{color:#fff}.hijo-stat .stat-label{font-size:13px;color:var(--color-text-secondary)}.hijo-stat.highlight .stat-label{color:hsla(0,0%,100%,.9)}.hijo-intereses{margin-bottom:20px}.hijo-intereses h4{font-size:14px;color:var(--color-text-secondary);margin-bottom:12px}.hijo-actions{display:flex;gap:12px}.action-btn{padding:12px 24px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.action-btn.primary{background:var(--color-secondary);border:none;color:#fff}.action-btn.primary:hover{background:#26a080}.consejos-section{margin-bottom:32px}.consejos-section h2{font-family:var(--font-accent);font-size:20px;color:var(--color-primary);margin-bottom:20px}.consejos-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.consejo-card{background:var(--color-white);border-radius:12px;padding:20px;border:1px solid var(--color-border)}.consejo-icon{font-size:32px;display:block;margin-bottom:12px}.consejo-card h4{font-family:var(--font-accent);font-size:15px;color:var(--color-primary);margin-bottom:8px}.consejo-card p{font-size:13px;color:var(--color-text-secondary);line-height:1.5}.empty-state{text-align:center;padding:48px 24px;background:var(--color-white);border-radius:16px;border:1px solid var(--color-border)}.empty-icon{font-size:48px;display:block;margin-bottom:16px}.empty-state p{font-size:16px;color:var(--color-text);margin-bottom:8px}.empty-hint{font-size:14px;color:var(--color-text-secondary)}.visibility-option{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.checkbox-container{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px}.checkbox-container input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-secondary);cursor:pointer}.checkbox-label{color:var(--color-text);font-weight:500}.visibility-hint{font-size:13px;color:var(--color-text-secondary);margin-top:10px;padding:10px 14px;background:var(--color-background);border-radius:8px}.success-state{text-align:center;padding:32px 24px}.success-icon{font-size:48px;margin-bottom:16px}.success-state h3{font-family:var(--font-accent);font-size:20px;color:var(--color-primary);margin-bottom:8px}.success-state p{color:var(--color-text-secondary);margin-bottom:16px}.visibility-notice{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#d1fae5;border-radius:8px;font-size:14px;color:#047857;margin-bottom:16px}.back-button{padding:12px 24px;background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:14px;cursor:pointer}@media (max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.bottom-grid,.charts-grid,.profesor-grid{grid-template-columns:1fr}.oportunidades-recomendar{grid-template-columns:repeat(2,1fr)}.perfil-grid{grid-template-columns:1fr}.perfil-hero{padding:16px}.perfil-hero-inner{flex-direction:column;align-items:flex-start;gap:20px;padding:24px}.perfil-hero-stats{gap:20px;width:100%;justify-content:flex-start}.perfil-main{padding:0 16px 60px}.intereses-grid{grid-template-columns:repeat(4,1fr)}.consejos-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.alertas-section,.cursos-section,.recomendar-section{padding:16px}.alertas-section,.cursos-section{height:clamp(280px,48vh,420px)}.alertas-section h3,.cursos-section h3,.recomendar-section h3{font-size:16px}.curso-details{flex-direction:column;gap:12px}.oportunidad-mini-actions{flex-direction:column;align-items:flex-start;gap:10px}.recomendar-btn,.ver-todas-btn{width:100%;text-align:center}.login-container{padding:32px 24px}.demo-users,.registro-layout{grid-template-columns:1fr}.registro-sidebar{position:relative;max-height:none;padding:32px 24px}.registro-form-wrapper{padding:40px 24px;min-height:auto}.sidebar-stats{grid-template-columns:repeat(3,1fr);gap:16px}.stat-number{font-size:24px}.progress-steps{gap:4px}.step-label{font-size:9px}.dashboard-header{flex-wrap:wrap;height:auto;padding:12px 16px;gap:12px}.dashboard-content{padding:24px 16px}.kpi-grid{grid-template-columns:1fr}.perfil-header-section{flex-direction:column;text-align:center}.perfil-stats-quick{justify-content:center}.badges-grid,.intereses-grid{grid-template-columns:repeat(2,1fr)}.consejos-grid,.hijo-stats{grid-template-columns:1fr}.postulaciones-table .table-header,.postulaciones-table .table-row{grid-template-columns:1fr;gap:8px}.oportunidades-recomendar{grid-template-columns:1fr}}.dashboard-institucional{min-height:100vh;background:var(--bg)}.dash-header{background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:200;box-shadow:0 1px 4px rgba(15,42,68,.06)}.dash-header-top{display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:64px;gap:16px}.dash-header-left{gap:14px;flex-shrink:0}.dash-header-left,.dash-logo{display:flex;align-items:center}.dash-logo{text-decoration:none}.dash-header-info{display:flex;flex-direction:column;gap:1px}.dash-title{font-family:var(--font-heading);font-size:15px;font-weight:700;color:var(--ink);line-height:1.2}.dash-colegio-name{font-family:var(--font-body);font-size:12px;color:var(--ink-muted);line-height:1.2}.dash-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dash-plan-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--gold-50,#fffbeb);border:1px solid var(--gold-200,#fde68a);border-radius:var(--r-full);font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--gold-700,#92400e)}.period-select{padding:7px 12px;border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--font-body);font-size:13px;background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color .15s}.period-select:focus{outline:none;border-color:var(--brand)}.dash-export-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:var(--brand);border:none;border-radius:var(--r-md);color:#fff;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,transform .15s}.dash-export-btn:hover{background:var(--brand-strong);transform:translateY(-1px)}.dash-export-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.dash-tabs{display:flex;padding:0 24px;gap:0;overflow-x:auto;scrollbar-width:none}.dash-tabs::-webkit-scrollbar{display:none}.dash-tab{padding:12px 16px;background:none;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--ink-muted);cursor:pointer;border:none;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s}.dash-tab:hover{color:var(--ink)}.dash-tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.student-chat-root{position:fixed;right:18px;bottom:18px;z-index:1200}.student-chat-bubble{width:54px;height:54px;border:none;border-radius:9999px;background:var(--color-secondary);color:#fff;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.18)}.student-chat-panel{width:min(360px,calc(100vw - 24px));height:440px;margin-bottom:12px;background:#fff;border:1px solid var(--color-border);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.16)}.student-chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--color-border)}.student-chat-header-actions{display:flex;align-items:center;gap:8px}.student-chat-title{margin:0;font-size:14px}.student-chat-clear{border:1px solid var(--color-border);background:#fff;color:#546271;border-radius:6px;font-size:12px;padding:4px 8px;cursor:pointer}.student-chat-clear:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.student-chat-close{border:none;background:transparent;color:#5f6368;font-size:18px;cursor:pointer}.student-chat-messages{flex:1 1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.student-chat-row{display:flex;flex-direction:column;gap:6px}.student-chat-msg{margin:0;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.4;white-space:pre-wrap}.student-chat-msg.assistant{background:#f4f7fb;color:#263238}.student-chat-msg.user{background:#143c64;color:#fff;align-self:flex-end}.student-chat-previews{display:grid;grid-gap:6px;gap:6px}.student-chat-preview-card{display:block;text-decoration:none;border:1px solid var(--color-border);border-radius:10px;padding:10px;background:#fff;transition:border-color .2s ease,transform .2s ease}.student-chat-preview-card:hover{border-color:var(--color-secondary);transform:translateY(-1px)}.student-chat-preview-card h4{margin:0 0 4px;font-size:13px;color:#16344f}.student-chat-preview-card p{margin:0 0 6px;font-size:12px;line-height:1.35;color:#3c4a57}.student-chat-preview-card span{font-size:11px;color:#66737f}.student-chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--color-border)}.student-chat-typing{display:inline-flex;align-items:center;gap:3px}.student-chat-typing-dot{width:6px;height:6px;border-radius:50%;background:#7a8b9b;opacity:.3;animation:chat-typing 1.2s infinite}.student-chat-typing-dot:nth-child(2){animation-delay:.15s}.student-chat-typing-dot:nth-child(3){animation-delay:.3s}@keyframes chat-typing{0%{opacity:.2;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}60%{opacity:.6;transform:translateY(0)}to{opacity:.2;transform:translateY(0)}}.student-chat-input{flex:1 1;min-width:0;border:1px solid var(--color-border);border-radius:8px;padding:10px;font-size:13px}.student-chat-send{border:none;border-radius:8px;padding:10px 12px;background:var(--color-secondary);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.student-chat-send:disabled{opacity:.5;cursor:not-allowed}.dash-main{max-width:1600px;margin:0 auto;padding:32px 40px 80px}.dash-alerts{display:flex;gap:16px;margin-bottom:32px}.dash-alert{flex:1 1;display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:12px;font-size:14px}.dash-alert.exito{background:#d1fae5;color:#047857}.dash-alert.info{background:#dbeafe;color:#1d4ed8}.dash-alert.alerta{background:#fef3c7;color:#92400e}.alert-date{margin-left:auto;font-size:12px;opacity:.8}.dash-section{margin-bottom:40px}.section-title{font-family:var(--font-accent);font-size:20px;font-weight:600;color:var(--color-primary);margin-bottom:20px;display:flex;align-items:center;gap:8px}.section-subtitle{font-size:14px;color:var(--color-text-secondary);margin-top:-12px;margin-bottom:16px}.section-header-flex{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.privacy-badge{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#eef2ff;border-radius:20px;font-size:13px;color:#4f46e5}.kpi-grid-inst{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px}.kpi-card-inst{background:var(--color-white);border-radius:16px;padding:24px;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s}.kpi-card-inst:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.06)}.kpi-card-inst.highlight{background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border:none;color:#fff;flex-direction:row;align-items:center;gap:16px}.kpi-card-inst.highlight .kpi-change,.kpi-card-inst.highlight .kpi-icon-inst,.kpi-card-inst.highlight .kpi-label-inst,.kpi-card-inst.highlight .kpi-value-inst{color:#fff}.kpi-icon-inst{font-size:28px}.kpi-value-inst{font-family:var(--font-accent);font-size:32px;font-weight:700;color:var(--color-primary);line-height:1}.kpi-label-inst{font-size:14px;color:var(--color-text-secondary)}.kpi-change{font-size:12px;font-weight:500}.kpi-change.positive{color:#10b981}.kpi-change.negative{color:#ef4444}.kpi-sublabel{font-size:12px;color:var(--color-text-secondary);opacity:.8}.charts-grid-inst{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:24px;gap:24px;margin-bottom:32px}.chart-card-inst{background:var(--color-white);border-radius:16px;padding:24px;border:1px solid var(--color-border)}.chart-card-inst.full-width{grid-column:1/-1}.chart-header{margin-bottom:20px}.chart-header h3{font-family:var(--font-accent);font-size:18px;font-weight:600;color:var(--color-primary);margin:0 0 4px}.chart-subtitle{font-size:13px;color:var(--color-text-secondary);margin:0}.chart-legend-custom{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.legend-item-custom{display:flex;align-items:center;gap:10px}.legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.legend-name{flex:1 1;font-size:13px;color:var(--color-text)}.legend-value{font-size:13px;font-weight:600;color:var(--color-primary)}.objectives-grid{display:flex;justify-content:space-around;gap:24px;padding:20px 0}.objective-item{display:flex;flex-direction:column;align-items:center;gap:12px}.objective-info{text-align:center}.objective-label{font-family:var(--font-accent);font-size:14px;font-weight:600;color:var(--color-primary)}.objective-detail{font-size:13px;color:var(--color-text-secondary)}.projection-note{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#d1fae5;border-radius:8px;font-size:14px;color:#047857;margin-top:16px}.retention-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:16px;gap:16px}.retention-card{background:var(--color-white);border-radius:12px;padding:20px;border:1px solid var(--color-border);text-align:center}.retention-card.highlight{background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border:none;color:#fff}.retention-card.highlight .retention-label,.retention-card.highlight .retention-sublabel,.retention-card.highlight .retention-value{color:#fff}.retention-value{font-family:var(--font-accent);font-size:28px;font-weight:700;color:var(--color-primary);line-height:1}.retention-label{font-size:13px;color:var(--color-text);margin-top:8px}.retention-sublabel{font-size:11px;color:var(--color-text-secondary);margin-top:4px}.table-card{background:var(--color-white);border-radius:16px;border:1px solid var(--color-border);overflow:hidden}.dash-table{width:100%;border-collapse:collapse}.dash-table thead{background:var(--color-background)}.dash-table th{padding:14px 20px;text-align:left;font-family:var(--font-accent);font-size:12px;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary)}.dash-table td,.dash-table th{border-bottom:1px solid var(--color-border)}.dash-table td{padding:16px 20px;font-size:14px;color:var(--color-text)}.dash-table tr:last-child td{border-bottom:none}.dash-table tr:hover{background:var(--color-background)}.progress-cell{display:flex;align-items:center;gap:12px}.progress-cell>div{flex:1 1}.highlight-number{font-weight:600}.trend-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.trend-badge.positive{background:#d1fae5;color:#047857}.trend-badge.negative{background:#fee2e2;color:#dc2626}.trend-badge.neutral{background:#f3f4f6;color:#6b7280}.trend-badge.info{background:#dbeafe;color:#1d4ed8}.professors-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:16px;gap:16px}.professor-card{background:var(--color-white);border-radius:12px;padding:20px;border:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;gap:12px;position:relative}.professor-rank{position:absolute;top:12px;left:12px;width:24px;height:24px;background:var(--color-secondary);font-size:12px}.professor-avatar,.professor-rank{display:flex;align-items:center;justify-content:center;color:#fff;border-radius:50%;font-weight:600}.professor-avatar{width:56px;height:56px;background:linear-gradient(135deg,var(--color-primary) 0,#1a4a6e 100%);font-family:var(--font-accent);font-size:18px}.professor-info{text-align:center}.professor-name{font-family:var(--font-accent);font-size:14px;font-weight:600;color:var(--color-primary)}.professor-subject{font-size:12px;color:var(--color-text-secondary)}.professor-stats{display:flex;gap:16px;margin-top:8px}.professor-stats .stat{text-align:center}.professor-stats .stat-value{font-family:var(--font-accent);font-size:18px;font-weight:700;color:var(--color-secondary);display:block}.professor-stats .stat-label{font-size:11px;color:var(--color-text-secondary)}.top-opportunities-list{display:flex;flex-direction:column;gap:12px}.top-opportunity-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--color-background);border-radius:12px}.opportunity-rank{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;border-radius:50%;font-family:var(--font-accent);font-size:14px;font-weight:600;flex-shrink:0}.top-opportunity-item .opportunity-info{flex:1 1}.top-opportunity-item .opportunity-title{font-family:var(--font-accent);font-size:14px;font-weight:600;color:var(--color-primary);margin-bottom:4px}.opportunity-type-badge{display:inline-block;padding:2px 8px;background:var(--color-secondary);color:#fff;border-radius:4px;font-size:11px;text-transform:uppercase}.opportunity-metrics{display:flex;gap:16px}.opportunity-metrics .metric{text-align:center;min-width:60px}.opportunity-metrics .metric-value{font-family:var(--font-accent);font-size:18px;font-weight:700;color:var(--color-primary);display:block}.opportunity-metrics .metric.highlight .metric-value{color:var(--color-secondary)}.opportunity-metrics .metric-label{font-size:11px;color:var(--color-text-secondary)}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.post-card{gap:12px;padding:16px;background:var(--color-white);border:1px solid var(--color-border);border-radius:12px}.post-avatar,.post-card{display:flex;align-items:center}.post-avatar{width:40px;height:40px;justify-content:center;background:var(--color-secondary);color:#fff;border-radius:50%;font-family:var(--font-accent);font-size:14px;font-weight:600;flex-shrink:0}.post-content{flex:1 1;min-width:0}.post-student{font-family:var(--font-accent);font-size:14px;font-weight:600;color:var(--color-primary)}.post-opportunity{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.status-badge{font-size:11px;font-weight:500}.status-badge.aceptada{background:#d1fae5;color:#047857}.status-badge.enviada{background:#dbeafe;color:#1d4ed8}.post-date{font-size:11px;color:var(--color-text-secondary)}.status-badge.pendiente{background:#fef3c7;color:#92400e}.status-badge.rechazada{background:#fee2e2;color:#b91c1c}.chart-card-inst--full-bleed{width:100%;max-width:100%;box-sizing:border-box}.chart-header--row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.section-title-inline{font-family:var(--font-accent);font-size:18px;font-weight:600;color:var(--color-primary);margin:0 0 4px}.section-header-flex--wrap{flex-wrap:wrap;gap:16px}.section-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.inst-per-page-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary)}.inst-per-page-select{min-width:72px}.dash-empty-hint{color:var(--color-text-secondary);padding:20px 24px;margin:0;font-size:14px}.dash-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:0 0 12px 12px}.dash-table--compact td,.dash-table--compact th{padding:10px 14px;font-size:13px;vertical-align:middle}.inst-col-rank{width:48px;text-align:center}.inst-rank-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;border-radius:999px;background:var(--color-primary);color:#fff;font-family:var(--font-accent);font-size:12px;font-weight:700}.inst-col-narrow,.inst-col-num{white-space:nowrap}.inst-col-num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inst-col-date,.inst-col-status{white-space:nowrap}.inst-col-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inst-cell-title{max-width:0;min-width:120px}.inst-cell-title .inst-opp-link{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--color-primary);font-weight:600;text-decoration:none}.inst-cell-title .inst-opp-link:hover{text-decoration:underline}.inst-cell-opp{color:var(--color-text);font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.inst-cell-student{display:flex;align-items:center;gap:10px;min-width:140px}.inst-student-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--color-secondary);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.opportunity-type-badge--table{font-size:10px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}.inst-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 4px 0;border-top:1px solid var(--color-border)}.inst-pager-meta{font-size:13px;color:var(--color-text-secondary)}.inst-pager-btns{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.inst-pager-page{font-size:13px;color:var(--color-text);padding:0 8px}.inst-pager-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-primary);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.inst-pager-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-background)}.inst-pager-btn:disabled{opacity:.45;cursor:not-allowed}@media (max-width:640px){.inst-pager{flex-direction:column;align-items:stretch}.inst-pager-btns{justify-content:center}}.post-pub-card{padding:0}.post-pub-scroll{border-radius:0}.post-pub-table{width:100%;table-layout:auto}.post-pub-table .post-pub-th-student{min-width:160px}.post-pub-table .post-pub-th-opp{min-width:200px}.post-pub-table .post-pub-th-date,.post-pub-table .post-pub-th-seg{width:1%;white-space:nowrap}.post-pub-td-student{vertical-align:middle}.post-pub-student-cell{display:flex;align-items:center;gap:10px}.post-pub-student-name{font-weight:600;color:var(--color-text)}.post-pub-td-opp{max-width:480px;line-height:1.45;color:var(--color-text);word-break:break-word}.post-pub-td-date,.post-pub-td-seg{vertical-align:middle}.post-pub-td-seg .post-seguimiento{max-width:220px;white-space:normal;line-height:1.25}.post-pub-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-top:1px solid var(--color-border);background:var(--color-background)}.post-pub-pager-center{flex:1 1 auto;display:flex;justify-content:center;align-items:center;min-width:0}.post-pub-page-nums{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.post-pub-page-num{min-width:36px;height:36px;padding:0 8px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-primary);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.post-pub-page-num:hover:not(.is-active){border-color:var(--color-primary);background:var(--color-white)}.post-pub-page-num.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;cursor:default}@media (max-width:720px){.post-pub-pager{flex-direction:column;align-items:stretch}.post-pub-pager .inst-pager-btns{justify-content:center}.post-pub-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.post-pub-table tbody tr{display:block;margin-bottom:14px;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;background:var(--color-white)}.post-pub-table tbody td{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 16px;border-bottom:1px solid var(--color-border);text-align:right;font-size:14px}.post-pub-table tbody tr td:last-child{border-bottom:none}.post-pub-table tbody td:before{content:attr(data-label);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.02em;color:var(--color-text-secondary);flex-shrink:0;padding-top:2px;text-align:left}.post-pub-td-student .post-pub-student-cell{flex:1 1;justify-content:flex-end;flex-wrap:wrap;text-align:right}.post-pub-td-opp{max-width:none;text-align:right;word-break:break-word}.post-pub-td-seg .post-seguimiento{margin-left:auto}}.benchmark-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;margin-bottom:20px}.benchmark-card{background:var(--color-white);border-radius:16px;padding:24px;border:2px solid var(--color-border)}.benchmark-card.your-school{border-color:var(--color-secondary);background:linear-gradient(135deg,rgba(47,191,155,.05),rgba(47,191,155,.1))}.benchmark-card.top{border-color:var(--color-accent);background:linear-gradient(135deg,rgba(242,201,76,.05),rgba(242,201,76,.1))}.benchmark-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.benchmark-icon{font-size:24px}.benchmark-title{font-family:var(--font-accent);font-size:16px;font-weight:600;color:var(--color-primary)}.benchmark-metrics{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.bench-metric{text-align:center}.bench-value{font-family:var(--font-accent);font-size:22px;font-weight:700;color:var(--color-primary);display:block}.bench-label{font-size:11px;color:var(--color-text-secondary)}.benchmark-insight{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#d1fae5;border-radius:12px;font-size:14px;color:#047857}.insight-icon{font-size:20px}.achievements-grid-inst{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.achievement-card-inst{background:var(--color-white);border-radius:16px;padding:24px;border:1px solid var(--color-border);display:flex;gap:16px;transition:transform .2s,box-shadow .2s}.achievement-card-inst:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.06)}.achievement-icon-inst{font-size:40px;flex-shrink:0}.achievement-content-inst{flex:1 1}.achievement-value-inst{font-family:var(--font-accent);font-size:32px;font-weight:700;color:var(--color-secondary);line-height:1}.achievement-title-inst{font-family:var(--font-accent);font-size:16px;font-weight:600;color:var(--color-primary);margin-top:4px}.achievement-desc-inst{font-size:13px;color:var(--color-text-secondary);margin-top:4px}.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px}.impact-card{background:linear-gradient(135deg,var(--color-primary) 0,#1a4a6e 100%);border-radius:16px;padding:24px;color:#fff;position:relative;overflow:hidden}.impact-value{font-family:var(--font-accent);font-size:36px;font-weight:700;line-height:1}.impact-label{font-size:14px;opacity:.9;margin-top:8px}.impact-icon{position:absolute;bottom:16px;right:16px;font-size:32px;opacity:.3}.success-stories-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.success-story-card{background:var(--color-white);border-radius:16px;padding:24px;border:1px solid var(--color-border)}.story-badge{display:inline-block;padding:6px 12px;background:linear-gradient(135deg,var(--color-accent) 0,#e0a800 100%);border-radius:20px;font-size:12px;margin-bottom:12px}.story-badge,.story-title{font-weight:600;color:var(--color-primary)}.story-title{font-family:var(--font-accent);font-size:18px;margin-bottom:8px}.story-description{font-size:14px;color:var(--color-text);line-height:1.5;margin-bottom:16px}.story-impact{display:flex;gap:8px}.impact-tag{padding:4px 10px;background:var(--color-background);border-radius:12px;font-size:12px;color:var(--color-text-secondary)}.executive-summary{background:var(--color-white);border-radius:16px;padding:32px;border:2px solid var(--color-secondary)}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.summary-header h2{font-family:var(--font-accent);font-size:22px;font-weight:600;color:var(--color-primary);margin:0}.download-report-btn{padding:12px 24px;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.download-report-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(47,191,155,.3)}.summary-content{display:flex;gap:40px}.summary-highlight{flex:1 1;display:flex;align-items:center;gap:20px;padding:24px;background:linear-gradient(135deg,rgba(47,191,155,.1),rgba(47,191,155,.05));border-radius:12px}.highlight-number{font-family:var(--font-accent);font-size:48px;font-weight:700;color:var(--color-secondary);line-height:1}.highlight-text{font-size:16px;color:var(--color-text);line-height:1.5}.summary-points{flex:1 1;display:flex;flex-direction:column;gap:12px}.summary-point{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--color-text)}.point-icon{font-size:18px}.dash-footer{margin-top:40px;padding-top:24px;border-top:1px solid var(--color-border)}.footer-content{justify-content:space-between;font-size:13px;color:var(--color-text-secondary)}.footer-content,.footer-left{display:flex;align-items:center}.footer-left{gap:8px}.institutional-banner{background:linear-gradient(135deg,var(--color-primary) 0,#1a4a6e 100%);border-radius:16px;padding:24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;color:#fff}.banner-content{display:flex;align-items:center;gap:16px}.banner-icon{font-size:40px}.banner-text h3{font-family:var(--font-accent);font-size:18px;font-weight:600;margin:0 0 4px}.banner-text p{font-size:13px;opacity:.9;margin:0;max-width:350px}.banner-button{padding:12px 24px;background:#fff;border:none;border-radius:8px;color:var(--color-primary);font-family:var(--font-accent);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.banner-button:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.2)}.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px;gap:20px}.profile-card{background:var(--color-white);border-radius:16px;padding:24px;border:1px solid var(--color-border);transition:transform .2s,box-shadow .2s}.profile-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.06)}.profile-card.full-width{grid-column:1/-1}.profile-card-header{margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--color-border)}.profile-card-header h3{font-family:var(--font-accent);font-size:18px;font-weight:600;color:var(--color-primary);margin:0}.profile-info-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.profile-info-list{display:flex;flex-direction:column;gap:16px}.profile-info-item{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.05)}.profile-info-item:last-child{border-bottom:none}.info-label{font-size:14px;font-weight:600;color:var(--color-text-secondary);min-width:140px}.info-value{font-size:14px;color:var(--color-text);text-align:right;flex:1 1}.plan-badge{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,var(--color-accent) 0,#e0a800 100%);border-radius:12px;font-size:13px;font-weight:600;color:var(--color-primary)}.status-active{color:#10b981;font-weight:600}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.profile-stat{text-align:center;padding:16px;background:var(--color-background);border-radius:12px}.stat-value{font-family:var(--font-accent);font-size:32px;font-weight:700;color:var(--color-secondary);line-height:1;margin-bottom:8px}.stat-label{font-size:13px;color:var(--color-text-secondary)}.privacy-compact-card{background:var(--color-white);border-radius:16px;padding:32px;border:1px solid var(--color-border)}.privacy-status-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;padding-bottom:24px;margin-bottom:32px;border-bottom:2px solid var(--color-border)}.privacy-status-item{display:flex;flex-direction:column;gap:8px}.privacy-status-label{font-size:13px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.privacy-status-value{font-size:15px;color:var(--color-text);font-weight:500}.privacy-status-value.active{color:#10b981;font-weight:600}.privacy-table-section{margin-bottom:32px}.privacy-table-section:last-of-type{margin-bottom:0}.privacy-table-title{font-family:var(--font-accent);font-size:16px;font-weight:600;color:var(--color-primary);margin-bottom:16px}.privacy-table{width:100%;border-collapse:collapse;font-size:14px}.privacy-table thead{background:var(--color-background);border-bottom:2px solid var(--color-border)}.privacy-table th{text-align:left;padding:12px 16px;font-weight:600;font-size:13px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.privacy-table td{padding:14px 16px;color:var(--color-text);border-bottom:1px solid rgba(0,0,0,.06)}.privacy-table tbody tr:hover{background:rgba(47,191,155,.02)}.privacy-table tbody tr:last-child td{border-bottom:none}.privacy-table-label{font-weight:600;color:var(--color-text);width:35%;min-width:200px}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-badge.success{background:#d1fae5;color:#047857}.status-badge.warning{background:#fef3c7;color:#92400e}.privacy-contact-section{margin-top:32px;padding-top:24px;border-top:2px solid var(--color-border)}.privacy-contact-info{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--color-text)}.privacy-contact-info div:first-child{font-size:15px;margin-bottom:4px}.privacy-contact-info strong{color:var(--color-primary);font-weight:600}@media (max-width:1400px){.kpi-grid-inst{grid-template-columns:repeat(4,1fr)}.professors-grid{grid-template-columns:repeat(3,1fr)}.achievements-grid-inst{grid-template-columns:repeat(2,1fr)}}@media (max-width:1200px){.kpi-grid-inst{grid-template-columns:repeat(2,1fr)}.charts-grid-inst{grid-template-columns:1fr}.retention-grid{grid-template-columns:repeat(3,1fr)}.benchmark-grid{grid-template-columns:1fr}.impact-grid,.posts-grid,.success-stories-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dash-header{flex-direction:column;height:auto;padding:16px;gap:12px}.dash-header-right{flex-wrap:wrap;justify-content:center}.dash-tabs{overflow-x:auto;padding:0 16px}.dash-main{padding:20px 16px 60px}.dash-alerts{flex-direction:column}.kpi-grid-inst{grid-template-columns:1fr}.kpi-card-inst.highlight{flex-direction:column;text-align:center}.professors-grid,.retention-grid{grid-template-columns:repeat(2,1fr)}.achievements-grid-inst,.impact-grid,.posts-grid,.success-stories-grid{grid-template-columns:1fr}.objectives-grid,.summary-content{flex-direction:column}.objectives-grid{align-items:center}.institutional-banner{flex-direction:column;text-align:center;gap:16px}.banner-content{flex-direction:column}.banner-text p{max-width:100%}.privacy-compact-card{padding:20px}.privacy-status-summary{grid-template-columns:1fr;gap:16px}.privacy-table{font-size:13px}.privacy-table td,.privacy-table th{padding:10px 12px}.privacy-table-label{min-width:140px}}.notification-bell-container{position:relative}.notification-bell-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:1px solid var(--color-border);border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all .2s;position:relative}.notification-bell-button:hover{border-color:var(--color-secondary);color:var(--color-secondary);background:rgba(47,191,155,.05)}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:0 4px}.notification-panel{position:absolute;top:calc(100% + 12px);right:0;width:380px;max-height:480px;background:var(--color-white);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 16px 48px rgba(15,42,68,.15);overflow:hidden;z-index:1000}.notification-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border);background:var(--color-background)}.notification-panel-header h3{font-family:var(--font-accent);font-size:16px;font-weight:600;color:var(--color-primary);margin:0}.mark-all-read{background:none;border:none;font-size:13px;color:var(--color-secondary);cursor:pointer;font-weight:500}.mark-all-read:hover{text-decoration:underline}.notification-list{max-height:400px;overflow-y:auto}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.notification-empty .empty-icon{font-size:40px;margin-bottom:12px;opacity:.5}.notification-empty p{font-size:14px;color:var(--color-text-secondary);margin:0}.notification-item{display:flex;gap:12px;padding:16px 20px;cursor:pointer;border-bottom:1px solid var(--color-border);transition:background .2s;position:relative}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--color-background)}.notification-item.unread{background:rgba(47,191,155,.05)}.notification-item.unread:hover{background:rgba(47,191,155,.08)}.notification-type-icon{font-size:24px;flex-shrink:0}.notification-content{flex:1 1;min-width:0}.notification-title{font-family:var(--font-accent);font-size:14px;font-weight:600;color:var(--color-primary);margin:0 0 4px}.notification-message{font-size:13px;color:var(--color-text);margin:0 0 4px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-sender{font-size:12px;color:var(--color-secondary);margin:0 0 4px;font-weight:500}.notification-time{font-size:11px;color:var(--color-text-secondary)}.unread-dot{position:absolute;top:20px;right:16px;width:8px;height:8px;background:var(--color-secondary);border-radius:50%}.toast{position:fixed;bottom:32px;right:32px;display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--color-white);border-radius:12px;box-shadow:0 8px 32px rgba(15,42,68,.15);z-index:10000;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.toast-success{border-left:4px solid #10b981}.toast-error{border-left:4px solid #ef4444}.toast-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px;font-weight:700}.toast-icon svg{width:18px;height:18px}.toast-success .toast-icon{background:#d1fae5;color:#10b981}.toast-error .toast-icon{background:#fee2e2;color:#ef4444}.toast-message{font-family:var(--font-secondary);font-size:14px;color:var(--color-text)}.toast-close{background:none;border:none;font-size:20px;color:var(--color-text-secondary);cursor:pointer;padding:0;line-height:1;margin-left:8px}.toast-close:hover{color:var(--color-text)}.recomendar-modal{max-width:520px}.recomendar-modal .modal-content{padding:24px}.recomendar-oportunidad-preview{padding:16px;background:var(--color-background);border-radius:12px;margin-bottom:24px}.recomendar-oportunidad-preview .oportunidad-tipo-badge{display:inline-block;margin-bottom:8px}.recomendar-oportunidad-preview h4{font-family:var(--font-accent);font-size:16px;color:var(--color-primary);margin:0 0 8px}.recomendar-oportunidad-preview p{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.4}.recomendar-form{display:flex;flex-direction:column;gap:16px}.recomendar-select{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;font-family:var(--font-secondary);font-size:14px;color:var(--color-text);background:var(--color-white);cursor:pointer;transition:border-color .2s}.recomendar-select:focus{outline:none;border-color:var(--color-secondary)}.estudiante-preview{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,rgba(47,191,155,.1),rgba(47,191,155,.05));border:1px solid var(--color-secondary);border-radius:12px}.estudiante-avatar{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);color:#fff;border-radius:50%;font-family:var(--font-accent);font-size:18px;font-weight:600;flex-shrink:0}.estudiante-info{flex:1 1}.estudiante-nombre{font-family:var(--font-accent);font-size:15px;font-weight:600;color:var(--color-primary);display:block}.estudiante-meta{font-size:13px;color:var(--color-text-secondary)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border);background:var(--color-background)}.btn-secondary{padding:12px 24px;background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;font-family:var(--font-secondary);font-size:14px;font-weight:500;color:var(--color-text);cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border:none;border-radius:8px;font-family:var(--font-secondary);font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(47,191,155,.3)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.estudiantes-modal{max-width:600px}.estudiantes-modal .modal-content{padding:0;max-height:400px;overflow-y:auto}.estudiantes-list{display:flex;flex-direction:column}.estudiante-card{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--color-border)}.estudiante-card:last-child{border-bottom:none}.estudiante-card:hover{background:var(--color-background)}.estudiante-interests{display:flex;gap:6px}.interest-chip{padding:4px 10px;background:var(--color-background);border-radius:12px;font-size:11px;color:var(--color-text-secondary)}.empty-state-small{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state-small span{font-size:40px;margin-bottom:12px}.empty-state-small p{font-size:14px;color:var(--color-text-secondary);margin:0}.ver-estudiantes-btn{margin-top:12px;padding:8px 16px;background:transparent;border:1px solid var(--color-secondary);border-radius:6px;color:var(--color-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.ver-estudiantes-btn:hover{background:var(--color-secondary);color:#fff}.breadcrumb-link{color:var(--color-secondary);text-decoration:none;transition:color .2s}.breadcrumb-link:hover{color:#26a080;text-decoration:underline}.oportunidades-profesor-page{min-height:100vh;background:var(--color-background)}.oportunidades-content{max-width:1400px;margin:0 auto;padding:32px 40px 80px}.oportunidades-header{margin-bottom:32px}.oportunidades-header h1{font-family:var(--font-accent);font-size:32px;font-weight:700;color:var(--color-primary);margin-bottom:8px}.oportunidades-header p{font-size:16px;color:var(--color-text-secondary)}.filtros-section{margin-bottom:32px}.filtros-row{display:flex;gap:16px;flex-wrap:wrap}.filtro-select{padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;font-family:var(--font-secondary);font-size:14px;color:var(--color-text);background:var(--color-white);cursor:pointer;min-width:200px}.filtro-select:focus{outline:none;border-color:var(--color-secondary)}.filtros-activos{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.filtro-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--color-white);border:1px solid var(--color-border);border-radius:20px;font-size:13px;color:var(--color-text)}.filtro-tag button{background:none;border:none;font-size:16px;color:var(--color-text-secondary);cursor:pointer;padding:0;line-height:1}.filtro-tag button:hover{color:var(--color-primary)}.resultados-header{margin-bottom:24px}.resultados-header h2{font-family:var(--font-accent);font-size:20px;color:var(--color-primary)}.oportunidades-grid-profesor{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:24px;gap:24px}.oportunidad-card-profesor{background:var(--color-white);border-radius:16px;overflow:hidden;border:1px solid var(--color-border);transition:transform .2s,box-shadow .2s}.oportunidad-card-profesor:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(15,42,68,.1)}.oportunidad-imagen{height:180px;background-size:cover;background-position:50%;position:relative}.oportunidad-imagen .oportunidad-badge{position:absolute;top:12px;left:12px;padding:6px 12px;background:var(--color-primary);color:#fff;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase}.oportunidad-body{padding:20px}.oportunidad-body h3{font-family:var(--font-accent);font-size:16px;color:var(--color-primary);margin-bottom:8px;line-height:1.3}.oportunidad-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.4;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.oportunidad-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.meta-item{font-size:12px;color:var(--color-text-secondary)}.oportunidad-actions{display:flex;gap:12px}.btn-ver-detalle{flex:1 1;padding:10px 16px;background:transparent;border:1px solid var(--color-border);border-radius:8px;font-size:13px;font-weight:500;color:var(--color-text);cursor:pointer;transition:all .2s}.btn-ver-detalle:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-recomendar{flex:1 1;padding:10px 16px;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);border:none;border-radius:8px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.btn-recomendar:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(47,191,155,.3)}@media (max-width:1200px){.oportunidades-grid-profesor{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.oportunidades-content{padding:24px 16px 60px}.filtros-row{flex-direction:column}.filtro-select{width:100%;min-width:auto}.oportunidades-grid-profesor{grid-template-columns:1fr}.oportunidad-actions{flex-direction:column}.notification-panel{width:100%;max-width:calc(100vw - 32px);right:-80px}}.landing{min-height:100vh;background:var(--color-white);overflow-x:hidden}.landing-header{position:fixed;top:0;left:0;right:0;background:hsla(0,0%,100%,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(209,217,230,.5);z-index:1000}.landing-header-container{max-width:1400px;margin:0 auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;height:80px}.landing-header .logo-image{height:60px;width:auto}.landing-nav{display:flex;gap:40px}.landing-nav-link{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color .2s;position:relative}.landing-nav-link:hover{color:var(--color-primary)}.landing-nav-link:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--color-secondary);transform:scaleX(0);transition:transform .3s ease}.landing-nav-link:hover:after{transform:scaleX(1)}.landing-header-actions{display:flex;gap:12px}.landing-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--brand);border:none;border-radius:var(--r-md);color:#fff;font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px rgba(47,191,155,.35)}.landing-btn-primary:hover{transform:translateY(-2px);background:var(--brand-strong);box-shadow:var(--shadow-3)}.landing-btn-primary.landing-btn-large{padding:16px 32px;font-size:16px;border-radius:14px}.landing-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:transparent;border:1px solid var(--color-border);border-radius:12px;color:var(--color-text);font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.landing-btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary);background:rgba(15,42,68,.03)}.landing-btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:16px 24px;background:transparent;border:none;color:hsla(0,0%,100%,.85);font-family:var(--font-body);font-size:16px;font-weight:500;cursor:pointer;transition:color .2s;text-decoration:none}.landing-btn-ghost:hover{color:#fff}.landing-btn-white{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;background:#fff;border:none;border-radius:14px;color:var(--color-primary);font-family:var(--font-body);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px rgba(0,0,0,.1)}.landing-btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15)}.landing-btn-outline-white{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;background:transparent;border:2px solid hsla(0,0%,100%,.5);border-radius:14px;color:#fff;font-family:var(--font-body);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.landing-btn-outline-white:hover{background:hsla(0,0%,100%,.1);border-color:#fff}.landing-hero{min-height:100vh;padding:140px 48px 80px;display:grid;grid-template-columns:1fr 1fr;grid-gap:80px;gap:80px;align-items:center;position:relative;overflow:hidden;background:linear-gradient(160deg,var(--navy-700) 0,var(--navy-900) 100%)}.landing-hero>*{position:relative;z-index:1}.landing-hero-camino{position:absolute;right:0;bottom:0;width:55%;height:auto;opacity:.5;z-index:0;pointer-events:none}.lhc-line{fill:none;stroke:var(--teal-400);stroke-width:2.5;stroke-linecap:round;opacity:.45}.lhc-node{fill:var(--navy-900);stroke:var(--teal-400);stroke-width:2.5}.lhc-node--m{fill:var(--gold-400);stroke:var(--gold-400)}.landing-hero-content{max-width:600px}.landing-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.18);border-radius:100px;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--teal-400);margin-bottom:24px}.landing-badge-icon{font-size:14px}.landing-badge-icon svg{width:14px;height:14px}.landing-card-icon svg{width:24px;height:24px}.landing-join-card-icon svg{width:26px;height:26px}.landing-mission-icon svg{width:28px;height:28px}.landing-hero-title{font-family:var(--font-heading);font-size:56px;font-weight:700;line-height:1.1;color:#fff;margin-bottom:24px;text-transform:none;letter-spacing:-.02em}.landing-hero-highlight{color:var(--brand-strong)}.landing-hero-description{font-family:var(--font-body);font-size:18px;line-height:1.7;color:hsla(0,0%,100%,.82);margin-bottom:32px}.landing-hero-cta{display:flex;align-items:center;gap:16px;margin-bottom:48px}.landing-hero-stats{display:flex;align-items:center;gap:32px;padding-top:32px;border-top:1px solid hsla(0,0%,100%,.15)}.landing-stat{display:flex;flex-direction:column;gap:4px}.landing-stat-number{font-family:var(--font-heading);font-size:32px;font-weight:700;color:#fff}.landing-stat-label{font-family:var(--font-body);font-size:14px;color:hsla(0,0%,100%,.7)}.landing-stat-divider{width:1px;height:40px;background:hsla(0,0%,100%,.2)}.landing-hero-visual{position:relative;height:500px}.landing-hero-cards{position:relative;width:100%;height:100%}.landing-floating-card{position:absolute;display:flex;align-items:center;gap:12px;padding:16px 24px;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(15,42,68,.12);font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--color-text);animation:float 6s ease-in-out infinite}.landing-card-1{top:10%;left:10%;animation-delay:0s}.landing-card-2{top:30%;right:5%;animation-delay:1s}.landing-card-3{top:55%;left:5%;animation-delay:2s}.landing-card-4{bottom:15%;right:15%;animation-delay:3s}.landing-card-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:22px}.landing-card-icon-blue,.landing-card-icon-green{background:var(--teal-50);color:var(--teal-600)}.landing-card-icon-yellow{background:var(--gold-100);color:var(--gold-600)}.landing-card-icon-purple{background:var(--navy-100);color:var(--navy-500)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.landing-section-container{max-width:1200px;margin:0 auto;padding:0 48px}.landing-section-header{text-align:center;margin-bottom:64px}.landing-section-tag{display:inline-block;padding:6px 14px;background:linear-gradient(135deg,rgba(15,42,68,.08),rgba(15,42,68,.04));border-radius:100px;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px}.landing-tag-light{background:hsla(0,0%,100%,.15);color:#fff}.landing-section-title{font-family:var(--font-heading);font-size:40px;font-weight:700;color:var(--color-primary);margin-bottom:16px;text-transform:none;letter-spacing:-.01em}.landing-title-light{color:#fff}.landing-section-subtitle{font-family:var(--font-body);font-size:18px;color:var(--color-text-secondary);max-width:600px;margin:0 auto}.landing-stakeholders{padding:120px 0;background:var(--color-background)}.landing-stakeholders-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:32px;gap:32px}.landing-stakeholder-card{padding:40px;background:#fff;border-radius:24px;border:1px solid var(--color-border);transition:all .3s ease}.landing-stakeholder-card:hover{transform:translateY(-8px);box-shadow:0 24px 64px rgba(15,42,68,.1);border-color:transparent}.landing-stakeholder-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(47,191,155,.12),rgba(47,191,155,.05));border-radius:16px;color:var(--color-secondary);margin-bottom:24px}.landing-stakeholder-card h3{font-family:var(--font-heading);font-size:22px;font-weight:700;color:var(--color-primary);margin-bottom:12px;text-transform:none}.landing-stakeholder-card p{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--color-text-secondary)}.landing-join{padding:120px 0;background:#fff}.landing-join-content{display:grid;grid-template-columns:1fr 1fr;grid-gap:80px;gap:80px;align-items:center}.landing-join-text .landing-section-tag{margin-bottom:12px}.landing-join-text .landing-section-title{text-align:left;margin-bottom:40px}.landing-steps{display:flex;flex-direction:column;gap:32px;margin-bottom:40px}.landing-step{display:flex;gap:20px}.landing-step-number{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);color:#fff;border-radius:12px;font-weight:700}.landing-step-content h4,.landing-step-number{font-family:var(--font-heading);font-size:18px}.landing-step-content h4{font-weight:600;color:var(--color-primary);margin-bottom:8px;text-transform:none}.landing-step-content p{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--color-text-secondary)}.landing-join-visual{display:flex;justify-content:center}.landing-join-card{padding:40px;background:linear-gradient(135deg,var(--color-primary) 0,#0a1f33 100%);border-radius:24px;color:#fff;max-width:400px}.landing-join-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.landing-join-card-icon{font-size:28px}.landing-join-card-header span{font-family:var(--font-heading);font-size:18px;font-weight:600}.landing-join-card>p{font-family:var(--font-body);font-size:15px;line-height:1.7;opacity:.85;margin-bottom:24px}.landing-join-features{display:flex;flex-direction:column;gap:12px}.landing-join-feature{display:flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:14px;font-weight:500}.landing-join-feature svg{color:var(--color-secondary)}.landing-mission{padding:120px 0;background:linear-gradient(135deg,var(--color-primary) 0,#0a1f33 100%)}.landing-mission-content{text-align:center}.landing-mission-header{margin-bottom:64px}.landing-mission-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:32px;gap:32px}.landing-mission-card{padding:40px;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.12);border-radius:24px;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.landing-mission-card:hover{background:hsla(0,0%,100%,.12);transform:translateY(-4px)}.landing-mission-icon{font-size:32px;margin-bottom:20px}.landing-mission-card h3{font-family:var(--font-heading);font-size:20px;font-weight:700;color:#fff;margin-bottom:12px;text-transform:none}.landing-mission-card p{font-family:var(--font-body);font-size:15px;line-height:1.7;color:hsla(0,0%,100%,.75)}.landing-trust{padding:80px 0;background:var(--color-background)}.landing-trust-content{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}.landing-trust-badges{display:flex;gap:48px}.landing-trust-badge{display:flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-text-secondary)}.landing-trust-badge svg{color:var(--color-secondary)}.landing-trust-text{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--color-text-secondary);max-width:700px}.landing-cta{padding:120px 0;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%)}.landing-cta-content{text-align:center;color:#fff}.landing-cta-content h2{font-family:var(--font-heading);font-size:40px;font-weight:700;margin-bottom:16px;text-transform:none}.landing-cta-content p{font-family:var(--font-body);font-size:18px;opacity:.9;margin-bottom:40px}.landing-cta-buttons{display:flex;justify-content:center;gap:16px}.landing-footer{padding:80px 0 40px;background:var(--color-primary);color:#fff}.landing-footer-container{max-width:1200px;margin:0 auto;padding:0 48px}.landing-footer-main{display:grid;grid-template-columns:1.5fr 2fr;grid-gap:80px;gap:80px;padding-bottom:40px;border-bottom:1px solid hsla(0,0%,100%,.1)}.landing-footer-brand{max-width:320px}.landing-footer-logo{height:50px;width:auto;margin-bottom:16px;filter:brightness(0) invert(1)}.landing-footer-brand p{font-family:var(--font-body);font-size:14px;line-height:1.7;color:hsla(0,0%,100%,.7)}.landing-footer-links{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:40px;gap:40px}.landing-footer-column h4{font-family:var(--font-heading);font-size:14px;font-weight:600;margin-bottom:20px;text-transform:uppercase;letter-spacing:.05em}.landing-footer-column a{display:block;font-family:var(--font-body);font-size:14px;color:hsla(0,0%,100%,.7);text-decoration:none;margin-bottom:12px;transition:color .2s}.landing-footer-column a:hover{color:#fff}.landing-footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:32px}.landing-footer-bottom p{font-family:var(--font-body);font-size:14px;color:hsla(0,0%,100%,.5)}.landing-footer-social{display:flex;gap:16px}.landing-footer-social a{color:hsla(0,0%,100%,.7);transition:color .2s}.landing-footer-social a:hover{color:var(--color-secondary)}@media (max-width:1024px){.landing-hero{grid-template-columns:1fr;gap:48px;padding:120px 32px 60px}.landing-hero-visual{display:none}.landing-hero-title{font-size:44px}.landing-join-content,.landing-stakeholders-grid{grid-template-columns:1fr}.landing-join-content{gap:48px}.landing-join-visual{order:-1}.landing-footer-main,.landing-mission-grid{grid-template-columns:1fr}.landing-footer-main{gap:48px}.landing-footer-links{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.landing-header-container{padding:0 24px}.landing-header-actions .landing-btn-secondary,.landing-nav{display:none}.landing-hero{padding:100px 24px 48px}.landing-hero-title{font-size:36px}.landing-hero-description{font-size:16px}.landing-hero-cta{flex-direction:column;align-items:stretch}.landing-hero-stats{flex-wrap:wrap;gap:24px}.landing-stat-divider{display:none}.landing-section-container{padding:0 24px}.landing-cta,.landing-join,.landing-mission,.landing-stakeholders{padding:80px 0}.landing-section-title{font-size:32px}.landing-mission-card,.landing-stakeholder-card{padding:32px}.landing-trust-badges{flex-direction:column;gap:16px}.landing-cta-content h2{font-size:28px}.landing-cta-buttons{flex-direction:column;gap:12px}.landing-footer-links{grid-template-columns:1fr 1fr;gap:32px}.landing-footer-bottom{flex-direction:column;gap:16px;text-align:center}}@media (max-width:480px){.landing-hero-title,.landing-stat-number{font-size:28px}.landing-footer-links{grid-template-columns:1fr}}.site-footer{padding:80px 0 40px;background:var(--color-primary);color:#fff}.footer-container{max-width:1760px;margin:0 auto;padding:0 90px}.footer-main{display:grid;grid-template-columns:1.5fr 2fr;grid-gap:80px;gap:80px;padding-bottom:40px;border-bottom:1px solid hsla(0,0%,100%,.1)}.footer-brand{max-width:320px}.footer-logo-link{display:inline-block;margin-bottom:16px}.footer-logo{height:50px;width:auto;filter:brightness(0) invert(1)}.footer-tagline{font-family:var(--font-body);font-size:14px;line-height:1.7;color:hsla(0,0%,100%,.7);margin:0}.footer-links{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:40px;gap:40px}.footer-column h4{font-family:var(--font-heading);font-size:14px;font-weight:600;margin-bottom:20px;text-transform:uppercase;letter-spacing:.05em;color:#fff}.footer-column a{display:block;font-family:var(--font-body);font-size:14px;color:hsla(0,0%,100%,.7);text-decoration:none;margin-bottom:12px;transition:color .2s}.footer-column a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:32px}.footer-copyright{font-family:var(--font-body);font-size:14px;color:hsla(0,0%,100%,.5);margin:0}.footer-social{display:flex;gap:16px}.footer-social a{color:hsla(0,0%,100%,.7);transition:color .2s;display:flex;align-items:center;justify-content:center}.footer-social a:hover{color:var(--color-secondary)}@media (max-width:1024px){.footer-container{padding:0 48px}.footer-main{grid-template-columns:1fr;gap:48px}.footer-links{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.footer-container{padding:0 24px}.site-footer{padding:60px 0 32px}.footer-links{grid-template-columns:repeat(2,1fr);gap:32px}.footer-bottom{flex-direction:column;gap:16px;text-align:center}}@media (max-width:480px){.footer-links{grid-template-columns:1fr;gap:32px}}.roadmap-page{min-height:100vh;padding-bottom:80px;position:relative;z-index:1}.roadmap-form-wrapper{max-width:680px;margin:0 auto;padding:52px 24px 0}.roadmap-page-header{text-align:center;margin-bottom:44px}.roadmap-page-header-icon{font-size:48px;line-height:1;margin-bottom:16px;display:block;filter:drop-shadow(0 4px 12px rgba(47,191,155,.25))}.roadmap-page-header-icon svg{width:32px;height:32px}.roadmap-page-header h1{font-family:var(--font-heading);font-size:36px;font-weight:800;color:var(--color-primary);margin:0 0 12px;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.roadmap-page-header p{font-family:var(--font-body);font-size:16px;color:var(--color-text-secondary);max-width:420px;margin:0 auto;line-height:1.6}.roadmap-error-banner{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;font-family:var(--font-body);font-size:14px;padding:12px 16px;border-radius:8px;margin-bottom:24px}.roadmap-form-container{background:var(--color-white);border-radius:24px;box-shadow:0 8px 40px rgba(15,42,68,.1);padding:40px;border:1px solid rgba(209,217,230,.5);position:relative;overflow:hidden}.roadmap-form-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-secondary) 0,var(--color-primary) 50%,#f2c94c 100%)}.roadmap-progress-section{margin-bottom:32px}.roadmap-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.roadmap-progress-step{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em}.roadmap-progress-title{font-family:var(--font-body);font-size:13px;color:var(--color-text-secondary)}.roadmap-progress-bar{height:8px;background:var(--color-border);border-radius:99px;overflow:hidden;margin-bottom:12px}.roadmap-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-secondary),#26a080);border-radius:99px;transition:width .4s ease}.roadmap-progress-dots{display:flex;gap:8px}.roadmap-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border);transition:background .3s}.roadmap-dot.active{background:var(--color-secondary)}.roadmap-section{display:flex;flex-direction:column;gap:24px}.roadmap-label{display:block;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--color-primary);margin-bottom:8px}.roadmap-input{width:100%;font-family:var(--font-body);font-size:15px;color:var(--color-text);background:var(--color-white);border:1.5px solid var(--color-border);border-radius:8px;padding:10px 14px;outline:none;transition:border-color .2s;box-sizing:border-box}.roadmap-input:focus{border-color:var(--color-secondary)}.roadmap-textarea{min-height:96px;resize:vertical}.roadmap-error{display:block;font-family:var(--font-body);font-size:12px;color:#dc2626;margin-top:4px}.roadmap-multi-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.roadmap-chip{font-family:var(--font-body);font-size:13px;padding:6px 14px;border-radius:99px;border:1.5px solid var(--color-border);background:var(--color-white);color:var(--color-text);cursor:pointer;transition:all .15s}.roadmap-chip:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.roadmap-chip.selected{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.roadmap-areas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:10px;gap:10px;margin-top:8px}.roadmap-area-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;border:2px solid var(--color-border);border-radius:16px;background:var(--color-white);cursor:pointer;transition:all .18s;text-align:center;box-shadow:0 1px 6px rgba(15,42,68,.05)}.roadmap-area-item:hover{border-color:var(--color-secondary);background:#f0fbf9;transform:translateY(-2px);box-shadow:0 4px 16px rgba(47,191,155,.15)}.roadmap-area-item.selected{border-color:var(--color-secondary);background:linear-gradient(135deg,#e6f7f4,#f0fbf9);box-shadow:0 4px 16px rgba(47,191,155,.2)}.roadmap-area-emoji{font-size:28px;font-size:24px;line-height:1}.roadmap-area-label{font-family:var(--font-body);font-size:12px;color:var(--color-text);line-height:1.3}.roadmap-toggle-group{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.roadmap-toggle-btn{font-family:var(--font-body);font-size:14px;padding:8px 20px;border-radius:8px;border:1.5px solid var(--color-border);background:var(--color-white);color:var(--color-text);cursor:pointer;transition:all .15s}.roadmap-toggle-btn.selected,.roadmap-toggle-btn:hover{border-color:var(--color-secondary)}.roadmap-toggle-btn.selected{background:var(--color-secondary);color:#fff;font-weight:600}.roadmap-options-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.roadmap-option-item{font-family:var(--font-body);font-size:14px;padding:12px 16px;border-radius:8px;border:1.5px solid var(--color-border);background:var(--color-white);color:var(--color-text);text-align:left;cursor:pointer;transition:all .15s}.roadmap-option-item:hover{border-color:var(--color-secondary);background:#f0fbf9}.roadmap-option-item.selected{border-color:var(--color-secondary);background:#e6f7f4;color:var(--color-primary);font-weight:600}.roadmap-slider{width:100%;accent-color:var(--color-secondary);margin-top:8px}.roadmap-slider-labels{display:flex;justify-content:space-between;font-family:var(--font-body);font-size:12px;color:var(--color-text-secondary);margin-top:4px}.roadmap-form-nav{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border)}.roadmap-btn-primary{font-family:var(--font-body);font-size:15px;font-weight:700;padding:14px 32px;border-radius:32px;border:none;background:linear-gradient(135deg,var(--color-secondary) 0,#26a080 100%);color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px rgba(47,191,155,.35);letter-spacing:.01em}.roadmap-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(47,191,155,.45)}.roadmap-btn-secondary{font-family:var(--font-body);font-size:15px;font-weight:500;padding:14px 28px;border-radius:32px;border:2px solid var(--color-border);background:var(--color-white);color:var(--color-text);cursor:pointer;transition:all .2s}.roadmap-btn-secondary:hover{border-color:var(--color-secondary);color:var(--color-secondary);transform:translateY(-1px)}.roadmap-loading{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 72px)}.roadmap-loading-content{text-align:center;max-width:360px;padding:0 24px}.roadmap-loading-logo{font-family:var(--font-heading);font-size:36px;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:32px}.roadmap-loading-spinner{width:48px;height:48px;border:3px solid var(--color-border);border-top-color:var(--color-secondary);border-radius:50%;margin:0 auto 24px;animation:roadmap-spin .8s linear infinite}@keyframes roadmap-spin{to{transform:rotate(1turn)}}.roadmap-loading-msg{font-family:var(--font-body);font-size:16px;color:var(--color-text-secondary);margin:0 0 24px;min-height:24px;transition:opacity .3s}.roadmap-loading-bar{height:4px;background:var(--color-border);border-radius:99px;overflow:hidden}.roadmap-loading-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-secondary),var(--color-accent));border-radius:99px;animation:roadmap-indeterminate 1.5s ease-in-out infinite;transform-origin:left}@keyframes roadmap-indeterminate{0%{transform:scaleX(0);margin-left:0}50%{transform:scaleX(.6);margin-left:0}to{transform:scaleX(0);margin-left:100%}}.roadmap-view{max-width:800px;margin:0 auto;padding:48px 24px 80px}.roadmap-view-header{text-align:center;margin-bottom:32px}.roadmap-view-title{font-family:var(--font-heading);font-size:36px;font-weight:800;margin:0 0 8px;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.roadmap-view-subtitle{font-family:var(--font-body);font-size:15px;color:var(--color-text-secondary);margin:0}.roadmap-summary-card{background:var(--color-white);border-radius:16px;box-shadow:0 2px 12px rgba(15,42,68,.06);padding:24px;margin-bottom:40px;border-left:4px solid var(--color-secondary)}.roadmap-summary-text{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--color-text);margin:0 0 16px}.roadmap-fortalezas{display:flex;flex-wrap:wrap;gap:8px}.roadmap-fortaleza-chip{font-family:var(--font-body);font-size:12px;font-weight:600;padding:4px 12px;border-radius:99px;background:#e6f7f4;color:#065f46}.roadmap-timeline{display:flex;flex-direction:column;gap:0}.roadmap-month{position:relative;padding-left:28px;padding-bottom:32px;border-left:2px solid rgba(47,191,155,.25);margin-left:12px}.roadmap-month:last-child{border-left:2px solid transparent}.roadmap-month.empty{padding-bottom:16px;opacity:.5}.roadmap-month-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.roadmap-month-dot{position:absolute;left:-9px;width:16px;height:16px;border-radius:50%;border:2px solid var(--color-white);box-shadow:0 0 0 2px var(--color-border);flex-shrink:0}.roadmap-month-name{font-family:var(--font-heading);font-size:17px;font-weight:700;color:var(--color-primary);margin:0}.roadmap-month-badge{font-family:var(--font-body);font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;margin-left:auto}.roadmap-month-ops{display:flex;flex-direction:column;gap:16px}.roadmap-op-card{background:var(--color-white);border:1px solid rgba(209,217,230,.5);border-radius:20px;padding:24px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 12px rgba(15,42,68,.06)}.roadmap-op-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(47,191,155,.15);border-color:rgba(47,191,155,.3)}.roadmap-op-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.roadmap-tipo-badge{text-transform:uppercase;letter-spacing:.04em}.roadmap-priority-chip,.roadmap-tipo-badge{font-family:var(--font-body);font-size:11px;font-weight:600;padding:3px 10px;border-radius:99px}.roadmap-op-title{font-family:var(--font-body);font-size:16px;font-weight:700;color:var(--color-primary);margin:0 0 12px}.roadmap-match-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.roadmap-match-bar-bg{flex:1 1;height:6px;background:var(--color-border);border-radius:99px;overflow:hidden}.roadmap-match-bar-fill{height:100%;border-radius:99px;transition:width .6s ease}.roadmap-match-score{font-family:var(--font-body);font-size:13px;font-weight:700;min-width:44px;text-align:right}.roadmap-op-razon{font-family:var(--font-body);font-size:14px;color:var(--color-text-secondary);line-height:1.5;margin:0 0 12px}.roadmap-accion-box{display:flex;gap:10px;background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;padding:12px 14px;margin-bottom:14px}.roadmap-accion-box p{color:var(--color-primary);margin:0;line-height:1.5}.roadmap-accion-box p,.roadmap-op-link{font-family:var(--font-body);font-size:13px}.roadmap-op-link{display:inline-block;font-weight:600;color:var(--color-secondary);text-decoration:none;transition:color .2s}.roadmap-op-link:hover{color:#26a080;text-decoration:underline}.roadmap-general-card{margin-top:40px;background:linear-gradient(135deg,var(--color-primary) 0,#1a3d5c 100%);border-radius:16px;padding:32px;text-align:center;color:#fff}.roadmap-general-icon{font-size:32px;margin-bottom:12px}.roadmap-general-card h3{font-family:var(--font-heading);font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}.roadmap-general-card p{font-family:var(--font-body);font-size:15px;line-height:1.6;color:hsla(0,0%,100%,.85);margin:0}.roadmap-actions{display:flex;gap:12px;justify-content:center;margin-top:40px;flex-wrap:wrap}.roadmap-hint{font-weight:400;color:var(--color-text-secondary);font-size:12px}.roadmap-curso-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:8px}.roadmap-curso-btn{font-family:var(--font-body);font-size:15px;font-weight:700;padding:14px 8px;border-radius:10px;border:1.5px solid var(--color-border);background:var(--color-white);color:var(--color-text);cursor:pointer;transition:all .15s;text-align:center}.roadmap-curso-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.roadmap-curso-btn.selected{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.roadmap-horas-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-top:8px}.roadmap-hora-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-radius:10px;border:1.5px solid var(--color-border);background:var(--color-white);cursor:pointer;transition:all .15s}.roadmap-hora-btn.selected,.roadmap-hora-btn:hover{border-color:var(--color-secondary)}.roadmap-hora-btn.selected{background:var(--color-secondary)}.roadmap-hora-label{font-family:var(--font-body);font-size:17px;font-weight:700;color:var(--color-primary)}.roadmap-hora-btn.selected .roadmap-hora-desc,.roadmap-hora-btn.selected .roadmap-hora-label{color:#fff}.roadmap-hora-desc{font-family:var(--font-body);font-size:11px;color:var(--color-text-secondary);text-align:center}.roadmap-viaje-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:8px}.roadmap-viaje-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;border-radius:12px;border:1.5px solid var(--color-border);background:var(--color-white);cursor:pointer;transition:all .15s}.roadmap-viaje-btn:hover{border-color:var(--color-secondary);background:#f0fbf9}.roadmap-viaje-btn.selected{border-color:var(--color-secondary);background:#e6f7f4}.roadmap-viaje-emoji{font-size:28px}.roadmap-viaje-label{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--color-primary);text-align:center}.roadmap-objetivos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px;margin-top:8px}.roadmap-objetivo-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;border-radius:12px;border:1.5px solid var(--color-border);background:var(--color-white);cursor:pointer;transition:all .15s;text-align:center}.roadmap-objetivo-btn:hover{border-color:var(--color-secondary);background:#f0fbf9}.roadmap-objetivo-btn.selected{border-color:var(--color-secondary);background:#e6f7f4}.roadmap-objetivo-emoji{font-size:26px}.roadmap-objetivo-label{font-family:var(--font-body);font-size:12px;color:var(--color-text);line-height:1.3}.roadmap-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:16px;gap:16px;margin-bottom:48px}.roadmap-stat-card{background:var(--color-white);border-radius:20px;border:1px solid rgba(209,217,230,.5);padding:24px 20px;text-align:center;display:flex;flex-direction:column;gap:6px;box-shadow:0 2px 16px rgba(15,42,68,.07);transition:transform .2s,box-shadow .2s}.roadmap-stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(47,191,155,.15)}.roadmap-stat-value{font-family:var(--font-heading);font-size:32px;font-weight:800;color:var(--color-secondary);line-height:1}.roadmap-stat-label{font-family:var(--font-body);font-size:12px;color:var(--color-text-secondary);font-weight:500;line-height:1.4}.roadmap-stat-urgent{border-color:#fecaca;background:#fff5f5}.roadmap-empty{text-align:center;padding:60px 24px;color:var(--color-text-secondary);font-family:var(--font-body);font-size:16px;display:flex;flex-direction:column;align-items:center;gap:20px}.roadmap-milestone-recursos{margin:0 0 14px}.roadmap-milestone-recursos-toggle{font-size:13px;font-weight:600;color:var(--color-secondary);cursor:pointer;list-style:none;padding:4px 0}.roadmap-milestone-recursos-toggle::-webkit-details-marker{display:none}.roadmap-milestone-recursos-list{padding:8px 0 0 16px;margin:0}.roadmap-milestone-recursos-list li{font-size:13px;margin-bottom:4px}.roadmap-milestone-recursos-list a{color:var(--color-secondary);text-decoration:none}.roadmap-milestone-recursos-list a:hover{text-decoration:underline}@media print{.header,.roadmap-actions{display:none!important}.roadmap-view{padding:0}.roadmap-month,.roadmap-op-card{page-break-inside:avoid;break-inside:avoid}}@media (max-width:768px){.roadmap-form-container{padding:20px}.roadmap-view{padding:24px 16px 60px}.roadmap-areas-grid{grid-template-columns:repeat(2,1fr)}.roadmap-view-title{font-size:22px}.roadmap-month-header{flex-wrap:wrap}.roadmap-month-badge{margin-left:0}.roadmap-form-nav{flex-direction:column-reverse}.roadmap-btn-primary,.roadmap-btn-secondary{width:100%;text-align:center}}.cursos-recomendados-section{margin-top:40px;padding-top:36px;border-top:2px solid var(--color-border)}.cursos-section-header{margin-bottom:20px}.cursos-section-title{font-family:var(--font-heading);font-size:22px;font-weight:700;color:var(--color-primary);margin-bottom:6px}.cursos-section-subtitle{font-size:14px;color:var(--color-text-secondary)}.cursos-filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.cursos-filtro-btn{padding:6px 14px;border-radius:20px;border:1.5px solid var(--color-border);background:var(--color-white);color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:var(--font-body)}.cursos-filtro-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.cursos-filtro-btn.active{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.cursos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:20px;gap:20px;margin-bottom:24px}.cursos-empty{color:var(--color-text-secondary);font-size:14px;padding:24px 0}.curso-card{background:var(--color-white);border:1.5px solid var(--color-border);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s ease,transform .2s ease}.curso-card:hover{box-shadow:0 6px 24px rgba(15,42,68,.1);transform:translateY(-2px)}.curso-card-source{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.curso-source-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:600;letter-spacing:.01em}.curso-destacado-badge{font-size:11px;color:#92400e;background:#fef3c7;padding:2px 8px;border-radius:99px;font-weight:600}.curso-card-title{font-family:var(--font-heading);font-size:15px;font-weight:700;color:var(--color-primary);line-height:1.35}.curso-card-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.curso-match-row{display:flex;align-items:center;gap:10px}.curso-match-bar-bg{flex:1 1;height:6px;background:var(--color-border);border-radius:99px;overflow:hidden}.curso-match-bar-fill{height:100%;border-radius:99px;transition:width .4s ease}.curso-match-score{font-size:12px;font-weight:700;min-width:56px;text-align:right}.curso-chips{display:flex;flex-wrap:wrap;gap:6px}.curso-chip{font-size:11px;padding:2px 8px;border-radius:99px;background:#f3f4f6;color:#374151;font-weight:500}.curso-chip-cert{background:#ecfdf5;color:#065f46}.curso-chip-free{background:#eff6ff;color:#1d4ed8}.curso-razon{font-size:12px;color:var(--color-text-secondary);font-style:italic;line-height:1.45}.curso-cta{display:inline-block;margin-top:auto;padding:8px 16px;background:var(--color-primary);color:#fff;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;text-align:center;transition:background .15s ease}.curso-cta:hover{background:#1a3d5c}.cursos-ver-mas{text-align:center;margin-top:8px}.cursos-ver-mas-btn{padding:10px 28px;border:1.5px solid var(--color-secondary);background:transparent;color:var(--color-secondary);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:all .15s ease}.cursos-ver-mas-btn:hover{background:var(--color-secondary);color:#fff}@media (max-width:768px){.cursos-grid{grid-template-columns:1fr}.cursos-filtros{gap:6px}.cursos-filtro-btn{font-size:12px;padding:5px 11px}}.global-bg{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.global-bg-svg{position:absolute;top:0;left:0;width:100%;height:100%}.camino-bg-line{fill:none;stroke:var(--brand);stroke-width:2.5;stroke-linecap:round;opacity:.18}.camino-bg-node{fill:#fff;stroke:var(--border);stroke-width:2.5;opacity:.5}.camino-bg-node--milestone{fill:var(--gold-400);stroke:var(--gold-600);opacity:.6}.camino-bg-halo{fill:none;stroke:var(--gold-400);stroke-width:1.5;opacity:.3}.camino-bg-traveler{fill:none;stroke:var(--brand);stroke-width:3;stroke-linecap:round;opacity:.55;stroke-dasharray:10 2000;animation:camino-travel 11s linear infinite}@keyframes camino-travel{0%{stroke-dashoffset:2010}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.camino-bg-traveler{animation:none;opacity:0}}.sk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:15px;line-height:1;border-radius:var(--r-md);padding:10px 18px;border:1px solid transparent;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s}.sk-btn-primary{background:var(--accent);color:var(--navy-900)}.sk-btn-primary:hover{background:var(--accent-strong)}.sk-btn-brand{background:var(--brand);color:#fff}.sk-btn-brand:hover{background:var(--brand-strong)}.sk-btn-ghost{background:transparent;color:var(--ink);border-color:var(--border)}.sk-btn-ghost:hover{border-color:var(--brand);color:var(--brand-strong)}.sk-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--teal-200)}.sk-btn:active{transform:scale(.97)}.sk-btn:disabled,.sk-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed;transform:none}.sk-btn-ghost.is-active{background:var(--brand);color:#fff;border-color:var(--brand)}.sk-btn--page{min-width:36px;height:36px;padding:0 10px;font-size:.875rem}.opp-page-ellipsis{padding:0 4px;color:var(--ink-soft)}.opp-empty{grid-column:1/-1;text-align:center;padding:var(--space-12) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);align-items:center}.opp-empty-title{font-family:var(--font-heading);font-size:18px;color:var(--ink)}.opp-empty-msg{color:var(--ink-soft);font-size:14px;max-width:420px}.opp-skeleton{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1)}.opp-skeleton-media{width:100%;padding-top:62%}.opp-skeleton-body{display:flex;flex-direction:column;gap:10px;padding:20px}.opp-skeleton-line{height:12px;border-radius:var(--r-sm)}.opp-skeleton-line--sm{width:30%}.opp-skeleton-line--md{width:60%}.opp-skeleton-line--lg{width:90%}.opp-skeleton-line,.opp-skeleton-media{background:linear-gradient(90deg,var(--navy-50) 25%,var(--navy-100) 37%,var(--navy-50) 63%);background-size:400% 100%;animation:opp-shimmer 1.4s ease-in-out infinite}@keyframes opp-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.opp-skeleton-line,.opp-skeleton-media{animation:none}}.camino-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:60vh}.camino-loader-svg{width:160px;height:60px}.camino-loader-line{fill:none;stroke:var(--border);stroke-width:2.5;stroke-linecap:round}.camino-loader-node{fill:#fff;stroke:var(--brand);stroke-width:2.5}.camino-loader-node--milestone{fill:var(--gold-400);stroke:var(--gold-600)}.camino-loader-traveler{fill:none;stroke:var(--brand);stroke-width:3;stroke-linecap:round;stroke-dasharray:6 300;animation:camino-loader-travel 1.6s linear infinite}@keyframes camino-loader-travel{0%{stroke-dashoffset:306}to{stroke-dashoffset:0}}.camino-loader-label{font-family:var(--font-body);color:var(--ink-soft);font-size:14px}@media (prefers-reduced-motion:reduce){.camino-loader-traveler{animation:none}}.camino-start{width:120px;height:48px}.camino-start-done{fill:none;stroke:var(--brand);stroke-width:2.5;stroke-linecap:round}.camino-start-todo{fill:none;stroke:var(--border);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:4 6}body[data-mode=student]{background-color:var(--teal-50)}body[data-mode=institutional]{background-color:var(--navy-50)}[data-mode=student]{--density:var(--space-6);--card-radius:var(--r-lg);--title-weight:800}[data-mode=institutional]{--density:var(--space-4);--card-radius:var(--r-md);--title-weight:600}[data-mode=institutional] .kpi-card-inst,[data-mode=institutional] .profile-card{border-radius:var(--card-radius);padding:var(--density)}[data-mode=institutional] .section-title{font-weight:var(--title-weight)}.camino-start-node{fill:var(--brand);stroke:none}[data-mode=institutional] .admin-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.quick-logout{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-full);background:var(--surface);color:var(--ink);border:1px solid var(--border);cursor:pointer;font-family:var(--font-body);font-weight:600;font-size:13px;transition:background-color .15s,border-color .15s,color .15s,transform .15s}.quick-logout svg{width:18px;height:18px}.quick-logout:hover{border-color:var(--brand);color:var(--brand-strong)}.quick-logout:focus-visible{outline:none;box-shadow:0 0 0 3px var(--teal-200)}.quick-logout:active{transform:scale(.97)}.quick-logout:disabled{opacity:.5;cursor:not-allowed}@media (max-width:600px){.quick-logout span{display:none}.quick-logout{padding:10px}}.vias-tab{padding:24px 0}.vias-tab__header{margin-bottom:20px}.vias-tab__title{font-family:var(--font-heading);font-size:1.4rem;font-weight:800;color:var(--ink);margin:0 0 4px}.vias-tab__subtitle{font-size:14px;color:var(--ink-muted);margin:0 0 8px}.vias-tab__match-note{display:inline-flex;align-items:center;gap:6px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:6px 12px;font-size:12px;color:#065f46;font-weight:500}.vias-tab__search-row{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.vias-tab__search{flex:1 1;min-width:200px;border:1px solid var(--border);border-radius:var(--r-md);padding:10px 14px;font-size:14px;color:var(--ink);background:var(--surface);font-family:var(--font-body)}.vias-tab__search:focus{outline:none;border-color:var(--brand)}.vias-tab__select{border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;font-size:13px;background:var(--surface);color:var(--ink);cursor:pointer;font-family:var(--font-body)}.vias-tab__select:focus{outline:none;border-color:var(--brand)}.via-cat-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.via-cat-pill{display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--r-full);font-size:13px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:var(--ink-muted);cursor:pointer;transition:border-color .15s,color .15s;font-family:var(--font-body)}.via-cat-pill:hover{border-color:var(--brand);color:var(--brand)}.via-cat-pill--active{background:var(--ink);color:#fff;border-color:var(--ink)}.vias-tab__count{font-size:13px;color:var(--ink-muted);margin-bottom:16px}.via-saved-banner{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:12px 20px;margin-bottom:20px;font-size:14px;font-weight:600}.vias-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));grid-gap:16px;gap:16px;margin-bottom:24px}.via-card{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-1);transition:box-shadow .2s,border-color .2s}.via-card:hover{box-shadow:var(--shadow-2);border-color:var(--brand)}.via-card--top{border-color:var(--brand);border-width:2px}.via-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.via-card__info{flex:1 1;min-width:0}.via-card__univ{font-size:11px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:2px}.via-card__title{font-family:var(--font-heading);font-size:15px;font-weight:800;color:var(--ink);margin:0;line-height:1.3}.via-card__carrera{font-size:12px;color:var(--ink-muted);display:block;margin-top:2px}.via-card__desc{font-size:13px;color:var(--ink-muted);line-height:1.55;margin:0}.via-match-badge{flex-shrink:0;border-radius:var(--r-full);padding:4px 10px;font-size:12px;font-weight:700;white-space:nowrap}.via-match--high{background:#dcfce7;color:#16a34a}.via-match--mid{background:#fef9c3;color:#854d0e}.via-match--low{background:#f1f5f9;color:var(--ink-muted)}.via-card__tags{display:flex;gap:6px;flex-wrap:wrap}.via-tag{padding:3px 9px;border-radius:6px;font-size:11px;font-weight:600}.via-tag--cat{background:#f0fdfa;color:var(--brand);border:1px solid #99f6e4}.via-tag--benefit{background:var(--bg);color:var(--ink-muted);border:1px solid var(--border)}.via-plazo{font-size:11px;color:#b45309;background:#fef9c3;padding:3px 8px;border-radius:6px;font-weight:600;display:inline-block}.via-profile-prompt{font-size:12px;color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:6px 10px;margin:0}.via-profile-prompt a{color:#b45309;font-weight:700;text-decoration:underline}.via-card__actions{display:flex;gap:8px;margin-top:4px}.via-btn-primary{flex:1 1;background:var(--ink);color:#fff;border:none;border-radius:var(--r-md);padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:background .15s}.via-btn-primary:hover{background:var(--brand)}.via-btn-save{background:var(--surface);color:var(--ink-muted);border:1px solid var(--border);border-radius:var(--r-md);padding:9px 12px;font-size:14px;cursor:pointer;transition:border-color .15s,color .15s}.via-btn-save--saved{color:var(--brand);border-color:var(--brand)}.via-btn-mentor{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0;border-radius:var(--r-md);padding:9px 12px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:var(--font-body);transition:background .15s}.via-btn-mentor:hover{background:#d1fae5}.via-modal{max-width:620px;width:100%;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;gap:0}.via-modal__header{padding:24px 24px 16px;border-bottom:1px solid var(--border)}.via-modal__title{font-family:var(--font-heading);font-size:1.3rem;font-weight:800;color:var(--ink);margin:4px 0}.via-modal__body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.via-modal__desc{font-size:14px;color:var(--ink-muted);line-height:1.6;margin:0}.via-modal__section h4{font-size:13px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.4px;margin:0 0 6px}.via-modal__section p{font-size:14px;color:var(--ink-muted);line-height:1.6;margin:0}.via-modal__list{padding-left:18px;margin:0}.via-modal__list li{font-size:14px;color:var(--ink-muted);margin-bottom:4px}.via-modal__footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;gap:10px;flex-wrap:wrap}.vias-tab__pagination{display:flex;align-items:center;justify-content:center;gap:16px;font-size:14px;color:var(--ink-muted)}.vias-tab__page-btn{border:1px solid var(--border);border-radius:var(--r-md);padding:7px 14px;background:var(--surface);color:var(--ink);font-size:13px;cursor:pointer;font-family:var(--font-body)}.vias-tab__page-btn:disabled{opacity:.4;cursor:not-allowed}.vias-tab__page-btn:not(:disabled):hover{border-color:var(--brand);color:var(--brand)}.carreras-tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:24px}.carreras-tab{padding:10px 20px;font-size:14px;font-weight:500;color:var(--ink-muted);background:none;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-family:var(--font-body);transition:color .15s}.carreras-tab:hover{color:var(--ink)}.carreras-tab--active{color:var(--brand);border-bottom-color:var(--brand);font-weight:700}.dashboard-page.profesor .kpi-icon svg{width:24px;height:24px}.alerta-icon .alerta-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--gold-400)}.alerta-icon .alerta-dot.urgente{background:#b42318}.dashboard-page.padres .stat-icon svg{width:20px;height:20px}.dashboard-page.padres .consejo-icon svg{width:24px;height:24px}.dashboard-page.padres .user-badge svg{width:16px;height:16px;vertical-align:middle}