:root {
  --zuni-beige: #ede8d0;
  --zuni-violet: #cea2fd;
  --zuni-black: #111111;
  --zuni-muted: #625d63;
}

html { position: relative; min-height: 100%; font-size: 14px; }
@media (min-width: 768px) { html { font-size: 16px; } }
body { margin-bottom: 60px; background: #f8f5e9; color: var(--zuni-black); font-family: "Segoe UI", Inter, system-ui, -apple-system, sans-serif; }
.page-container { min-height: calc(100vh - 150px); }
.btn { border-radius: .85rem; font-weight: 650; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease; }
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus { box-shadow: 0 0 0 .2rem rgba(206,162,253,.35); }
.btn-zuni { color: #111; background: var(--zuni-violet); border-color: rgba(17,17,17,.08); box-shadow: 0 10px 28px rgba(112,72,146,.2), inset 0 1px 0 rgba(255,255,255,.55); }
.btn-zuni:hover, .btn-zuni:focus { color: #fff; background: var(--zuni-black); border-color: var(--zuni-black); transform: translateY(-2px); box-shadow: 0 14px 34px rgba(17,17,17,.2); }
.btn-crystal { color: #111; background: rgba(255,255,255,.38); border: 1px solid rgba(17,17,17,.2); backdrop-filter: blur(12px); }
.btn-crystal:hover { color: #111; background: rgba(255,255,255,.72); border-color: rgba(17,17,17,.38); transform: translateY(-2px); }
.link-success { color: #72508e !important; }

/* Navegación */
.zuni-navbar { position: relative; z-index: 20; background: rgba(248,245,233,.78); border-bottom: 1px solid rgba(17,17,17,.07); box-shadow: 0 8px 30px rgba(17,17,17,.035); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: .45rem; color: var(--zuni-black) !important; font-size: 1.25rem; font-weight: 850; letter-spacing: .09em; }
.brand img { width: 34px; height: 34px; object-fit: contain; }.brand span { color: #8d61ad; }
.navbar .nav-link { color: #4d4850; font-weight: 550; padding-inline: 1.35rem !important; }.navbar .nav-link:hover { color: #76518f; }

/* Landing de inicio */
.home-page { background: radial-gradient(circle at 8% 6%, rgba(206,162,253,.13), transparent 27%), #f8f5e9; }
.home-page .page-container { max-width: 1480px; }
.landing-hero { position:relative; min-height:min(750px,calc(100vh - 112px)); margin:1.25rem 0 3rem; padding:clamp(3.5rem,7vw,6rem) clamp(1.5rem,6vw,6rem) 2rem; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; isolation:isolate; border:1px solid rgba(255,255,255,.82); border-radius:2rem; background:radial-gradient(circle at 14% 12%,rgba(255,255,255,.94),transparent 31%),radial-gradient(circle at 88% 20%,rgba(206,162,253,.54),transparent 43%),linear-gradient(128deg,#f7f3e2 0%,var(--zuni-beige) 57%,#e9dfd8 100%); box-shadow:0 26px 70px rgba(17,17,17,.09),inset 0 1px 0 rgba(255,255,255,.95); }
.landing-hero::before { content:""; position:absolute; inset:0; z-index:-3; opacity:.2; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E"); mix-blend-mode:soft-light; pointer-events:none; }
.landing-hero::after { content:""; position:absolute; width:48%; aspect-ratio:1.15; right:-11%; top:-25%; z-index:-2; border-radius:43% 57% 61% 39%/48% 41% 59% 52%; border:1px solid rgba(255,255,255,.64); background:linear-gradient(145deg,rgba(255,255,255,.48),rgba(206,162,253,.22) 52%,rgba(255,255,255,.04)); box-shadow:inset 22px 22px 48px rgba(255,255,255,.35); transform:rotate(-7deg); }
.liquid { position:absolute; z-index:-1; pointer-events:none; border:1px solid rgba(255,255,255,.65); backdrop-filter:blur(9px); -webkit-backdrop-filter:blur(9px); }
.liquid-b { width:30rem; height:14rem; right:18%; bottom:-10rem; border-radius:58% 42% 68% 32%/48% 63% 37% 52%; background:linear-gradient(145deg,rgba(206,162,253,.3),rgba(255,255,255,.24)); box-shadow:inset 18px 15px 36px rgba(255,255,255,.42); transform:rotate(-7deg); }
.hero-content { position:relative; z-index:3; width:min(720px,63%); }
.hero-kicker { display:inline-flex; align-items:center; gap:.7rem; margin-bottom:1.45rem; padding:.52rem .78rem; color:#4d3759; background:rgba(255,255,255,.38); border:1px solid rgba(255,255,255,.68); border-radius:999px; box-shadow:inset 0 1px 0 rgba(255,255,255,.82); backdrop-filter:blur(12px); font-size:.7rem; font-weight:800; letter-spacing:.11em; }.hero-kicker span { width:1.5rem; height:1px; background:#111; }
.landing-hero h1 { max-width:700px; margin:0 0 1.35rem; color:#111; font-size:clamp(3.8rem,6vw,6rem); font-weight:810; letter-spacing:-.06em; line-height:.92; }.landing-hero h1 em { display:block; color:#745193; font-style:normal; text-shadow:0 2px 0 rgba(255,255,255,.36); }
.hero-lead { max-width:620px; margin-bottom:.85rem; color:#242027; font-size:clamp(1.3rem,2.1vw,1.75rem); font-weight:570; line-height:1.38; }.hero-detail { max-width:560px; margin-bottom:1.8rem; color:var(--zuni-muted); line-height:1.7; }
.hero-cta { display:flex; flex-wrap:wrap; gap:.8rem; }.hero-cta .btn { min-width:166px; padding:.85rem 1.35rem; }.hero-cta .btn-zuni span { display:inline-block; margin-left:.45rem; transition:transform .2s ease; }.hero-cta .btn-zuni:hover span { transform:translateX(3px); }
.session-pill { display:inline-flex; align-items:center; gap:.75rem; padding:.85rem 1rem; background:rgba(255,255,255,.43); border:1px solid rgba(255,255,255,.72); border-radius:1rem; backdrop-filter:blur(14px); }.session-pill>span { width:36px; height:36px; display:grid; place-items:center; color:#cea2fd; background:#111; border-radius:50%; }.session-pill small,.session-pill strong { display:block; }.session-pill small { color:#6c666e; }
.profile-welcome-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; width:min(700px,100%); margin-top:1rem; padding:1rem 1.1rem; color:#111; background:linear-gradient(125deg,rgba(255,255,255,.67),rgba(237,232,208,.48),rgba(206,162,253,.2)); border:1px solid rgba(255,255,255,.82); border-radius:1.15rem; box-shadow:0 16px 34px rgba(17,17,17,.075),inset 0 1px 0 rgba(255,255,255,.92); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }.profile-welcome-icon { width:42px; height:42px; display:grid; place-items:center; color:#cea2fd; background:#111; border-radius:.9rem; box-shadow:0 8px 18px rgba(17,17,17,.13); }.profile-welcome-copy strong { display:block; margin-bottom:.25rem; font-size:.94rem; }.profile-welcome-copy p { margin:0; color:#5f5861; font-size:.76rem; line-height:1.45; }.profile-welcome-card .btn { white-space:nowrap; padding:.7rem .9rem; border-radius:.8rem; font-size:.76rem; }
.hero-symbol { position:absolute; right:8%; top:18%; z-index:1; width:clamp(230px,26vw,390px); aspect-ratio:1; display:grid; place-items:center; }.hero-symbol::before { content:""; position:absolute; inset:4%; z-index:-1; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.42),rgba(206,162,253,.11) 58%,transparent 72%); filter:blur(5px); }.hero-symbol img { width:82%; height:82%; object-fit:contain; filter:drop-shadow(0 18px 24px rgba(17,17,17,.13)); }
.quick-panel { position:relative; z-index:5; display:grid; grid-template-columns:220px 1fr; align-items:stretch; margin-top:clamp(2.5rem,5vw,4.5rem); overflow:hidden; background:linear-gradient(115deg,rgba(255,255,255,.66),rgba(255,255,255,.34)); border:1px solid rgba(255,255,255,.86); border-radius:1.25rem; box-shadow:0 22px 55px rgba(17,17,17,.11),inset 0 1px 0 #fff; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
.quick-intro { display:flex; align-items:center; gap:.75rem; padding:1.2rem 1.3rem; color:#fff; background:#111; }.quick-spark { color:#cea2fd; font-size:1.25rem; }.quick-intro small,.quick-intro strong { display:block; }.quick-intro small { color:#bcb7bd; font-size:.65rem; }.quick-intro strong { font-size:.92rem; }
.quick-actions { display:grid; grid-template-columns:repeat(4,1fr); }.quick-actions a { position:relative; display:flex; align-items:center; gap:.65rem; min-width:0; padding:1rem 1.05rem; color:#111; text-decoration:none; transition:background .2s ease,transform .2s ease; }.quick-actions a+a { border-left:1px solid rgba(17,17,17,.08); }.quick-actions a:hover { z-index:1; background:rgba(206,162,253,.26); transform:translateY(-2px); }.quick-icon { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; color:#111; background:rgba(206,162,253,.44); border:1px solid rgba(255,255,255,.7); border-radius:.75rem; font-size:1rem; }.quick-actions strong,.quick-actions small { display:block; white-space:nowrap; }.quick-actions strong { font-size:.74rem; }.quick-actions small { color:#777078; font-size:.61rem; }
.hero-foot { position:relative; z-index:4; display:flex; justify-content:space-between; gap:1rem; margin-top:1.4rem; color:#5b555d; font-size:.68rem; }.hero-foot i { display:inline-block; width:6px; height:6px; margin-right:.4rem; background:#111; border-radius:50%; }

/* Cuenta */
.auth-shell { min-height:650px; max-width:1100px; margin:3rem auto; border-radius:1.5rem; }.auth-brand { min-height:650px; background:linear-gradient(145deg,#111,#725191 72%,#cea2fd); }.auth-form { max-width:510px; }.auth-icon { width:56px; height:56px; display:grid; place-items:center; color:#111; background:#ead7ff; border-radius:1rem; font-size:1.5rem; font-weight:700; }.form-control { border-color:#d7d1da; }.form-control:focus { border-color:#a57bc6; box-shadow:0 0 0 .25rem rgba(206,162,253,.2); }.validation-summary-valid,.field-validation-valid { display:none; }
.footer { padding:1.25rem 0; background:#fff; }

@media (max-width: 1199.98px) { .quick-panel { grid-template-columns:190px 1fr; }.quick-actions strong { font-size:.68rem; }.quick-actions small { display:none; } }
@media (max-width: 991.98px) { .landing-hero { min-height:auto; padding-top:4.5rem; }.hero-content { width:78%; }.hero-symbol { right:-2%; top:20%; opacity:.52; }.quick-panel { grid-template-columns:1fr; }.quick-intro { justify-content:center; }.quick-actions { grid-template-columns:repeat(2,1fr); }.quick-actions a:nth-child(3) { border-left:0; border-top:1px solid rgba(17,17,17,.08); }.quick-actions a:nth-child(4) { border-top:1px solid rgba(17,17,17,.08); }.quick-actions small { display:block; }.hero-foot span:nth-child(2) { display:none; }.auth-shell { min-height:auto; margin:1.5rem auto; } }
@media (max-width: 575.98px) { .home-page .page-container { padding-inline:.65rem; }.landing-hero { margin-top:.65rem; padding:3rem 1.1rem 1.25rem; border-radius:1.35rem; background:radial-gradient(circle at 85% 14%,rgba(206,162,253,.42),transparent 42%),linear-gradient(145deg,#f6f2df,var(--zuni-beige)); }.landing-hero::after { width:105%; right:-63%; top:-5%; opacity:.55; }.liquid-b { display:none; }.hero-content { width:100%; }.hero-kicker { font-size:.56rem; letter-spacing:.07em; }.landing-hero h1 { font-size:3.45rem; }.hero-lead { font-size:1.16rem; }.hero-detail { font-size:.88rem; }.hero-symbol { position:relative; top:auto; right:auto; width:65%; margin:-.5rem auto -1rem; opacity:.82; }.hero-cta .btn { width:100%; }.profile-welcome-card { grid-template-columns:auto 1fr; }.profile-welcome-card .btn { grid-column:1/-1; width:100%; }.quick-actions { grid-template-columns:1fr; }.quick-actions a+a,.quick-actions a:nth-child(3),.quick-actions a:nth-child(4) { border-left:0; border-top:1px solid rgba(17,17,17,.08); }.quick-actions small { display:block; }.hero-foot { justify-content:center; text-align:center; }.hero-foot span:not(:first-child) { display:none; } }
@media (prefers-reduced-motion: reduce) { .btn,.hero-cta .btn-zuni span,.quick-actions a { transition:none; } }

/* Refinamientos del hero */
.landing-hero::after {
  border-color: rgba(255,255,255,.82);
  background: linear-gradient(142deg,rgba(255,255,255,.38),rgba(255,255,255,.08) 28%,rgba(206,162,253,.2) 58%,rgba(255,255,255,.03));
  box-shadow: inset 24px 24px 52px rgba(255,255,255,.4),inset -18px -15px 34px rgba(107,65,137,.07),0 25px 55px rgba(73,43,92,.055);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.liquid-b {
  background: linear-gradient(145deg,rgba(255,255,255,.29),rgba(206,162,253,.18) 58%,rgba(255,255,255,.08));
  border-color: rgba(255,255,255,.82);
  box-shadow: inset 19px 16px 38px rgba(255,255,255,.5),inset -12px -10px 28px rgba(98,58,128,.06),0 16px 38px rgba(17,17,17,.035);
  backdrop-filter: blur(8px);
}
.hero-lead { margin-bottom:1.9rem; color:#181519; font-weight:590; }
.hero-detail { display:none; }
.crystal-trail { position:absolute; right:3%; top:10%; z-index:0; width:min(49%,680px); height:auto; overflow:visible; opacity:.22; }
.crystal-trail path { fill:none; stroke:#4c4050; stroke-width:1.15; stroke-linecap:round; stroke-dasharray:3 11; }
.crystal-trail circle { fill:rgba(255,255,255,.68); stroke:#4d4051; stroke-width:1.1; }
.crystal-trail circle:last-child { fill:#111; stroke:#cea2fd; stroke-width:3; }
.hero-symbol { right:9.5%; top:20%; width:clamp(210px,23vw,345px); }
.hero-symbol::before { inset:5%; background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.5),rgba(206,162,253,.08) 54%,transparent 72%); border:1px solid rgba(255,255,255,.4); filter:blur(4px); }
.hero-symbol img { width:80%; height:80%; filter:drop-shadow(0 15px 21px rgba(17,17,17,.11)); }
.btn-zuni { color:#111; background:linear-gradient(145deg,#d9b8ff 0%,var(--zuni-violet) 52%,#bd83f4 100%); border:1px solid rgba(255,255,255,.7); box-shadow:0 12px 28px rgba(105,64,139,.2),0 3px 8px rgba(17,17,17,.07),inset 0 1px 0 rgba(255,255,255,.8),inset 0 -1px 0 rgba(85,47,115,.12); }
.btn-zuni:hover,.btn-zuni:focus { color:#111; background:linear-gradient(145deg,#e0c3ff,#c18af5); border-color:rgba(255,255,255,.9); transform:translateY(-2px); box-shadow:0 17px 36px rgba(105,64,139,.26),0 5px 12px rgba(17,17,17,.08),inset 0 1px 0 #fff; }
@media (max-width:991.98px) { .hero-symbol { right:-1%; top:21%; opacity:.46; }.crystal-trail { right:-5%; opacity:.12; } }
@media (max-width:575.98px) { .crystal-trail { display:none; }.hero-lead { margin-bottom:1.65rem; }.hero-symbol { width:60%; margin:-.25rem auto -.85rem; opacity:.8; } }

/* Pulido Liquid Crystal */
.crystal-trail { opacity:.12; }
.hero-lead { margin-bottom:2.2rem; }
.hero-symbol::before {
  background: radial-gradient(circle,rgba(206,162,253,.18) 0%,rgba(206,162,253,.07) 46%,rgba(206,162,253,0) 72%);
  box-shadow: 0 0 54px rgba(206,162,253,.11);
}
.quick-panel {
  background: linear-gradient(115deg,rgba(237,232,208,.54),rgba(255,255,255,.28));
  border-color: rgba(255,255,255,.68);
  box-shadow: 0 18px 44px rgba(17,17,17,.07),inset 0 1px 0 rgba(255,255,255,.8);
  backdrop-filter: blur(22px) saturate(108%);
  -webkit-backdrop-filter: blur(22px) saturate(108%);
}
.quick-actions a {
  transition: transform .24s ease,background-color .24s ease,box-shadow .24s ease;
}
.quick-actions a:hover,
.quick-actions a:focus-visible {
  z-index:1;
  background:rgba(206,162,253,.2);
  box-shadow:0 8px 22px rgba(17,17,17,.055),inset 0 1px 0 rgba(255,255,255,.55);
  transform:translateY(-3px);
}
@media (max-width:991.98px) { .crystal-trail { opacity:.07; } }
@media (max-width:575.98px) { .hero-lead { margin-bottom:1.9rem; } }

/* Cuenta: Login y Registro */
.auth-page { background:radial-gradient(circle at 12% 8%,rgba(206,162,253,.17),transparent 28%),radial-gradient(circle at 88% 84%,rgba(206,162,253,.09),transparent 25%),linear-gradient(145deg,#f7f3e2,var(--zuni-beige)); }
.auth-page .page-container { max-width:1280px; }
.auth-shell { position:relative; min-height:650px; max-width:1120px; margin:2.25rem auto 3.5rem; border:1px solid rgba(255,255,255,.78); border-radius:1.75rem; background:rgba(255,255,255,.34); box-shadow:0 28px 72px rgba(17,17,17,.1),inset 0 1px 0 rgba(255,255,255,.88); }
.auth-brand { position:relative; min-height:650px; overflow:hidden; isolation:isolate; background:radial-gradient(circle at 18% 12%,rgba(206,162,253,.28),transparent 32%),linear-gradient(150deg,#111 0%,#19141c 48%,#5e416f 100%); }
.auth-brand::before { content:""; position:absolute; width:20rem; aspect-ratio:1; right:-9rem; top:-8rem; z-index:-1; border:1px solid rgba(255,255,255,.2); border-radius:43% 57% 62% 38%/48% 41% 59% 52%; background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(206,162,253,.16),rgba(237,232,208,.03)); box-shadow:inset 18px 18px 36px rgba(255,255,255,.1); backdrop-filter:blur(8px); transform:rotate(-12deg); }
.auth-brand::after { content:""; position:absolute; inset:0; z-index:-3; opacity:.14; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E"); mix-blend-mode:soft-light; }
.auth-liquid { position:absolute; z-index:-1; pointer-events:none; border:1px solid rgba(255,255,255,.22); background:linear-gradient(145deg,rgba(206,162,253,.16),rgba(255,255,255,.035)); box-shadow:inset 12px 14px 28px rgba(255,255,255,.08),0 20px 42px rgba(0,0,0,.1); backdrop-filter:blur(7px); }
.auth-liquid-one { width:13rem; height:19rem; left:-7rem; bottom:4rem; border-radius:44% 56% 64% 36%/54% 39% 61% 46%; transform:rotate(18deg); }.auth-liquid-two { width:10rem; height:7rem; right:2.5rem; bottom:-3.5rem; border-radius:54% 46% 61% 39%/45% 62% 38% 55%; }
.auth-logo { position:relative; z-index:2; display:inline-flex; align-items:center; gap:.65rem; width:max-content; font-size:1.25rem; font-weight:850; letter-spacing:.1em; }.auth-logo img { width:46px; height:46px; object-fit:contain; filter:drop-shadow(0 8px 15px rgba(206,162,253,.16)); }.auth-logo span { color:#fff; }
.auth-brand-copy { position:relative; z-index:2; max-width:390px; }.auth-eyebrow { display:inline-flex; align-items:center; padding:.45rem .75rem; margin-bottom:1.2rem; color:#111; background:rgba(237,232,208,.88); border:1px solid rgba(255,255,255,.4); border-radius:999px; box-shadow:inset 0 1px 0 rgba(255,255,255,.75); font-size:.72rem; font-weight:750; letter-spacing:.04em; }.auth-brand-copy h2 { margin-bottom:1.1rem; color:#fff; font-size:clamp(2.1rem,3.1vw,3rem); font-weight:760; letter-spacing:-.045em; line-height:1.06; }.auth-brand-copy p { max-width:350px; margin:0; color:rgba(255,255,255,.7); line-height:1.7; }
.auth-trust { display:flex; gap:1.25rem; margin-top:1.5rem; color:rgba(255,255,255,.67); font-size:.7rem; }.auth-trust span::before { content:""; display:inline-block; width:5px; height:5px; margin-right:.4rem; vertical-align:1px; background:#cea2fd; border-radius:50%; }.auth-copyright { position:relative; z-index:2; color:rgba(255,255,255,.52); }
.auth-network { position:absolute; right:1.5rem; top:41%; z-index:-1; width:15rem; height:8rem; opacity:.28; border-top:1px dashed rgba(206,162,253,.65); border-radius:50%; transform:rotate(-14deg); }.auth-network i { position:absolute; width:9px; height:9px; border:2px solid #cea2fd; border-radius:50%; background:#111; }.auth-network i:nth-child(1) { left:0; top:-5px; }.auth-network i:nth-child(2) { left:34%; top:-20px; }.auth-network i:nth-child(3) { right:29%; top:-8px; }.auth-network i:nth-child(4) { right:0; top:16px; background:#cea2fd; }
.auth-panel { position:relative; overflow:hidden; background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(250,247,236,.78)); }.auth-panel::after { content:""; position:absolute; width:15rem; aspect-ratio:1; right:-8rem; top:-9rem; pointer-events:none; border-radius:50%; background:radial-gradient(circle,rgba(206,162,253,.14),transparent 69%); }.auth-form { position:relative; z-index:1; max-width:520px; }.auth-form h1 { color:#111; font-size:2rem; letter-spacing:-.035em; }.auth-form>.text-secondary { color:#6b646d !important; }
.auth-mobile-logo { display:inline-flex; align-items:center; gap:.45rem; margin-bottom:1.5rem; color:#111; text-decoration:none; font-weight:850; letter-spacing:.08em; }.auth-mobile-logo img { width:38px; height:38px; object-fit:contain; }
.auth-back { display:inline-flex; align-items:center; margin-bottom:1.5rem; color:#6c666e; text-decoration:none; font-size:.82rem; transition:color .2s ease,transform .2s ease; }.auth-back:hover,.auth-back:focus-visible { color:#8056a0; transform:translateX(-2px); }
.auth-form-fields .form-control { min-height:58px; color:#111; background:rgba(255,255,255,.68); border:1px solid rgba(94,84,92,.2); border-radius:.85rem; transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease; }.auth-form-fields .form-control:hover { border-color:rgba(94,84,92,.32); }.auth-form-fields .form-control:focus { background:rgba(255,255,255,.92); border-color:#cea2fd; box-shadow:0 0 0 .22rem rgba(206,162,253,.16),0 7px 18px rgba(17,17,17,.035); }.auth-form-fields .form-floating>label { color:#6e6870; padding-left:1.05rem; }
.carne-fieldset { min-width:0; padding:0; border:0; }.carne-fieldset legend { margin:0 0 .45rem .15rem; color:#6e6870; font-size:.8rem; font-weight:600; }.carne-segmented { display:grid; grid-template-columns:minmax(0,4fr) auto minmax(0,2.4fr) auto minmax(0,4fr); align-items:center; gap:.55rem; }.carne-segmented>span { color:#756d77; font-weight:700; }.auth-form-fields .carne-segmented .form-control { min-width:0; padding-inline:.55rem; text-align:center; letter-spacing:.12em; }.carne-validation .field-validation-error~.field-validation-error { display:none; }
.password-field { position:relative; }.password-field .form-control { padding-right:3.4rem; }.password-toggle { position:absolute; z-index:5; top:50%; right:.7rem; width:38px; height:38px; display:grid; place-items:center; padding:0; color:#5d5760; background:transparent; border:0; border-radius:.65rem; transform:translateY(-50%); transition:color .2s ease,background-color .2s ease; }.password-toggle:hover { color:#111; background:rgba(206,162,253,.2); }.password-toggle:focus-visible { outline:2px solid #cea2fd; outline-offset:1px; }.password-toggle span { line-height:1; }
.validation-message { display:block; margin-top:.35rem; padding-left:.15rem; font-weight:550; }.field-validation-error::before { content:"!"; display:inline-grid; place-items:center; width:16px; height:16px; margin-right:.3rem; color:#fff; background:#8e3350; border-radius:50%; font-size:.65rem; }.validation-summary-errors { border-color:rgba(142,51,80,.24); border-radius:.8rem; font-size:.84rem; }.validation-summary-errors ul { margin-bottom:0; padding-left:1.2rem; }
.auth-options { min-height:38px; }.auth-options .form-check { display:flex; align-items:center; gap:.45rem; margin:0; }.auth-options .form-check-input { width:1.1rem; height:1.1rem; margin:0; border-color:rgba(17,17,17,.34); }.auth-options .form-check-input:checked { background-color:#111; border-color:#111; }.auth-options .form-check-label { color:#5e5861; font-size:.82rem; }.auth-options a { text-underline-offset:3px; }
.auth-form-fields>.btn-zuni { min-height:54px; border-radius:.9rem; }.auth-form a.link-success { text-underline-offset:3px; }

@media (max-width:991.98px) { .auth-page .page-container { max-width:760px; }.auth-shell { min-height:auto; margin:1.5rem auto 2.5rem; }.auth-panel { min-height:610px; padding-block:3rem !important; } }
@media (max-width:575.98px) { .auth-page .page-container { padding-inline:.75rem; }.auth-shell { margin:.75rem auto 2rem; border-radius:1.25rem; }.auth-panel { min-height:auto; padding:1.5rem 1.15rem 2rem !important; }.auth-form h1 { font-size:1.75rem; }.auth-mobile-logo { margin-bottom:1rem; }.auth-back { margin-bottom:1.2rem; }.auth-form-fields .form-control { min-height:56px; }.password-row>.col-md-6+div { margin-top:.25rem; }.auth-options { align-items:flex-start !important; gap:.75rem; }.auth-options a { text-align:right; }.auth-form-fields>.btn-zuni { min-height:52px; } }
