body {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
      }
      .landing-wrap {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 2rem 1rem;
        flex-direction: column;
      }
      .auth-language { align-self:center; display:flex; gap:4px; margin:0 0 0.75rem; }
      .auth-card #regAddressHint { line-height: 1.5; font-weight: 400; }
      .auth-card #regAddressPreview { white-space: normal; overflow-wrap: anywhere; }
      .auth-card .u-08442b4 { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 8px; line-height: 1.5; }
      .auth-card .u-08442b4 > span { display: none; }
      .auth-card .u-08442b4 > a { padding: 4px; }
      .auth-card {
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: 8px;
        padding: 2.75rem 2.25rem 2rem;
        width: 100%;
        max-width: 400px;
        box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.06),
                    0 8px 40px rgba(0, 0, 0, 0.5);
        position: relative;
        overflow: hidden;
      }
      /* subtle top accent line */
      .auth-card::before {
        content: '';
        position: absolute;
        top: 0; left: 0; right: 0;
        height: 3px;
        background: linear-gradient(90deg, transparent, var(--accent), transparent);
        opacity: 0.7;
      }
      .brand-block {
        text-align: center;
        margin-bottom: 2rem;
      }
      .brand-block img {
        height: 56px;
        margin-bottom: 0.85rem;
        filter: drop-shadow(0 0 12px rgba(var(--accent-rgb), 0.35));
      }
      .brand-block h1,
      .brand-block h2 {
        font-size: 1.65rem;
        font-weight: 800;
        letter-spacing: 0;
        margin: 0 0 0.4rem;
        color: var(--text);
      }
      .brand-block p {
        /* Higher opacity than --muted so the tagline meets WCAG AA contrast. */
        color: rgba(var(--accent-rgb), 0.92);
        font-size: 0.83rem;
        margin: 0;
        letter-spacing: 0;
        line-height: 1.45;
      }
      .field-group {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin-bottom: 0.5rem;
      }
      .field-group label {
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
        font-size: 0.875rem;
        font-weight: 500;
        color: var(--text);
      }
      .field-group input {
        width: 100%;
        box-sizing: border-box;
        padding: 0.7rem 0.9rem;
        border: 1px solid var(--border);
        border-radius: 8px;
        background: var(--bg);
        color: var(--text);
        font-size: 0.925rem;
        transition: border-color 0.15s;
      }
      .field-group input:focus {
        outline: none;
        border-color: var(--accent);
        box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.15);
      }
      .btn-full {
        width: 100%;
        margin-top: 1.25rem;
        padding: 0.78rem;
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: 0;
        border-radius: 8px;
      }
      .error-msg {
        background: rgba(255, 50, 50, 0.10);
        color: #ff6b6b;
        border: 1px solid rgba(255, 50, 50, 0.30);
        border-radius: 8px;
        padding: 0.6rem 0.85rem;
        font-size: 0.875rem;
        margin-top: 0.85rem;
        display: none;
      }
      footer {
        text-align: center;
        padding: 1.25rem;
        font-size: 0.78rem;
        color: #a3a3a3;
      }
      .auth-card{border-radius:14px}.auth-card .error-msg:not(:empty),.auth-card .error-msg[role="status"]:not(:empty){display:block}.auth-card .error-msg[role="status"]{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:var(--accent-soft);color:var(--text)}.auth-card input:invalid:not(:placeholder-shown){border-color:var(--danger)}.auth-card input:focus-visible,.auth-card a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.auth-card .btn[aria-busy="true"]{cursor:wait;opacity:.72}.owner-address{display:block;min-height:1.35em;overflow-wrap:anywhere;color:var(--muted);font-size:.8rem}@media(max-width:480px){.landing-wrap{padding:18px 12px}.auth-card{padding:32px 20px 22px}.auth-language{margin-top:12px}.brand-block{margin-bottom:24px}.btn-full{min-height:48px}}
      .auth-card form[aria-busy="true"]{opacity:.75;pointer-events:none}.auth-card form[aria-busy="true"] .btn::before{content:'';display:inline-block;width:13px;height:13px;margin-right:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:auth-spin .8s linear infinite}.auth-card label:focus-within>span{color:var(--accent)}.auth-card input:valid:not(:placeholder-shown){border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.auth-card #forgotBox{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.auth-card #verificationReturn:not([hidden]){margin-bottom:18px}@keyframes auth-spin{to{transform:rotate(360deg)}}

/* Opt in only owner registration's paired single-line fields; labels retain intrinsic wrapping. */
.is-register #registerForm .field-group > label{min-width:0}
.is-register #registerForm .field-group > label > :is(input,select){margin-top:auto;min-width:0;min-height:48px;box-sizing:border-box;flex:none}
