html,body{min-height:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Avenir Next,system-ui,sans-serif;font-feature-settings:"cv11","ss01","kern";font-size:15px;line-height:1.5;color:#0f1620;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.theme-dark body{color:#eef3f7;background:#0c1117}html.theme-dark app-practicas-page .filter-field input::placeholder{color:var(--muted)}html.theme-dark app-practicas-page .secondary-action:hover,html.theme-dark app-practicas-page .secondary-action:focus-visible{background:var(--surface-strong);border-color:var(--line-strong)}html.theme-dark app-practicas-page .state-panel.alert{background:#3d1e1dc7;border-color:#ff8a8052}html.theme-dark app-practicas-page .offer-card{background:#163129;border-color:#2b5549}html.theme-dark app-practicas-page .offer-card:hover{border-color:#477968}html.theme-dark app-practicas-page .offer-card-externa{background:#132a24;border-left-color:var(--accent)}html.theme-dark app-practicas-page .offer-card h2,html.theme-dark app-practicas-page .offer-details dd{color:#f4f8f6}html.theme-dark app-practicas-page .offer-card p,html.theme-dark app-practicas-page .offer-details dt,html.theme-dark app-practicas-page .results-hint,html.theme-dark app-practicas-page .load-more-hint,html.theme-dark app-practicas-page .adzuna-attribution{color:#c7d8d1}html.theme-dark app-practicas-page .offer-company,html.theme-dark app-practicas-page .offer-link,html.theme-dark app-practicas-page .offer-link.secondary,html.theme-dark app-practicas-page .adzuna-attribution a{color:#9de2d6}html.theme-dark app-practicas-page .offer-link:hover,html.theme-dark app-practicas-page .offer-link:focus-visible,html.theme-dark app-practicas-page .offer-link.secondary:hover,html.theme-dark app-practicas-page .offer-link.secondary:focus-visible{color:#c6f3ec}html.theme-dark app-practicas-page .offer-tasks,html.theme-dark app-practicas-page .external-card-actions,html.theme-dark app-practicas-page .catalog-results-externas{border-color:#c9f2e82e}html.theme-dark app-practicas-page .offer-source-tag,html.theme-dark app-practicas-page .tracking-label,html.theme-dark app-practicas-page .tracking-toggle{color:#d9f7f1;background:#67c6b724;border-color:#8bd8cc52}html.theme-dark app-practicas-page .tracking-label:hover:not(:disabled),html.theme-dark app-practicas-page .tracking-label:focus-visible:not(:disabled),html.theme-dark app-practicas-page .tracking-toggle.is-estado-aceptada{color:#f4f8f6;background:#67c6b738;border-color:#8bd8cc70}html.theme-dark app-practicas-page .tracking-toggle:hover:not(:disabled),html.theme-dark app-practicas-page .tracking-toggle:focus-visible:not(:disabled){color:var(--danger);background:#ff8a8029;border-color:#ff8a806b}html.theme-dark app-practicas-page .tracking-label.is-primary,html.theme-dark app-practicas-page .tracking-label.is-primary:hover:not(:disabled),html.theme-dark app-practicas-page .tracking-label.is-primary:focus-visible:not(:disabled){color:#07100e;background:var(--accent-hover);border-color:var(--accent-hover)}*,*:before,*:after{box-sizing:border-box}a{color:inherit}@keyframes route-slide-from-right{0%{transform:translate3d(20px,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes route-slide-from-left{0%{transform:translate3d(-20px,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}app-root .route-host.is-sliding-forward{animation:route-slide-from-right .22s cubic-bezier(.2,0,0,1) both}app-root .route-host.is-sliding-backward{animation:route-slide-from-left .22s cubic-bezier(.2,0,0,1) both}@media (prefers-reduced-motion: reduce){app-root .route-host.is-sliding-forward,app-root .route-host.is-sliding-backward{animation:none}}app-root .student-avatar{width:2.4rem;height:2.4rem;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;font-weight:600}app-root .student-avatar img{width:100%;height:100%;object-fit:cover}app-root .student-avatar svg{width:1.4rem;height:1.4rem;fill:currentColor}app-root .student-cell{flex:0 0 18rem;min-width:0;display:flex;align-items:center;gap:.7rem}app-root .card-student-cell{flex:1 1 auto}app-root .student-copy{width:100%;min-width:0}app-root .student-cell h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}app-root .student-identity-button{border:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}app-root .student-identity-button:hover h3,app-root .student-identity-button:focus-visible h3{color:var(--accent)}app-root .student-identity-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}app-root .alumno-email{margin:.15rem 0 0;color:var(--muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}app-root .estado-pill{align-self:start;display:inline-flex;align-items:center;max-width:100%;min-width:0;padding:0 .55rem;min-height:1.4rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent;white-space:nowrap;flex-shrink:0;overflow:hidden;text-overflow:ellipsis}app-root .estado-pill[data-estado=ACTIVA]{background:var(--success-soft);color:var(--success);border-color:#1d6b4a40}app-root .estado-pill[data-estado=FINALIZADA]{background:var(--accent-soft);color:var(--accent);border-color:#114e4a40}app-root .estado-pill.estado-sin{background:var(--surface-muted);color:var(--muted);border-color:var(--line)}app-root .detail-modal{width:min(72rem,calc(100vw - 2rem));max-height:min(calc(100dvh - 2rem),52rem);overflow:auto}app-root .student-detail-header{display:flex;align-items:center;gap:.9rem}app-root .detail-avatar{width:3.4rem;height:3.4rem}app-root .detail-avatar svg{width:2rem;height:2rem}app-root .detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0}app-root .detail-grid>div{min-width:0}app-root .detail-grid>div,app-root .cv-detail-panel{padding:.7rem .8rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}app-root .detail-grid .detail-full{grid-column:span 2}app-root .detail-grid dt{margin:0;color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}app-root .detail-grid dd{margin:.2rem 0 0;font-weight:600;line-height:1.32;white-space:pre-wrap;color:var(--ink)}app-root .cv-detail-panel{display:flex;align-items:center;justify-content:space-between;gap:.85rem}app-root .cv-detail-title{margin:.15rem 0;font-weight:700;color:var(--ink)}app-root .cv-detail-actions{display:flex;flex-wrap:wrap;gap:.5rem}@media (max-width: 980px){app-root .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}app-root .detail-grid .detail-full{grid-column:1 / -1}}@media (max-width: 720px){app-root .detail-grid,app-root .cv-detail-panel{grid-template-columns:1fr}app-root .cv-detail-panel{align-items:stretch;flex-direction:column}}app-root .page-shell{position:relative;z-index:1;width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:1.25rem 0 4rem}app-root .app-header{position:sticky;top:0;z-index:5;width:100%;margin:0;padding:0 max(1rem,calc((100% - 1180px)/2));display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.25rem;align-items:center;border-radius:0;background:var(--surface);border:0;border-bottom:1px solid var(--line);box-shadow:none;min-height:3.5rem;transition:box-shadow .18s ease,border-color .18s ease}app-root .app-header.is-scrolled{box-shadow:var(--shadow-soft)}app-root .app-brand{color:var(--ink);font-size:1rem;font-weight:800;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;display:inline-flex;align-items:center;padding:0}app-root .app-brand-logo{display:block;width:2.15rem;height:2.15rem;object-fit:contain;flex:0 0 auto}app-root .app-brand-name{display:inline-block;line-height:1}app-root .app-nav-toggle{grid-column:3;display:none;width:2.4rem;height:2.4rem;padding:0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:.28rem}app-root .app-nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}app-root .app-nav-toggle-bar{width:1.05rem;height:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}app-root .app-header.is-menu-open .app-nav-toggle-bar:nth-child(1){transform:translateY(.5rem) rotate(45deg)}app-root .app-header.is-menu-open .app-nav-toggle-bar:nth-child(2){opacity:0}app-root .app-header.is-menu-open .app-nav-toggle-bar:nth-child(3){transform:translateY(-.5rem) rotate(-45deg)}app-root .app-nav{grid-column:2 / 4;min-width:0;display:flex;flex-wrap:wrap;gap:0;justify-content:flex-end;align-items:stretch}app-root .app-nav-link{position:relative;flex:0 0 auto;min-height:3.25rem;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.3rem .85rem .35rem;border-radius:0;color:var(--muted);font-size:.78rem;font-weight:600;text-decoration:none;white-space:nowrap;line-height:1.1;transition:color .14s ease}app-root .app-theme-toggle{position:relative;flex:0 0 auto;min-height:3.25rem;width:3rem;display:inline-flex;align-items:center;justify-content:center;padding:.3rem .55rem .35rem;border:0;border-radius:0;color:var(--muted);background:transparent;cursor:pointer;transition:color .14s ease}app-root .app-theme-toggle:hover,app-root .app-theme-toggle:focus-visible{color:var(--ink)}app-root .app-theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}app-root .app-theme-toggle svg{width:1.25rem;height:1.25rem}app-root .app-nav-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem}app-root .app-nav-icon svg{width:100%;height:100%}app-root .notification-badge{position:absolute;top:-.4rem;right:-.55rem;min-width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .25rem;border:2px solid var(--surface);border-radius:var(--radius-pill);color:#fff;background:var(--danger);font-size:.6rem;font-weight:800;line-height:1}app-root .app-nav-label{font-size:.76rem;letter-spacing:.01em}app-root .app-nav-link:hover,app-root .app-nav-link:focus-visible{color:var(--ink);background:transparent;outline:none}app-root .app-nav-link.is-active{color:var(--ink);background:transparent}app-root .app-nav-link.is-active:after{content:"";position:absolute;left:.6rem;right:.6rem;bottom:0;height:2px;background:var(--accent)}app-root .masthead,app-root .hero,app-root .content-section{animation:rise-in .48s cubic-bezier(.2,.8,.2,1) both}app-root .hero{animation-delay:60ms}app-root .content-section:nth-of-type(1){animation-delay:.1s}app-root .content-section:nth-of-type(2){animation-delay:.14s}app-root .content-section:nth-of-type(3){animation-delay:.18s}app-root .masthead{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;margin-bottom:1.5rem}app-root .brand-block{max-width:32rem}app-root .brand-mark,app-root .eyebrow,app-root .section-kicker,app-root .board-kicker,app-root .signal-label,app-root .journey-phase,app-root .module-tag,app-root .hero-note-title,app-root .board-state{margin:0;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;color:var(--muted)}app-root .brand-mark{color:var(--accent)}app-root .brand-caption{margin:.6rem 0 0;color:var(--muted);font-size:.95rem;line-height:1.55}app-root .signal-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;width:min(100%,42rem)}app-root .signal-chip{padding:.85rem 1rem;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);box-shadow:none}app-root .signal-label,app-root .section-kicker,app-root .hero-note-title,app-root .journey-phase,app-root .module-tag{color:var(--accent)}app-root .signal-value{margin:.4rem 0 0;color:var(--ink);font-size:.95rem;font-weight:600;line-height:1.4}app-root .hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(21rem,.92fr);gap:1rem;align-items:stretch}app-root .hero-copy,app-root .module-card,app-root .actor-card,app-root .journey-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:none}app-root .hero-copy{padding:2rem 2.2rem 2.2rem;border-radius:var(--radius-md)}app-root h1,app-root h2,app-root h3{margin:0;font-family:var(--font-sans);font-weight:700;line-height:1.15;color:var(--ink)}app-root h1{max-width:18ch;margin-top:.7rem;font-size:clamp(2.4rem,4.5vw,3.4rem);letter-spacing:-.022em;line-height:1.05}app-root h2{font-size:clamp(1.45rem,2.5vw,1.9rem);letter-spacing:-.015em}app-root h3{font-size:1.05rem;letter-spacing:-.005em;font-weight:600}app-root .hero-summary,app-root .board-card p,app-root .journey-step p,app-root .module-card p,app-root .actor-card p,app-root .hero-note p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6}app-root .hero-summary{max-width:60ch;margin-top:1rem;font-size:1rem}app-root .hero-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.75rem}app-root .hero-note{padding:1rem 1.1rem 1.1rem;border-radius:var(--radius-md);background:var(--surface-muted);border:1px solid var(--line)}app-root .hero-note.accent{background:var(--accent-soft);border-color:#114e4a33}app-root .hero-board{padding:1.5rem;border-radius:var(--radius-md);color:#e6e9ec;background:var(--surface-deep);border:1px solid #0a0f17;box-shadow:var(--shadow-deep);position:relative;overflow:hidden}app-root .board-heading,app-root .section-heading{display:flex;flex-direction:column;gap:.4rem}app-root .board-kicker{color:#e6e9ec99}app-root .hero-board h2{max-width:14ch;color:#fff}app-root .board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.25rem}app-root .board-card{position:relative;z-index:1;padding:1rem;border-radius:var(--radius-md);background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}app-root .board-state{color:var(--accent-soft)}app-root .board-card h3{margin-top:.4rem;font-size:1.05rem;line-height:1.2;color:#fff}app-root .board-card p{margin-top:.5rem;color:#e6e9ecb3}app-root .board-checks{position:relative;z-index:1;margin:1.1rem 0 0;padding:0;list-style:none;display:grid;gap:.6rem}app-root .board-checks li{padding-left:1.25rem;position:relative;color:#e6e9ecc7;line-height:1.5;font-size:.92rem}app-root .board-checks li:before{content:"";position:absolute;left:0;top:.55rem;width:.4rem;height:.4rem;border-radius:1px;background:var(--accent-soft)}app-root .content-section{margin-top:2rem}app-root .journey-track,app-root .module-grid,app-root .actor-grid{display:grid;gap:.75rem;margin-top:1rem}app-root .journey-track{grid-template-columns:repeat(4,minmax(0,1fr))}app-root .journey-step,app-root .module-card,app-root .actor-card{position:relative;min-height:100%;border-radius:var(--radius-md);padding:1.25rem}app-root .journey-step:before{content:"";position:absolute;inset:0 auto auto 0;width:2px;height:100%;background:var(--accent)}app-root .journey-step h3,app-root .module-card h3,app-root .actor-card h3{margin-top:.5rem;line-height:1.2}app-root .journey-step p,app-root .module-card p,app-root .actor-card p{margin-top:.6rem}app-root .module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}app-root .actor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}app-root .module-card,app-root .actor-card{background:var(--surface)}app-root .route-page{min-height:100dvh;display:grid;align-content:start;gap:1rem}app-root .route-panel,app-root .route-actions{max-width:56rem;background:var(--surface);border:1px solid var(--line);box-shadow:none;border-radius:var(--radius-md)}app-root .route-panel{padding:1.5rem}app-root .route-panel p:not(.eyebrow),app-root .route-list{margin:1rem 0 0;color:var(--muted);font-size:.98rem;line-height:1.6}app-root .route-panel h2{font-size:clamp(1.5rem,2.6vw,2rem)}app-root .route-list{padding-left:1.1rem}app-root .route-list li+li{margin-top:.45rem}app-root .route-actions{width:fit-content;padding:.6rem;border-radius:var(--radius-md)}app-root .route-actions a{display:inline-flex;min-height:2.4rem;align-items:center;justify-content:center;padding:0 1rem;border-radius:var(--radius-md);color:#fff;background:var(--accent);font-weight:600;text-decoration:none;font-size:.92rem}app-root .route-actions a:hover,app-root .route-actions a:focus-visible{background:var(--accent-hover);outline:none}app-root .login-page{align-content:start;padding-top:2rem}app-root .login-panel{display:grid;grid-template-columns:minmax(0,.85fr) minmax(20rem,1fr);gap:1.5rem;align-items:start}app-root .login-copy p:not(.eyebrow){margin:1rem 0 0;color:var(--muted);line-height:1.6}app-root .login-form{display:grid;gap:.9rem}app-root .form-field{display:grid;gap:.35rem}app-root .form-field label{color:var(--ink);font-size:.85rem;font-weight:600}app-root .form-field input{width:100%;min-height:2.6rem;padding:0 .85rem;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);background:var(--surface);font:inherit;font-size:.95rem;outline:none;transition:border-color .14s ease,box-shadow .14s ease}app-root .form-field input:hover{border-color:var(--line-strong)}app-root .form-field input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #114e4a26}app-root .form-field input[aria-invalid=true]{border-color:var(--danger)}app-root .field-error,app-root .form-alert{margin:0;color:var(--danger);font-size:.85rem;line-height:1.45}app-root .form-alert{padding:.7rem .85rem;border:1px solid rgba(179,38,30,.22);border-radius:var(--radius-md);background:var(--danger-soft)}app-root .login-submit{min-height:2.6rem;border:0;border-radius:var(--radius-md);color:#fff;background:var(--accent);font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;transition:background-color .14s ease}app-root .login-submit:hover:not(:disabled),app-root .login-submit:focus-visible:not(:disabled){background:var(--accent-hover);outline:none}app-root .login-submit:disabled{color:var(--muted);background:var(--surface-muted);border:1px solid var(--line);cursor:not-allowed}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){app-root .masthead,app-root .hero,app-root .content-section{animation:none}}@media (max-width: 1100px){app-root .masthead,app-root .hero,app-root .signal-strip,app-root .journey-track,app-root .module-grid,app-root .actor-grid,app-root .login-panel{grid-template-columns:1fr}app-root .masthead{display:grid}app-root .signal-strip{width:100%}app-root h1,app-root .hero-board h2{max-width:none}}@media (max-width: 1100px){app-root .app-nav{gap:0}app-root .app-nav-link{padding:.3rem .55rem .35rem;font-size:.74rem}app-root .app-theme-toggle{width:2.7rem;padding:.3rem .45rem .35rem}app-root .app-nav-icon{width:1.15rem;height:1.15rem}app-root .app-nav-label{font-size:.7rem}}@media (max-width: 880px){app-root .app-nav-link{min-height:3rem;padding:.4rem .55rem;gap:0}app-root .app-theme-toggle{min-height:3rem;width:2.7rem;padding:.4rem .55rem}app-root .app-nav-icon{width:1.35rem;height:1.35rem}app-root .app-nav-label{display:none}}@media (max-width: 560px){app-root .app-header{grid-template-columns:auto 1fr auto;gap:.5rem;padding:0 .9rem}app-root .app-nav-toggle{display:inline-flex}app-root .app-nav{grid-column:1 / -1;grid-row:2;justify-content:flex-start;flex-wrap:wrap;gap:0;max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .22s ease,opacity .18s ease}app-root .app-header.is-menu-open{box-shadow:var(--shadow-soft)}app-root .app-header.is-menu-open .app-nav{max-height:60vh;overflow-y:auto;opacity:1;pointer-events:auto;padding:.3rem 0 .4rem;border-top:1px solid var(--line)}app-root .app-header.is-menu-open .app-nav-link{flex:1 1 calc(50% - .4rem);min-width:5.5rem;min-height:2.8rem;padding:.5rem .6rem;gap:.15rem}app-root .app-header.is-menu-open .app-theme-toggle{flex:1 1 calc(50% - .4rem);min-width:5.5rem;min-height:2.8rem;width:auto;padding:.5rem .6rem}app-root .app-header.is-menu-open .app-nav-icon{width:1.2rem;height:1.2rem}app-root .app-header.is-menu-open .app-nav-label{display:inline-block;font-size:.76rem}}@media (max-width: 720px){app-root .page-shell{width:min(100% - 1rem,1180px);padding:1rem 0 2rem}app-root .hero-copy,app-root .hero-board,app-root .journey-step,app-root .module-card,app-root .actor-card,app-root .route-panel{padding:1.2rem;border-radius:var(--radius-md)}app-root .hero-notes,app-root .board-grid{grid-template-columns:1fr}app-root h1{font-size:clamp(2.1rem,11vw,3rem)}app-root h2{font-size:clamp(1.4rem,6vw,1.8rem)}}app-root .recommend-wrap{position:relative;display:inline-block}app-root .recommend-toggle{cursor:pointer}app-root .internal-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}app-root .recommend-panel{position:absolute;top:calc(100% + .35rem);right:0;min-width:16rem;max-width:22rem;padding:.7rem .85rem;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-deep);z-index:20;display:grid;gap:.4rem;text-align:left}app-root .recommend-heading{margin:0;font-weight:700;color:var(--ink);font-size:.85rem}app-root .recommend-empty{margin:0;color:var(--muted);font-size:.85rem}app-root .recommend-list{margin:0;padding:0;list-style:none;display:grid;gap:.25rem;max-height:14rem;overflow:auto}app-root .recommend-list li{font-size:.86rem;color:var(--ink);line-height:1.35}app-root .recommend-list li span{color:var(--muted)}app-root .recommend-student{width:100%;display:block;padding:.4rem .5rem;border:0;border-radius:var(--radius-sm);color:inherit;background:transparent;font:inherit;text-align:left;cursor:pointer}app-root .recommend-student:hover:not(:disabled),app-root .recommend-student:focus-visible:not(:disabled){background:var(--accent-soft);outline:none}app-root .recommend-student:disabled{cursor:progress;opacity:.62}app-root .recommend-feedback{margin-top:.5rem;font-size:.84rem;font-weight:600}app-root .success-copy{color:var(--success)}app-root .error-copy{color:var(--danger)}app-root .loading-panel{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center;overflow:hidden}app-root .loading-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0%,rgba(17,78,74,.08) 45%,transparent 70%);transform:translate(-100%);animation:loading-sweep 1.5s ease-in-out infinite}app-root .loading-panel>*{position:relative;z-index:1}app-root .loading-visual{position:relative;width:3.6rem;height:3.6rem;display:grid;place-items:center}app-root .loading-orbit,app-root .loading-core{position:absolute;border-radius:50%}app-root .loading-orbit{inset:0;border:2px solid rgba(17,78,74,.16);border-top-color:var(--accent);animation:loading-spin .9s linear infinite}app-root .loading-core{width:1.25rem;height:1.25rem;background:var(--accent);animation:loading-pulse 1.2s ease-in-out infinite}app-root .loading-lines{display:grid;gap:.45rem;max-width:28rem;margin-top:.95rem}app-root .loading-lines span{height:.55rem;background:linear-gradient(90deg,#114e4a1f,#114e4a3d,#114e4a1f);background-size:180% 100%;border-radius:999px;animation:loading-shimmer 1.1s ease-in-out infinite}app-root .loading-lines span:nth-child(2){width:74%;animation-delay:.12s}app-root .loading-lines span:nth-child(3){width:48%;animation-delay:.24s}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-pulse{0%,to{transform:scale(.72);opacity:.72}50%{transform:scale(1);opacity:1}}@keyframes loading-sweep{to{transform:translate(100%)}}@keyframes loading-shimmer{0%{background-position:120% 0}to{background-position:-80% 0}}@media (max-width: 620px){app-root .loading-panel{grid-template-columns:1fr}app-root .loading-visual{width:3rem;height:3rem}}@media (prefers-reduced-motion: reduce){app-root .loading-panel:before,app-root .loading-orbit,app-root .loading-core,app-root .loading-lines span{animation:none}}
