:root {
  --ink: #0c1528;
  --ink-2: #17243b;
  --muted: #718099;
  --line: #e2e8f1;
  --soft: #f5f7fb;
  --lime: #b8f55f;
  --lime-2: #d8ff9e;
  --blue: #4f73ff;
  --purple: #8b63e8;
  --danger: #e35766;
  --white: #fff;
  --shadow: 0 18px 50px rgba(12, 21, 40, .08);
  font-family: Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--soft); font-size: 14px; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; }
.topbar { min-height: 74px; padding: 0 max(24px, calc((100vw - 1240px) / 2)); display: flex; align-items: center; gap: 34px; background: var(--ink); color: #dce5f5; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: -.03em; color: #fff; font-size: 17px; white-space: nowrap; }
.brand-mark { display: grid; place-items: center; width: 29px; height: 29px; color: var(--ink); background: var(--lime); border-radius: 9px; font-size: 17px; }
.main-nav { display: flex; align-self: stretch; gap: 26px; margin-right: auto; }
.main-nav a { display: flex; align-items: center; position: relative; color: #91a0b7; font-weight: 600; }
.main-nav a.active, .main-nav a:hover { color: #fff; }
.main-nav a.active:after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--lime); border-radius: 4px 4px 0 0; }
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.header-auth-link { color: #dce5f5; font-size: 12px; font-weight: 800; white-space: nowrap; }
.header-auth-link:hover { color: var(--lime); }
.header-auth-button { padding: 0; border: 0; background: transparent; cursor: pointer; }
.user-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 0 10px; color: var(--ink); background: var(--lime); border-radius: 999px; font-size: 11px; font-weight: 900; }
.user-chip b { font-size: 11px; }
.user-chip small { padding-left: 7px; border-left: 1px solid rgba(12,21,40,.2); font-size: 9px; font-weight: 900; }
.logout-form { margin: 0; }
.tier-badge, .mini-chip, .live-chip, .current-chip { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; padding: 5px 10px; font-size: 11px; font-weight: 800; letter-spacing: .02em; }
.tier-badge { color: #fff; background: #4d5e78; }
.tier-free { color: #d7e1f0; background: #24334c; }
.tier-starter { color: #10203a; background: var(--lime); }
.tier-growth { color: #fff; background: #7350d5; }
.tier-scale { color: #fff; background: #d95f3e; }
.tier-admin { color: #fff; background: #326f8b; }
.tier-superadmin { color: #fff; background: linear-gradient(135deg, #5b35b5, #9a58d2); }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 40px; padding: 0 16px; border: 1px solid transparent; border-radius: 10px; font-weight: 800; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(12, 21, 40, .13); }
.button-primary { background: var(--lime); color: var(--ink); }
.button-dark { background: var(--ink-2); color: #fff; border-color: #35445e; }
.button-light { background: #fff; color: var(--ink); }
.button-secondary { color: var(--ink); background: #fff; border-color: var(--line); }
.button-large { min-height: 48px; padding: 0 21px; }
.button-full { width: 100%; }
.button.is-locked { color: #8591a5; background: #eef1f6; border-color: #eef1f6; }
.container { width: min(1240px, calc(100% - 48px)); margin: 0 auto; }
.hero { display: flex; justify-content: space-between; align-items: center; gap: 50px; }
.product-hero { min-height: 360px; padding: 76px 18px 62px; }
.eyebrow, .section-kicker, .plan-eyebrow { margin: 0 0 10px; color: var(--muted); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.eyebrow-row { display: flex; align-items: center; gap: 8px; }
.live-dot, .source-status { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(184,245,95,.18); }
.hero h1, .pricing-hero h1, .admin-login h1 { margin: 0; font-size: clamp(38px, 5vw, 64px); letter-spacing: -.065em; line-height: 1.08; }
.hero h1 span, .pricing-hero h1 span, .admin-login h1 span { color: #79b933; }
.hero-copy { max-width: 580px; margin: 20px 0 0; color: #65728a; font-size: 16px; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 28px; }
.text-link, .back-link { color: var(--ink); font-weight: 800; }
.text-link span { margin-left: 4px; color: #77ae35; }
.hero-card { width: 290px; flex: 0 0 auto; padding: 22px 24px; border-radius: 20px; color: #e4ebf8; background: linear-gradient(145deg, #1e2d49, #0c1528); box-shadow: 0 22px 40px rgba(12, 21, 40, .22); }
.hero-card-head, .hero-card-foot { display: flex; justify-content: space-between; color: #a6b5ca; font-size: 12px; }
.hero-card strong { display: block; margin: 19px 0 12px; color: #fff; font-size: 42px; letter-spacing: -.06em; }
.hero-card strong small { font-size: 13px; color: var(--lime); letter-spacing: 0; }
.mini-chip { color: var(--lime); background: rgba(184, 245, 95, .12); }
.signal-bars { display: flex; align-items: end; gap: 8px; height: 66px; padding: 0 4px 8px; border-bottom: 1px solid #31415c; }
.signal-bars i { display: block; flex: 1; min-height: 14px; border-radius: 5px 5px 1px 1px; background: linear-gradient(var(--lime), #71a72c); }
.hero-card-foot { padding-top: 14px; }
.hero-card-foot b { color: var(--lime); }
.demo-notice, .success-notice, .form-error { display: flex; align-items: center; gap: 11px; padding: 13px 16px; border-radius: 12px; }
.demo-notice { color: #3c5a1f; background: #edffd1; border: 1px solid #d6f4a7; }
.demo-notice a { margin-left: auto; color: #3d631d; font-weight: 900; white-space: nowrap; }
.notice-icon { font-size: 20px; }
.success-notice { color: #2b6740; background: #e7f8ed; border: 1px solid #c8e8d3; }
.form-error { margin: 16px 0; color: #9d3f4b; background: #fff0f2; border: 1px solid #f2cbd1; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 24px 0 36px; }
.metric-card { min-height: 143px; padding: 20px 22px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 4px 16px rgba(12,21,40,.025); }
.metric-card.metric-accent { background: var(--ink); border-color: var(--ink); color: #fff; }
.metric-label { display: block; margin-bottom: 17px; color: var(--muted); font-size: 12px; font-weight: 700; }
.metric-accent .metric-label { color: #adbad0; }
.metric-card strong { font-size: 34px; letter-spacing: -.06em; }
.metric-card strong small { margin-left: 4px; color: var(--muted); font-size: 13px; letter-spacing: 0; }
.metric-accent strong small { color: #aab7cb; }
.metric-change { display: block; margin-top: 9px; color: var(--muted); font-size: 11px; }
.metric-change.positive { color: #5a9d2b; font-weight: 800; }
.metric-change em { color: var(--muted); font-style: normal; font-weight: 500; }
.source-strip { display: flex; align-items: center; gap: 40px; padding: 20px 24px; margin-bottom: 55px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.source-strip h2, .workspace h2, .admin-panel h2, .pricing-faq h2 { margin: 0; font-size: 20px; letter-spacing: -.04em; }
.source-items { display: flex; flex-wrap: wrap; gap: 12px; margin-left: auto; }
.source-item { display: flex; align-items: center; gap: 8px; padding: 8px 11px; border-radius: 9px; background: var(--soft); color: var(--ink-2); font-size: 12px; font-weight: 800; }
.source-item small { color: var(--muted); font-size: 10px; font-weight: 600; }
.source-status.off { background: #c5cfdd; box-shadow: none; }
.workspace { margin-bottom: 72px; }
.workspace-head, .admin-head, .panel-title { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.section-desc { margin: 8px 0 0; color: var(--muted); }
.workspace-actions { display: flex; gap: 9px; }
.view-toggle { display: flex; gap: 7px; }
.view-toggle .button { min-width: 86px; }
.search-access-bar { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 8px 12px; margin-top: 18px; border: 1px solid #dfe7f0; border-radius: 10px; color: #58677d; background: #fff; font-size: 12px; }
.search-access-bar strong { color: var(--ink-2); }
.search-access-bar a { margin-left: auto; color: #538b28; font-weight: 900; }
.search-access-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #aab5c4; box-shadow: 0 0 0 4px rgba(170,181,196,.14); }
.search-access-bar.is-free { border-color: #d9e9c6; background: #f9ffef; }
.search-access-bar.is-free .search-access-dot { background: #88c946; box-shadow: 0 0 0 4px rgba(136,201,70,.14); }
.search-access-bar.is-paid { border-color: #d7ccf4; background: #faf8ff; }
.search-access-bar.is-paid .search-access-dot { background: #8061d8; box-shadow: 0 0 0 4px rgba(128,97,216,.14); }
.filter-card { overflow-x: auto; padding: 13px; margin: 24px 0 14px; background: #fff; border: 1px solid var(--line); border-radius: 12px; scrollbar-width: thin; scrollbar-color: #cbd4df transparent; }
.filter-form { display: grid; min-width: 1160px; grid-template-columns: minmax(180px, 1.5fr) minmax(96px, .75fr) minmax(105px, .85fr) minmax(120px, .95fr) minmax(125px, 1fr) minmax(100px, .75fr) minmax(132px, 1fr) 92px minmax(140px, auto); gap: 8px; }
.search-field { display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; color: #8290a6; background: #fff; }
.search-field input { width: 100%; border: 0; outline: none; color: var(--ink); background: transparent; }
.filter-form select { min-width: 0; height: 42px; padding: 0 9px; border: 1px solid var(--line); border-radius: 9px; color: #526077; background: #fff; outline: none; }
.filter-form select:disabled { color: #8f9bad; background: #f6f8fb; cursor: not-allowed; }
.filter-form .button { min-width: 92px; min-height: 42px; padding: 0 10px; white-space: nowrap; }
.category-native-select { display: none; }
.classification-picker-field { min-width: 0; }
.classification-picker-trigger { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; height: 42px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; color: #526077; background: #fff; font: inherit; cursor: pointer; }
.classification-picker-trigger span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.classification-picker-trigger span:last-child { color: #7f8ca0; font-size: 14px; }
.classification-picker-trigger:hover { border-color: #b5d886; }
.classification-picker-trigger:focus-visible { border-color: #96c958; outline: none; box-shadow: 0 0 0 3px rgba(184,245,95,.22); }
.classification-picker-trigger.is-invalid { border-color: #df6c79; box-shadow: 0 0 0 3px rgba(223,108,121,.14); }
.classification-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; }
.classification-modal[hidden] { display: none; }
.classification-modal-backdrop { position: absolute; inset: 0; border: 0; background: rgba(7,16,32,.65); backdrop-filter: blur(4px); cursor: default; }
.classification-dialog { position: relative; display: flex; width: min(980px, calc(100vw - 48px)); max-height: min(760px, calc(100vh - 48px)); overflow: hidden; flex-direction: column; border: 1px solid rgba(255,255,255,.55); border-radius: 20px; background: #fff; box-shadow: 0 28px 80px rgba(5,14,30,.32); }
.classification-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 24px 26px 20px; border-bottom: 1px solid var(--line); }
.classification-dialog-head .section-kicker { margin-bottom: 5px; }
.classification-dialog-head h2 { margin: 0; color: var(--ink); font-size: 25px; letter-spacing: -.05em; }
.classification-dialog-head p:last-child { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.classification-close { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 10px; color: #65738a; background: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
.classification-close:hover { color: var(--ink); background: var(--soft); }
.classification-dialog-body { display: grid; min-height: 0; overflow: hidden; flex: 1; grid-template-columns: 280px minmax(0, 1fr); }
.classification-groups { display: flex; min-height: 420px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; flex-direction: column; gap: 7px; padding: 18px; border-right: 1px solid var(--line); background: #f7f9fc; }
.classification-group-button { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 47px; padding: 10px 12px; border: 1px solid transparent; border-radius: 10px; color: #526077; background: transparent; font: inherit; font-weight: 800; text-align: left; cursor: pointer; }
.classification-group-button:hover { border-color: #dce5ef; background: #fff; }
.classification-group-button.is-active { border-color: var(--ink); color: #fff; background: var(--ink); box-shadow: 0 7px 18px rgba(12,27,51,.13); }
.classification-group-button.is-move { color: #528b25; background: #ecfbd9; }
.classification-group-button.is-move.is-active { border-color: #8bcc43; color: var(--ink); background: var(--lime); }
.classification-group-button small { flex: 0 0 auto; color: #8a96a8; font-size: 10px; font-weight: 800; }
.classification-group-button.is-active small { color: inherit; opacity: .75; }
.classification-loading, .classification-empty { margin: auto; padding: 28px 18px; color: var(--muted); font-size: 12px; text-align: center; line-height: 1.7; }
.classification-details { display: flex; min-width: 0; min-height: 0; overflow: hidden; flex-direction: column; }
.classification-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.classification-detail-head > div span, .classification-detail-head > div strong { display: block; }
.classification-detail-head > div span { margin-bottom: 3px; color: #8a96a8; font-size: 10px; font-weight: 900; letter-spacing: .05em; }
.classification-detail-head > div strong { color: var(--ink); font-size: 15px; }
.classification-search { display: flex; align-items: center; gap: 7px; width: min(260px, 48%); height: 39px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; color: #8491a5; background: #fff; }
.classification-search:focus-within { border-color: #96c958; box-shadow: 0 0 0 3px rgba(184,245,95,.18); }
.classification-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--ink); background: transparent; }
.classification-items { display: grid; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; flex: 1 1 auto; align-content: start; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding: 18px 20px 24px; }
.classification-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; color: #44536b; background: #fff; font: inherit; text-align: left; cursor: pointer; }
.classification-item:hover, .classification-item:focus-visible { border-color: #a6d46c; outline: none; background: #f7ffec; }
.classification-item.is-selected { border-color: #86bd43; color: var(--ink); background: #effcdd; }
.classification-item span { min-width: 0; overflow-wrap: anywhere; font-size: 12px; font-weight: 800; line-height: 1.45; }
.classification-item small { flex: 0 0 auto; color: #8a96a8; font-size: 10px; }
.classification-item-wide { grid-column: 1 / -1; }
.classification-dialog-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 20px; border-top: 1px solid var(--line); background: #fbfcfe; }
.classification-selection-count { flex: 1; color: #718097; font-size: 11px; font-weight: 800; text-align: center; }
body.classification-modal-open { overflow: hidden; }
.date-filter-row { display: flex; grid-column: auto; min-width: 0; align-items: center; gap: 7px; padding-top: 0; white-space: nowrap; }
.date-filter-row > label { color: #68778d; font-size: 12px; font-weight: 800; }
.date-filter-row select { width: 108px; flex: 0 0 108px; padding: 0 6px; }
.date-filter-row select[aria-disabled="true"] { color: #7c899c; background: #f6f8fb; cursor: pointer; }
.date-filter-row.is-locked .date-range-fields { display: none; }
.date-filter-row:not(.has-custom-range) .date-range-fields { display: none; }
.date-range-fields { display: flex; align-items: center; gap: 7px; min-width: 0; flex: 1 1 auto; }
.date-range-fields input { width: 100px; min-width: 0; flex: 1 1 0; height: 42px; padding: 0 6px; border: 1px solid var(--line); border-radius: 9px; color: #526077; background: #fff; outline: none; font: inherit; }
.date-range-fields input:disabled { color: #a5afbd; background: #f6f8fb; }
.date-range-fields > span { color: #97a2b3; font-size: 12px; }
.filter-form select.is-invalid { border-color: #df6c79; box-shadow: 0 0 0 3px rgba(223,108,121,.14); }
.filter-toast { position: fixed; left: 50%; bottom: 26px; z-index: 1100; max-width: min(430px, calc(100vw - 30px)); padding: 12px 17px; border: 1px solid #293b58; border-radius: 10px; color: #fff; background: var(--ink); box-shadow: 0 12px 32px rgba(5,14,30,.24); font-size: 12px; font-weight: 800; opacity: 0; transform: translate(-50%, 8px); transition: opacity .16s ease, transform .16s ease; }
.filter-toast[hidden] { display: none; }
.filter-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.button.is-disabled { opacity: .48; cursor: not-allowed; pointer-events: none; }
.results-layout { min-width: 0; }
.results-layout.is-map { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr); align-items: start; gap: 14px; }
.results-layout.is-map .table-wrap { min-width: 0; }
.results-layout.is-map .signal-table { min-width: 760px; }
.map-panel { min-width: 0; overflow: hidden; padding: 17px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.map-panel[hidden] { display: none; }
.map-panel-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.map-panel-head strong { display: block; color: var(--ink); font-size: 16px; }
.map-panel-head p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.map-provider-badge { flex: 0 0 auto; padding: 4px 7px; border-radius: 5px; color: #718099; background: #f2f5f8; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.signal-map { min-height: 505px; height: 505px; overflow: hidden; border-radius: 10px; background: #e8eef4; }
.map-note { margin: 10px 2px 0; color: #8a96a8; font-size: 11px; line-height: 1.6; }
.map-loading, .map-error { display: grid; place-items: center; height: 100%; padding: 20px; color: var(--muted); text-align: center; }
.map-error { color: #9d3f4b; background: #fff5f6; }
.region-map-marker { display: grid; place-items: center; width: 34px; height: 34px; color: var(--ink); background: var(--lime); border: 3px solid rgba(255,255,255,.9); border-radius: 50%; box-shadow: 0 4px 12px rgba(12,21,40,.24); font-size: 11px; font-weight: 900; }
.map-popup strong, .map-popup span, .map-popup a { display: block; }
.map-popup strong { margin-bottom: 4px; color: var(--ink); font-size: 13px; }
.map-popup span { color: #64738a; font-size: 11px; line-height: 1.55; }
.map-popup a { margin-top: 7px; color: #4f8d23; font-size: 11px; font-weight: 900; }
.map-popup-list { margin: 7px 0 0; padding: 0 0 0 15px; color: #64738a; font-size: 11px; line-height: 1.65; }
.map-popup-list a { display: inline; margin: 0; color: #4f8d23; font-weight: 800; }
.table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.signal-table { width: 100%; min-width: 830px; border-collapse: collapse; }
.signal-table th { padding: 15px 18px; color: #8c98aa; background: #fbfcfe; border-bottom: 1px solid var(--line); font-size: 11px; font-weight: 900; letter-spacing: .03em; text-align: left; }
.signal-table td { padding: 16px 18px; border-bottom: 1px solid #edf1f5; color: #4a5870; font-size: 13px; white-space: nowrap; }
.signal-table tr:last-child td { border-bottom: 0; }
.signal-table tbody.is-fetching { opacity: .5; transition: opacity .15s ease; }
.signal-table .data-loading-row td { padding: 42px 18px; text-align: center; white-space: normal; }
.data-loading-state { display: flex; min-height: 96px; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: #68778d; }
.data-loading-state strong { color: var(--ink-2); font-size: 14px; }
.data-loading-state small { color: var(--muted); font-size: 12px; }
.data-loading-state .button { margin-top: 5px; }
.data-loading-spinner { width: 24px; height: 24px; border: 3px solid #dfe7ef; border-top-color: var(--accent); border-radius: 50%; animation: data-loading-spin .75s linear infinite; }
.data-load-error { color: #a0636c; }
@keyframes data-loading-spin { to { transform: rotate(360deg); } }
.signal-row:hover { background: #fcfef8; }
.business-cell { display: flex; align-items: center; gap: 12px; min-width: 250px; }
.business-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; font-size: 17px; font-weight: 900; }
.business-cell strong, .business-cell span { display: block; }
.business-cell strong { color: var(--ink); font-size: 14px; }
.business-cell span { margin-top: 3px; color: #8a96a8; font-size: 11px; }
.is-green { color: #4f8d23 !important; background: #ecfbdc !important; }
.is-purple { color: #7552c8 !important; background: #f0eaff !important; }
.is-danger { color: #c84e5d !important; background: #fff0f1 !important; }
.is-muted { color: #687891 !important; background: #edf1f6 !important; }
.type-pill { display: inline-flex; padding: 5px 9px; border-radius: 7px; font-size: 11px; font-weight: 800; }
.signal-cell-stack { display: grid; justify-items: start; gap: 5px; }
.opportunity-pill { display: inline-flex; padding: 4px 8px; border: 1px solid transparent; border-radius: 999px; font-size: 10px; font-weight: 900; white-space: nowrap; }
.opportunity-now { color: #39751d; background: #e8f8d4; border-color: #d3efae; }
.opportunity-upcoming { color: #6848b2; background: #f0eaff; border-color: #dfd3ff; }
.opportunity-vacancy { color: #9b4d10; background: #fff0dc; border-color: #f1c98f; }
.opportunity-check { color: #9a6c13; background: #fff5d8; border-color: #f6e6ae; }
.opportunity-watch { color: #526b8e; background: #edf2fa; border-color: #dce5f2; }
.opportunity-exclude { color: #b54e5d; background: #fff0f1; border-color: #ffd9dd; }
.signal-table td small { color: #97a2b3; font-size: 11px; }
.table-muted { margin-left: 3px; }
.date-stack { display: grid; gap: 6px; min-width: 178px; }
.date-stack span { display: flex; align-items: baseline; gap: 7px; color: #68778d; font-size: 11px; line-height: 1.35; white-space: nowrap; }
.date-stack b { display: block; width: 78px; flex: 0 0 78px; color: #9aa5b5; font-size: 10px; font-weight: 900; white-space: nowrap; }
.date-stack time { color: inherit; }
.date-stack .date-moved time { color: #5875a5; }
.date-stack .date-closed time { color: #a0636c; }
.confidence { display: flex; align-items: center; gap: 8px; }
.confidence > span { width: 45px; height: 5px; overflow: hidden; border-radius: 99px; background: #e7ebf0; }
.confidence i { display: block; height: 100%; border-radius: inherit; background: #86c63e; }
.confidence b { font-size: 11px; color: #6f7d91; }
.score-badge { display: inline-grid; place-items: center; width: 32px; height: 26px; border-radius: 8px; font-size: 12px; font-weight: 900; }
.score-hot { color: #a26b10; background: #fff2c8; }
.score-warm { color: #4f8d23; background: #e8f8d4; }
.score-cool { color: #5d7194; background: #edf2fa; }
.row-arrow { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: #6e7c90; background: #f0f3f7; font-size: 16px; }
.row-arrow:hover { color: var(--ink); background: var(--lime); }
.empty-cell { height: 160px; color: var(--muted) !important; text-align: center; }
.paywall-card { display: flex; align-items: center; gap: 18px; padding: 20px 24px; margin-top: 14px; color: #fff; background: linear-gradient(100deg, #182740, #293a5a); border-radius: 14px; }
.paywall-card h3 { margin: 0; font-size: 17px; }
.paywall-card p { margin: 4px 0 0; color: #aab8cd; }
.paywall-card .button { margin-left: auto; white-space: nowrap; }
.paywall-orb { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: var(--ink); background: var(--lime); font-size: 21px; }
.conversion-band { display: grid; grid-template-columns: 1.3fr 1fr auto; align-items: center; gap: 30px; padding: 36px 40px; margin-bottom: 70px; color: #fff; background: var(--ink); border-radius: 18px; }
.conversion-band h2 { margin: 0; font-size: 27px; letter-spacing: -.06em; line-height: 1.3; }
.conversion-band h2 span { color: var(--lime); }
.conversion-points { display: grid; gap: 9px; color: #bfccde; font-size: 13px; }
.conversion-points span::first-letter { color: var(--lime); }
.footer { display: flex; align-items: center; gap: 22px; min-height: 72px; padding: 0 max(24px, calc((100vw - 1240px) / 2)); color: #8995a7; background: #fff; border-top: 1px solid var(--line); font-size: 12px; }
.footer span:first-child { color: var(--ink); font-weight: 900; }
.footer span:nth-child(2) { margin-right: auto; }
.footer a { color: var(--ink); font-weight: 800; }
.pricing-container { padding: 72px 0; }
.pricing-hero { max-width: 720px; margin: 0 auto 48px; text-align: center; }
.pricing-hero h1 { font-size: clamp(36px, 5vw, 56px); }
.pricing-hero p:last-child { margin: 20px auto 0; color: var(--muted); font-size: 16px; }
.pricing-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; align-items: stretch; }
.plan-card { position: relative; display: flex; flex-direction: column; min-height: 490px; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 15px; }
.plan-card.featured { border: 2px solid var(--lime); box-shadow: 0 15px 40px rgba(103,147,48,.14); }
.plan-card.selected { outline: 2px solid #9bcf52; outline-offset: 3px; }
.plan-ribbon { position: absolute; right: 17px; top: -12px; padding: 4px 10px; border-radius: 99px; color: var(--ink); background: var(--lime); font-size: 10px; font-weight: 900; }
.plan-head { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.plan-card h2 { margin: 0; font-size: 24px; letter-spacing: -.05em; }
.plan-eyebrow { margin-bottom: 5px; color: #9aa6b8; }
.current-chip { color: #4e8b24; background: #ebf8dc; white-space: nowrap; }
.plan-description { min-height: 48px; margin: 17px 0 20px; color: var(--muted); font-size: 12px; }
.plan-price { min-height: 58px; margin-bottom: 18px; }
.plan-price strong { font-size: 31px; letter-spacing: -.06em; }
.plan-price small { margin-left: 4px; color: var(--muted); }
.plan-features { display: grid; gap: 11px; margin: 24px 0 0; padding: 20px 0 0; border-top: 1px solid var(--line); list-style: none; color: #56657c; font-size: 12px; }
.plan-features li { display: flex; gap: 8px; }
.plan-features li span { color: #75ae34; font-weight: 900; }
.plan-card .button { margin-top: auto; }
.plan-card .button.is-disabled { color: #7d899a; background: #eef1f5; border-color: #e4e8ee; pointer-events: none; }
.pricing-faq { padding: 54px 0 10px; }
.faq-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
.faq-grid > div { padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.faq-grid strong { color: var(--ink); }
.faq-grid p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.contact-card { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; align-items: center; padding: 34px 38px; margin-top: 36px; color: #fff; background: var(--ink); border-radius: 17px; }
.contact-card h2 { margin: 0; font-size: 28px; letter-spacing: -.06em; line-height: 1.25; }
.contact-card h2 span { color: var(--lime); }
.contact-card p:not(.section-kicker) { margin: 11px 0 0; color: #aab8cc; }
.contact-card .success-notice, .contact-card .form-error { margin-bottom: 12px; font-size: 12px; }
.contact-form { display: flex; gap: 9px; align-items: end; }
.contact-form label { flex: 1; }
.contact-form label span { display: block; margin-bottom: 6px; color: #aab8cc; font-size: 11px; }
.contact-form input { width: 100%; height: 42px; padding: 0 12px; border: 1px solid #34445f; border-radius: 9px; outline: none; color: #fff; background: #182740; }
.contact-form .button { min-height: 42px; white-space: nowrap; }
.membership-admin-panel { margin-top: 18px; }
.membership-limit-form { margin-top: 20px; }
.membership-limit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.membership-limit-grid label { padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--soft); }
.membership-limit-grid label > span, .membership-limit-grid label > small { display: block; }
.membership-limit-grid label > span { margin-bottom: 8px; color: var(--ink); font-weight: 900; }
.membership-limit-grid input { width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: #fff; outline: none; }
.membership-limit-grid label > small { margin-top: 6px; color: var(--muted); font-size: 10px; }
.membership-plan-list { display: grid; gap: 10px; margin-top: 20px; }
.membership-plan-row { display: grid; grid-template-columns: minmax(150px, .9fr) minmax(180px, 1.25fr) minmax(145px, .8fr) 105px auto; gap: 10px; align-items: end; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.membership-plan-row label > span, .membership-plan-row label > small { display: block; }
.membership-plan-row label > span { margin-bottom: 6px; color: var(--ink-2); font-size: 11px; font-weight: 900; }
.membership-plan-row label > small { margin-top: 5px; color: var(--muted); font-size: 10px; }
.membership-plan-row input[type="text"], .membership-plan-row input[type="number"], .membership-plan-row input:not([type]) { width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: #fff; outline: none; }
.membership-plan-row input:disabled { color: #75849a; background: #edf1f6; }
.plan-paid-check { display: flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 8px; }
.plan-paid-check input { width: 17px; height: 17px; accent-color: #78b936; }
.plan-paid-check > span { margin: 0 !important; white-space: nowrap; }
.membership-plan-actions { display: flex; gap: 7px; align-items: center; min-height: 40px; }
.membership-plan-actions .button { min-height: 40px; padding: 0 13px; white-space: nowrap; }
.button-danger { color: #b43b49; background: #fff; border-color: #f0c5cb; }
.button-danger:hover { background: #fff1f3; }
.button:disabled { opacity: .45; cursor: not-allowed; }
.membership-plan-create { margin-top: 14px; border-style: dashed; border-color: #9ed857; background: #f7ffed; }
.member-tier-form { display: flex; align-items: center; gap: 7px; min-width: 210px; }
.member-tier-form select { min-width: 120px; height: 38px; padding: 0 9px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink-2); background: #fff; }
.member-tier-form .button { min-height: 38px; padding: 0 12px; }
.member-admin-actions { display: flex; align-items: center; gap: 7px; }
.member-admin-actions form { margin: 0; }
.member-admin-actions > form > .button { min-height: 38px; white-space: nowrap; }
.checkout-notice { margin-bottom: 24px; }
.detail-container { padding: 48px 0 80px; }
.back-link { display: inline-block; margin-bottom: 18px; color: #63738b; font-size: 13px; }
.detail-card { padding: 36px 40px; background: #fff; border: 1px solid var(--line); border-radius: 17px; box-shadow: var(--shadow); }
.detail-top { display: flex; justify-content: space-between; gap: 30px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.detail-top .eyebrow { margin-top: 17px; margin-bottom: 3px; }
.detail-top h1 { margin: 0; font-size: 34px; letter-spacing: -.06em; }
.detail-subtitle { margin: 6px 0 0; color: var(--muted); }
.detail-score { min-width: 112px; padding: 15px; border-radius: 12px; color: #80601c; background: #fff5d1; text-align: center; }
.detail-score span, .detail-score small { display: block; font-size: 11px; }
.detail-score strong { font-size: 40px; letter-spacing: -.08em; }
.detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; padding: 26px 0; }
.detail-field { padding: 15px; border-radius: 10px; background: var(--soft); }
.detail-field span, .detail-field strong { display: block; }
.detail-field span { margin-bottom: 7px; color: var(--muted); font-size: 11px; }
.detail-field strong { color: var(--ink-2); font-size: 13px; }
.lock-mark { display: inline-flex; margin-left: 5px; padding: 2px 5px; color: #896b22; background: #fff1bb; border-radius: 4px; font-size: 10px; font-style: normal; }
.detail-why { display: flex; gap: 13px; padding: 18px; border-radius: 12px; background: #f6ffe9; }
.why-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: var(--ink); background: var(--lime); }
.detail-why strong { display: block; }
.detail-why p { margin: 4px 0 0; color: #637249; font-size: 12px; }
.detail-paywall { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px; margin-top: 14px; border: 1px solid #dfeebd; border-radius: 12px; background: #fbfff5; }
.detail-paywall p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.saved-mark { display: inline-flex; margin-left: 7px; padding: 2px 6px; border-radius: 99px; color: #4f8d23; background: #e8f8d4; font-size: 10px; font-style: normal; vertical-align: middle; }
.pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 4px 0; color: var(--muted); font-size: 12px; }
.pagination > div { display: flex; flex-wrap: wrap; gap: 5px; }
.pagination-link { display: grid; place-items: center; min-width: 30px; height: 30px; padding: 0 7px; border: 1px solid var(--line); border-radius: 8px; color: #64738a; background: #fff; }
.pagination-link:hover, .pagination-link.active { border-color: var(--lime); color: var(--ink); background: var(--lime); }
.pagination-gap { display: grid; place-items: center; min-width: 20px; height: 30px; color: var(--muted); }
.pagination-gate { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 18px 4px 0; color: var(--muted); font-size: 12px; }
.pagination-gate .button { min-height: 34px; padding: 0 13px; }
.score-breakdown { padding: 22px 0 0; margin-top: 24px; border-top: 1px solid var(--line); }
.score-breakdown h2, .lead-workspace h2 { margin: 0; font-size: 20px; letter-spacing: -.04em; }
.score-breakdown-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.score-breakdown-grid > div { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 13px 14px; border-radius: 10px; background: var(--soft); }
.score-breakdown-grid span { color: var(--muted); font-size: 11px; }
.score-breakdown-grid strong { color: var(--ink); font-size: 21px; letter-spacing: -.05em; }
.score-breakdown-grid small { margin-left: 2px; color: var(--muted); font-size: 10px; letter-spacing: 0; }
.lead-workspace { padding: 24px 0 0; margin-top: 24px; border-top: 1px solid var(--line); }
.lead-management-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.lead-management-form label { display: block; }
.lead-management-form label > span { display: block; margin-bottom: 7px; color: #53617a; font-size: 12px; font-weight: 800; }
.lead-management-form select, .lead-management-form input[type="date"], .lead-management-form textarea { width: 100%; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; outline: none; color: var(--ink); background: #fff; }
.lead-management-form select, .lead-management-form input[type="date"] { height: 44px; }
.lead-management-form textarea { padding-top: 11px; resize: vertical; }
.lead-management-form select:focus, .lead-management-form input:focus, .lead-management-form textarea:focus { border-color: #9bcf52; box-shadow: 0 0 0 3px rgba(184,245,95,.2); }
.lead-note-field { grid-column: 1 / -1; }
.lead-form-actions { display: flex; justify-content: flex-end; grid-column: 1 / -1; }
.inline-delete-form { margin-top: 14px; }
.text-button { padding: 0; border: 0; background: transparent; cursor: pointer; }
.danger-text { color: #b14f5d; font-size: 12px; }
.danger-text:hover { color: #8f2639; text-decoration: underline; }
.lead-login-prompt { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px; margin-top: 24px; border-radius: 12px; background: #f6ffe9; }
.lead-login-prompt strong { color: #506b35; font-size: 13px; }
.lead-login-prompt > span { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.lead-events { margin-top: 22px; padding-top: 19px; border-top: 1px solid var(--line); }
.lead-events h3 { margin: 0 0 12px; font-size: 14px; }
.lead-event { padding: 10px 0; border-bottom: 1px solid #edf1f5; }
.lead-event:last-child { border-bottom: 0; }
.lead-event strong, .lead-event span { display: block; }
.lead-event strong { color: var(--ink-2); font-size: 12px; }
.lead-event span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.lead-event p { margin: 5px 0 0; color: #5c6b81; font-size: 12px; white-space: pre-wrap; }
.my-leads-container { padding: 66px 0 80px; }
.page-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.page-head h1 { margin: 0; font-size: 42px; letter-spacing: -.06em; }
.page-head .section-desc { margin-top: 6px; }
.lead-summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 24px; }
.lead-summary-card { padding: 20px 22px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(12,21,40,.025); }
.lead-summary-card span, .lead-summary-card small { display: block; }
.lead-summary-card span { color: var(--muted); font-size: 12px; font-weight: 800; }
.lead-summary-card strong { display: block; margin: 9px 0 5px; color: var(--ink); font-size: 32px; letter-spacing: -.07em; }
.lead-summary-card small { color: #8b98aa; font-size: 11px; }
.lead-summary-alert { border-color: #dceebd; background: #fbfff5; }
.lead-summary-alert strong { color: #5c982c; }
.my-leads-panel { padding: 25px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow); }
.my-leads-panel .panel-title { margin-bottom: 18px; }
.my-leads-panel h2 { margin: 0; font-size: 22px; letter-spacing: -.04em; }
.result-count { color: var(--muted); font-size: 12px; }
.lead-filter-form { display: grid; grid-template-columns: minmax(240px, 1fr) 200px auto; gap: 8px; padding-bottom: 18px; }
.lead-filter-form select { height: 42px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; color: #526077; background: #fff; outline: none; }
.lead-filter-form .button { min-height: 42px; }
.my-leads-table-wrap { box-shadow: none; }
.my-leads-table { min-width: 920px; }
.my-leads-table td { vertical-align: middle; }
.quick-status-form select { min-width: 104px; height: 34px; padding: 0 7px; border: 1px solid var(--line); border-radius: 7px; color: #526077; background: #fff; font-size: 11px; outline: none; }
.quick-status-form select:focus { border-color: #9bcf52; }
.row-arrow.is-disabled { color: #c0c8d3; background: #f5f7fa; }
.admin-container { padding: 66px 0 80px; }
.admin-head { align-items: center; margin-bottom: 30px; }
.admin-head h1 { margin: 0; font-size: 42px; letter-spacing: -.06em; }
.admin-head p:last-child { margin: 5px 0 0; color: var(--muted); }
.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.admin-panel { padding: 25px; margin-bottom: 14px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.panel-title { align-items: center; margin-bottom: 20px; }
.panel-title .section-kicker { margin-bottom: 4px; }
.source-row { display: flex; align-items: center; gap: 11px; padding: 14px 0; border-bottom: 1px solid #edf1f5; }
.source-row > div { flex: 1; }
.source-row strong, .source-row small { display: block; }
.source-row strong { font-size: 13px; }
.source-row small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.source-kind { color: #718097; font-size: 10px; font-weight: 900; letter-spacing: .06em; }
.sync-form { margin-top: 19px; }
.checklist { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.checklist li { display: flex; gap: 13px; padding: 13px 0; border-bottom: 1px solid #edf1f5; }
.checklist li:last-child { border-bottom: 0; }
.checklist li > span { display: grid; place-items: center; width: 25px; height: 25px; flex: 0 0 auto; color: #687991; background: #edf1f6; border-radius: 50%; font-size: 11px; font-weight: 900; }
.checklist li.done > span { color: #568a27; background: #e3f7c9; }
.checklist strong, .checklist small { display: block; }
.checklist small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.cron-panel pre { overflow-x: auto; padding: 16px; margin: 0 0 12px; color: #c7ef8a; background: var(--ink); border-radius: 9px; font-size: 12px; }
.helper-text { margin: 10px 0 0; color: var(--muted); font-size: 11px; }
.helper-text code { color: #43516a; background: #eef1f6; border-radius: 4px; padding: 2px 4px; }
.sync-state-list { display: grid; gap: 0; }
.sync-state-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 0; border-bottom: 1px solid #edf1f5; }
.sync-state-row:last-child { border-bottom: 0; }
.sync-state-row strong, .sync-state-row small { display: block; }
.sync-state-row strong { color: var(--ink-2); font-size: 13px; }
.sync-state-row small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.sync-error { padding: 4px 8px; border-radius: 99px; color: #a54655; background: #fff0f1; font-size: 10px; font-weight: 900; }
.admin-table-wrap { box-shadow: none; }
.sync-table { width: 100%; border-collapse: collapse; }
.sync-table th { padding: 10px 8px; color: #8c98aa; border-bottom: 1px solid var(--line); font-size: 10px; text-align: left; }
.sync-table td { padding: 11px 8px; border-bottom: 1px solid #edf1f5; color: #56657c; font-size: 11px; }
.sync-table tr:last-child td { border-bottom: 0; }
.sync-table td strong, .sync-table td small { display: block; }
.sync-table td strong { color: var(--ink-2); }
.sync-table td small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.sync-status { display: inline-flex; padding: 4px 7px; border-radius: 99px; color: #5b8c2c; background: #e9f8d7; font-size: 10px; font-weight: 900; }
.sync-status-failed { color: #a54655; background: #fff0f1; }
.admin-login { width: min(520px, 100%); margin: 50px auto; padding: 46px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.admin-lock { display: grid; place-items: center; width: 45px; height: 45px; margin-bottom: 24px; border-radius: 14px; color: var(--ink); background: var(--lime); font-size: 24px; }
.admin-login h1 { font-size: 42px; }
.admin-login > p:not(.eyebrow):not(.helper-text) { color: var(--muted); }
.admin-key-form label { display: block; margin: 24px 0 12px; }
.admin-key-form label span { display: block; margin-bottom: 7px; color: #53617a; font-size: 12px; font-weight: 800; }
.admin-key-form input { width: 100%; height: 46px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; outline: none; }
.auth-container { display: flex; justify-content: center; padding: 66px 0 80px; }
.auth-card { width: min(520px, 100%); padding: 42px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.auth-card-compact { width: min(480px, 100%); }
.auth-card h1 { margin: 0; font-size: 40px; letter-spacing: -.06em; }
.auth-intro { margin: 10px 0 24px; color: var(--muted); }
.auth-form { display: grid; gap: 16px; }
.auth-form label > span { display: block; margin-bottom: 7px; color: #53617a; font-size: 12px; font-weight: 800; }
.auth-form input[type="text"], .auth-form input[type="email"], .auth-form input[type="password"] { width: 100%; height: 46px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; outline: none; color: var(--ink); background: #fff; }
.auth-form input:focus { border-color: #9bcf52; box-shadow: 0 0 0 3px rgba(184,245,95,.2); }
.auth-form .button { margin-top: 4px; }
.agreement-box { padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfe; }
.agreement-box > p { margin: 0 0 10px; color: var(--muted); font-size: 12px; }
.check-row { display: flex; align-items: flex-start; gap: 8px; margin-top: 9px; color: #56657c; font-size: 12px; }
.check-row input { width: 16px; height: 16px; flex: 0 0 auto; margin: 1px 0 0; accent-color: #84bd3e; }
.check-row a, .auth-switch a { color: #5e9826; font-weight: 900; text-decoration: underline; }
.check-row b { color: #9d3f4b; font-size: 11px; }
.auth-form .remember-row { align-items: center; margin-top: -2px; }
.auth-form .remember-row > span { margin: 0; }
.auth-switch { margin: 22px 0 0; color: var(--muted); font-size: 13px; text-align: center; }
.auth-card .success-notice, .auth-card .form-error { margin: 0 0 18px; font-size: 12px; }
.legal-container { padding: 56px 0 80px; }
.legal-card { width: min(860px, 100%); margin: 0 auto; padding: 44px 50px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.legal-card h1 { margin: 0 0 10px; font-size: 42px; letter-spacing: -.06em; }
.legal-lead { margin: 0 0 34px; color: var(--muted); font-size: 15px; }
.legal-card h2 { margin: 28px 0 7px; font-size: 17px; letter-spacing: -.03em; }
.legal-card p { color: #56657c; line-height: 1.8; }
.legal-updated { padding-top: 24px; margin-top: 30px; border-top: 1px solid var(--line); color: var(--muted) !important; font-size: 12px; }
@media (max-width: 1000px) {
  .topbar { gap: 20px; }
  .metric-grid, .pricing-grid { grid-template-columns: repeat(2, 1fr); }
  .membership-limit-grid { grid-template-columns: repeat(2, 1fr); }
  .membership-plan-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .membership-plan-actions { justify-content: flex-end; }
  .source-strip { align-items: start; flex-direction: column; gap: 18px; }
  .source-items { margin-left: 0; }
  .conversion-band { grid-template-columns: 1fr 1fr; }
  .conversion-band .button { grid-column: 2; grid-row: 1 / span 2; }
  .lead-summary-grid { grid-template-columns: repeat(2, 1fr); }
  .score-breakdown-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  body { font-size: 13px; }
  .topbar { min-height: 64px; padding: 0 16px; gap: 15px; }
  .main-nav { display: none; }
  .topbar-actions { margin-left: auto; }
  .topbar-actions .button { display: none; }
  .container { width: min(100% - 30px, 1240px); }
  .product-hero { display: block; padding: 52px 2px 34px; }
  .hero h1 { font-size: 39px; }
  .hero-copy { font-size: 14px; }
  .hero-card { width: 100%; margin-top: 34px; }
  .hero-actions { gap: 16px; }
  .metric-grid, .pricing-grid, .faq-grid, .admin-grid { grid-template-columns: 1fr; }
  .membership-limit-grid { grid-template-columns: 1fr; }
  .membership-plan-row { grid-template-columns: 1fr; }
  .membership-plan-actions { justify-content: stretch; }
  .membership-plan-actions .button { flex: 1; }
  .metric-card { min-height: 124px; }
  .demo-notice { align-items: start; flex-wrap: wrap; }
  .demo-notice a { width: 100%; margin-left: 30px; }
  .source-strip { margin-bottom: 35px; padding: 18px; }
  .source-items { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .source-item { min-width: 0; flex-wrap: wrap; }
  .workspace-head, .admin-head, .detail-top { align-items: start; flex-direction: column; }
  .page-head { align-items: start; flex-direction: column; }
  .workspace-actions { width: 100%; }
  .workspace-actions .button { flex: 1; padding: 0 7px; font-size: 12px; }
  .view-toggle { flex: 1; }
  .view-toggle .button { flex: 1 !important; }
  .results-layout.is-map { grid-template-columns: 1fr; }
  .signal-map { height: 400px; min-height: 400px; }
  .filter-card { overflow-x: visible; }
  .filter-form { min-width: 0; grid-template-columns: 1fr 1fr; }
  .search-field { grid-column: span 2; }
  .classification-picker-field { grid-column: span 2; }
  .filter-form select:last-of-type { grid-column: span 2; }
  .filter-form .button { grid-column: span 2; }
  .classification-modal { padding: 10px; }
  .classification-dialog { width: calc(100vw - 20px); height: calc(100vh - 20px); height: calc(100dvh - 20px); max-height: none; border-radius: 15px; }
  .classification-dialog-head { padding: 18px; }
  .classification-dialog-head h2 { font-size: 21px; }
  .classification-dialog-body { display: flex; overflow: hidden; flex-direction: column; }
  .classification-groups { min-height: 0; max-height: 188px; flex: 0 1 188px; padding: 12px; border-right: 0; border-bottom: 1px solid var(--line); }
  .classification-group-button { min-height: 41px; }
  .classification-details { min-height: 0; overflow: hidden; flex: 1 1 0; }
  .classification-detail-head { align-items: stretch; flex-direction: column; gap: 10px; padding: 13px 14px; }
  .classification-search { width: 100%; }
  .classification-items { min-height: 0; overflow-y: auto; flex: 1 1 0; grid-template-columns: 1fr; padding: 13px 14px 18px; }
  .classification-item-wide { grid-column: auto; }
  .classification-dialog-foot { padding: 12px 14px; }
  .date-filter-row { grid-column: span 2; align-items: stretch; flex-wrap: wrap; }
  .date-filter-row > label { width: 100%; }
  .date-filter-row select, .date-range-fields { flex: 1 1 100%; width: 100%; }
  .date-range-fields input { flex: 1 1 0; width: auto; min-width: 0; }
  .date-filter-row.is-locked { align-items: center; flex-wrap: nowrap; }
  .date-filter-row.is-locked > label { width: auto; }
  .date-filter-row.is-locked select { width: auto; flex: 1 1 auto; }
  .paywall-card, .detail-paywall, .conversion-band { display: block; }
  .paywall-card .paywall-orb { margin-bottom: 14px; }
  .paywall-card .button, .conversion-band .button { width: 100%; margin-top: 18px; }
  .conversion-band { padding: 28px 24px; }
  .conversion-band h2 { font-size: 23px; }
  .conversion-points { margin-top: 20px; }
  .footer { align-items: start; flex-wrap: wrap; gap: 5px 16px; padding: 19px 15px; }
  .footer span:nth-child(2) { width: 100%; }
  .pricing-container, .admin-container { padding: 42px 0 60px; }
  .pricing-hero h1, .admin-login h1 { font-size: 38px; }
  .auth-container, .legal-container { padding: 42px 0 60px; }
  .auth-card, .legal-card { padding: 30px 22px; }
  .auth-card h1, .legal-card h1 { font-size: 36px; }
  .legal-card h2 { font-size: 16px; }
  .contact-card { display: block; padding: 28px 22px; }
  .contact-form { display: block; margin-top: 22px; }
  .contact-form .button { width: 100%; margin-top: 9px; }
  .admin-login { padding: 30px 22px; }
  .admin-head h1 { font-size: 36px; }
  .detail-card { padding: 25px 20px; }
  .detail-top h1 { font-size: 29px; }
  .detail-grid { grid-template-columns: 1fr 1fr; }
  .my-leads-container { padding: 42px 0 60px; }
  .page-head h1 { font-size: 36px; }
  .lead-summary-grid, .lead-filter-form { grid-template-columns: 1fr; }
  .lead-filter-form select, .lead-filter-form .button { width: 100%; }
  .my-leads-panel { padding: 20px 14px; }
  .pagination { align-items: start; flex-direction: column; }
  .pagination-gate { align-items: stretch; flex-direction: column; }
  .score-breakdown-grid { grid-template-columns: 1fr; }
  .lead-management-form { grid-template-columns: 1fr; }
  .lead-note-field, .lead-form-actions { grid-column: auto; }
  .lead-form-actions .button { width: 100%; }
  .lead-login-prompt { align-items: start; flex-direction: column; }
}
