/* Launch (SPEC-v3 B): legal pages, verification banner, admin page, account card. */

/* Demo controls hidden when the server turns the demo off. .btn sets display, so force it. */
.demo-row[hidden], [data-demo][hidden], .auth-card .or[hidden] { display: none !important; }

/* ---------- legal links ---------- */
.legal-links { display: inline-flex; gap: 16px; }
.legal-links a, .consent-note a, .account-card a:not(.side-link), .legal-other a { color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }
.legal-links a:hover, .consent-note a:hover, .account-card a:not(.side-link):hover, .legal-other a:hover { color: var(--text); }
.consent-note { margin-top: 16px; font-size: 12px; line-height: 1.5; color: var(--dim); text-align: center; }

/* ---------- legal pages ---------- */
.legal { min-height: 100vh; min-height: 100dvh; padding: 0 16px 48px; }
.legal-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 760px; margin: 0 auto; padding: 18px 0; }
.legal-nav .back-link.inline { margin: 0; }
.legal-doc { max-width: 760px; margin: 0 auto; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 24px 20px 28px; }
.legal-doc h1 { font-size: 30px; font-weight: 800; letter-spacing: -0.03em; margin: 14px 0 4px; }
.legal-doc h2 { font-size: 18px; font-weight: 800; margin: 26px 0 8px; }
.legal-doc p, .legal-doc li { color: var(--muted); font-size: 15px; line-height: 1.65; }
.legal-doc p + p { margin-top: 10px; }
.legal-doc ul { margin: 6px 0 0; padding-left: 20px; display: grid; gap: 6px; }
.legal-updated { font-size: 13px !important; color: var(--dim) !important; }
.legal-intro { margin-top: 14px; color: var(--text) !important; }
.legal-other { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 14px !important; }
.legal-draft { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: var(--r-sm); background: rgba(255, 181, 71, .1); border: 1px solid rgba(255, 181, 71, .45); color: #ffd79a !important; font-weight: 700; font-size: 14px !important; }
.legal-draft svg { width: 18px; height: 18px; flex: none; color: var(--warn); }
@media (min-width: 720px) { .legal-doc { padding: 36px 40px 40px; } }
@media print {
  .legal-nav { display: none; }
  .legal-doc { border: 0; background: none; padding: 0; }
  .legal-doc p, .legal-doc li, .legal-doc h1, .legal-doc h2 { color: #000 !important; }
}

/* ---------- verification banner (employer shell) ---------- */
.verify-banner { display: flex; gap: 12px; align-items: flex-start; max-width: 1100px; margin: 14px auto 0; padding: 14px 16px; border-radius: var(--r); background: rgba(255, 181, 71, .09); border: 1px solid rgba(255, 181, 71, .42); width: calc(100% - 32px); }
.verify-banner > svg { width: 22px; height: 22px; flex: none; margin-top: 1px; color: var(--warn); }
.verify-banner b { display: block; color: var(--text); }
.verify-banner p { color: #ffdcaa; font-size: 14px; line-height: 1.5; margin-top: 3px; }
.verify-banner.bad { background: rgba(255, 77, 109, .1); border-color: rgba(255, 77, 109, .45); }
.verify-banner.bad > svg { color: var(--nope); }
.verify-banner.bad p { color: #ffc2cd; }

/* ---------- account card (profile) ---------- */
.account-card .admin-link { display: flex; align-items: center; gap: 12px; padding: 12px 14px; margin-bottom: 16px; border-radius: var(--r-sm); background: var(--surface2); border: 1px solid var(--line); color: var(--text); }
.account-card .admin-link svg { width: 20px; height: 20px; color: var(--accent-hi); flex: none; }
.account-card .admin-link small { display: block; color: var(--muted); font-size: 13px; }
.account-card .admin-link:hover { background: var(--surface3); }
.danger-zone { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.danger-zone > div { flex: 1 1 220px; }
.danger-zone p { color: var(--dim); font-size: 13px; margin-top: 2px; }

/* ---------- admin page ---------- */
.admin-seg { margin-bottom: 16px; max-width: 460px; }
.admin-seg span { color: var(--dim); font-weight: 600; }
.admin-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.admin-emp { margin: 0; }
.admin-emp-top { display: flex; align-items: flex-start; gap: 12px; }
.admin-emp-top h3 { font-size: 18px; }
.admin-emp-top .muted { font-size: 14px; word-break: break-word; }
.admin-about { margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 1.55; white-space: pre-line; }
.admin-meta { margin-top: 8px; font-size: 13px; color: var(--muted); }
.admin-meta b { color: var(--text); margin-right: 4px; }
.dot-sep { display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: var(--dim); margin: 0 8px; vertical-align: middle; }
.admin-note { margin-top: 12px; }
.admin-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.pill.status-pending { color: var(--warn); border-color: rgba(255, 181, 71, .45); }
.pill.status-verified { color: var(--good); border-color: rgba(47, 224, 138, .45); }
.pill.status-rejected { color: var(--bad); border-color: rgba(255, 77, 109, .45); }
.admin-emp .dim { color: var(--dim); }
.seg.admin-seg button.on span { color: inherit; }

/* Independence line next to legal links (TCU name-use rules) */
.not-affiliated { display: block; margin-top: 8px; font-size: 12px; color: var(--dim, #8a8aa0); }
