/* Dedicated registration layout; account/company inputs remain one ordinary form. */
.registration-wrap { min-height:100vh; min-height:100svh; display:grid; align-items:center; padding:clamp(20px,4vw,52px) 20px; background:radial-gradient(700px 500px at 0 0,var(--primary-soft),transparent),var(--bg); }
.registration-card { width:100%; max-width:960px; min-width:0; margin:0 auto; padding:32px; background:var(--surface); border:1px solid var(--border); border-radius:24px; box-shadow:var(--shadow); }
.registration-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; }
.registration-header .brand { min-width:0; }
.registration-header .brand-logo { width:40px; height:40px; }
.registration-login { display:inline-flex; align-items:center; min-height:44px; font-weight:700; white-space:nowrap; }
.registration-intro { margin-bottom:28px; max-width:660px; }
.registration-intro h1 { font-size:clamp(1.55rem,3vw,2rem); letter-spacing:-.035em; margin-bottom:10px; }
.registration-intro p { color:var(--muted); margin:0; }
.registration-sections { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
.registration-section { min-width:0; }
.registration-company { border-left:1px solid var(--border); padding-left:32px; }
.registration-section-title { display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.registration-section-title > span { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:var(--primary-soft); color:var(--primary); font-size:.75rem; font-weight:800; flex:none; }
.registration-section-title h2 { margin:0; font-size:1.12rem; }
.registration-section-hint { color:var(--muted); font-size:.86rem; margin-bottom:20px; }
.registration-card .field { margin-bottom:18px; gap:7px; min-width:0; }
.registration-card .field > label { color:var(--text); font-size:.88rem; }
.registration-card input:not([type=checkbox]),.registration-card textarea { min-width:0; font-size:16px; padding:11px 13px; min-height:46px; }
.registration-card textarea { resize:vertical; }
.registration-card [aria-invalid=true] { border-color:var(--danger); }
.registration-card [hidden] { display:none!important; }
.registration-password { display:flex; align-items:center; border:1px solid var(--border); border-radius:10px; min-width:0; }
.registration-password:focus-within { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-soft); }
.registration-password:has([aria-invalid=true]) { border-color:var(--danger); }
.registration-password input { border:0; background:transparent; box-shadow:none!important; flex:1; width:0; }
.registration-password-toggle { min-height:44px; padding:0 12px; border:0; border-radius:8px; background:none; color:var(--primary); cursor:pointer; font:inherit; font-size:.82rem; font-weight:700; flex:none; }
.registration-password-toggle:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.registration-strength { display:flex; align-items:center; gap:12px; }
.registration-strength meter { flex:1; min-width:0; width:100%; height:8px; border-radius:10px; background:var(--surface-3); }
.registration-strength small { white-space:nowrap; font-size:.75rem; }
.registration-strength meter::-webkit-meter-bar { border:0; border-radius:10px; background:var(--surface-3); }
.registration-strength meter::-webkit-meter-optimum-value { background:var(--success); border-radius:10px; }
.registration-strength meter::-webkit-meter-suboptimum-value { background:var(--warning); border-radius:10px; }
.registration-strength meter::-webkit-meter-even-less-good-value { background:var(--danger); border-radius:10px; }
.registration-check { display:flex; gap:10px; align-items:flex-start; cursor:pointer; font-size:.9rem; }
.registration-check input { width:18px; height:18px; margin:3px 0 0; flex:none; accent-color:var(--primary); }
.registration-company-toggle { font-weight:700; margin:18px 0 7px; min-height:26px; }
.registration-identifier { display:flex; align-items:stretch; gap:8px; min-width:0; }
.registration-identifier input { flex:1; width:0; }
.registration-identifier .btn { padding:8px 12px; min-height:46px; font-size:.8rem; flex:none; }
.registration-lookup-status { color:var(--muted); font-size:.84rem; margin:0 0 14px; overflow-wrap:anywhere; }
.registration-lookup-status:empty { display:none; }
.registration-lookup-details { display:grid; gap:5px; padding:14px; margin-bottom:18px; border-radius:12px; border:1px solid var(--border); background:var(--surface-2); overflow-wrap:anywhere; font-size:.84rem; }
.registration-lookup-details strong { font-size:.9rem; }
.registration-field-error { color:var(--danger); display:block; font-size:.8rem; line-height:1.4; }
.registration-errors { background:var(--danger-bg); border:1px solid var(--danger); border-radius:12px; padding:14px 16px; margin-bottom:24px; font-size:.88rem; }
.registration-errors p { font-weight:700; margin:0 0 6px; }
.registration-errors ul { margin:0; padding-left:20px; }
.registration-errors a { color:var(--danger); }
.registration-actions { display:flex; gap:28px; justify-content:space-between; align-items:center; border-top:1px solid var(--border); padding-top:24px; margin-top:28px; }
.registration-terms { flex:1; min-width:0; }
.registration-terms > small { display:block; margin-top:8px; font-size:.76rem; }
.registration-submit { min-height:48px; padding:12px 22px; flex:none; }
@media(max-width:700px) {
  .registration-wrap { display:block; padding:16px 12px 32px; }
  .registration-card { padding:22px 20px; border-radius:18px; }
  .registration-header { margin-bottom:22px; gap:12px; }
  .registration-header .brand { font-size:1.05rem; gap:8px; }
  .registration-header .brand-logo { width:36px; height:36px; }
  .registration-intro { margin-bottom:24px; }
  .registration-sections { grid-template-columns:minmax(0,1fr); gap:26px; }
  .registration-company { border-left:0; border-top:1px solid var(--border); padding:24px 0 0; }
  .registration-actions { flex-direction:column; align-items:stretch; gap:20px; padding-top:20px; margin-top:24px; }
  .registration-submit { width:100%; }
}
@media(max-width:360px) { .registration-card { padding:20px 15px; } .registration-identifier { flex-direction:column; } .registration-identifier input { width:100%; } }
@media(prefers-reduced-motion:reduce) { .registration-card * { transition:none!important; } }
.registration-password-match { color:var(--success); }
.registration-vat-toggle { margin-top:20px; }
.registration-vat-hint { display:block; font-size:.76rem; margin:7px 0 18px; }
.registration-social { margin-bottom:24px; }
.registration-google-btn { display:flex; justify-content:center; align-items:center; gap:12px; min-height:48px; padding:11px 16px; border:1px solid var(--border); border-radius:11px; background:var(--surface); color:var(--text); font-weight:700; text-decoration:none; }
.registration-google-btn:hover { border-color:var(--primary); background:var(--surface-2); text-decoration:none; }
.registration-google-mark { font-family:Arial,sans-serif; font-weight:800; font-size:1.25rem; color:var(--info); }
.registration-divider { display:flex; align-items:center; gap:14px; margin:20px 0 0; color:var(--muted); font-size:.8rem; }
.registration-divider::before,.registration-divider::after { content:""; height:1px; background:var(--border); flex:1; }
.registration-notice-card { max-width:560px; }
.registration-notice-card h1 { font-size:clamp(1.5rem,4vw,1.85rem); letter-spacing:-.025em; margin-bottom:14px; }
.registration-notice-intro { color:var(--muted); margin-bottom:24px; }
.registration-notice-icon { display:grid; place-items:center; width:62px; height:62px; border-radius:18px; background:var(--primary-soft); color:var(--primary); margin:0 0 22px; font-size:1.8rem; }
.registration-notice-success { background:var(--success-bg); color:var(--success); }
.registration-email-address { display:grid; gap:4px; padding:14px; border-radius:12px; background:var(--surface-2); margin:0 0 22px; overflow-wrap:anywhere; }
.registration-notice-actions { margin-top:26px; }
.registration-notice-actions .btn { min-height:48px; width:100%; }
.registration-delivery-status { color:var(--success); font-weight:600; }
.registration-google-account { display:flex; align-items:center; gap:16px; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); margin:0 0 24px; }
.registration-google-account > div { display:grid; gap:3px; min-width:0; overflow-wrap:anywhere; }
.registration-google-account strong { font-size:.95rem; }
.registration-google-account span:not(.registration-google-mark) { color:var(--muted); font-size:.85rem; }
