.registration-gate[hidden] { display: none !important; }
.registration-gate { position:fixed; inset:0; z-index:2147483000; display:grid; place-items:center; padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom)); overflow:auto; background:rgba(10,24,39,.68); backdrop-filter:blur(5px); }
.registration-card { width:min(100%,470px); box-sizing:border-box; padding:25px; border:1px solid #d1dde6; border-top:4px solid #dc641c; border-radius:18px; background:#fff; color:#10243a; box-shadow:0 22px 65px rgba(4,18,31,.28); }
.registration-brand { margin:0 0 5px; color:#d65f18; font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.registration-card h1 { margin:0; font-size:clamp(1.45rem,5vw,1.85rem); line-height:1.15; }
.registration-intro { margin:9px 0 20px; color:#52687a; line-height:1.45; }
.registration-fields { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.registration-field { display:grid; gap:6px; min-width:0; }
.registration-field label { color:#334f65; font-size:.78rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.registration-field input { box-sizing:border-box; width:100%; min-height:46px; padding:10px 12px; border:1px solid #b9cbd8; border-radius:9px; background:#f4f8fa; color:#10243a; font:inherit; }
.registration-field input:focus { outline:3px solid rgba(230,105,32,.18); border-color:#dc641c; }
.registration-consent { display:flex; gap:10px; align-items:flex-start; margin:17px 0 15px; color:#40596c; font-size:.87rem; font-weight:400; line-height:1.38; letter-spacing:normal; text-transform:none; }
.registration-consent input { width:19px; height:19px; margin:1px 0 0; accent-color:#d65f18; flex:0 0 auto; }
.registration-actions { display:grid; grid-template-columns:1fr auto; gap:10px; }
.registration-submit,.registration-later { min-height:49px; border-radius:10px; font:800 1rem/1 inherit; cursor:pointer; }
.registration-submit { border:0; background:#d65f18; color:#fff; }
.registration-submit:hover { background:#bb4f10; }
.registration-later { padding:0 18px; border:1px solid #d65f18; background:#fff; color:#a64610; }
.registration-submit:disabled { cursor:wait; opacity:.65; }
.registration-status { min-height:1.25em; margin:11px 0 0; color:#b12d20; font-size:.85rem; text-align:center; }
.registration-note { margin:9px 0 0; color:#698091; font-size:.75rem; text-align:center; }
body.registration-locked { overflow:hidden !important; }
@media (max-width:520px) { .registration-gate{align-items:start;padding-inline:10px}.registration-card{margin-top:8px;padding:20px 17px;border-radius:15px}.registration-fields{grid-template-columns:1fr;gap:11px}.registration-actions{grid-template-columns:1fr}.registration-later{order:2} }
@media print { .registration-gate{display:none!important} body.registration-locked{overflow:visible!important} }
