@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;600;800&display=swap');
* { box-sizing: border-box; margin: 0; }
body { background: #060D1F; color: #EFF3FA; font-family: Inter, Arial, sans-serif; }
a { color: #FF7A18; }
h1, h2, .top-title, .stat-num, .camp-mail-head { font-family: Anton, 'Arial Black', sans-serif; letter-spacing: .02em; }

/* Auth */
.auth-body { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.auth-card { background: #0A1730; border: 1px solid #1D2F52; border-radius: 16px; padding: 32px; max-width: 460px; width: 100%; }
.auth-logo { height: 84px; display: block; margin: 0 auto 10px; }
.auth-card h1 { text-align: center; font-size: 30px; }
.auth-card h2 { font-size: 15px; color: #FF7A18; margin: 20px 0 6px; font-family: Inter, Arial, sans-serif; letter-spacing: .08em; }
.auth-sub { text-align: center; color: #93A5C4; margin: 8px 0 18px; font-size: 14px; }
.auth-card label { display: block; font-size: 13px; color: #C7D2E6; margin: 10px 0; }
.auth-card input { width: 100%; margin-top: 5px; padding: 11px; border-radius: 9px; border: 1px solid #1D2F52; background: #060D1F; color: #fff; font-size: 15px; }
.auth-error { background: #4A1220; border: 1px solid #A02C43; padding: 10px; border-radius: 9px; font-size: 14px; margin-bottom: 10px; }
.auth-ok { background: #0E3A24; border: 1px solid #1E7A4C; padding: 10px; border-radius: 9px; font-size: 14px; margin-bottom: 10px; }
.btn { background: #FF7A18; color: #131313; border: 0; font-weight: 800; padding: 12px 20px; border-radius: 10px; cursor: pointer; font-size: 15px; width: 100%; margin-top: 14px; }
.btn[disabled] { opacity: .45; cursor: not-allowed; width: auto; }

/* Dashboard */
.topbar { display: flex; align-items: center; gap: 14px; padding: 12px 22px; background: #0A1730; border-bottom: 1px solid #1D2F52; position: sticky; top: 0; z-index: 5; }
.top-logo { height: 46px; }
.top-title { font-size: 24px; } .top-title span { color: #FF7A18; }
.top-user { margin-left: auto; font-size: 13px; color: #93A5C4; }
.hero { background-size: cover; background-position: center; }
.hero-shade { background: linear-gradient(90deg, rgba(6,13,31,.93) 30%, rgba(6,13,31,.35)); padding: 46px 22px; }
.hero h1 { font-size: clamp(28px, 5vw, 46px); } .hero h1 span { color: #FF7A18; }
.hero p { color: #C7D2E6; margin-top: 8px; max-width: 640px; }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; padding: 18px 22px 0; max-width: 1180px; margin: 0 auto; }
.stat { background: #0A1730; border: 1px solid #1D2F52; border-radius: 14px; padding: 16px; }
.stat-num { font-size: 30px; color: #FF7A18; }
.stat-label { font-size: 12px; color: #93A5C4; text-transform: uppercase; letter-spacing: .08em; margin-top: 4px; }
.wrap { max-width: 1180px; margin: 0 auto; padding: 8px 22px 40px; }
.section-title { font-size: 24px; margin: 30px 0 14px; } .section-title span { color: #93A5C4; font-size: 15px; font-family: Inter, Arial, sans-serif; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.card { background: #0A1730; border: 1px solid #1D2F52; border-radius: 14px; padding: 16px; }
.card-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.card-name { font-weight: 800; font-size: 17px; }
.pill { font-size: 11px; font-weight: 800; padding: 5px 9px; border-radius: 999px; white-space: nowrap; }
.pill-invite_back { background: #3A2408; color: #FFB066; border: 1px solid #8a5a1d; }
.pill-upcoming { background: #0E3A24; color: #6FE3A5; border: 1px solid #1E7A4C; }
.pill-repeat_star { background: #FF7A18; color: #131313; }
.card-booked { margin-top: 8px; color: #C7D2E6; font-size: 14px; } .card-booked strong { color: #FF7A18; font-size: 16px; }
.card-next { margin-top: 4px; font-size: 13px; color: #6FE3A5; }
.card-email { margin-top: 6px; font-size: 13px; word-break: break-all; }
.card-src { margin-top: 4px; font-size: 12px; color: #93A5C4; }
.card-note { margin-top: 8px; font-size: 13px; color: #C7D2E6; background: #060D1F; border: 1px solid #1D2F52; border-radius: 9px; padding: 9px; }
.card-sessions { margin-top: 10px; font-size: 13px; } .card-sessions summary { cursor: pointer; color: #FF7A18; font-weight: 600; }
.sess { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px solid #132344; color: #C7D2E6; }
.sess-refunded { color: #FF8FA3; }
.campaign { background: #0A1730; border: 1px solid #1D2F52; border-radius: 14px; padding: 18px; }
.camp-status { display: inline-block; background: #3A2408; color: #FFB066; border: 1px solid #8a5a1d; font-weight: 800; font-size: 12px; padding: 6px 10px; border-radius: 999px; margin-bottom: 14px; }
.camp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px; }
.campaign h3 { color: #FF7A18; letter-spacing: .06em; font-size: 14px; text-transform: uppercase; margin-bottom: 8px; }
.campaign p { color: #C7D2E6; font-size: 14px; margin: 8px 0; line-height: 1.5; }
.camp-mail { background: #060D1F; border: 1px solid #1D2F52; border-radius: 12px; padding: 16px; margin-top: 10px; }
.camp-mail-head { font-size: 22px; margin-bottom: 8px; }
.camp-cta { color: #FF7A18; font-weight: 800; }
.foot { margin-top: 34px; color: #61769C; font-size: 12px; text-align: center; line-height: 1.6; }

/* v2 — full CRM */
.topnav { display: flex; gap: 4px; flex-wrap: wrap; }
.topnav a { color: #C7D2E6; text-decoration: none; font-size: 13px; font-weight: 600; padding: 7px 10px; border-radius: 8px; }
.topnav a:hover { background: #132344; color: #fff; }
.flash { max-width: 1180px; margin: 14px auto 0; background: #0E3A24; border: 1px solid #1E7A4C; color: #CFF5DE; padding: 11px 16px; border-radius: 10px; font-size: 14px; }
.wrap label { display: block; font-size: 13px; color: #C7D2E6; margin: 10px 0; }
.wrap input, .wrap select, .wrap textarea { width: 100%; margin-top: 5px; padding: 10px; border-radius: 9px; border: 1px solid #1D2F52; background: #060D1F; color: #fff; font-size: 14px; font-family: Inter, Arial, sans-serif; }
.wrap textarea { line-height: 1.5; }
label.check { display: flex; align-items: center; gap: 8px; }
label.check input { width: auto; margin: 0; }
.btn-inline { width: auto; display: inline-block; text-decoration: none; text-align: center; }
.btn-ghost { background: transparent; border: 1px solid #FF7A18; color: #FF7A18; }
.btn-danger { background: #4A1220; color: #FF8FA3; border: 1px solid #A02C43; width: auto; }
.toolbar { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.toolbar input, .toolbar select { width: auto; flex: 1; min-width: 180px; margin: 0; padding: 10px; border-radius: 9px; border: 1px solid #1D2F52; background: #0A1730; color: #fff; }
.form-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.funnel-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.funnel-stage { background: #0A1730; border: 1px solid #1D2F52; border-radius: 12px; padding: 14px; text-decoration: none; }
.funnel-num { font-family: Anton, 'Arial Black', sans-serif; font-size: 26px; color: #FF7A18; }
.funnel-label { font-size: 12px; color: #93A5C4; text-transform: uppercase; letter-spacing: .06em; margin-top: 3px; }
.board { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; align-items: start; }
.board-col { background: #0A1730; border: 1px solid #1D2F52; border-radius: 12px; padding: 10px; }
.board-head { font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: #FFB066; margin: 4px 4px 10px; }
.board-card { display: block; background: #060D1F; border: 1px solid #1D2F52; border-radius: 10px; padding: 10px; margin-bottom: 8px; text-decoration: none; color: #EFF3FA; }
.board-card span { display: block; font-size: 12px; color: #93A5C4; margin-top: 3px; }
.due-tag { color: #6FE3A5 !important; font-weight: 700; }
.pill-lead { background: #132344; color: #9DB8E8; border: 1px solid #2A4A8A; }
.pill-lost { background: #2A2A2A; color: #9A9A9A; border: 1px solid #555; }
code { background: #060D1F; border: 1px solid #1D2F52; padding: 1px 6px; border-radius: 6px; font-size: 12px; }

/* Lead Finder additions */
.proj-switch select { padding: 8px 10px; border-radius: 9px; border: 1px solid #1D2F52; background: #0A1730; color: #fff; font-size: 13px; font-weight: 600; }
.pill-new { background: #132344; color: #9DB8E8; border: 1px solid #2A4A8A; }
.pill-contacted { background: #3A2A10; color: #FFC46B; border: 1px solid #8A6420; }
.pill-qualified { background: #0E3A24; color: #6FE3A5; border: 1px solid #1E7A4C; }
.pill-imported { background: #14331F; color: #9BE8BC; border: 1px solid #2E7A4C; }
.pill-dead { background: #2A2A2A; color: #9A9A9A; border: 1px solid #555; }


/* Login / setup (Lead Finder) - mirrors Auth above */
.login-wrap { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px; }
.login-logo { height: 84px; display: block; margin: 0 auto 10px; }
.login-title { text-align: center; font-size: 30px; margin: 0 0 8px; }
.login-title span { color: #FF7A18; }
.login-sub { text-align: center; color: #93A5C4; margin: 8px 0 18px; font-size: 14px; max-width: 460px; line-height: 1.5; }
.login-card { background: #0A1730; border: 1px solid #1D2F52; border-radius: 16px; padding: 32px; max-width: 460px; width: 100%; }
.login-card label { display: block; font-size: 13px; color: #C7D2E6; margin: 10px 0; }
.login-card input { width: 100%; margin-top: 5px; padding: 11px; border-radius: 9px; border: 1px solid #1D2F52; background: #060D1F; color: #fff; font-size: 15px; }
.err { background: #4A1220; border: 1px solid #A02C43; padding: 10px; border-radius: 9px; font-size: 14px; margin-bottom: 10px; max-width: 460px; width: 100%; }
.ok { background: #0E3A24; border: 1px solid #1E7A4C; padding: 10px; border-radius: 9px; font-size: 14px; margin-bottom: 10px; max-width: 460px; width: 100%; }
