:root {
    --koirea-r7-ink: #27272a;
    --koirea-r7-muted: #667085;
    --koirea-r7-line: #e8e0dd;
    --koirea-r7-soft: #fff4f1;
    --koirea-r7-primary: #d95663;
    --koirea-r7-primary-hover: #bd3f4d;
    --koirea-r7-focus: #356d9a;
}

.r7-phone-page,
.r7-notification-page {
    width: min(760px, calc(100% - 32px));
    margin: 32px auto 64px;
    color: var(--koirea-r7-ink);
}

.r7-phone-intro,
.r7-notification-page > header {
    margin-bottom: 24px;
}

.r7-phone-intro h1,
.r7-notification-page h1 {
    margin: 4px 0 10px;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    line-height: 1.25;
}

.r7-phone-intro p,
.r7-notification-page > header p {
    color: var(--koirea-r7-muted);
    line-height: 1.8;
}

.r7-phone-card,
.r7-phone-privacy,
.r7-notification-form,
.r7-state-panel {
    border: 1px solid var(--koirea-r7-line);
    border-radius: 8px;
    background: #fff;
    padding: 24px;
}

.r7-phone-card.is-complete {
    border-color: #aadbd6;
    background: #f5fffd;
}

.r7-phone-registration-complete {
    position: relative;
    overflow: hidden;
    border-color: #f4c8d3;
    border-radius: 24px;
    padding: 36px;
    background:
        radial-gradient(circle at 100% 0, rgba(255, 213, 224, .58), transparent 38%),
        linear-gradient(155deg, #fff 0%, #fff8fa 100%);
    box-shadow: 0 24px 64px rgba(104, 23, 52, .12);
    text-align: center;
}

.r7-phone-complete-mark {
    display: grid;
    width: 60px;
    height: 60px;
    place-items: center;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff5b87, #ed2860);
    color: #fff;
    box-shadow: 0 14px 30px rgba(237, 40, 96, .25);
}

.r7-phone-complete-mark svg {
    width: 30px;
    height: 30px;
}

.r7-phone-registration-complete .r7-status-badge {
    background: #fff0f5;
    color: #c91d50;
}

.r7-phone-registration-complete h2 {
    margin-top: 16px;
    color: #142238;
    font-size: clamp(1.55rem, 4vw, 2rem);
}

.r7-phone-complete-lead {
    margin: 0;
    color: #596579;
    line-height: 1.75;
}

.r7-phone-member-code {
    display: grid;
    gap: 8px;
    width: min(420px, 100%);
    margin: 24px auto 16px;
    padding: 18px;
    border: 1px solid #f0c9d4;
    border-radius: 18px;
    background: rgba(255, 255, 255, .94);
    box-shadow: inset 0 1px 0 #fff, 0 10px 28px rgba(104, 23, 52, .08);
}

.r7-phone-member-code span {
    color: #6d7280;
    font-size: .86rem;
    font-weight: 800;
}

.r7-phone-member-code strong {
    color: #13243a;
    font-size: clamp(1.5rem, 6vw, 2rem);
    letter-spacing: .12em;
    overflow-wrap: anywhere;
}

.r7-phone-complete-actions {
    width: min(420px, 100%);
    margin: 24px auto 0;
}

[data-r7-phone-recaptcha] {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

[data-r7-phone-recaptcha] > div,
[data-r7-phone-recaptcha] iframe {
    max-width: 100%;
}

.r7-phone-card.is-pending,
.r7-state-panel.is-pending {
    border-color: #efd8b9;
    background: #fffaf2;
}

.r7-status-badge {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--koirea-r7-soft);
    color: #a63746;
    font-size: .82rem;
    font-weight: 800;
}

.r7-phone-card h2,
.r7-phone-privacy h2,
.r7-notification-form legend,
.r7-state-panel h2 {
    margin: 12px 0 8px;
    font-size: 1.2rem;
    font-weight: 800;
}

.r7-phone-form,
.r7-phone-resend {
    display: grid;
    gap: 16px;
    margin-top: 20px;
}

.r7-phone-form label,
.r7-phone-resend label,
.r7-notification-form > fieldset > label {
    display: grid;
    gap: 7px;
    font-weight: 700;
}

.r7-phone-form input,
.r7-phone-resend input,
.r7-notification-form input[type="datetime-local"] {
    min-height: 48px;
    width: 100%;
    border: 1px solid #cfc5c2;
    border-radius: 8px;
    padding: 10px 12px;
    font: inherit;
    color: var(--koirea-r7-ink);
    background: #fff;
}

.r7-phone-form input:focus-visible,
.r7-phone-resend input:focus-visible,
.r7-notification-form input:focus-visible,
.r7-notification-form button:focus-visible,
.r7-phone-page a:focus-visible,
.r7-phone-page button:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--koirea-r7-focus) 45%, transparent);
    outline-offset: 2px;
}

.r7-phone-privacy {
    margin-top: 18px;
    background: #fff9f7;
}

.r7-phone-privacy ul {
    display: grid;
    gap: 8px;
    margin: 12px 0;
    padding-left: 1.3rem;
}

.r7-notification-form {
    display: grid;
    gap: 26px;
}

.r7-notification-form fieldset {
    min-width: 0;
    border: 0;
    border-bottom: 1px solid var(--koirea-r7-line);
    margin: 0;
    padding: 0 0 24px;
}

.r7-notification-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.r7-notification-item {
    display: flex;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid var(--koirea-r7-line);
    border-radius: 8px;
    padding: 10px 12px;
    cursor: pointer;
}

.r7-notification-item small {
    display: block;
    margin-top: 2px;
    color: var(--koirea-r7-muted);
}

.r7-notification-item input {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    accent-color: var(--koirea-r7-primary);
}

.r7-pause-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 18px;
}

.r7-pause-options label {
    position: relative;
}

.r7-pause-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.r7-pause-options span {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: 8px 14px;
    cursor: pointer;
}

.r7-pause-options span:where(:not(body.koirea-member-web .r7-pause-options span)) {
    border: 1px solid var(--koirea-r7-line);
    border-radius: 999px;
}

.r7-pause-options input:checked + span:where(:not(body.koirea-member-web .r7-pause-options span)) {
    border-color: var(--koirea-r7-primary);
    background: var(--koirea-r7-soft);
    color: #9f3341;
    font-weight: 800;
}

/* The Web label owns surface and ink; a child must not paint a pale surface
 * beneath the selected label's white ink. Legacy App material stays separate. */
/* Switch surface and ink together; interpolating white/navy through gray
 * briefly loses contrast while moving the selection. */
body.koirea-member-web .r7-pause-options { --member-button-transition-properties: border-color; }
body.koirea-member-web .r7-pause-options span { background: transparent; border: 0; border-radius: inherit; }
body.koirea-member-web .r7-pause-options span::before { content: ''; display: inline-block; width: 14px; margin-right: 6px; }
body.koirea-member-web .r7-pause-options input:checked + span::before { content: '✓'; }

.r7-admin-trust .admin-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.r7-purpose-demo {
    width: min(1160px, calc(100% - 40px));
    margin: 28px auto 0;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 22px;
    border: 1px solid var(--koirea-r7-line);
    border-radius: 8px;
    background: #fff;
    padding: 24px;
    box-shadow: 0 12px 36px rgba(87, 48, 42, .06);
}

.r7-purpose-demo-controls,
.r7-purpose-demo-result {
    min-width: 0;
}

.r7-purpose-demo-controls h3,
.r7-purpose-demo-result h3 {
    margin: 4px 0 16px;
    color: var(--koirea-r7-ink);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.35;
}

.r7-purpose-demo-controls label {
    display: grid;
    gap: 6px;
    margin-top: 12px;
    color: var(--koirea-r7-ink);
    font-weight: 800;
}

.r7-purpose-demo-controls select {
    width: 100%;
    min-height: 48px;
    border: 1px solid #cfc5c2;
    border-radius: 8px;
    padding: 9px 38px 9px 12px;
    background: #fff;
    color: var(--koirea-r7-ink);
    font: inherit;
}

.r7-purpose-demo-result {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 8px;
    background: #fff7f4;
    padding: 24px;
}

.r7-purpose-demo-result > span {
    color: #a63746;
    font-size: .82rem;
    font-weight: 800;
}

.r7-purpose-demo-result ul {
    display: grid;
    gap: 9px;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}

.r7-purpose-demo-result li {
    position: relative;
    padding-left: 24px;
    color: var(--koirea-r7-ink);
    font-weight: 750;
}

.r7-purpose-demo-result li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #167c72;
    font-weight: 900;
}

.r7-question-example,
.r7-hint-example {
    display: grid;
    gap: 5px;
    margin-top: 12px;
    border: 1px solid #eadad6;
    border-radius: 8px;
    background: #fff;
    padding: 12px 14px;
}

.r7-question-example strong,
.r7-hint-example strong {
    color: #a63746;
    font-size: .82rem;
}

@media (max-width: 640px) {
    .r7-phone-page,
    .r7-notification-page {
        width: min(100% - 24px, 760px);
        margin-top: 20px;
    }

    .r7-phone-card,
    .r7-phone-privacy,
    .r7-notification-form,
    .r7-state-panel {
        padding: 18px;
    }

    .r7-notification-grid,
    .r7-admin-trust .admin-card-grid,
    .r7-purpose-demo {
        grid-template-columns: 1fr;
    }

    .r7-purpose-demo {
        width: min(100% - 24px, 1160px);
        padding: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .r7-phone-page *,
    .r7-notification-page * {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

.r7-logo-lab {
    width: min(1180px, calc(100% - 32px));
    margin: 40px auto 80px;
    color: var(--koirea-text, #27272a);
}

.r7-logo-lab__intro {
    max-width: 780px;
}

.r7-logo-lab__eyebrow {
    color: #c43d4d;
    font-size: .78rem;
    font-weight: 800;
}

.r7-logo-lab__intro h1,
.r7-logo-recommendation h2 {
    margin: 8px 0 12px;
    font-size: clamp(1.85rem, 3vw, 3rem);
    line-height: 1.15;
}

.r7-logo-lab__intro p,
.r7-logo-recommendation p {
    line-height: 1.8;
}

.r7-logo-lab__notice {
    margin-top: 18px;
    padding: 12px 16px;
    border-left: 4px solid var(--koirea-brand-primary, #f77a6b);
    background: #fff5f2;
    font-weight: 700;
}

.r7-logo-lab__jump {
    display: flex;
    gap: 8px;
    margin: 28px 0 36px;
    flex-wrap: wrap;
}

.r7-logo-lab__jump a {
    display: inline-grid;
    min-width: 52px;
    min-height: 44px;
    place-items: center;
    border: 1px solid var(--koirea-border, #e8e0dd);
    border-radius: 6px;
    background: #fff;
    color: inherit;
    font-weight: 800;
    text-decoration: none;
}

.r7-logo-candidate {
    padding: 48px 0;
    border-top: 1px solid var(--koirea-border, #e8e0dd);
}

.r7-logo-candidate__heading {
    display: grid;
    grid-template-columns: 64px minmax(0, 760px);
    gap: 20px;
    align-items: start;
    margin-bottom: 24px;
}

.r7-logo-candidate__letter {
    display: grid;
    width: 60px;
    height: 60px;
    place-items: center;
    border-radius: 6px;
    background: var(--koirea-brand-primary, #f77a6b);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 900;
}

.r7-logo-candidate__heading h2 {
    margin: 0 0 8px;
    font-size: clamp(1.45rem, 2.2vw, 2rem);
}

.r7-logo-candidate__heading p {
    margin: 0;
    line-height: 1.75;
}

.r7-logo-preview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.r7-logo-preview {
    min-height: 180px;
    margin: 0;
    padding: 18px;
    border: 1px solid var(--koirea-border, #e8e0dd);
    border-radius: 8px;
}

.r7-logo-preview figcaption {
    margin-bottom: 20px;
    font-size: .78rem;
    font-weight: 800;
}

.r7-logo-preview img {
    display: block;
    width: min(100%, 360px);
    height: auto;
    margin: 14px auto;
}

.r7-logo-preview--dark {
    background: #27272a;
    color: #fff;
}

.r7-logo-preview--dark .r7-logo-preview__reverse {
    filter: grayscale(1) brightness(0) invert(1);
}

.r7-logo-preview--mono img {
    filter: grayscale(1) contrast(1.4);
}

.r7-logo-contexts {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.r7-logo-context {
    position: relative;
    min-height: 116px;
    padding: 36px 16px 16px;
    border: 1px solid var(--koirea-border, #e8e0dd);
    border-radius: 8px;
    background: #fff;
}

.r7-logo-context > span {
    position: absolute;
    top: 10px;
    left: 12px;
    color: var(--koirea-text-muted, #667085);
    font-size: .72rem;
    font-weight: 800;
}

.r7-logo-context--desktop {
    grid-column: span 7;
    display: flex;
    gap: 20px;
    align-items: center;
}

.r7-logo-context--desktop nav {
    display: flex;
    gap: 12px;
    margin-left: auto;
    align-items: center;
    font-size: .76rem;
}

.r7-logo-context button {
    min-height: 44px;
    padding: 0 16px;
    border: 0;
    border-radius: 6px;
    background: var(--koirea-brand-primary, #f77a6b);
    color: #fff;
    font: inherit;
    font-weight: 800;
}

.r7-logo-context--mobile {
    grid-column: span 5;
    display: flex;
    gap: 12px;
    align-items: center;
}

.r7-logo-context--mobile button {
    margin-left: auto;
    color: #27272a;
    background: #fff5f2;
}

.r7-logo-context--auth {
    grid-column: span 6;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
}

.r7-logo-context--loading,
.r7-logo-context--icons {
    grid-column: span 3;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

.r7-logo-context--icons img:first-of-type {
    border-radius: 20%;
    box-shadow: 0 4px 14px rgb(39 39 42 / 12%);
}

.r7-logo-candidate__review {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0 0;
}

.r7-logo-candidate__review div {
    padding: 16px;
    background: #fff9f7;
}

.r7-logo-candidate__review dt {
    margin-bottom: 6px;
    color: #a43747;
    font-weight: 900;
}

.r7-logo-candidate__review dd {
    margin: 0;
    line-height: 1.65;
}

.r7-logo-recommendation {
    padding: 36px;
    border-radius: 8px;
    background: #fff1ed;
}

@media (max-width: 800px) {
    .r7-logo-preview-grid {
        grid-template-columns: 1fr;
    }

    .r7-logo-context--desktop,
    .r7-logo-context--mobile,
    .r7-logo-context--auth,
    .r7-logo-context--loading,
    .r7-logo-context--icons {
        grid-column: 1 / -1;
    }

    .r7-logo-context--desktop nav b {
        display: none;
    }
}

@media (max-width: 520px) {
    .r7-logo-lab {
        width: min(100% - 24px, 1180px);
        margin-top: 24px;
    }

    .r7-logo-candidate__heading {
        grid-template-columns: 48px 1fr;
        gap: 12px;
    }

    .r7-logo-candidate__letter {
        width: 48px;
        height: 48px;
    }

    .r7-logo-context--desktop {
        display: grid;
        grid-template-columns: 1fr auto;
    }

    .r7-logo-context--desktop nav {
        grid-column: 1 / -1;
        width: 100%;
    }

    .r7-logo-context--auth {
        grid-template-columns: 1fr;
    }

    .r7-logo-context--auth button {
        width: 100%;
    }

    .r7-logo-candidate__review {
        grid-template-columns: 1fr;
    }

    .r7-logo-recommendation {
        padding: 24px 18px;
    }
}

.r7-camera-open {
    overflow: hidden;
}

.r7-camera-modal {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: grid;
    padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
    place-items: center;
}

.r7-camera-modal[hidden] {
    display: none;
}

.r7-camera-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgb(0 0 0 / 68%);
}

.r7-camera-modal__dialog {
    position: relative;
    width: min(560px, 100%);
    max-height: 100%;
    overflow: auto;
    border-radius: 8px;
    background: #fff;
    padding: 16px;
}

.r7-camera-modal__dialog header,
.r7-camera-modal__actions {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
}

.r7-camera-modal__dialog header h2 {
    margin: 0;
    font-size: 1.2rem;
}

.r7-camera-modal__dialog header button {
    min-width: 44px;
    min-height: 44px;
    border: 0;
    background: transparent;
    font-size: 1.5rem;
}

.r7-camera-modal video,
.r7-camera-modal canvas {
    width: 100%;
    margin: 12px 0;
    border-radius: 6px;
    background: #18181b;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.r7-camera-modal__actions {
    flex-wrap: wrap;
    justify-content: flex-start;
}

.r701-signup-methods,
.r701-app-signup-methods {
    display: grid;
    gap: 10px;
    margin: 0 0 22px;
    border: 1px solid var(--koirea-r7-line);
    border-radius: 8px;
    padding: 16px;
    background: #fff9f7;
}

.r701-signup-methods > strong,
.r701-app-signup-methods h2 {
    margin: 0;
    color: var(--koirea-r7-ink);
    font-size: 1.05rem;
}

.r701-signup-methods small,
.r701-app-signup-methods p {
    margin: 0;
    color: var(--koirea-r7-muted);
    font-size: .88rem;
    line-height: 1.65;
}

.r701-app-signup-methods .koirea-app-auth-social {
    margin: 0;
}

.koirea-app-auth-social-button.is-email {
    border-color: var(--koirea-r7-primary);
    color: #9f3341;
    background: #fff;
}

.r7-current-pause {
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 12px 0 4px;
    border: 1px solid var(--koirea-r7-line);
    border-radius: 8px;
    padding: 10px 12px;
    color: var(--koirea-r7-muted);
    background: #fff;
}

.r7-current-pause.is-active {
    border-color: #e8b8ae;
    color: #8d3541;
    background: #fff5f2;
}

.r701-admin-phone-policy-form {
    display: grid;
    grid-template-columns: minmax(110px, .6fr) minmax(150px, .8fr) minmax(220px, 1.6fr) auto;
    gap: 10px;
    align-items: end;
    margin: 18px 0;
}

.r701-admin-phone-policy-form label {
    display: grid;
    gap: 5px;
}

.r701-admin-phone-policy-form input,
.r701-admin-phone-policy-form select,
.r701-admin-phone-policy-form button {
    min-height: 44px;
}

.r702-trust-filter {
    display: grid;
    grid-template-columns: repeat(5, minmax(140px, 1fr));
    gap: 10px;
    margin: 18px 0 22px;
}

.r702-trust-filter label {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.r702-trust-filter input,
.r702-trust-filter select,
.r702-trust-filter button {
    width: 100%;
    min-height: 44px;
}

.r702-trust-metrics {
    align-items: stretch;
}

.r702-trust-metrics .admin-card {
    min-width: 0;
    box-shadow: none;
}

.r702-trust-metrics .admin-card.is-unavailable {
    border-style: dashed;
    background: #f8fafc;
}

.r702-metric-value {
    margin: 8px 0;
    color: #8d3541;
    font-size: 1.6rem;
    font-weight: 900;
}

.r702-metric-value small {
    font-size: .8rem;
}

.r701-trust-system {
    width: 100%;
    padding: 76px 20px;
    color: var(--koirea-r7-ink);
    background: #f5fbfa;
}

.r701-trust-system__inner {
    width: min(1160px, 100%);
    margin: 0 auto;
}

.r701-trust-system__head {
    max-width: 780px;
}

.r701-trust-system__head > p {
    margin: 0 0 10px;
    color: #167c72;
    font-size: .85rem;
    font-weight: 900;
}

.r701-trust-system__head h2 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.25;
}

.r701-trust-system__head > span {
    display: block;
    margin-top: 18px;
    color: #475467;
    font-size: 1.05rem;
    line-height: 1.85;
}

.r701-trust-system__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 34px;
}

.r701-trust-system__grid article {
    border: 1px solid #dbe9e6;
    border-radius: 8px;
    padding: 24px;
    background: #fff;
}

.r701-trust-system__grid b {
    color: #167c72;
    font-size: .78rem;
}

.r701-trust-system__grid h3 {
    margin: 10px 0 8px;
    font-size: 1.15rem;
}

.r701-trust-system__grid p,
.r701-trust-system__notice {
    margin: 0;
    color: #667085;
    line-height: 1.75;
}

.r701-trust-system__policy {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    align-items: start;
    margin-top: 16px;
    border-left: 4px solid #167c72;
    padding: 14px 16px;
    background: #fff;
}

.r701-trust-system__policy span {
    color: #475467;
    line-height: 1.7;
}

.r701-trust-system__notice {
    margin-top: 14px;
    font-size: .85rem;
}

@media (max-width: 800px) {
    .r701-admin-phone-policy-form,
    .r701-trust-system__grid {
        grid-template-columns: 1fr;
    }

    .r702-trust-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .r701-trust-system {
        padding: 56px 18px;
    }
}

@media (max-width: 520px) {
    .r7-current-pause,
    .r701-trust-system__policy {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .r7-current-pause {
        display: grid;
    }

    .r701-trust-system {
        padding: 44px 16px;
    }

    .r702-trust-filter {
        grid-template-columns: 1fr;
    }

    .r701-trust-system__head h2 {
        font-size: 1.85rem;
    }

    .r701-trust-system__grid article {
        padding: 20px;
    }
}

.r708-access-status {
    width: min(760px, calc(100% - 32px));
    margin: 36px auto 64px;
}

.r708-access-status__card {
    border: 1px solid #eadfd9;
    border-radius: 8px;
    padding: clamp(24px, 5vw, 44px);
    background: #fff;
    box-shadow: 0 18px 44px rgba(31, 41, 55, .08);
}

.r708-access-status__card h1 {
    margin: 8px 0 14px;
    font-size: clamp(1.65rem, 5vw, 2.3rem);
    line-height: 1.35;
}

.r708-access-status__card > p:not(.eyebrow) {
    color: #5f6672;
    line-height: 1.8;
}

.r708-access-status__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 24px;
}

.r708-access-status__mypage {
    padding: 10px 4px;
    color: #5f6672;
    font-weight: 700;
}

.r708-access-status__card > small {
    display: block;
    margin-top: 20px;
    color: #626975;
    line-height: 1.65;
}

.r708-access-status.is-app {
    width: 100%;
    margin: 10px 0 32px;
}

.v708-locked-field {
    display: flex;
    align-items: center;
    min-height: 44px;
    border: 1px solid #ddd2cc;
    border-radius: 8px;
    padding: 10px 12px;
    background: #f8f6f4;
    color: #2a3340;
    font-weight: 800;
}

.v951-gender-form {
    width: 100%;
    margin: 0;
}

.v951-gender-form .v951-gender-button {
    width: 100%;
    min-height: 56px;
    display: inline-flex;
    padding: 0 28px;
    border-radius: var(--button-radius-default, 18px);
    font-family: inherit;
    cursor: pointer;
}

.v951-gender-form .v951-gender-button span {
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: 0;
}

.koirea-search-access-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 14px 0 18px;
    padding: 16px;
    border: 1px solid #f1c4bb;
    border-radius: 8px;
    background: #fff8f6;
    color: #402b2b;
}

.koirea-search-access-notice div {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.koirea-search-access-notice span {
    overflow-wrap: anywhere;
}

.koirea-search-access-notice a {
    flex: 0 0 auto;
}

@media (max-width: 560px) {
    .r7-phone-page {
        width: min(100% - 20px, 760px);
        margin-top: 16px;
    }

    .r7-phone-registration-complete {
        border-radius: 20px;
        padding: 28px 18px;
    }

    .r708-access-status {
        width: min(100% - 20px, 760px);
        margin-top: 14px;
    }

    .r708-access-status__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .koirea-search-access-notice {
        align-items: stretch;
        flex-direction: column;
    }

    .koirea-search-access-notice a {
        text-align: center;
    }
}

/* Shared Web/App delete-account safety flow. */
.v891-delete-account-card{
    max-width:760px;
    margin:28px auto 64px;
    padding:clamp(22px,4vw,40px);
    border:1px solid #e8dcd8;
    border-radius:20px;
    background:#fff;
    color:#17253b;
    box-shadow:0 14px 42px rgba(44,34,43,.055);
}
.v891-delete-account-card h1{
    margin:0 0 12px;
    font-size:clamp(28px,3vw,38px);
    line-height:1.25;
}
.v891-delete-account-card > p{
    max-width:62ch;
    margin:0;
    color:#566176;
    line-height:1.8;
}
.v891-delete-warning-list{
    margin:24px 0;
    padding:0;
    list-style:none;
    border-top:1px solid #eadfdb;
    border-bottom:1px solid #eadfdb;
}
.v891-delete-warning-list li{
    padding:15px 2px;
    color:#17253b;
}
.v891-delete-warning-list li + li{
    border-top:1px solid #f0e8e4;
}
.v891-delete-warning-list li span{
    display:block;
    color:#596477;
    line-height:1.7;
}
.v891-delete-point-warning{
    margin-top:20px;
    padding:16px 18px;
    border:1px solid #efd9d5;
    border-radius:12px;
    background:#fff9f6;
    color:#743438;
    line-height:1.65;
}
.v891-delete-point-warning p{
    margin:0;
}
.v891-delete-warning-list strong,
.v891-delete-point-warning strong{
    display:block;
    margin-bottom:3px;
}
.v891-delete-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}
.v891-delete-actions > *{ min-width:180px; }
.v891-delete-modal[hidden]{
    display:none !important;
}
.v891-delete-modal{
    position:fixed;
    inset:0;
    z-index:2147482000;
    display:grid;
    place-items:center;
    padding:18px;
}
.v891-delete-backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.48);
    backdrop-filter:blur(4px);
}
.v891-delete-dialog{
    position:relative;
    width:min(560px, 100%);
    max-height:calc(100dvh - 36px);
    overflow:auto;
    padding:22px;
    border-radius:20px;
    background:#fff;
    border:1px solid #ecd9d4;
    box-shadow:0 28px 80px rgba(15,23,42,.22);
}
.v891-delete-dialog h2{
    margin:0 0 10px;
    font-size:22px;
    line-height:1.3;
}
.v891-delete-dialog p{
    color:#475467;
    line-height:1.7;
}
.v891-delete-confirm-check{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:14px 0;
    padding:12px;




    font-weight:800;
}.v891-delete-confirm-check:where(:not(body.koirea-member-web [data-button-role])){border:1px solid #eadfdb;border-radius:12px;background:#fffaf7;color:#7c2d12;}
.v891-delete-confirm-check input{
    margin-top:3px;
    width:18px;
    height:18px;
    flex:0 0 auto;
}
.v891-delete-modal-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
    margin-top:16px;
}
body.v891-delete-modal-open{
    overflow:hidden;
}
@media(max-width:600px){
    .v891-delete-account-card{margin:12px 12px 96px;padding:20px 17px;border-radius:16px}
    .v891-delete-actions{display:grid;grid-template-columns:minmax(0,1fr)}
    .v891-delete-actions > *{min-width:0;width:100%}
    .v891-delete-dialog{padding:20px 17px;max-height:calc(100dvh - 24px)}
    .v891-delete-modal{padding:12px}
    .v891-delete-modal-actions{display:grid;grid-template-columns:minmax(0,1fr)}
    .v891-delete-modal-actions > *{width:100%}
}
