.sereci-public-card,.sereci-confirmation{max-width:860px;margin:24px auto;padding:24px;border:1px solid var(--sereci-border);border-radius:16px;background:var(--sereci-surface);box-shadow:0 10px 30px rgba(15,23,42,.06)}
.sereci-public-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sereci-public-form label{display:flex;flex-direction:column;gap:6px;font-weight:700}.sereci-public-form input,.sereci-public-form select{min-height:44px;padding:9px 12px;border:1px solid var(--sereci-border);border-radius:9px}.sereci-public-form button,.sereci-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:0;border-radius:9px;background:var(--sereci-accent);color:var(--sereci-surface)!important;text-decoration:none;font-weight:800;cursor:pointer}.sereci-public-form button{grid-column:1/-1}.sereci-public-msg{padding:12px 14px;border-radius:10px;margin:12px 0}.sereci-public-msg.error{background:var(--sereci-danger-bg);color:var(--sereci-danger-text)}.sereci-public-msg.ok,.sereci-result-ok{background:var(--sereci-success-bg);color:var(--sereci-success-text)}.sereci-result-ok{display:inline-block;padding:7px 11px;border-radius:999px;font-weight:800}.sereci-turn{font-size:52px;font-weight:900;margin:15px 0}.sereci-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sereci-result-grid>div{padding:12px;background:var(--sereci-bg);border-radius:10px}.sereci-result-grid small{display:block;color:var(--sereci-muted)}.sereci-result-grid strong{display:block;margin-top:3px}.sereci-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.sereci-actions .button-secondary{background:var(--sereci-muted-strong)}.sereci-actions .button-link{background:var(--sereci-surface);color:#c2410c!important;border:1px solid #fdba74}.sereci-confirm-grid{display:grid;grid-template-columns:1fr 210px;gap:20px;align-items:center}.sereci-confirm-grid span{display:block;text-transform:uppercase;font-size:12px;font-weight:800;color:var(--sereci-muted)}.sereci-confirm-grid strong{display:block;font-size:54px;line-height:1.1}.sereci-confirm-grid img{width:210px;height:210px}.sereci-ticket{width:80mm;max-width:100%;margin:20px auto;padding:12mm 6mm;text-align:center;background:var(--sereci-surface);color:#000;border:1px dashed #999;font-size:9pt}.sereci-ticket small{font-size:9pt}.sereci-ticket .turn{font-size:34.5pt;font-weight:900;margin:12px 0}@media(max-width:640px){.sereci-public-form,.sereci-result-grid,.sereci-confirm-grid{grid-template-columns:1fr}.sereci-confirm-grid img{width:170px;height:170px}.sereci-turn{font-size:42px}}
@media print{body *{visibility:hidden}.sereci-ticket,.sereci-ticket *{visibility:visible}.sereci-ticket{position:absolute;left:0;top:0;border:0;margin:0}}

/* 1.5.6 · Cancelación simplificada */
.sereci-public-lead{margin:-4px 0 18px;color:var(--sereci-muted);line-height:1.55}
.sereci-public-form .sereci-public-full{grid-column:1/-1}
.sereci-public-form label small{font-weight:400;color:var(--sereci-muted);line-height:1.4}
.sereci-cancel-code-form{grid-template-columns:1fr}
.sereci-cancel-code-form input{text-transform:uppercase;letter-spacing:.06em;font-weight:700}


/* 1.5.7 · Cancelación: un solo marco visual.
   La página/constructor puede aportar el card exterior; el shortcode no duplica borde/sombra. */
.sereci-public-card.sereci-cancel-card{
  max-width:none;
  margin:0;
  padding:0;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.sereci-cancel-card h2{margin-top:0}
.sereci-cancel-card .sereci-public-form{margin-top:14px}
.sereci-cancel-card .sereci-public-form button{width:100%}
.sereci-cancel-code-form input{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
}


/* 1.5.8 · Validación QR con identidad completa */
.sereci-validation-identity{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0 0 18px;
  padding:16px;
  border:1px solid var(--sereci-border,#dde4ea);
  border-radius:12px;
  background:var(--sereci-surface,#fff);
}
.sereci-validation-identity>div{display:grid;gap:4px}
.sereci-validation-identity small{
  color:var(--sereci-muted,#66727f);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.sereci-validation-identity strong{font-size:17px;color:var(--sereci-text,#17212b)}
.sereci-validation-identity span{font-size:12px;color:var(--sereci-muted,#66727f)}
.sereci-confirm-qr-link{display:inline-flex;align-items:center;justify-content:center}
.sereci-confirm-qr-link img{display:block}
@media(max-width:640px){.sereci-validation-identity{grid-template-columns:1fr}}


/* 1.5.15.1 · Kiosko integrado, consulta/reimpresión y alineación */
.sereci-public-card h2{margin:0 0 10px;color:var(--sereci-text,#17212b);font-size:28px;line-height:1.15}
.sereci-public-form{align-items:end}
.sereci-public-form label{min-width:0}
.sereci-public-form input,.sereci-public-form select{width:100%;box-sizing:border-box;font:inherit;background:#fff;color:var(--sereci-text,#17212b)}
.sereci-public-form button{width:100%;margin-top:2px}
.sereci-reservation-result{margin-top:16px}
.sereci-result-grid>div{min-width:0;display:flex;flex-direction:column;justify-content:center}
.sereci-result-grid strong{overflow-wrap:anywhere}
.sereci-reserva-acciones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.sereci-reserva-acciones .button{width:100%;min-width:0;text-align:center}
.sereci-reserva-acciones .button-link{grid-column:1/-1}
.sereci-ticket-wrap{width:80mm;max-width:100%;margin:20px auto;text-align:center}
.sereci-ticket-wrap .sereci-ticket{margin:0 auto}
.sereci-ticket-imprimir{width:100%;margin:12px 0 0;padding:11px 16px;border:0;border-radius:9px;background:var(--sereci-accent,#EF760C);color:#fff;font:inherit;font-weight:800;cursor:pointer}
@media(max-width:640px){.sereci-reserva-acciones{grid-template-columns:1fr}.sereci-reserva-acciones .button-link{grid-column:auto}.sereci-public-card h2{font-size:24px}}
@media print{.no-print{display:none!important}.sereci-ticket-wrap,.sereci-ticket-wrap *{visibility:visible!important}.sereci-ticket-wrap{position:absolute;left:0;top:0;width:80mm;max-width:80mm;margin:0}.sereci-ticket{position:static!important}}

/* 1.5.17-RC3 · Consulta de kiosko por código o documento */
.sereci-consulta-modos{margin:0;padding:0;border:0;display:grid;gap:10px}.sereci-consulta-modos legend{margin:0 0 4px;font-weight:900;color:var(--sereci-text,#17212b)}
.sereci-consulta-modo{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:start!important;gap:12px!important;padding:14px 16px;border:1px solid var(--sereci-border,#d8e0e8);border-radius:12px;background:#fff;cursor:pointer}.sereci-consulta-modo:has(input:checked){border-color:var(--sereci-accent,#EF760C);box-shadow:0 0 0 3px color-mix(in srgb,var(--sereci-accent,#EF760C) 12%,transparent)}
.sereci-consulta-modo input[type=radio]{width:18px!important;height:18px!important;min-height:18px!important;margin:2px 0 0!important;padding:0!important}.sereci-consulta-modo span{display:block}.sereci-consulta-modo strong{display:block;font-weight:900}.sereci-consulta-modo small{display:block;margin-top:3px;color:var(--sereci-muted,#667085);font-weight:500;line-height:1.4}
.sereci-consulta-campo[hidden]{display:none!important}.sereci-kiosko-resultados-reserva{display:grid;gap:14px}.sereci-kiosko-resultados-reserva .sereci-reservation-result{padding:16px;border:1px solid var(--sereci-border,#d8e0e8);border-radius:14px;background:#fff}.sereci-kiosko-nueva-busqueda{margin-top:14px}.sereci-kiosko-nueva-busqueda .button{min-height:42px;padding:0 16px;border:1px solid var(--sereci-border,#d8e0e8);border-radius:10px;background:#fff;color:var(--sereci-text,#17212b);font-weight:800;cursor:pointer}

/* RC4 · Consulta pública por método */
.sereci-public-intro{margin:-4px 0 18px;color:var(--sereci-muted,#667085);font-weight:600;line-height:1.5}.sereci-consulta-web-form{margin-top:4px}

/* Cuenta ciudadana · estilos base */
.sereci-booking-account-gate{max-width:980px;margin:24px auto;padding:24px;border:1px solid #d8e0e8;border-radius:16px;background:#fff}
.sereci-booking-account-gate>h3{margin-top:0}
.sereci-citizen-access{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:18px 0}
.sereci-citizen-card,.sereci-citizen-profile,.sereci-citizen-reservation{border:1px solid #d8e0e8;border-radius:14px;background:#fff;padding:20px}
.sereci-citizen-card h3,.sereci-citizen-reservations h3{margin-top:0}
.sereci-citizen-card form{display:grid;gap:12px}
.sereci-citizen-card label{display:grid;gap:6px;font-weight:600}
.sereci-citizen-card input,.sereci-citizen-card select{width:100%;min-height:44px;padding:9px 11px;border:1px solid #b9c4cf;border-radius:9px;background:#fff}
.sereci-citizen-card button{min-height:44px;border:0;border-radius:9px;padding:10px 18px;font-weight:700;cursor:pointer}
.sereci-citizen-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sereci-citizen-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;font-weight:400!important}
.sereci-citizen-check input{width:auto!important;min-height:auto!important}
.sereci-citizen-link{display:inline-block;margin-top:2px}
.sereci-account-msg{padding:12px 14px;border-radius:10px;margin:12px 0;border:1px solid #d8e0e8;background:#f7f9fb}
.sereci-account-msg.ok{border-color:#9fd3ad;background:#effaf2}
.sereci-account-msg.error{border-color:#e4a4a4;background:#fff3f3}
.sereci-citizen-profile{display:grid;grid-template-columns:1.2fr 1fr 1.4fr auto;gap:18px;align-items:center;margin:18px 0}
.sereci-citizen-profile small,.sereci-citizen-reservation small{display:block;color:#667085;margin-bottom:4px}
.sereci-citizen-profile h3{margin:0}
.sereci-booking-account-bar{margin:0 0 18px;padding:12px 14px;border-radius:10px;background:#f1f6fb;border:1px solid #cdddea}
.sereci-citizen-reservation-list{display:grid;gap:12px}
.sereci-citizen-reservation{display:grid;grid-template-columns:minmax(0,2fr) minmax(160px,.8fr) auto;gap:18px;align-items:center}
.sereci-citizen-reservation h4{margin:2px 0 6px}
.sereci-citizen-reservation p{margin:0;color:#667085}
.sereci-reservation-status{display:block;margin-top:6px;font-size:13px}
.sereci-citizen-reservation-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.gform_wrapper .sereci-citizen-locked input,.gform_wrapper .sereci-citizen-select-locked select{background:#f2f4f7!important;cursor:not-allowed!important}
@media(max-width:800px){.sereci-citizen-access,.sereci-citizen-row{grid-template-columns:1fr}.sereci-citizen-profile,.sereci-citizen-reservation{grid-template-columns:1fr}.sereci-citizen-reservation-actions{justify-content:flex-start}}

/* RC25 · Cuenta ciudadana, CAPTCHA y autocompletado */
.sereci-citizen-card>p{line-height:1.55;color:#52606d}
.sereci-citizen-card form>small{display:block;color:#667085;line-height:1.45}
.sereci-turnstile-wrap{margin:4px 0 2px;min-height:65px}
.sereci-turnstile-booking{margin:18px 0;padding:16px;border:1px solid #d8e0e8;border-radius:12px;background:#f8fafc}
.sereci-turnstile-booking>strong{display:block;margin-bottom:4px}
.sereci-turnstile-booking>p{margin:0 0 12px;color:#667085}

/* RC28 · Flujo ciudadano separado, Mi SERECI e historial */
.sereci-citizen-access.is-login,.sereci-citizen-access.is-register{grid-template-columns:minmax(0,680px);justify-content:center}
.sereci-citizen-register-cta,.sereci-citizen-login-cta{max-width:680px;margin:14px auto 24px;padding:18px 20px;border:1px solid #d8e0e8;border-radius:14px;background:#f8fafc;text-align:center}
.sereci-citizen-register-cta p,.sereci-citizen-login-cta p{margin:0 0 10px;color:#52606d}
.sereci-citizen-register-cta .button,.sereci-citizen-login-cta .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:9px;text-decoration:none;font-weight:800}
.sereci-citizen-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.sereci-citizen-action{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid #d8e0e8;border-radius:14px;background:#fff;text-decoration:none!important;color:#17365d!important}
.sereci-citizen-action.primary{border-color:#ffb28f;background:#fff7f2}
.sereci-citizen-action strong{font-size:18px}.sereci-citizen-action span{color:#667085;line-height:1.45}
.sereci-citizen-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px}
.sereci-citizen-kpis>div{padding:16px;border:1px solid #d8e0e8;border-radius:12px;background:#fff}.sereci-citizen-kpis small,.sereci-citizen-kpis strong{display:block}.sereci-citizen-kpis small{color:#667085;margin-bottom:5px}.sereci-citizen-kpis strong{font-size:26px;color:#17365d}
.sereci-citizen-reservations-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.sereci-citizen-reservations-head h3{margin:0}
.sereci-citizen-history-nav{display:flex;gap:7px;flex-wrap:wrap}.sereci-citizen-history-nav a{display:inline-flex;padding:7px 10px;border:1px solid #d8e0e8;border-radius:999px;background:#fff;text-decoration:none!important;color:#43566b!important;font-size:13px;font-weight:700}.sereci-citizen-history-nav a.is-active{background:#17365d;color:#fff!important;border-color:#17365d}
@media(max-width:800px){.sereci-citizen-actions{grid-template-columns:1fr}.sereci-citizen-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.sereci-citizen-kpis{grid-template-columns:1fr}}

/* RC29 · Cuenta ciudadana y retorno transaccional · refinamiento UI/UX */
.sereci-citizen-access.is-login,.sereci-citizen-access.is-register{
  width:min(100%,720px);max-width:720px;margin:clamp(28px,5vw,56px) auto 16px;padding:0 16px;display:block;
}
.sereci-citizen-card{
  width:100%;padding:clamp(24px,4vw,36px);border:1px solid color-mix(in srgb,var(--sereci-border,#e2e8f0) 92%,#fff);
  border-radius:22px;background:var(--sereci-surface,#fff);box-shadow:0 18px 46px rgba(15,23,42,.08);
}
.sereci-citizen-card h3{margin:0 0 10px;font-size:clamp(27px,3vw,34px);line-height:1.12;letter-spacing:-.025em;color:var(--sereci-text,#0f172a)}
.sereci-citizen-card>p{margin:0 0 24px;font-size:15px;line-height:1.6;color:var(--sereci-muted-strong,#475569)}
.sereci-citizen-card form{gap:16px}.sereci-citizen-card label{gap:7px;font-size:14px;font-weight:800;color:var(--sereci-text,#0f172a)}
.sereci-citizen-card input,.sereci-citizen-card select{
  min-height:50px!important;height:50px!important;padding:0 14px!important;border:1px solid var(--sereci-control-border,#cbd5e1)!important;
  border-radius:12px!important;background:#fff!important;color:var(--sereci-text,#0f172a)!important;font-size:16px!important;line-height:1.2!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.sereci-citizen-card input::placeholder{color:#94a3b8;opacity:1}
.sereci-citizen-card input:focus,.sereci-citizen-card select:focus{border-color:var(--sereci-primary,#EF760C)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--sereci-primary,#EF760C) 16%,transparent)!important;outline:none!important}
.sereci-citizen-card form>small{margin-top:-5px;font-size:13px;line-height:1.55;color:var(--sereci-muted,#64748b)}
.sereci-citizen-card button[type=submit]{
  width:100%;min-height:50px!important;height:50px!important;margin-top:2px!important;border:0!important;border-radius:12px!important;
  background:var(--sereci-accent,#EF760C)!important;color:#fff!important;font-size:15px!important;font-weight:900!important;letter-spacing:.005em;
  box-shadow:0 8px 20px color-mix(in srgb,var(--sereci-accent,#EF760C) 24%,transparent);transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;
}
.sereci-citizen-card button[type=submit]:hover{filter:brightness(.96);transform:translateY(-1px);box-shadow:0 11px 24px color-mix(in srgb,var(--sereci-accent,#EF760C) 28%,transparent)}
.sereci-citizen-card button[type=submit]:focus-visible,.sereci-citizen-register-cta .button:focus-visible,.sereci-citizen-login-cta .button:focus-visible,.sereci-citizen-action:focus-visible{
  outline:3px solid color-mix(in srgb,var(--sereci-primary,#EF760C) 30%,transparent)!important;outline-offset:3px!important;
}
.sereci-citizen-check{min-height:28px;margin:0!important}.sereci-citizen-check input{width:18px!important;height:18px!important;min-height:18px!important;margin:0!important}
.sereci-citizen-link{width:max-content;max-width:100%;font-size:14px;font-weight:750;color:var(--sereci-primary,#EF760C)!important;text-underline-offset:3px}
.sereci-turnstile-wrap{display:flex;justify-content:flex-start;max-width:100%;overflow:hidden;margin:2px 0 4px}
.sereci-citizen-row{gap:16px}
.sereci-citizen-register-cta,.sereci-citizen-login-cta{
  width:min(calc(100% - 32px),688px);max-width:688px;margin:14px auto clamp(28px,5vw,52px);padding:17px 18px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;border:1px solid var(--sereci-border,#e2e8f0);border-radius:16px;
  background:color-mix(in srgb,var(--sereci-primary,#EF760C) 3%,#fff);box-shadow:none;
}
.sereci-citizen-register-cta strong,.sereci-citizen-login-cta strong{display:block;margin-bottom:3px;font-size:14px;color:var(--sereci-text,#0f172a)}
.sereci-citizen-register-cta p,.sereci-citizen-login-cta p{margin:0;font-size:13px;line-height:1.45;color:var(--sereci-muted,#64748b)}
.sereci-citizen-register-cta .button,.sereci-citizen-login-cta .button{
  flex:0 0 auto;min-height:44px!important;height:44px!important;padding:0 17px!important;border:1px solid var(--sereci-primary,#EF760C)!important;border-radius:11px!important;
  background:#fff!important;color:var(--sereci-primary,#EF760C)!important;font-size:14px!important;font-weight:900!important;white-space:nowrap;
}
.sereci-account-msg{width:min(100%,688px);margin:14px auto;padding:13px 15px;border-radius:12px;font-size:14px;line-height:1.5}
.sereci-booking-account-gate{width:min(100%,760px);max-width:760px;margin:26px auto;padding:0;border:0!important;background:transparent!important;box-shadow:none!important}
.sereci-booking-account-gate-head{width:min(calc(100% - 32px),688px);margin:0 auto -4px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--sereci-primary,#EF760C) 18%,var(--sereci-border,#e2e8f0));border-radius:16px;background:color-mix(in srgb,var(--sereci-primary,#EF760C) 4%,#fff)}
.sereci-booking-account-gate-head h3{margin:8px 0 6px;font-size:22px;line-height:1.2;color:var(--sereci-text,#0f172a)}
.sereci-booking-account-gate-head p{margin:0;font-size:14px;line-height:1.55;color:var(--sereci-muted-strong,#475569)}

/* Panel ciudadano */
.sereci-citizen-dashboard{width:min(100%,1180px);margin:clamp(24px,4vw,48px) auto;padding:0 16px 40px}
.sereci-citizen-dashboard-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:0 0 18px}
.sereci-citizen-kicker{display:block;margin-bottom:5px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--sereci-primary,#EF760C)}
.sereci-citizen-dashboard-head h2{margin:0;font-size:clamp(30px,4vw,42px);line-height:1.05;letter-spacing:-.03em;color:var(--sereci-text,#0f172a)}
.sereci-citizen-dashboard-head p{max-width:720px;margin:9px 0 0;font-size:15px;line-height:1.55;color:var(--sereci-muted,#64748b)}
.sereci-citizen-profile{margin:0 0 16px;padding:20px 22px;grid-template-columns:minmax(220px,1.3fr) minmax(150px,.8fr) minmax(220px,1.2fr) auto;gap:16px;border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.sereci-citizen-profile>div{min-width:0}.sereci-citizen-profile small{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.sereci-citizen-profile strong,.sereci-citizen-profile h3{overflow-wrap:anywhere;color:var(--sereci-text,#0f172a)}
.sereci-citizen-profile .button{min-height:42px!important;height:42px!important;padding:0 16px!important;border:1px solid var(--sereci-border,#e2e8f0)!important;border-radius:10px!important;background:#fff!important;color:var(--sereci-text,#0f172a)!important;font-weight:850!important}
.sereci-citizen-actions{gap:16px;margin:16px 0}
.sereci-citizen-action{position:relative;min-height:112px;padding:20px 54px 20px 20px;border-radius:18px;box-shadow:0 7px 22px rgba(15,23,42,.04);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.sereci-citizen-action::after{content:'→';position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:900;color:var(--sereci-primary,#EF760C)}
.sereci-citizen-action:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--sereci-primary,#EF760C) 32%,var(--sereci-border,#e2e8f0));box-shadow:0 12px 28px rgba(15,23,42,.07)}
.sereci-citizen-action.primary{border-color:color-mix(in srgb,var(--sereci-accent,#EF760C) 34%,var(--sereci-border,#e2e8f0));background:color-mix(in srgb,var(--sereci-accent,#EF760C) 5%,#fff)}
.sereci-citizen-action.primary::after{color:var(--sereci-accent,#EF760C)}
.sereci-citizen-action strong{font-size:19px}.sereci-citizen-action span{max-width:380px;font-size:14px}
.sereci-citizen-kpis{gap:14px;margin:16px 0 26px}.sereci-citizen-kpis>div{padding:18px;border-radius:16px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 5px 18px rgba(15,23,42,.035)}
.sereci-citizen-kpis small{font-size:12px;font-weight:800}.sereci-citizen-kpis strong{font-size:30px;letter-spacing:-.03em}
.sereci-citizen-reservations{padding-top:4px}.sereci-citizen-reservations-head{margin-bottom:13px}.sereci-citizen-reservations-head h3{font-size:24px;letter-spacing:-.015em}
.sereci-citizen-history-nav{gap:8px}.sereci-citizen-history-nav a{min-height:36px;align-items:center;padding:0 12px;border-radius:999px;font-size:13px;transition:background .14s ease,border-color .14s ease,color .14s ease}
.sereci-citizen-reservation{padding:18px 20px;grid-template-columns:minmax(0,1.7fr) minmax(150px,.65fr) minmax(220px,.9fr);gap:18px;border-radius:16px;box-shadow:0 5px 18px rgba(15,23,42,.035)}
.sereci-citizen-reservation h4{font-size:17px;line-height:1.3}.sereci-citizen-reservation-actions .button{min-height:40px!important;height:auto!important;padding:9px 13px!important;border-radius:9px!important;font-size:13px!important;font-weight:850!important}
.sereci-reservation-status{display:inline-flex;width:max-content;max-width:100%;margin-top:8px;padding:5px 9px;border-radius:999px;background:var(--sereci-bg-soft,#f1f5f9);color:var(--sereci-muted-strong,#475569);font-size:12px;font-weight:850}
.sereci-reservation-status.is-upcoming{background:var(--sereci-info-bg,#eff6ff);color:var(--sereci-info-text,#1e40af)}
.sereci-reservation-status.is-completed{background:var(--sereci-success-bg,#dcfce7);color:var(--sereci-success-text,#166534)}
.sereci-reservation-status.is-cancelled,.sereci-reservation-status.is-absent{background:var(--sereci-danger-bg,#fee2e2);color:var(--sereci-danger-text,#991b1b)}
.sereci-reservation-status.is-past{background:#f1f5f9;color:#475569}

@media(max-width:800px){
  .sereci-citizen-access.is-login,.sereci-citizen-access.is-register{padding:0 12px;margin-top:24px}
  .sereci-citizen-card{padding:22px 18px;border-radius:18px}.sereci-citizen-row{grid-template-columns:1fr;gap:14px}
  .sereci-citizen-register-cta,.sereci-citizen-login-cta{width:calc(100% - 24px);display:grid;grid-template-columns:1fr;text-align:left}.sereci-citizen-register-cta .button,.sereci-citizen-login-cta .button{width:100%}
  .sereci-booking-account-gate-head{width:calc(100% - 24px)}
  .sereci-citizen-profile{grid-template-columns:1fr 1fr}.sereci-citizen-profile .button{width:100%;grid-column:1/-1}
  .sereci-citizen-reservation{grid-template-columns:1fr}.sereci-citizen-reservation-actions{justify-content:flex-start}.sereci-citizen-reservation-actions .button{flex:1 1 190px;text-align:center;justify-content:center}
}
@media(max-width:520px){
  .sereci-citizen-profile{grid-template-columns:1fr}.sereci-citizen-profile .button{grid-column:auto}
  .sereci-citizen-dashboard{padding-inline:12px}.sereci-citizen-dashboard-head h2{font-size:32px}
  .sereci-citizen-kpis{grid-template-columns:1fr 1fr}.sereci-citizen-kpis strong{font-size:27px}
  .sereci-citizen-history-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.sereci-citizen-history-nav a{justify-content:center;text-align:center}.sereci-citizen-history-nav a:first-child:last-child{grid-column:1/-1}
}
@media(max-width:360px){.sereci-citizen-kpis{grid-template-columns:1fr}.sereci-citizen-history-nav{grid-template-columns:1fr}}


/* RC30 · Acceso ciudadano: CTA y formulario con ancho idéntico */
.sereci-citizen-auth-stack{
  width:min(calc(100% - 32px),720px);max-width:720px;margin:clamp(28px,5vw,56px) auto;display:grid;gap:14px;
}
.sereci-citizen-auth-stack .sereci-citizen-access.is-login,
.sereci-citizen-auth-stack .sereci-citizen-access.is-register{
  width:100%;max-width:none;margin:0;padding:0;display:block;
}
.sereci-citizen-auth-stack .sereci-citizen-register-cta,
.sereci-citizen-auth-stack .sereci-citizen-login-cta{
  width:100%;max-width:none;margin:0;padding:18px 20px;box-sizing:border-box;
}
.sereci-citizen-auth-stack .sereci-citizen-card{width:100%;max-width:none;box-sizing:border-box;margin:0}
@media(max-width:800px){
  .sereci-citizen-auth-stack{width:calc(100% - 24px);margin:24px auto 36px;gap:12px}
  .sereci-citizen-auth-stack .sereci-citizen-register-cta,
  .sereci-citizen-auth-stack .sereci-citizen-login-cta{width:100%;display:grid;grid-template-columns:1fr;text-align:left}
  .sereci-citizen-auth-stack .sereci-citizen-register-cta .button,
  .sereci-citizen-auth-stack .sereci-citizen-login-cta .button{width:100%}
}

/* RC31 · Cuenta ciudadana · formulario institucional refinado */
.sereci-citizen-auth-stack.is-register{
  width:min(calc(100% - 32px),840px);
  max-width:840px;
}
.sereci-citizen-card.is-login-card,
.sereci-citizen-card.is-register-card{
  overflow:visible;
}
.sereci-citizen-card.is-register-card{
  padding:clamp(26px,4vw,38px);
}
.sereci-citizen-card.is-login-card form,
.sereci-citizen-card.is-register-card form{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
.sereci-citizen-card.is-login-card form{
  grid-template-columns:minmax(0,1fr)!important;
}
.sereci-citizen-card.is-register-card form{
  gap:0;
}
.sereci-citizen-card.is-login-card label,
.sereci-citizen-card.is-register-card label,
.sereci-citizen-row>label{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.sereci-citizen-card.is-login-card input[type="text"],
.sereci-citizen-card.is-login-card input[type="password"],
.sereci-citizen-card.is-register-card input[type="text"],
.sereci-citizen-card.is-register-card input[type="tel"],
.sereci-citizen-card.is-register-card input[type="email"],
.sereci-citizen-card.is-register-card input[type="password"],
.sereci-citizen-card.is-register-card select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:52px!important;
  min-height:52px!important;
  margin:0!important;
  padding:0 15px!important;
  box-sizing:border-box!important;
  border:1px solid #d7e0ea!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  color:var(--sereci-text,#0f172a)!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.2!important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.025)!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
  appearance:auto;
}
.sereci-citizen-card.is-login-card input:focus,
.sereci-citizen-card.is-register-card input:focus,
.sereci-citizen-card.is-register-card select:focus{
  border-color:var(--sereci-primary,#EF760C)!important;
  background:#fff!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--sereci-primary,#EF760C) 14%,transparent)!important;
  outline:none!important;
}
.sereci-citizen-card.is-login-card input::placeholder,
.sereci-citizen-card.is-register-card input::placeholder{
  color:#94a3b8!important;
  font-weight:450!important;
}
.sereci-citizen-card.is-register-card .sereci-citizen-fieldset{
  display:grid;
  gap:14px;
  min-width:0;
  margin:0;
  padding:0 0 22px;
  border:0;
  border-bottom:1px solid #edf2f7;
}
.sereci-citizen-card.is-register-card .sereci-citizen-fieldset + .sereci-citizen-fieldset{
  margin-top:22px;
}
.sereci-citizen-card.is-register-card .sereci-citizen-fieldset.is-security{
  padding-bottom:0;
  border-bottom:0;
}
.sereci-citizen-card.is-register-card .sereci-citizen-fieldset legend{
  width:auto;
  margin:0 0 2px;
  padding:0;
  color:#334155;
  font-size:13px;
  font-weight:900;
  line-height:1.25;
  letter-spacing:.025em;
}
.sereci-citizen-card.is-register-card .sereci-citizen-row{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.sereci-citizen-card.is-register-card .sereci-citizen-help{
  display:block;
  margin:0;
  color:var(--sereci-muted,#64748b);
  font-size:12.5px;
  line-height:1.5;
}
.sereci-citizen-card.is-register-card .sereci-turnstile-wrap{
  margin:2px 0 0;
}
.sereci-citizen-card.is-register-card button[type="submit"]{
  margin-top:24px!important;
}
.sereci-citizen-card.is-login-card small{
  max-width:100%;
}
.sereci-booking-account-gate{
  padding-top:0!important;
}
@media(max-width:800px){
  .sereci-citizen-auth-stack.is-register{width:calc(100% - 24px);max-width:none}
  .sereci-citizen-card.is-register-card{padding:24px 18px}
  .sereci-citizen-card.is-register-card .sereci-citizen-row{grid-template-columns:1fr;gap:14px}
  .sereci-citizen-card.is-register-card .sereci-citizen-fieldset{padding-bottom:18px}
  .sereci-citizen-card.is-register-card .sereci-citizen-fieldset + .sereci-citizen-fieldset{margin-top:18px}
}
@media(max-width:480px){
  .sereci-citizen-card.is-login-card,
  .sereci-citizen-card.is-register-card{border-radius:16px;padding:22px 16px}
  .sereci-citizen-card.is-login-card input[type="text"],
  .sereci-citizen-card.is-login-card input[type="password"],
  .sereci-citizen-card.is-register-card input[type="text"],
  .sereci-citizen-card.is-register-card input[type="tel"],
  .sereci-citizen-card.is-register-card input[type="email"],
  .sereci-citizen-card.is-register-card input[type="password"],
  .sereci-citizen-card.is-register-card select{height:50px!important;min-height:50px!important}
}

/* RC37 · Aviso de llegada anticipada */
.sereci-arrival-notice{margin:16px 0;padding:14px 16px;border:1px solid #bbf7d0;border-left:4px solid #16a34a;border-radius:12px;background:#f0fdf4;color:#166534;font-weight:700;line-height:1.5}.sereci-arrival-notice strong{font-weight:950}

/* HF17 · mensajes estimados multicanal */
.sereci-reservation-estimate{margin:14px 0;padding:13px 14px;border:1px solid #dce5ec;border-radius:12px;background:#f8fbfd}.sereci-reservation-estimate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.sereci-reservation-estimate-grid small,.sereci-reservation-estimate-grid strong{display:block}.sereci-reservation-estimate-grid small{color:#667085;margin-bottom:3px}.sereci-estimate-notice{margin:11px 0 0;color:#166534}.sereci-estimate-reference{margin:6px 0 0;color:#667085;font-size:13px}
