:root{--sri-blue:#0753a1;--sri-blue-dark:#043d7c;--sri-blue-deep:#062d61;--sri-blue-soft:#eaf4ff;--sri-cyan:#8fd4ff;--accent-red:#e52332;--ink:#10233f;--muted:#60738d;--line:#dbe6f2;--surface:#fff;--bg:#f3f7fb;--shadow:0 18px 55px rgba(3,61,124,.12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#eef6fd 0,#fff 28%,#f5f9fd 100%);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px max(22px,calc((100vw - 1180px)/2));background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(7,83,161,.14);box-shadow:0 7px 24px rgba(4,61,124,.05)}.nav::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--sri-blue) 0 72%,var(--accent-red) 72% 76%,transparent 76%)}.nav nav{display:flex;gap:22px;color:#26496f;font-weight:650;font-size:14px}.nav nav a:hover{color:var(--sri-blue)}.brand{position:relative;display:inline-flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.06em;color:var(--sri-blue-deep)}.brand img{width:40px;height:40px;object-fit:cover;border-radius:11px;box-shadow:0 6px 18px rgba(3,61,124,.2)}.brand-word{position:relative}.brand-word::after{content:"";position:absolute;width:7px;height:7px;border-radius:1px;background:var(--accent-red);right:-10px;top:-2px;transform:rotate(16deg)}.brand small{display:block;letter-spacing:0;font-size:9px;color:#6a7d96;font-weight:700;margin-top:1px}.official-brand img{width:180px;height:auto;object-fit:contain;border-radius:0;box-shadow:none}.official-brand{letter-spacing:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:11px 17px;border:1px solid #b9cee3;border-radius:10px;background:#fff;color:var(--sri-blue-dark);font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px rgba(4,61,124,.12);background:#f6fbff}.button:disabled{opacity:.55;cursor:not-allowed}.button.primary{background:linear-gradient(135deg,var(--sri-blue-dark),var(--sri-blue));color:#fff;border-color:var(--sri-blue);box-shadow:0 9px 24px rgba(7,83,161,.22)}.button.primary:hover:not(:disabled){background:linear-gradient(135deg,#04356c,#0860b9)}.hero{max-width:none;margin:0;padding:82px max(24px,calc((100vw - 1180px)/2)) 90px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:58px;align-items:center;color:#fff;position:relative;overflow:hidden;background:radial-gradient(circle at 82% 18%,rgba(143,212,255,.24),transparent 30%),radial-gradient(circle at 9% 92%,rgba(255,255,255,.1),transparent 22%),linear-gradient(135deg,#06356e 0%,#0753a1 55%,#0a62b5 100%)}.hero::before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to right,transparent,#000 55%)}.hero>div,.hero-card{position:relative;z-index:1}.hero h1{font-size:clamp(45px,6.7vw,78px);line-height:.98;margin:.18em 0 .24em;letter-spacing:-.055em;max-width:820px;text-wrap:balance}.hero h1::after{content:"";display:block;width:58px;height:5px;border-radius:5px;background:var(--accent-red);margin-top:22px}.hero .lead{font-size:20px;max-width:720px;color:#dcecff}.lead{font-size:19px;max-width:760px;color:#526b86}.eyebrow{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:900;letter-spacing:.15em;color:var(--sri-blue);margin:0 0 10px}.eyebrow::before{content:"";width:18px;height:4px;border-radius:5px;background:var(--accent-red)}.hero .eyebrow{color:#fff}.actions{display:flex;gap:12px;margin:29px 0;flex-wrap:wrap}.hero .button:not(.primary){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.45);color:#fff}.hero .button:not(.primary):hover{background:rgba(255,255,255,.18)}.hero-card{border:1px solid rgba(255,255,255,.3);border-radius:28px;padding:16px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);box-shadow:0 28px 80px rgba(0,28,67,.35)}.hero-logo{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px}.hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.hero-meta span{padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.12);font-size:11px;font-weight:750;text-align:center;color:#f5fbff}.disclaimer{font-size:12px;line-height:1.55;color:#c7ddf4;max-width:720px}.section{max-width:1180px;margin:auto;padding:82px 24px}.section h1,.section h2{color:var(--sri-blue-deep)}.section h1{font-size:clamp(38px,5vw,58px);letter-spacing:-.045em}.section h2{font-size:clamp(31px,4vw,40px);line-height:1.08;max-width:800px;letter-spacing:-.035em}.grid{display:grid;gap:18px}.grid.three{grid-template-columns:repeat(3,1fr)}.plans{grid-template-columns:repeat(5,1fr);align-items:stretch}.hero-card,.card,article,.plan{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 10px 34px rgba(16,35,63,.06)}.hero .hero-card{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}article{position:relative;overflow:hidden}article::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--sri-blue),#4da1e8)}article h3{color:var(--sri-blue-dark)}.plan{position:relative;transition:transform .18s ease,box-shadow .18s ease}.plan:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.plan.featured{border:2px solid var(--sri-blue);box-shadow:0 18px 45px rgba(7,83,161,.16)}.plan.featured::before{content:"";position:absolute;left:22px;right:22px;top:-2px;height:4px;border-radius:0 0 5px 5px;background:var(--accent-red)}.plan .price{font-size:28px;font-weight:950;color:var(--sri-blue-deep)}.plan button{width:100%;margin-top:14px}.checkout{max-width:790px}.checkout form,.card form{display:grid;gap:16px}.checkout label,.card label{display:grid;gap:7px;font-weight:750;color:#274663}.checkout input,.card input,.superadmin-panel select{padding:12px 13px;border:1px solid #bfcfe0;border-radius:9px;background:#fff;color:var(--ink);outline:none}.checkout input:focus,.card input:focus,.superadmin-panel select:focus{border-color:var(--sri-blue);box-shadow:0 0 0 3px rgba(7,83,161,.12)}.checkout fieldset{border:1px solid var(--line);border-radius:13px;padding:16px}.payment-option{display:flex;gap:10px;padding:9px}.split{display:grid;grid-template-columns:1.45fr 1fr;gap:30px;align-items:center}#studio{border-radius:24px;background:linear-gradient(135deg,#edf6ff,#fff);margin-top:20px;margin-bottom:20px}.tools{margin-bottom:54px}footer{position:relative;text-align:center;padding:34px 22px;color:#d8e9fa;background:var(--sri-blue-deep)}footer::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--sri-blue),var(--sri-blue) 74%,var(--accent-red) 74% 78%,#fff 78%)}footer a{color:#fff}.fine{font-size:12px;color:#6a7c92}.link{border:0;background:transparent;padding:0;color:var(--sri-blue);cursor:pointer;font-weight:750}.account-grid{grid-template-columns:minmax(280px,420px) 1fr}.portal-head,.portal-row,.portal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-actions{justify-content:flex-start;flex-wrap:wrap;margin:16px 0}.portal-row{padding:11px 0;border-bottom:1px solid #e7eef6}.portal-row:last-child{border-bottom:0}.payment-result{max-width:1132px;margin:24px auto 0;padding:18px 24px;border:1px solid #c9d9e9;border-left:5px solid var(--sri-blue);border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 10px 30px rgba(16,35,63,.05)}.payment-result[hidden]{display:none}.payment-result p{margin:.25rem 0 0}.payment-result[data-status="paid"]{border-left-color:#17824c}.payment-result[data-status="failed"],.payment-result[data-status="canceled"]{border-left-color:var(--accent-red)}.auth-switches{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}#authForms{display:grid;gap:16px}#authForms[hidden]{display:none}.superadmin-panel{margin-top:28px;padding:24px;border:1px solid #cfe1f2;border-radius:16px;background:linear-gradient(145deg,#f0f8ff,#fff);position:relative;overflow:hidden}.superadmin-panel::before{content:"";position:absolute;left:0;top:0;width:6px;height:100%;background:var(--accent-red)}.superadmin-panel form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.superadmin-panel label{display:grid;gap:7px;font-weight:700}.superadmin-panel .portal-actions{grid-column:1/-1}@media(max-width:1040px){.plans{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.nav nav{display:none}.hero,.split,.account-grid{grid-template-columns:1fr}.hero{padding-top:62px}.hero-card{max-width:540px}.grid.three,.plans{grid-template-columns:1fr 1fr}}@media(max-width:620px){.brand small{display:none}.nav>.button.primary{display:none}.plans,.grid.three{grid-template-columns:1fr}.hero,.section{padding:56px 18px}.hero-meta{grid-template-columns:1fr 1fr}.portal-head,.portal-row{align-items:flex-start;flex-direction:column}.payment-result{margin:16px 18px 0;align-items:flex-start;flex-direction:column}.superadmin-panel form{grid-template-columns:1fr}}
.account-portal{grid-column:1/-1;display:grid;gap:18px}
.account-overview{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px;border-radius:22px;background:linear-gradient(135deg,#062d61 0%,#0753a1 62%,#0b6fca 100%);color:#fff;box-shadow:0 20px 50px rgba(4,61,124,.18);position:relative;overflow:hidden}
.account-overview::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-90px;top:-120px;border:42px solid rgba(143,212,255,.14)}
.account-overview .eyebrow{color:#dff2ff}.account-overview .eyebrow::before{background:var(--accent-red)}
.account-overview h3{margin:5px 0 12px;font-size:28px;color:#fff;letter-spacing:-.03em}
.account-plan-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.account-plan-line>strong{font-size:18px}
.account-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);font-size:10px;font-weight:900;letter-spacing:.08em}
.account-subtitle{margin:10px 0 0;color:#cde5fb;font-size:13px}
.account-top-actions{position:relative;z-index:1;margin:0;justify-content:flex-end}.account-top-actions .button{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);color:#fff}.account-top-actions .button:hover{background:rgba(255,255,255,.18)}
.account-alert{padding:14px 17px;border-radius:13px;border:1px solid #f1c56d;background:#fff7df;color:#785000;font-weight:750;font-size:13px}.account-alert[data-tone="danger"]{border-color:#f1afb6;background:#fff0f1;color:#982733}.account-alert[data-tone="info"]{border-color:#b9d8f2;background:#eff8ff;color:#24567f}.account-alert[data-tone="success"]{border-color:#a9dcc4;background:#edf9f3;color:#176342}
.account-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.account-metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:0 8px 25px rgba(16,35,63,.045)}.account-metric::before{display:none}.account-metric>span{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.account-metric>strong{display:block;color:var(--sri-blue-deep);font-size:19px;margin:6px 0 2px}.account-metric>small{display:block;color:#71849a;font-size:11px}
.billing-card,.account-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 9px 28px rgba(16,35,63,.05)}.portal-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.portal-section-head h4{margin:4px 0;color:var(--sri-blue-deep);font-size:19px}.billing-timeline{margin-top:16px}.billing-progress{height:9px;border-radius:20px;background:#e8f0f8;overflow:hidden}.billing-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#0753a1,#20a9f4);border-radius:inherit;transition:width .25s ease}.billing-dates{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;margin-top:8px}
.account-content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px;align-items:start}.account-panel-wide{min-width:0}.document-legend{padding:10px 12px;background:#f5f9fd;border-radius:10px;margin:0 0 8px}
.purchase-list,.device-list{display:grid;gap:10px}.purchase-card{border:1px solid #e0e9f3;border-radius:14px;padding:15px;background:#fff}.purchase-main{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.purchase-main strong{color:var(--sri-blue-deep)}.purchase-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px;color:var(--muted);font-size:11px}.purchase-amount{font-size:17px;font-weight:900;color:var(--sri-blue-deep);white-space:nowrap}.purchase-documents{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid #edf2f7}.doc-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:9px;background:#f5f9fd;border:1px solid #dbe6f2;color:var(--sri-blue-dark);font-size:11px;font-weight:800;cursor:pointer}.doc-chip.tax{background:#eef8f3;border-color:#c8e4d6;color:#1c6848}.doc-state{font-size:11px;color:var(--muted);padding:7px 0}
.device-card{border:1px solid #e0e9f3;border-radius:13px;padding:13px}.device-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.device-card strong{color:var(--sri-blue-deep);font-size:13px}.device-card p{margin:4px 0 0;color:var(--muted);font-size:11px}
.compact-admin-link{display:flex;align-items:center;justify-content:space-between;gap:20px}.compact-admin-link h4{margin:4px 0}.account-message{min-height:1.2em;margin:0;font-weight:750;color:#315a7f}
@media(max-width:900px){.account-metrics{grid-template-columns:1fr 1fr}.account-content-grid{grid-template-columns:1fr}.account-overview{display:block}.account-top-actions{margin-top:18px;justify-content:flex-start}}
@media(max-width:620px){.account-metrics{grid-template-columns:1fr}.billing-dates,.purchase-main,.compact-admin-link{flex-direction:column}.portal-section-head{flex-direction:column}.account-overview{padding:22px}.account-top-actions .button{width:100%}.purchase-amount{white-space:normal}}

/* CK-102 · Identidad oficial ContaKey */
.official-brand{display:flex;align-items:center;min-width:188px}
.official-brand img{width:205px;height:auto;max-height:58px;object-fit:contain;border-radius:0;box-shadow:none}
.hero-logo.official-symbol{object-fit:contain;background:#fff;padding:8px}
.site-footer{margin-top:34px;background:linear-gradient(145deg,#062d61 0%,#043d7c 55%,#0753a1 100%);color:#fff;border-top:4px solid var(--accent-red)}
.footer-inner{max-width:1180px;margin:auto;padding:34px 24px;display:grid;grid-template-columns:minmax(210px,300px) 1fr;gap:24px 42px;align-items:center}
.footer-brand{display:inline-flex;align-items:center}
.footer-brand img{display:block;width:min(285px,100%);height:auto;filter:drop-shadow(0 8px 20px rgba(0,0,0,.12))}
.footer-links{display:flex;justify-content:flex-end;gap:10px 20px;flex-wrap:wrap;font-size:13px;font-weight:800}
.footer-links a{color:#e9f5ff;border-bottom:1px solid transparent;padding:6px 0}
.footer-links a:hover{color:#fff;border-color:#8fd4ff}
.footer-copyright{grid-column:1/-1;margin:0;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);text-align:center;color:#cfe4f8;font-size:12px;font-weight:650}
@media(max-width:780px){
  .official-brand img{width:175px}
  .footer-inner{grid-template-columns:1fr;text-align:center}
  .footer-brand{justify-content:center}
  .footer-links{justify-content:center}
  .footer-copyright{grid-column:auto}
}


/* CK-105 · decisión explícita de reemplazo de sesión */
.session-decision{margin-top:12px;padding:15px;border:1px solid #f0c56c;border-radius:13px;background:#fff8e4;color:#684700}
.session-decision strong{display:block;color:#704700;font-size:14px}
.session-decision p{margin:6px 0 12px;line-height:1.45;font-size:13px}
.session-decision-actions{display:grid;gap:9px}
.session-decision-actions .button{width:100%}
