/* This file intentionally loads after styles.css. */
.auth-layer { z-index:140; background:rgba(20,20,27,.52); backdrop-filter:none; }
.intake-layer { background:rgba(20,20,25,.52); backdrop-filter:none; }

/* Match the dashboard header's outlined sign-in affordance in the sidebar. */
.dashboard-account .dashboard-account-login { min-height:38px; padding:0 13px; border:1px solid #dfdee6; border-radius:10px; background:#fff; color:#575660; font:inherit; font-size:12px; font-weight:800; }
.dashboard-account .dashboard-account-login:hover { border-color:#bdb9c8; background:#fafafd; }

/* Social providers keep their recognizable visual cues while sharing one button layout. */
.auth-provider { position:relative; display:flex; align-items:center; justify-content:center; gap:10px; transition:transform .15s, box-shadow .15s, border-color .15s; }
.auth-provider:hover { transform:translateY(-1px); box-shadow:0 5px 12px rgba(26,25,32,.1); }
.auth-provider__icon { position:absolute; left:18px; display:inline-grid; place-items:center; width:22px; height:22px; }
.auth-provider__icon--kakao { width:19px; height:16px; border-radius:8px; background:#191600; }.auth-provider__icon--kakao::after { content:''; position:absolute; bottom:-3px; left:4px; width:6px; height:6px; background:#191600; clip-path:polygon(0 0,100% 0,0 100%); }
.auth-provider__icon--google { font-family:Arial,sans-serif; font-size:21px; font-weight:800; line-height:1; background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 42%,#fbbc05 0 62%,#ea4335 0 82%,#4285f4 0); -webkit-background-clip:text; background-clip:text; color:transparent; }
.auth-provider.kakao { border-color:#fee500; background:#fee500; color:#191600; }.auth-provider.kakao:hover { background:#f6dc00; }
.auth-provider.google { border-color:#dadce0; background:#fff; color:#303038; }.auth-provider.google:hover { border-color:#c8c9d0; background:#fafafa; }

/* Intentional line breaks preserve the message rhythm, while left alignment keeps it easy to scan. */
.auth-card > .brand--auth,.auth-card > .step-count,.auth-card > h2,.auth-card > p:not(.auth-notice),.auth-card > small { text-align:left; }
.auth-card > .brand--auth { display:block; }.auth-card > .step-count { margin-top:4px; }.auth-card > h2 { max-width:400px; margin-left:0; margin-right:0; }.auth-card > p:not(.auth-notice) { max-width:405px; margin-left:0; margin-right:0; }
.auth-card #auth-title span,.auth-card > p:not(.auth-notice) span { display:block; }
.email-auth-form { text-align:left; }

/* Compact first-touch sign-in panel: one message, clear choices, no explanatory clutter. */
.auth-card { text-align:center; }.auth-card > .brand--auth { display:flex; justify-content:center; width:100%; margin:0 0 28px; }.auth-card > .step-count,.auth-card > p:not(.auth-notice) { display:none; }.auth-card > h2 { max-width:none; margin:0 0 34px; text-align:center; font-size:24px; }.auth-card > small { margin-top:24px; text-align:center; }
.email-auth-form { text-align:center; }.email-auth-form input { background:#fff; border-color:rgba(75,75,95,.28); transition:border-color .15s, box-shadow .15s; }.email-auth-form input::placeholder { color:#666672; opacity:1; }.email-auth-form input:hover { border-color:rgba(75,75,95,.46); }.email-auth-form input:focus { border-color:#635bff; outline:2px solid #635bff; outline-offset:2px; }.email-auth-form label { display:none; }

.auth-card .auth-divider { margin-top:36px; margin-bottom:25px; }

.email-auth-links { display:flex; justify-content:center; gap:20px; margin-top:12px; }
.email-auth-links button { border:0; background:transparent; color:#575660; font:inherit; font-size:13px; cursor:pointer; text-decoration:underline; }
.auth-card > small a { color:#6259e8; text-decoration:underline; text-underline-offset:3px; }
.auth-card { max-height:calc(100dvh - 48px); overflow-y:auto; }
.auth-consent-link, .auth-consent-back { padding:0; border:0; background:none; color:#6259e8; font:inherit; cursor:pointer; }
.auth-consent-link { font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.auth-consent-back { display:block; margin:0 0 20px; font-size:13px; font-weight:700; }
#auth-consent-preview { text-align:left; }
#auth-consent-preview[hidden], #auth-login-content[hidden] { display:none; }
.consent-preview-card h1 { margin:0 0 12px; color:#23232c; font-size:23px; letter-spacing:-.05em; }
.consent-preview-card p { margin:0 0 12px; color:#777783; font-size:12px; line-height:1.55; }
.consent-preview-card .consent-preview-notice { padding:10px 12px; border-radius:9px; background:#f2f0ff; color:#5c55a4; }
.consent-preview-options > div { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:12px 0; border-bottom:1px solid #efeff2; }
.consent-preview-options label { display:flex; align-items:flex-start; gap:8px; color:#34333c; font-size:12px; font-weight:600; line-height:1.5; }
.consent-preview-options input { flex:none; width:16px; height:16px; margin:1px 0 0; accent-color:#665cff; }
.consent-preview-card button:not(.consent-preview-continue) { flex:none; padding:4px; border:0; background:none; color:#6259e8; font:inherit; font-size:12px; cursor:pointer; }
.consent-preview-card .consent-preview-help { margin:14px 0; }
.consent-preview-continue { width:100%; min-height:45px; border:0; border-radius:11px; background:#eeedf4; color:#96939f; font:inherit; font-size:13px; font-weight:700; }
.consent-preview-document { margin-top:16px; padding-top:12px; border-top:1px solid #e7e6ed; }
.consent-preview-document[hidden] { display:none; }
.consent-preview-document [data-consent-content] { max-height:38vh; overflow:auto; color:#464550; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.consent-preview-document .legal-table-wrap { overflow-x:auto; }
.consent-preview-document table { border-collapse:collapse; min-width:360px; font-size:11px; }
.consent-preview-document td { padding:8px; border:1px solid #e4e3e9; vertical-align:top; }
#auth-login-content > h2 { max-width:none; margin:0 0 34px; text-align:center; font-size:24px; }
#auth-login-content > small { display:block; margin-top:24px; text-align:center; }
.consent-select-all { display:flex; align-items:center; gap:8px; padding:12px 0; border-bottom:1px solid #dedde9; color:#34333c; font-size:13px; font-weight:700; }
.consent-select-all input { width:16px; height:16px; margin:0; accent-color:#665cff; }
.consent-select-all small { display:inline; margin:0; color:#777783; font-size:11px; font-weight:500; }
