.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 0;transition:all var(--transition)}.navbar--scrolled{background:#faf8f3f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:12px 0;border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}.navbar__inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 24px;gap:32px}.navbar__logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}.navbar__logo-text{font-family:Syne,sans-serif;font-size:1.6rem;font-weight:800;color:#3dbfb8;letter-spacing:-.03em;line-height:1}.navbar__logo-x{color:#3dbfb8}.navbar__nav{display:flex;align-items:center;gap:4px;flex:1}.navbar__link{font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--text-secondary);padding:6px 14px;border-radius:var(--radius);transition:all var(--transition);text-decoration:none;position:relative}.navbar__link:hover{color:var(--ink);background:var(--surface)}.navbar__link--active{color:var(--ink);font-weight:600}.navbar__link--active:after{content:"";position:absolute;bottom:-2px;left:14px;right:14px;height:2px;background:#3dbfb8;border-radius:1px}.navbar__actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.navbar__user{display:flex;align-items:center;gap:10px}.navbar__avatar{width:34px;height:34px;border-radius:50%;background:#3dbfb8;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;overflow:hidden;border:2px solid rgba(61,191,184,.3)}.navbar__avatar img{width:100%;height:100%;object-fit:cover}.navbar__btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:var(--radius);font-family:var(--font-body);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition);text-decoration:none;border:none}.navbar__btn--primary{background:var(--ink);color:var(--cream)}.navbar__btn--primary:hover{background:#3dbfb8;transform:translateY(-1px);box-shadow:0 4px 16px #3dbfb859}.navbar__btn--ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.navbar__btn--ghost:hover{background:var(--surface);color:var(--ink)}.navbar__hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}.navbar__hamburger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:1px;transition:all var(--transition);transform-origin:center}.navbar__hamburger--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar__hamburger--open span:nth-child(2){opacity:0;transform:scaleX(0)}.navbar__hamburger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:768px){.navbar__hamburger{display:flex}.navbar__nav{position:fixed;top:60px;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:4px;padding:12px 24px 20px;transform:translateY(-110%);opacity:0;transition:all var(--transition);pointer-events:none}.navbar__nav--open{transform:translateY(0);opacity:1;pointer-events:all}}.navbar__logo-img{height:36px;width:auto;display:block}.vacancy-card{background:var(--cream);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:28px;transition:all var(--transition);position:relative;overflow:hidden}.vacancy-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.vacancy-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.vacancy-card:hover:before{transform:scaleX(1)}.vacancy-card__header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.vacancy-card__company-logo{width:40px;height:40px;border-radius:var(--radius-md);background:var(--ink);color:var(--cream);font-family:var(--font-display);font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vacancy-card__meta{flex:1;display:flex;flex-direction:column;gap:2px}.vacancy-card__company{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.vacancy-card__date{font-size:.75rem;color:var(--text-muted)}.vacancy-card__title{font-size:1.2rem;font-weight:700;color:var(--ink);margin-bottom:14px;line-height:1.25}.vacancy-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.vacancy-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:.75rem;font-weight:600;background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.vacancy-tag--location{color:var(--text-muted)}.vacancy-card__desc{font-size:.875rem;color:var(--text-secondary);line-height:1.65;margin-bottom:12px}.vacancy-card__desc--clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.vacancy-card__footer{display:flex;align-items:center;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.vacancy-card__apply-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 20px;background:var(--ink);color:var(--cream);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition);white-space:nowrap}.vacancy-card__apply-btn:hover:not(:disabled){background:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #3dbfb859}.vacancy-card__apply-btn--applied{background:var(--surface);color:#22c55e;border:1.5px solid #22c55e;cursor:default}.vacancy-card__apply-btn--applied:hover{transform:none;box-shadow:none;background:var(--surface)}.vacancy-card__location{font-size:.82rem;color:var(--text-muted);margin-bottom:10px}.modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--cream);border-radius:var(--radius-lg);padding:40px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.modal__title{font-family:var(--font-display);font-weight:800;font-size:1.6rem;margin-bottom:4px;color:var(--ink)}.modal__subtitle{color:var(--text-secondary);font-size:.95rem}.modal__close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);line-height:1;padding:4px;transition:color var(--transition)}.modal__close:hover{color:var(--ink)}.modal__tags{margin-bottom:24px}.modal__btn-full{width:100%}.modal__salary{background:var(--surface);border-radius:var(--radius-md);padding:16px;margin-bottom:24px}.modal__salary-label{font-weight:600;margin-bottom:4px;color:var(--text-secondary)}.modal__salary-value{color:var(--accent);font-weight:700;font-size:1.1rem}.modal__languages{margin-bottom:20px}.modal__languages-title{font-weight:700;margin-bottom:8px;color:var(--ink)}.modal__languages-list{display:flex;gap:8px;flex-wrap:wrap}.modal__language-tag{background:#fff8e1;color:#d97706;border-radius:20px;padding:4px 14px;font-size:.85rem;font-weight:600}.modal__description{margin-bottom:32px}.modal__description-title{font-weight:700;margin-bottom:12px;color:var(--ink)}.modal__description p{color:var(--text-secondary);line-height:1.7;white-space:pre-wrap}.modal__success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;border-radius:var(--radius-md);padding:12px 16px;font-weight:600;font-size:.9rem;margin-bottom:16px}.modal__confirm{background:var(--surface);border-radius:var(--radius-md);padding:20px}.modal__confirm-title{font-weight:700;margin-bottom:12px;color:var(--ink)}.modal__confirm p{color:var(--text-secondary);font-size:.9rem;margin-bottom:4px}.modal__confirm-note{color:var(--text-muted)!important;font-size:.85rem!important;margin-top:8px;margin-bottom:16px!important}.modal__confirm-actions{display:flex;gap:10px}@media(max-width:640px){.modal{padding:24px}}.recommendations-section{margin-bottom:48px}.recommendations__title{font-family:Syne,sans-serif;font-size:1.4rem;font-weight:800;margin-bottom:16px;color:var(--ink)}.recommendations__skeletons{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.recommendation-skeleton{background:var(--surface);border-radius:16px;height:140px;animation:pulse 1.5s infinite}.recommendations__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.recommendation-card{background:#fff;border:2px solid #3DBFB8;border-radius:16px;padding:20px;cursor:pointer;transition:transform .2s,box-shadow .2s;min-width:0}.recommendation-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #3dbfb833}.recommendation-card__score{display:inline-block;background:#3dbfb8;color:#fff;border-radius:20px;padding:2px 12px;font-size:.8rem;font-weight:700;margin-bottom:10px}.recommendation-card__title{font-family:Syne,sans-serif;font-weight:700;font-size:1rem;margin-bottom:4px}.recommendation-card__company{color:#666;font-size:.85rem;margin-bottom:8px}.recommendation-card__reason{color:#444;font-size:.8rem;line-height:1.5;margin-bottom:8px}.recommendation-card__tags{display:flex;gap:6px;flex-wrap:wrap}@media(max-width:640px){.recommendations__list,.recommendations__skeletons{grid-template-columns:1fr}}.vacancies-page{padding-top:80px;min-height:100vh}.vacancies-hero{padding:64px 0 48px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--surface) 0%,var(--cream) 100%);position:relative;overflow:hidden}.vacancies-hero:before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(232,80,26,.06) 0%,transparent 70%);pointer-events:none}.vacancies-hero__content{margin-bottom:36px}.vacancies-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:20px}.vacancies-hero__dot{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:pulse-dot 2s infinite}.vacancies-hero__title{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;color:var(--ink);margin-bottom:16px;line-height:1.05}.vacancies-hero__title em{font-style:italic;color:var(--accent)}.vacancies-hero__subtitle{font-size:1.05rem;color:var(--text-secondary);max-width:480px}.vacancies-search{display:flex;flex-direction:column;gap:16px}.vacancies-search__input-wrap{position:relative;display:flex;align-items:center;background:var(--cream);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);transition:border-color var(--transition),box-shadow var(--transition);max-width:600px}.vacancies-search__input-wrap:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px #0a0a0f0f}.vacancies-search__icon{position:absolute;left:16px;color:var(--text-muted);pointer-events:none}.vacancies-search__input{width:100%;padding:14px 44px;border:none;background:transparent;font-family:var(--font-body);font-size:.95rem;color:var(--text-primary);outline:none}.vacancies-search__input::placeholder{color:var(--text-muted)}.vacancies-search__clear{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1.2rem;line-height:1;padding:4px}.vacancies-search__clear:hover{color:var(--ink)}.vacancies-search__filters{display:flex;flex-direction:column;gap:10px}.filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-btn{padding:7px 16px;border-radius:100px;font-family:var(--font-body);font-size:.83rem;font-weight:500;cursor:pointer;transition:all var(--transition);border:1.5px solid var(--border);background:var(--cream);color:var(--text-secondary)}.filter-btn:hover{border-color:var(--ink);color:var(--ink)}.filter-btn--active{background:var(--ink);border-color:var(--ink);color:var(--cream)}.vacancies-results{padding:40px 0 80px}.vacancies-results__header{margin-bottom:28px}.vacancies-count{font-size:.875rem;color:var(--text-muted);font-weight:500}.vacancies-grid,.vacancies-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.vacancy-skeleton{background:var(--surface);border-radius:var(--radius-lg);padding:28px;animation:pulse 1.6s ease infinite}.vacancy-skeleton__line{height:14px;background:var(--border-strong);border-radius:7px;margin-bottom:12px}.vacancy-skeleton__line--title{height:22px;width:70%}.vacancy-skeleton__line--short{width:40%}.vacancies-error,.vacancies-empty{text-align:center;padding:80px 24px;color:var(--text-muted)}.vacancies-empty__icon{font-size:3rem;margin-bottom:16px;opacity:.3}.vacancies-error svg{margin-bottom:12px;opacity:.4}.vacancies-error h3,.vacancies-empty h3{font-size:1.1rem;color:var(--text-secondary);margin-bottom:8px}.vacancies-error p,.vacancies-empty p{font-size:.9rem;margin-bottom:20px}.btn-retry{padding:9px 20px;border:1.5px solid var(--border-strong);background:transparent;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;color:var(--text-secondary);transition:all var(--transition)}.btn-retry:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}@media(min-width:640px){.vacancies-search__filters{flex-direction:row;align-items:center;gap:16px}.filter-group+.filter-group{padding-left:16px;border-left:1px solid var(--border)}}@media(max-width:640px){.vacancies-grid,.vacancies-loading{grid-template-columns:1fr}.vacancies-hero__title{font-size:2.2rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 24px 40px;position:relative;overflow:hidden}.login-page__bg{position:fixed;inset:0;z-index:0;pointer-events:none}.login-page__blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.12}.login-page__blob--1{width:600px;height:600px;background:#3dbfb8;top:-200px;right:-200px}.login-page__blob--2{width:500px;height:500px;background:#3dbfb8;bottom:-150px;left:-150px}.login-page__grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 40%,transparent 100%);mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 40%,transparent 100%)}.login-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--cream);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-lg)}.login-card__header{text-align:center;margin-bottom:24px}.login-card__wordmark{font-family:Syne,sans-serif;font-size:2.4rem;font-weight:800;color:#3dbfb8;letter-spacing:-.03em;margin-bottom:10px;line-height:1}.login-card__subtitle{font-size:.88rem;color:var(--text-secondary);line-height:1.5}.login-form{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.login-input-wrap{position:relative}.login-input{width:100%;padding:11px 16px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;color:var(--text-primary);background:var(--surface);outline:none;transition:all var(--transition)}.login-input:focus{border-color:#3dbfb8;background:var(--cream);box-shadow:0 0 0 3px #3dbfb81f}.login-input::placeholder{color:var(--text-muted)}.login-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;display:flex;align-items:center}.login-eye:hover{color:var(--ink)}.login-btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:#3dbfb8;color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition);margin-top:2px}.login-btn-primary:hover:not(:disabled){background:#2fa8a1;box-shadow:0 4px 16px #3dbfb866;transform:translateY(-1px)}.login-btn-primary:disabled{opacity:.7;cursor:not-allowed}.login-card__divider{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.login-card__divider:before,.login-card__divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-card__providers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:24px}.login-provider{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 8px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--transition);border:none;white-space:nowrap}.login-provider:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.login-provider:active{transform:translateY(0)}.login-provider:disabled{opacity:.6;cursor:not-allowed}.login-provider__icon{width:18px;height:18px;flex-shrink:0}.login-provider--google{background:var(--surface);color:var(--ink);border:1.5px solid var(--border-strong)}.login-provider--linkedin{background:#0a66c2;color:#fff}.login-provider--microsoft{background:var(--surface);color:var(--ink);border:1.5px solid var(--border-strong)}.login-card__footer{text-align:center;font-size:.75rem;color:var(--text-muted);line-height:1.6}.login-card__footer a{color:#3dbfb8;font-weight:500;text-decoration:underline;text-underline-offset:2px}.login-badge{position:fixed;bottom:32px;right:32px;display:flex;align-items:center;gap:8px;background:var(--ink);color:var(--cream);padding:8px 16px;border-radius:100px;font-size:.78rem;font-weight:500;animation:fadeIn .8s .4s ease both}.login-badge__dot{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:pulse-dot 2s infinite}.login-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}.login-spinner--dark{border-color:#0a0a0f26;border-top-color:var(--ink)}@media(max-width:480px){.login-card{padding:32px 20px}.login-badge{display:none}.login-card__providers{grid-template-columns:1fr}}.login-empresa-link{text-align:center;margin-top:16px;font-size:.9rem;color:#666}.login-empresa-link__btn{color:#3dbfb8;cursor:pointer;font-weight:600;background:none;border:none;font-family:inherit;font-size:inherit;padding:0}.login-empresa-link__btn:hover{text-decoration:underline}.invite-modal{max-width:440px}.invite-modal__success{text-align:center;padding:16px 0;display:flex;flex-direction:column;gap:20px}.invite-modal__success p{color:#16a34a;font-weight:600;font-size:1rem}.invite-modal__note{font-size:.85rem;color:var(--text-muted);background:var(--surface);border-radius:8px;padding:10px 14px}.education-section{margin-top:32px;padding-top:32px;border-top:1px solid var(--border)}.education-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.education-section__title{font-family:Syne,sans-serif;font-weight:700;font-size:1.1rem;color:var(--ink)}.education-section__add-btn{background:var(--ink);color:var(--cream);border:none;border-radius:8px;padding:6px 14px;font-family:var(--font-body);font-size:.85rem;font-weight:600;cursor:pointer;transition:background var(--transition)}.education-section__add-btn:hover{background:var(--accent)}.education-section__empty{color:var(--text-muted);font-size:.9rem;text-align:center;padding:20px 0}.education-form{background:var(--surface);border-radius:var(--radius-md);padding:20px;margin-bottom:20px;display:flex;flex-direction:column;gap:16px}.education-list{display:flex;flex-direction:column;gap:12px}.education-card{background:var(--cream);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:16px 20px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;transition:border-color var(--transition)}.education-card:hover{border-color:var(--accent)}.education-card__left{display:flex;gap:14px;align-items:flex-start;flex:1}.education-card__icon{font-size:1.4rem;flex-shrink:0;margin-top:2px}.education-card__career{font-weight:700;color:var(--ink);font-size:.95rem;margin-bottom:2px}.education-card__institution{color:var(--text-secondary);font-size:.85rem;margin-bottom:8px}.education-card__tags{display:flex;flex-wrap:wrap;gap:6px}.education-card__tag{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border);border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:600}.education-card__tag--done{background:#e8f5e9;color:#16a34a;border-color:#bbf7d0}.education-card__tag--active{background:#f0fafa;color:#3dbfb8;border-color:#3dbfb8}.education-card__tag--incomplete{background:#fff8e1;color:#f59e0b;border-color:#fde68a}.education-card__tag--year{background:transparent;color:var(--text-muted);border-color:transparent}.education-card__actions{display:flex;gap:6px;flex-shrink:0}.education-card__btn{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:.8rem;cursor:pointer;color:var(--text-secondary);transition:all var(--transition)}.education-card__btn:hover{border-color:var(--ink);color:var(--ink)}.education-card__btn--delete:hover{border-color:#e11d48;color:#e11d48}.points-badge{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:12px 16px}.points-badge__main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.points-badge__pts{font-family:Syne,sans-serif;font-weight:800;font-size:1.2rem;color:var(--ink)}.points-badge__level{font-weight:700;font-size:.85rem;padding:2px 10px;border-radius:20px;background:#0000000d}.points-badge__month{font-size:.75rem;color:var(--text-muted)}.points-badge__history{margin-top:12px;border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:6px}.points-badge__history-title{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.points-badge__history-item{display:flex;justify-content:space-between;align-items:center;font-size:.82rem}.points-badge__history-desc{color:var(--text-secondary)}.points-badge__history-pts{color:#16a34a;font-weight:700}.profile-page{padding-top:100px;padding-bottom:80px;min-height:100vh}.profile-layout{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}.profile-sidebar{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;position:sticky;top:100px}.profile-avatar{width:80px;height:80px;border-radius:50%;background:var(--ink);color:var(--cream);font-family:var(--font-display);font-size:2rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;overflow:hidden;border:3px solid var(--border-strong)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-name{font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:4px}.profile-email{font-size:.8rem;color:var(--text-muted);margin-bottom:16px;word-break:break-all}.profile-role-badge{display:inline-block;background:var(--accent-muted);color:var(--accent);font-size:.78rem;font-weight:600;padding:4px 12px;border-radius:100px;margin-bottom:24px}.profile-resume{border-top:1px solid var(--border);padding-top:20px;text-align:center}.profile-resume__label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px}.profile-resume__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:var(--cream);border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.83rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.profile-resume__btn:hover:not(:disabled){border-color:#3dbfb8;color:#3dbfb8}.profile-form-section{background:var(--cream);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:40px}.profile-form-header{margin-bottom:36px}.profile-form-header h1{font-size:1.8rem;font-weight:800;color:var(--ink);margin-bottom:8px}.profile-form-header p{font-size:.9rem;color:var(--text-secondary)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-label{font-size:.825rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.form-label__hint{font-weight:400;color:var(--text-muted);font-size:.78rem}.form-input{padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;color:var(--text-primary);background:var(--surface);transition:all var(--transition);outline:none;width:100%}.form-input:focus{border-color:var(--ink);background:var(--cream);box-shadow:0 0 0 3px #0a0a0f0f}.form-input::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:110px;line-height:1.6}.form-skills-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.form-actions{display:flex;justify-content:flex-end;margin-top:8px;padding-top:24px;border-top:1px solid var(--border)}.form-save-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:var(--ink);color:var(--cream);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition);min-width:160px;justify-content:center}.form-save-btn:hover:not(:disabled){background:var(--accent);box-shadow:0 4px 16px #3dbfb859}.form-save-btn:disabled{opacity:.7;cursor:not-allowed}.form-error{display:flex;align-items:center;gap:8px;color:#dc2626;font-size:.85rem;padding:10px 14px;background:#dc26260f;border-radius:var(--radius-md);border:1px solid rgba(220,38,38,.15);margin-bottom:16px}.loading-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.profile-company-request{width:100%;margin-top:16px}.request-badge{border-radius:20px;padding:6px 16px;font-size:.85rem;font-weight:600;text-align:center;margin-top:8px}.request-status{text-align:center;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600}.request-status--pending{background:#fff8e1;color:#f59e0b}.request-status--accepted{background:#e8f5e9;color:#16a34a}.request-status--rejected{background:#fce4ec;color:#e11d48}.form-hint--success{color:#16a34a}@media(max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-sidebar{position:static}}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.profile-form-section{padding:24px 20px}}.owner-info{background:var(--cream);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:28px;margin-bottom:24px}.owner-info__title{font-family:Syne,sans-serif;font-weight:700;font-size:1.1rem;color:var(--ink);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.owner-info__input{background:var(--surface)!important;cursor:not-allowed;color:var(--text-secondary)!important}.owner-info__note{font-size:.8rem;color:var(--text-muted);margin-top:12px}.owner-info__status{padding:8px 14px;border-radius:20px;font-size:.85rem;font-weight:600;display:inline-block;margin-top:4px}.owner-info__status--accepted{background:#e8f5e9;color:#16a34a}.owner-info__status--pending{background:#fff8e1;color:#f59e0b}.owner-info__status--rejected{background:#fce4ec;color:#e11d48}.candidate-modal{max-width:500px}.candidate-modal__location{color:var(--text-muted);font-size:.9rem;margin-top:2px}.candidate-modal__body{display:flex;flex-direction:column;gap:20px}.candidate-modal__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.candidate-modal__field{display:flex;flex-direction:column;gap:4px}.candidate-modal__label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.candidate-modal__value{font-weight:600;color:var(--ink);font-size:.95rem}.candidate-modal__link{color:var(--accent);font-size:.88rem;font-weight:600;text-decoration:none}.candidate-modal__link:hover{text-decoration:underline}.candidate-modal__section{display:flex;flex-direction:column;gap:8px}.candidate-modal__tags{display:flex;flex-wrap:wrap;gap:6px}.candidate-modal__tag{border-radius:20px;padding:3px 12px;font-size:.8rem;font-weight:600}.candidate-modal__tag--skill{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.candidate-modal__tag--lang{background:#fff8e1;color:#d97706}.candidate-modal__cv-btn{width:100%;margin-top:4px}.dashboard{min-height:100vh;padding:100px 0 60px}.dashboard__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:16px}.dashboard__title{font-family:Syne,sans-serif;font-size:2rem;font-weight:800;color:var(--ink);letter-spacing:-.03em;margin:0}.dashboard__subtitle{color:var(--text-secondary);font-size:.9rem;margin:4px 0 0}.dashboard__tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:32px;flex-wrap:wrap}.dashboard__tab{padding:10px 20px;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--text-secondary);background:none;border:none;cursor:pointer;transition:all var(--transition);position:relative;border-bottom:2px solid transparent;margin-bottom:-1px}.dashboard__tab:hover{color:var(--ink)}.dashboard__tab--active{color:var(--ink);font-weight:600;border-bottom-color:#3dbfb8}.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:40px}.dash-stat{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:6px}.dash-stat__number{font-family:Syne,sans-serif;font-size:2.5rem;font-weight:800;color:#3dbfb8;line-height:1;display:block}.dash-stat__label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.dash-section__title{font-family:Syne,sans-serif;font-size:1.1rem;font-weight:700;color:var(--ink);margin:0 0 16px}.dash-section__title em{color:#3dbfb8;font-style:normal}.dash-card{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;margin-bottom:24px}.dash-card__title{font-family:Syne,sans-serif;font-size:1.1rem;font-weight:700;color:var(--ink);margin:0 0 24px}.dash-vacancy-list{display:flex;flex-direction:column;gap:10px}.dash-vacancy-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;transition:all var(--transition)}.dash-vacancy-row:hover{border-color:#3dbfb8;box-shadow:var(--shadow-sm)}.dash-vacancy-row__info{display:flex;flex-direction:column;gap:4px}.dash-vacancy-row__title{font-weight:600;font-size:.95rem;color:var(--ink)}.dash-vacancy-row__meta{font-size:.8rem;color:var(--text-secondary)}.dash-vacancy-row__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dash-status{padding:4px 14px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.dash-status--open{background:#e8f5e9;color:#16a34a}.dash-status--closed{background:#f5f5f5;color:#999}.dash-status--pending{background:#fff8e1;color:#f59e0b}.dash-status--accepted{background:#e8f5e9;color:#16a34a}.dash-status--rejected{background:#fce4ec;color:#e11d48}.dash-status--clickable{cursor:pointer;border:none;transition:opacity .2s;font-family:inherit}.dash-status--clickable:hover{opacity:.75}.dash-applicant-list{display:flex;flex-direction:column;gap:12px}.dash-applicant-card{display:flex;align-items:flex-start;gap:16px;padding:20px;background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;transition:all var(--transition)}.dash-applicant-card:hover{border-color:#3dbfb8;box-shadow:var(--shadow-sm)}.dash-applicant__avatar{width:42px;height:42px;border-radius:50%;background:#3dbfb8;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.dash-applicant__info{flex:1;display:flex;flex-direction:column;gap:4px}.dash-applicant__name{font-weight:600;font-size:.95rem;color:var(--ink)}.dash-applicant__meta{font-size:.8rem;color:var(--text-secondary)}.dash-applicant__skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.dash-applicant__actions{display:flex;align-items:center;gap:8px;flex-direction:column}.dash-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:all var(--transition);text-decoration:none}.dash-btn--primary{background:var(--ink);color:var(--cream)}.dash-btn--primary:hover{background:#3dbfb8;box-shadow:0 4px 16px #3dbfb859}.dash-btn--ghost{background:transparent;border:1.5px solid var(--border);color:var(--text-secondary)}.dash-btn--ghost:hover{background:var(--surface);color:var(--ink)}.dash-btn--sm{padding:5px 12px;font-size:.78rem;background:var(--surface);color:var(--ink);border:1px solid var(--border)}.dash-btn--sm:hover{border-color:#3dbfb8;color:#3dbfb8}.dash-btn--danger{color:#dc2626;border-color:#dc26264d}.dash-btn--danger:hover{background:#dc262614;border-color:#dc2626}.dash-btn--accept{background:#e8f5e9;color:#16a34a;border-radius:8px;padding:6px 14px;font-size:.85rem}.dash-btn--reject{background:#fce4ec;color:#e11d48;border-radius:8px;padding:6px 14px;font-size:.85rem}.dash-empty{color:var(--text-muted);font-size:.9rem;padding:24px 0;text-align:center}.dash-form{display:flex;flex-direction:column;gap:16px}.postulantes-title{font-family:Syne,sans-serif;font-weight:700;font-size:1.1rem;margin-bottom:16px}.postulantes-ai-section{margin-bottom:32px}.postulantes-ai-list{display:flex;flex-direction:column;gap:12px}.postulantes-ai-card{background:linear-gradient(135deg,#f0fafa,#fff);border:2px solid #3DBFB8;border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.postulantes-ai-avatar{width:44px;height:44px;border-radius:50%;background:#3dbfb8;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.postulantes-ai-info{flex:1}.postulantes-ai-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.postulantes-ai-name{font-weight:700}.postulantes-ai-badge{background:#3dbfb8;color:#fff;border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:700}.postulantes-ai-reason{color:#555;font-size:.85rem;margin:0}.postulantes-ai-actions{display:flex;align-items:center;gap:8px;margin-left:auto}@media(max-width:640px){.dash-stats{grid-template-columns:1fr}.dash-vacancy-row,.dashboard__header{flex-direction:column;align-items:flex-start}}.mis-postulaciones{padding:60px 0}.mis-postulaciones__title{font-family:Syne,sans-serif;font-size:2.5rem;font-weight:800;margin-bottom:8px}.mis-postulaciones__count{color:#666;margin-bottom:32px}.mis-postulaciones__empty{text-align:center;padding:80px 0;color:#999;font-size:1.1rem}.mis-postulaciones__list{display:flex;flex-direction:column;gap:16px}.postulacion-card{background:#fff;border-radius:16px;padding:24px;border:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.postulacion-card__title{font-family:Syne,sans-serif;font-weight:700;font-size:1.1rem;margin-bottom:4px}.postulacion-card__meta{color:#666;font-size:.9rem;margin-bottom:8px}.postulacion-card__tags{display:flex;gap:8px;flex-wrap:wrap}.postulacion-card__right{text-align:right}.postulacion-card__date{color:#aaa;font-size:.8rem;margin-top:6px}.postulacion-status{border-radius:20px;padding:4px 16px;font-size:.85rem;font-weight:600}.postulacion-status--pending{background:#fff8e1;color:#f59e0b}.postulacion-status--accepted{background:#e8f5e9;color:#16a34a}.postulacion-status--rejected{background:#fce4ec;color:#e11d48}.tag--modality{background:#f0fafa;color:#3dbfb8;border-radius:20px;padding:2px 12px;font-size:.8rem;font-weight:600}.tag--schedule{background:#f5f0ff;color:#7c3aed;border-radius:20px;padding:2px 12px;font-size:.8rem;font-weight:600}.admin-dashboard{padding:60px 0}.admin-dashboard__header{display:flex;align-items:center;gap:16px;margin-bottom:32px}.admin-dashboard__title{font-family:Syne,sans-serif;font-size:2.5rem;font-weight:800;color:var(--ink);margin:0}.admin-badge{background:var(--ink);color:var(--cream);border-radius:20px;padding:4px 14px;font-size:.85rem;font-weight:600}.admin-badge--count{background:#f59e0b;color:#fff;margin-left:12px;font-size:.8rem}.admin-tabs{display:flex;gap:0;border-bottom:2px solid #e5e5e5;margin-bottom:32px}.admin-tab{background:none;border:none;padding:12px 24px;font-family:DM Sans,sans-serif;font-size:1rem;cursor:pointer;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s}.admin-tab--active{color:#0a0a0f;font-weight:700;border-bottom-color:#3dbfb8}.admin-section__title{font-family:Syne,sans-serif;font-weight:700;font-size:1.3rem;margin-bottom:24px;display:flex;align-items:center;gap:8px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;margin-bottom:40px}.admin-stat{background:#fff;border-radius:16px;padding:28px 24px;border:1px solid #e5e5e5;display:flex;flex-direction:column;gap:8px}.admin-stat--highlight{border-color:#f59e0b;background:#fffbeb}.admin-stat__number{font-family:Syne,sans-serif;font-size:2.2rem;font-weight:800;color:#3dbfb8;line-height:1}.admin-stat__label{color:#666;font-size:.9rem}.admin-requests{display:flex;flex-direction:column;gap:16px}.admin-request-card{background:#fff;border-radius:16px;padding:24px;border:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.admin-request-card--accepted{border-color:#86efac;background:#f0fdf4}.admin-request-card--rejected{border-color:#fca5a5;background:#fff5f5}.admin-request__header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.admin-request__company{font-family:Syne,sans-serif;font-weight:700;font-size:1.1rem}.admin-request__status{border-radius:20px;padding:2px 12px;font-size:.8rem;font-weight:600}.admin-request__status--pending{background:#fff8e1;color:#f59e0b}.admin-request__status--accepted{background:#e8f5e9;color:#16a34a}.admin-request__status--rejected{background:#fce4ec;color:#e11d48}.admin-request__user{color:#555;font-size:.9rem;margin-bottom:4px}.admin-request__meta{color:#666;font-size:.85rem;margin-bottom:2px}.admin-request__link{color:#3dbfb8;font-size:.85rem;display:block;margin-bottom:4px}.admin-request__desc{color:#444;font-size:.85rem;margin-top:8px;line-height:1.5}.admin-request__date{color:#aaa;font-size:.8rem;margin-top:8px}.admin-request__actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.admin-btn{border:none;border-radius:10px;padding:8px 20px;font-weight:600;cursor:pointer;font-size:.9rem;font-family:inherit;transition:opacity .2s}.admin-btn:hover{opacity:.8}.admin-btn--accept{background:#e8f5e9;color:#16a34a}.admin-btn--reject{background:#fce4ec;color:#e11d48}.admin-empty{text-align:center;padding:60px 0;color:#999}.admin-stat--clickable{cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative}.admin-stat--clickable:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000014}.admin-stat__arrow{color:#3dbfb8;font-size:1.1rem;margin-top:4px}.admin-tab__badge{background:#f59e0b;color:#fff;border-radius:20px;padding:1px 8px;font-size:.75rem;font-weight:700;margin-left:6px}.admin-table{background:#fff;border-radius:16px;border:1px solid #e5e5e5;overflow:hidden}.admin-table__header{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));padding:14px 24px;background:#f4f1eb;font-weight:700;font-size:.85rem;color:#666}.admin-table__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));padding:16px 24px;border-top:1px solid #f0f0f0;font-size:.9rem;align-items:center}.admin-table__row:hover{background:#fafafa}.admin-status{border-radius:20px;padding:2px 12px;font-size:.8rem;font-weight:600;display:inline-block}.admin-status--open{background:#e8f5e9;color:#16a34a}.admin-status--closed{background:#f5f5f5;color:#999}.admin-dashboard__header .dash-btn--ghost{margin-left:auto}.admin-analytics{display:flex;flex-direction:column;gap:24px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.kpi-card{background:var(--cream);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:20px;display:flex;align-items:center;gap:16px;transition:box-shadow var(--transition)}.kpi-card:hover{box-shadow:var(--shadow-md)}.kpi-card__icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.kpi-card__body{display:flex;flex-direction:column;gap:2px}.kpi-card__value{font-family:Syne,sans-serif;font-size:1.8rem;font-weight:800;color:var(--ink);line-height:1}.kpi-card__label{font-weight:600;font-size:.85rem;color:var(--text-secondary)}.kpi-card__subtitle{font-size:.75rem;color:var(--text-muted)}.analytics-grid{display:grid;gap:20px}.analytics-grid--2{grid-template-columns:repeat(2,1fr)}.analytics-grid--3{grid-template-columns:repeat(3,1fr)}.analytics-card{background:var(--cream);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:24px}.analytics-card--full{width:100%}.analytics-card__title{font-family:Syne,sans-serif;font-weight:700;font-size:1rem;color:var(--ink);margin-bottom:4px}.analytics-card__subtitle{font-size:.8rem;color:var(--text-muted);margin-bottom:16px}@media(max-width:900px){.analytics-grid--2,.analytics-grid--3{grid-template-columns:1fr}}@media(max-width:640px){.kpi-grid{grid-template-columns:1fr 1fr}}.register-empresa{min-height:100vh;background:var(--surface);display:flex;align-items:center;justify-content:center;padding:40px 20px}.register-empresa__container{width:100%;max-width:480px}.register-empresa__header{text-align:center;margin-bottom:32px}.register-empresa__logo{font-family:Syne,sans-serif;font-size:1.8rem;font-weight:800;color:var(--accent);cursor:pointer;margin-bottom:16px}.register-empresa__title{font-family:Syne,sans-serif;font-size:1.6rem;font-weight:800;color:var(--ink);margin-bottom:8px}.register-empresa__subtitle{color:var(--text-secondary);font-size:.95rem}.register-empresa__card{background:var(--cream);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:36px}.register-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:32px}.register-step{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;flex:1}.register-step:not(:last-child):after{content:"";position:absolute;top:14px;left:50%;width:100%;height:2px;background:var(--border);z-index:0}.register-step--done:not(:last-child):after{background:var(--accent)}.register-step__dot{width:28px;height:28px;border-radius:50%;background:var(--surface);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--text-muted);position:relative;z-index:1}.register-step--active .register-step__dot{background:var(--ink);border-color:var(--ink);color:var(--cream)}.register-step--done .register-step__dot{background:var(--accent);border-color:var(--accent);color:#fff}.register-step__label{font-size:.75rem;color:var(--text-muted);font-weight:500}.register-step--active .register-step__label{color:var(--ink);font-weight:700}.register-form{display:flex;flex-direction:column;gap:20px}.register-form__hint{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.register-code-input{letter-spacing:8px;font-size:1.4rem;text-align:center}.register-btn{width:100%;padding:13px;background:var(--ink);color:var(--cream);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition)}.register-btn:hover:not(:disabled){background:var(--accent)}.register-btn:disabled{opacity:.6;cursor:not-allowed}.register-btn-ghost{width:100%;padding:10px;background:transparent;color:var(--text-secondary);border:1.5px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;cursor:pointer;transition:all var(--transition)}.register-btn-ghost:hover{border-color:var(--ink);color:var(--ink)}.register-done{text-align:center;padding:20px 0}.register-done__icon{font-size:3rem;margin-bottom:16px}.register-done__title{font-family:Syne,sans-serif;font-weight:800;font-size:1.4rem;color:var(--ink);margin-bottom:12px}.register-done__text{color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.register-empresa__login{text-align:center;margin-top:20px;color:var(--text-muted);font-size:.9rem}.register-empresa__login span{color:var(--accent);cursor:pointer;font-weight:600}.register-empresa__login span:hover{text-decoration:underline}.ruc-info{background:#f0fafa;border:1px solid #3DBFB8;border-radius:8px;padding:10px 14px;margin-top:8px}.ruc-info__name{font-weight:700;color:var(--ink);font-size:.9rem;margin-bottom:2px}.ruc-info__estado{color:#16a34a;font-size:.8rem}.form-hint{font-size:.82rem;margin-top:4px;color:#666}.form-hint--error{color:#e11d48}@media(max-width:640px){.register-empresa__card{padding:24px}}.ruc-info{background:#f0fafa;border:1.5px solid #3DBFB8;border-radius:10px;padding:12px 16px;margin-top:8px;animation:fadeIn .3s ease}.ruc-info__label{font-size:.75rem;font-weight:600;color:#3dbfb8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.ruc-info__name{font-weight:700;color:#0a0a0f;font-size:1rem;margin-bottom:2px}.ruc-info__estado{color:#16a34a;font-size:.82rem;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.registro-page{min-height:100vh;background:var(--surface);display:flex;align-items:center;justify-content:center;padding:40px 20px}.registro-container{width:100%;max-width:480px;text-align:center}.registro-logo{font-family:Syne,sans-serif;font-size:1.8rem;font-weight:800;color:var(--accent);cursor:pointer;margin-bottom:32px;display:block}.registro-card{background:var(--cream);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:40px}.registro-title{font-family:Syne,sans-serif;font-size:1.6rem;font-weight:800;color:var(--ink);margin-bottom:12px}.registro-subtitle{color:var(--text-secondary);margin-bottom:8px;font-size:1rem}.registro-email{color:var(--text-muted);font-size:.9rem;margin-bottom:24px}.registro-steps{background:var(--surface);border-radius:var(--radius-md);padding:16px 20px;text-align:left;margin-bottom:24px}.registro-steps p{font-weight:600;color:var(--ink);margin-bottom:8px}.registro-steps ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.registro-steps li{color:var(--text-secondary);font-size:.9rem}.registro-btn{width:100%;padding:14px;background:var(--ink);color:var(--cream);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition);margin-bottom:12px}.registro-btn:hover{background:var(--accent)}.registro-note{color:var(--text-muted);font-size:.82rem}.registro-success{color:#16a34a;font-weight:600;font-size:1rem}.registro-error{display:flex;flex-direction:column;gap:16px;align-items:center;color:var(--text-secondary)}.legal-page{padding:80px 0;min-height:100vh}.legal-page__title{font-family:Syne,sans-serif;font-size:2.5rem;font-weight:800;color:var(--ink);margin-bottom:8px}.legal-page__date,.legal-page__subtitle{color:var(--text-muted);margin-bottom:48px;font-size:.95rem}.legal-section{margin-bottom:36px}.legal-section h2{font-family:Syne,sans-serif;font-weight:700;font-size:1.2rem;color:var(--ink);margin-bottom:12px}.legal-section p{color:var(--text-secondary);line-height:1.8}.legal-section a{color:var(--accent);text-decoration:none}.legal-section a:hover{text-decoration:underline}.faq-list{display:flex;flex-direction:column;gap:8px;max-width:720px}.faq-item{border:1.5px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s}.faq-item--open{border-color:var(--accent)}.faq-question{width:100%;background:var(--cream);border:none;padding:18px 20px;text-align:left;font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}.faq-icon{font-size:1.2rem;color:var(--accent);flex-shrink:0}.faq-answer{padding:0 20px 18px;color:var(--text-secondary);line-height:1.7;font-size:.9rem}.acerca-hero{text-align:center;margin-bottom:48px}.acerca-logo{height:56px;width:auto;margin-bottom:20px}.acerca-tagline{color:var(--text-muted);font-size:1rem;margin-bottom:0}.acerca-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-top:16px}.acerca-feature{background:var(--surface);border-radius:var(--radius-md);padding:24px;text-align:center}.acerca-feature__icon{font-size:2rem;display:block;margin-bottom:12px}.acerca-feature h3{font-family:Syne,sans-serif;font-weight:700;margin-bottom:8px;color:var(--ink)}.acerca-feature p{color:var(--text-secondary);font-size:.88rem;line-height:1.6}.footer{background:var(--ink);color:var(--cream);padding:64px 0 0;margin-top:80px}.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:48px;margin-bottom:48px}.footer__logo{height:36px;width:auto;margin-bottom:16px;filter:brightness(0) invert(1)}.footer__tagline{color:#ffffff80;font-size:.9rem;line-height:1.6;margin-bottom:20px}.footer__social{display:flex;gap:10px}.footer__social-btn{width:36px;height:36px;border-radius:8px;background:#ffffff14;color:#ffffffb3;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .2s}.footer__social-btn:hover{background:var(--accent);color:#fff}.footer__social-btn--whatsapp:hover{background:#25d366}.footer__links{display:flex;flex-direction:column;gap:10px}.footer__links-title{font-family:Syne,sans-serif;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#fff6;margin-bottom:8px}.footer__link{color:#ffffffb3;text-decoration:none;font-size:.9rem;transition:color .2s}.footer__link:hover{color:var(--accent)}.footer__contact{display:flex;flex-direction:column;gap:12px}.footer__contact-item{display:flex;align-items:center;gap:8px;color:#ffffffb3;text-decoration:none;font-size:.9rem;transition:color .2s}.footer__contact-item:hover{color:var(--accent)}.footer__form-section{border-top:1px solid rgba(255,255,255,.08);padding-top:40px;margin-bottom:40px}.footer__form-title{font-family:Syne,sans-serif;font-weight:700;font-size:1.1rem;margin-bottom:20px}.footer__form{display:flex;flex-direction:column;gap:12px;max-width:600px}.footer__form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.footer__input{background:#ffffff0f;border:1.5px solid rgba(255,255,255,.12);border-radius:10px;padding:12px 16px;color:var(--cream);font-family:var(--font-body);font-size:.9rem;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box}.footer__input::placeholder{color:#ffffff4d}.footer__input:focus{border-color:var(--accent)}.footer__textarea{resize:vertical;min-height:100px}.footer__form-btn{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:12px 24px;font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s;align-self:flex-start}.footer__form-btn:hover:not(:disabled){opacity:.85}.footer__form-btn:disabled{opacity:.5;cursor:not-allowed}.footer__form-success{color:#4ade80;font-weight:600;padding:12px 0}.footer__form-error{color:#f87171;font-size:.85rem}.footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;display:flex;justify-content:center;align-items:center;color:#ffffff4d;font-size:.82rem}@media(max-width:900px){.footer__grid{grid-template-columns:1fr 1fr;gap:32px}.footer__brand{grid-column:1 / -1}}@media(max-width:640px){.footer__grid,.footer__form-grid{grid-template-columns:1fr}.footer__bottom{flex-direction:column;gap:8px;text-align:center}}:root{--ink: #0a0a0f;--ink-soft: #1a1a2e;--surface: #f4f1eb;--surface-2: #ede8df;--cream: #faf8f3;--accent: #3DBFB8;--accent-light: #52d4cd;--accent-muted: rgba(61, 191, 184, .12);--gold: #c9a84c;--text-primary: #0a0a0f;--text-secondary: #4a4a5a;--text-muted: #8a8a9a;--border: rgba(10, 10, 15, .1);--border-strong: rgba(10, 10, 15, .2);--shadow-sm: 0 2px 8px rgba(10, 10, 15, .06);--shadow-md: 0 8px 32px rgba(10, 10, 15, .1);--shadow-lg: 0 24px 64px rgba(10, 10, 15, .14);--radius: 4px;--radius-md: 8px;--radius-lg: 16px;--font-display: "Syne", sans-serif;--font-body: "DM Sans", sans-serif;--transition: .2s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background:var(--cream);color:var(--text-primary);line-height:1.6;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.1}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideRight{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.animate-fade-up{animation:fadeUp .5s ease both}.animate-fade-in{animation:fadeIn .4s ease both}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:.4}.route-loading{min-height:100vh;display:flex;align-items:center;justify-content:center}.route-loading__spinner{width:36px;height:36px;border:3px solid rgba(61,191,184,.2);border-top-color:#3dbfb8;border-radius:50%;animation:spin .7s linear infinite}
