/* Local integration styles; reference.css preserves the authorized reference design. */
[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #dc2626;outline-offset:3px}
.site-modal .dialog-title{font-family:inherit;font-size:1rem;font-weight:700;line-height:1.5;letter-spacing:normal;margin:0}
.mobile-site-menu{border-top:1px solid #f3f4f6;background:rgba(255,255,255,.98);padding:.5rem 0}
.mobile-site-menu a[aria-current=page]{color:#dc2626}
.is-selected{border-color:#dc2626!important;color:#dc2626!important;background:rgba(220,38,38,.05)!important}
.plan-choice{padding:.5rem .3rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;transition:background-color .2s,color .2s,border-color .2s}
.plan-choice:hover{background:#f9fafb}
.plan-choice:disabled{opacity:.45;cursor:not-allowed}
.site-toast{position:fixed;left:50%;bottom:2rem;transform:translateX(-50%);z-index:4000;max-width:calc(100% - 2rem);padding:.75rem 1.25rem;border-radius:.75rem;background:#1f2937;color:#fff;font-size:.875rem;box-shadow:0 8px 24px #0002}
.redemption-panel h1{margin:0;font-size:1.5rem;line-height:2rem;font-weight:700;letter-spacing:normal}
.redeem-status{font-size:.8rem;line-height:1.5}
.redeem-status:empty{display:none}
.redeem-status.error{color:#dc2626}
.redeem-status.success{color:#15803d}
.result-card{margin-top:1.5rem;padding:1.25rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:1rem;text-align:left}
.result-heading{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;color:#111827}
.success-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;margin-right:.5rem;background:#22c55e}
.days-badge{padding:.3rem .6rem;border-radius:1rem;background:#dcfce7;color:#15803d;font-size:.7rem;white-space:nowrap}
.credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.credential-item{padding:.8rem;background:#fff;border:1px solid #e5e7eb;border-radius:.6rem}
.field-label{display:block;margin-bottom:.4rem;font-size:.7rem;color:#6b7280}
.field-value{display:flex;gap:.5rem;align-items:center;justify-content:space-between}
.field-value code{background:transparent;border:0;padding:0;color:#111827;font-size:.75rem;line-height:1.5;overflow-wrap:anywhere;min-width:0}
.field-value button{flex:0 0 auto;padding:.15rem .4rem;border:1px solid #e5e7eb;border-radius:.3rem;color:#dc2626;font-size:.65rem}
.notice-row{margin-top:.75rem;padding:.75rem;border:1px solid #fecaca;border-radius:.6rem;background:#fef2f2;font-size:.75rem}
.notice-row>span{font-weight:600;color:#b91c1c}
.notice-row p{margin-top:.3rem;white-space:pre-wrap;overflow-wrap:anywhere}
.time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid #e5e7eb}
.time-grid span{display:block;color:#6b7280;font-size:.65rem}
.time-grid strong{display:block;margin-top:.25rem;color:#374151;font-size:.7rem}
.security-tip{margin-top:.75rem;color:#9ca3af;font-size:.65rem;text-align:center}
#desktop-nav a[aria-current=page]{color:#dc2626;border-bottom:2px solid #dc2626;padding-bottom:.25rem}
#register-captcha-image{max-width:none;object-fit:contain}
body.modal-is-open{overflow:hidden}
@media(max-width:639px){.credential-grid,.time-grid{grid-template-columns:minmax(0,1fr)}.result-card{padding:1rem}.site-modal{padding:.8rem}.site-modal>div{max-height:calc(100dvh - 1.6rem)}}
@media(min-width:768px){.mobile-site-menu{display:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.tag-marquee{animation:none!important}}
