:root {
  --blue: #1769e0;
  --blue-dark: #0c56be;
  --ink: #172033;
  --muted: #68758c;
  --line: #e7ebf2;
  --surface: #ffffff;
  --bg: #f5f7fa;
  --green: #15946b;
  --red: #d74a55;
  --amber: #d68818;
  --shadow: 0 1px 2px rgba(20, 36, 66, .04), 0 8px 28px rgba(20, 36, 66, .04);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; color: var(--ink); background: var(--bg); font-size: 14px; }
button, input, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 236px; background: #fff; border-right: 1px solid var(--line); padding: 24px 18px 18px; display: flex; flex-direction: column; z-index: 20; }
.brand { display: flex; flex-direction:column; align-items:flex-start; gap: 2px; font-weight: 800; font-size: 20px; letter-spacing: -.6px; padding: 0 8px 20px; }
.brand-mark { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: linear-gradient(145deg, #247af0, #0d51b2); color: #fff; box-shadow: 0 5px 15px rgba(23,105,224,.3); }
.brand-logo { width: 100px; height: 43px; object-fit: contain; object-position: left center; }
.brand-subtitle { width:100px;text-align:center;color:#aab8cc;font-size:9px;font-weight:600;letter-spacing:3px;line-height:1.2; }
.workspace-switcher { display: grid; grid-template-columns: 34px 1fr 18px; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 10px; padding: 10px; margin-bottom: 24px; }
.workspace-avatar { width: 34px; height: 34px; border-radius: 8px; display: grid; place-items: center; color: #fff; font-size: 11px; font-weight: 700; background: linear-gradient(135deg,#181928,#53556d); }
.workspace-switcher strong, .workspace-switcher small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.workspace-switcher strong { font-size: 12px; }.workspace-switcher small { color: var(--muted); font-size: 10px; margin-top: 3px; }
.workspace-switcher button { border: 0; background: none; color: var(--muted); }
.side-nav { flex: 1; overflow-y: auto; }
.side-nav p { margin: 19px 10px 8px; color: #9aa4b6; font-size: 10px; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase; }
.side-nav a { min-height: 42px; padding: 0 11px; border-radius: 8px; display: flex; gap: 12px; align-items: center; margin: 3px 0; color: #59667c; font-weight: 600; font-size: 13px; transition: .18s ease; }
.side-nav a > span { width: 18px; text-align: center; font-size: 16px; color: #7d899d; }
.side-nav a:hover { background: #f5f7fb; color: var(--ink); }
.side-nav a.active { background: #eaf2ff; color: var(--blue); }
.side-nav a.active > span { color: var(--blue); }
.side-nav em { margin-left: auto; background: #f1f3f7; color: #69758a; font-style: normal; font-size: 10px; border-radius: 10px; padding: 2px 7px; }
.sidebar-help { display: grid; grid-template-columns: 30px 1fr 12px; align-items: center; gap: 9px; background: #f6f8fb; border-radius: 10px; padding: 11px; }
.sidebar-help > span { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #c9d1de; border-radius: 50%; color: var(--muted); }
.sidebar-help strong,.sidebar-help small { display:block; font-size: 11px; }.sidebar-help small { color: var(--muted); margin-top: 2px; }
.sidebar-help b { color: #97a1b1; }

.main-content { margin-left: 236px; min-width: 0; }
.topbar { height: 72px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; padding: 0 32px; position: sticky; top: 0; z-index: 15; backdrop-filter: blur(14px); }
.topbar-left,.topbar-actions,.account-select,.user-profile { display: flex; align-items: center; }
.account-select { gap: 10px; }.fb-badge { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 7px; background: #1670e8; color: white; font-size: 23px; font-weight: 800; font-family: Arial; padding-top: 5px; }
.account-brand-icon { width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(145deg,#2d82f2,#175fc5);box-shadow:0 4px 12px rgba(26,109,220,.22);overflow:hidden; }
.account-brand-icon img { width:25px;height:18px;object-fit:contain;filter:invert(1) brightness(1.6); }
.account-select small,.account-select strong { display:block; }.account-select small { font-size: 9px; color: var(--muted); margin-bottom: 2px; }.account-select strong{font-size:12px;}
.account-select button { border:0; background:none; margin-left:8px; color:var(--muted); }
.topbar-actions { gap: 8px; }.icon-btn { width: 36px; height: 36px; border: 1px solid var(--line); background:#fff; border-radius:9px; color:#657287; display:grid; place-items:center; font-size:18px; transition:.15s; }.icon-btn:hover{background:#f5f7fb;color:var(--blue);}
.install-app { position:relative; }.install-app.ready{color:#74adff;border-color:#315d92;background:#17345d}.install-app.ready:after{content:"";position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:#37d39b;box-shadow:0 0 7px #37d39b}
.notification { position:relative; }.notification i { position:absolute; right:7px; top:7px; width:5px;height:5px;border-radius:50%;background:#f04d59;box-shadow:0 0 0 2px white;}
.user-profile { border:0;background:none;gap:9px;margin-left:7px;text-align:left; }.user-profile > span { width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d8e8ff;color:#1c5cae;font-size:11px;font-weight:700;}.user-profile strong,.user-profile small{display:block}.user-profile strong{font-size:11px}.user-profile small{font-size:9px;color:var(--muted);margin-top:2px}.user-profile b{font-weight:400;color:#8c96a7;margin-left:4px}.mobile-menu{display:none;border:0;background:none;font-size:20px;}

.dashboard { padding: 31px 32px 24px; max-width: 1540px; margin: auto; }
.page-heading { display:flex;justify-content:space-between;align-items:flex-start;position:relative;margin-bottom:24px; }.title-row{display:flex;align-items:center;gap:8px}.title-row h1{margin:0;font-size:25px;letter-spacing:-.6px}.wave{font-size:22px;transform:rotate(-8deg)}.page-heading p{color:var(--muted);margin:7px 0 0;font-size:12px}.demo-chip{color:#97620f;background:#fff0cf;border-radius:10px;padding:3px 8px;margin-left:5px;font-size:9px;font-weight:700;letter-spacing:.3px}
.heading-actions{display:flex;gap:10px}.date-button{height:42px;padding:0 12px;border:1px solid var(--line);background:#fff;border-radius:9px;display:grid;grid-template-columns:17px 1fr 14px;grid-template-rows:1fr 1fr;align-items:center;column-gap:8px;text-align:left;box-shadow:0 1px 2px rgba(0,0,0,.02)}.date-button>span{grid-row:1/3;color:#6e7b8f}.date-button b{font-size:11px;align-self:end}.date-button small{font-size:8px;color:var(--muted);align-self:start}.date-button i{grid-row:1/3;grid-column:3;font-style:normal;color:var(--muted)}.primary-button{height:42px;border:0;border-radius:9px;background:var(--blue);color:white;padding:0 16px;font-weight:700;font-size:12px;box-shadow:0 5px 14px rgba(23,105,224,.2);transition:.15s}.primary-button:hover{background:var(--blue-dark);transform:translateY(-1px)}.primary-button span{font-size:16px;margin-right:4px}
.date-menu{display:none;position:absolute;right:166px;top:48px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:6px;box-shadow:0 12px 32px rgba(30,45,70,.13);z-index:5;width:140px}.date-menu.show{display:block}.date-menu button{display:block;width:100%;border:0;background:none;padding:9px 10px;border-radius:6px;text-align:left;font-size:11px}.date-menu button:hover,.date-menu button.selected{background:#edf4ff;color:var(--blue)}
.notice-bar { min-height: 52px; display:flex;align-items:center;gap:13px;background:linear-gradient(90deg,#eef5ff,#f6f9ff);border:1px solid #dfeaff;border-radius:10px;padding:8px 13px;margin-bottom:17px;}.notice-icon{width:31px;height:31px;border-radius:8px;background:#dceaff;color:var(--blue);display:grid;place-items:center;font-size:17px}.notice-bar p{flex:1;margin:0;font-size:11px;color:#485974}.notice-bar p strong{color:#1d3154}.notice-bar>button:not(.notice-close){border:0;background:none;color:var(--blue);font-size:10px;font-weight:700}.notice-bar button span{font-size:14px;margin-left:4px}.notice-close{border:0;background:none;color:#8b96a8;font-size:19px;padding:3px 7px}

.kpi-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:16px }.kpi-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px 18px 13px;box-shadow:var(--shadow);min-width:0;position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent,#1769e0);opacity:.72}.kpi-top{display:flex;justify-content:space-between;align-items:flex-start}.kpi-label{display:flex;align-items:center;gap:7px;color:#647187;font-size:11px;font-weight:600}.kpi-label i{font-style:normal;font-size:10px;color:#9ca6b5;border:1px solid #d8dde5;width:14px;height:14px;display:grid;place-items:center;border-radius:50%}.kpi-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,white);font-size:16px}.kpi-value{display:block;font-size:24px;letter-spacing:-.7px;margin:12px 0 6px}.kpi-meta{display:flex;align-items:center;gap:6px;font-size:9px;color:#8a95a6}.delta{font-weight:700;padding:2px 5px;border-radius:5px}.delta.up{color:var(--green);background:#e9f7f2}.delta.down{color:var(--red);background:#fff0f1}.sparkline{height:27px;width:100%;margin-top:8px}

.analysis-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.78fr);gap:16px;margin-bottom:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 10px}.panel-head h2{font-size:14px;margin:0;letter-spacing:-.2px}.panel-head p{font-size:9px;color:var(--muted);margin:5px 0 0}.metric-tabs{display:flex;background:#f4f6f9;border-radius:7px;padding:3px}.metric-tabs button{border:0;background:none;padding:6px 10px;border-radius:5px;color:#6c788d;font-size:9px;font-weight:600}.metric-tabs button.active{background:white;color:#273750;box-shadow:0 1px 4px rgba(23,34,55,.12)}.chart-summary{display:flex;align-items:flex-end;justify-content:space-between;padding:2px 20px 0}.chart-summary small{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.chart-summary strong{font-size:18px;letter-spacing:-.4px}.chart-summary>div:first-child span{color:var(--green);font-size:9px;font-weight:700;background:#e9f7f2;border-radius:5px;padding:2px 5px;margin-left:6px}.legend{display:flex;gap:13px;color:#778398;font-size:8px}.legend span{display:flex;align-items:center;gap:5px}.dot{width:6px;height:6px;border-radius:50%}.dot.blue{background:var(--blue)}.dot.pale{background:#b9d3f9}.chart-wrap{height:255px;padding:7px 16px 12px;position:relative}.chart-wrap canvas{width:100%;height:100%;display:block}.chart-tooltip{display:none;position:absolute;background:#1f2b3f;color:#fff;border-radius:7px;padding:7px 9px;font-size:9px;pointer-events:none;box-shadow:0 5px 15px rgba(0,0,0,.2);transform:translate(-50%,-105%);white-space:nowrap}
.more-btn{border:0;background:none;color:#9ba5b4;font-weight:700}.donut-area{display:grid;grid-template-columns:128px 1fr;align-items:center;gap:20px;padding:12px 20px}.donut{width:128px;height:128px;border-radius:50%;background:conic-gradient(#1769e0 0 51%,#77a9ff 51% 79%,#a9c8ff 79% 93%,#d8e7ff 93%);position:relative;display:grid;place-items:center}.donut:after{content:"";position:absolute;width:78px;height:78px;border-radius:50%;background:white}.donut>div{position:relative;z-index:1;text-align:center}.donut strong,.donut small{display:block}.donut strong{font-size:15px}.donut small{font-size:8px;color:var(--muted);margin-top:3px}.donut-legend>div{display:flex;justify-content:space-between;gap:8px;margin:12px 0;font-size:9px}.donut-legend span{display:flex;align-items:center;color:#69758a;white-space:nowrap}.donut-legend i{width:6px;height:6px;background:var(--color);border-radius:50%;margin-right:6px}.donut-legend b{text-align:right;font-size:9px;white-space:nowrap}.donut-legend b small{display:block;color:#909aaa;font-weight:400;margin-top:2px}.text-button{border:0;border-top:1px solid var(--line);background:none;width:100%;padding:12px;color:var(--blue);font-size:9px;font-weight:700}.text-button span{font-size:13px;margin-left:4px}

.campaign-panel{overflow:hidden}.campaign-heading{padding-bottom:14px}.outline-button{border:1px solid var(--line);background:#fff;border-radius:7px;color:#536077;font-size:9px;font-weight:600;padding:7px 10px}.outline-button span{margin-left:4px;font-size:12px}.table-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:12px 20px}.table-search{width:235px;height:32px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:7px;padding:0 9px;color:#99a2b1}.table-search input{border:0;outline:0;width:100%;font-size:10px;background:transparent}.table-filters{display:flex;gap:7px}.table-filters select{border:1px solid var(--line);border-radius:7px;background:white;padding:0 25px 0 10px;color:#69758a;font-size:9px}.table-filters .icon-btn{width:32px;height:32px;font-size:14px;border-radius:7px}.bulk-bar{display:none;align-items:center;gap:8px;background:#edf4ff;padding:8px 20px;color:var(--blue);font-size:10px}.bulk-bar.show{display:flex}.bulk-bar span{margin-right:auto;font-weight:700}.bulk-bar button{border:1px solid #bcd4f7;color:var(--blue);background:white;border-radius:6px;padding:5px 9px;font-size:9px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:950px}th{text-align:left;padding:10px 12px;background:#f8f9fb;color:#7c8799;font-size:8px;text-transform:uppercase;letter-spacing:.35px;font-weight:700;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}th:first-child,td:first-child{padding-left:20px;width:40px}td{padding:13px 12px;border-bottom:1px solid #edf0f4;font-size:9px;color:#4f5c71}tbody tr:hover{background:#fafbfc}.campaign-name{display:flex;align-items:center;gap:10px}.campaign-thumb{width:32px;height:32px;border-radius:7px;display:grid;place-items:center;font-size:15px}.campaign-name strong,.campaign-name small{display:block}.campaign-name strong{font-size:10px;color:#26354c}.campaign-name small{font-size:8px;color:#8b95a5;margin-top:3px}.status{display:inline-flex;align-items:center;gap:5px;font-size:8px;font-weight:700}.status i{width:6px;height:6px;border-radius:50%}.status.live{color:var(--green)}.status.live i{background:var(--green)}.status.paused{color:#8e98a7}.status.paused i{background:#9aa3b1}.roas{color:#1769e0;font-weight:700}.row-more{border:0;background:none;color:#98a2b2;font-weight:bold}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:11px 20px;color:#8a95a6;font-size:8px}.table-footer div{display:flex;gap:4px}.table-footer button{border:1px solid var(--line);background:#fff;width:25px;height:25px;border-radius:6px;color:#738097;font-size:9px}.table-footer button.active{border-color:#bcd5fb;color:var(--blue);background:#edf4ff}.table-footer button:disabled{opacity:.45}
footer{display:flex;justify-content:space-between;color:#9aa4b3;font-size:8px;padding:22px 2px 0}footer div{display:flex;gap:18px}

.modal-backdrop{position:fixed;inset:0;background:rgba(15,24,40,.48);z-index:50;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}.modal-backdrop.show{display:flex}.modal{width:min(510px,100%);background:white;border-radius:16px;padding:30px;position:relative;box-shadow:0 24px 80px rgba(0,0,0,.22);animation:modalIn .2s ease}.modal-close{position:absolute;right:15px;top:12px;border:0;background:none;color:#8791a2;font-size:24px}.modal-icon{width:40px;height:40px;display:grid;place-items:center;background:#eaf2ff;color:var(--blue);border-radius:10px;font-size:20px}.modal h2{font-size:20px;margin:16px 0 7px}.modal>p{font-size:11px;color:var(--muted);margin:0 0 20px}.objective-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.objective-grid button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px 10px;text-align:left;transition:.15s}.objective-grid button:hover,.objective-grid button.selected{border-color:#65a0ed;background:#f4f8ff;box-shadow:0 0 0 2px #dbeaff}.objective-grid span,.objective-grid b,.objective-grid small{display:block}.objective-grid span{color:var(--blue);font-size:20px;margin-bottom:12px}.objective-grid b{font-size:11px}.objective-grid small{color:var(--muted);font-size:8px;margin-top:4px}.modal-primary{width:100%;margin-top:20px}.toast{position:fixed;right:24px;bottom:24px;z-index:80;background:#1d2a3d;color:white;padding:11px 15px;border-radius:9px;display:flex;align-items:center;gap:9px;transform:translateY(80px);opacity:0;transition:.25s;box-shadow:0 10px 30px rgba(0,0,0,.2)}.toast.show{transform:translateY(0);opacity:1}.toast span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#1aa676;font-size:11px}.toast p{margin:0;font-size:10px}
@keyframes modalIn{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}

@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.analysis-grid{grid-template-columns:1fr}.donut-area{grid-template-columns:160px 1fr}.donut{margin:auto}.sidebar{width:210px}.main-content{margin-left:210px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.22s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 40px rgba(0,0,0,.15)}.main-content{margin-left:0}.mobile-menu{display:block}.topbar{height:62px;padding:0 16px}.topbar-left{gap:8px}.account-select div,.user-profile div,.user-profile b{display:none}.dashboard{padding:22px 15px}.page-heading{display:block}.heading-actions{margin-top:18px}.date-button{flex:1}.date-menu{left:0;right:auto;top:100px}.notice-bar p{line-height:1.5}.notice-bar>button:not(.notice-close){display:none}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi-card{padding:14px}.kpi-value{font-size:19px}.analysis-grid{display:block}.performance-panel{margin-bottom:12px}.panel-head{padding:16px}.metric-tabs button{padding:6px}.donut-area{grid-template-columns:125px 1fr;padding:10px 15px}.donut{width:115px;height:115px}.campaign-heading .outline-button{display:none}.table-toolbar{padding:10px 14px}.table-search{flex:1}.table-filters select,.table-filters .icon-btn:last-child{display:none}footer{display:block;text-align:center;line-height:2}footer div{justify-content:center;margin-top:7px}.objective-grid{grid-template-columns:1fr}.objective-grid button{display:grid;grid-template-columns:38px 1fr;column-gap:5px;padding:12px}.objective-grid button span{grid-row:1/3;margin:0}.modal{padding:23px}.user-profile{margin-left:0}}
@media(max-width:430px){.kpi-grid{grid-template-columns:1fr}.heading-actions{display:grid;grid-template-columns:1fr}.date-button,.primary-button{width:100%}.notice-icon{display:none}.chart-summary{align-items:flex-start}.legend{display:block}.legend span{margin:3px}.donut-area{grid-template-columns:1fr}.donut-legend{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.topbar-actions>.icon-btn:first-child{display:none}}

/* Dark performance workspace */
.dark-mode {
  --ink: #f2f6ff;
  --muted: #8491a8;
  --line: #26334a;
  --surface: #111a2a;
  --bg: #09111f;
  --blue: #438dff;
  --blue-dark: #2f76e2;
  --green: #32d39a;
  --red: #ff7180;
  --shadow: 0 1px 2px rgba(0,0,0,.18), 0 12px 32px rgba(0,0,0,.17);
  color-scheme: dark;
  background: radial-gradient(circle at 63% -15%, #172f55 0, #09111f 35%);
}
.dark-mode .sidebar,.dark-mode .topbar,.dark-mode .panel,.dark-mode .kpi-card { background: #111a2a; }
.dark-mode .sidebar { border-color: #202c40; }
.dark-mode .brand-mark { background: linear-gradient(145deg,#55a2ff,#2268da); }
.dark-mode .brand-logo { filter: invert(1) brightness(1.55); opacity:.96; }
.dark-mode .workspace-switcher,.dark-mode .icon-btn,.dark-mode .outline-button,.dark-mode .date-button { background:#151f31;border-color:#2a3850;color:#bac6d9; }
.dark-mode .workspace-avatar { background:linear-gradient(135deg,#39455c,#171f2f); }
.dark-mode .side-nav a { color:#8d9bb2; }
.dark-mode .side-nav a:hover { background:#172338;color:#f2f6ff; }
.dark-mode .side-nav a.active { background:#17345d;color:#72adff; }
.dark-mode .side-nav a.active>span { color:#72adff; }
.dark-mode .side-nav em { background:#1c2940;color:#91a2bb; }
.dark-mode .sidebar-help { background:#151f31; }
.dark-mode .topbar { background:rgba(12,20,34,.9);border-color:#202c40; }
.dark-mode .user-profile>span { background:#183b69;color:#84b8ff; }
.dark-mode .demo-chip { background:#473819;color:#f3c66e; }
.dark-mode .date-menu,.dark-mode .modal { background:#131e30;border-color:#2a3850; }
.dark-mode .date-menu button.selected,.dark-mode .date-menu button:hover { background:#19385f;color:#7eb4ff; }
.dark-mode .notice-bar { background:linear-gradient(90deg,#122744,#101d31);border-color:#244c7a; }
.dark-mode .notice-icon { background:#193a63;color:#78b2ff; }
.dark-mode .notice-bar p { color:#9eb1cc; }.dark-mode .notice-bar p strong{color:#dce9fb}
.dark-mode .kpi-card,.dark-mode .panel { border-color:#243149; }
.dark-mode .kpi-icon { background:color-mix(in srgb,var(--accent) 15%,#111a2a); }
.dark-mode .delta.up,.dark-mode .chart-summary>div:first-child span { color:#42d7a1;background:#12362f; }
.dark-mode .delta.down { color:#ff8490;background:#3d2029; }
.dark-mode .metric-tabs { background:#0b1422; }.dark-mode .metric-tabs button{color:#73849f}.dark-mode .metric-tabs button.active{background:#20304a;color:#f3f7ff;box-shadow:none}
.dark-mode .dot.pale { background:#516887; }
.dark-mode .donut:after { background:#111a2a; }.dark-mode .donut-legend span{color:#8796ad}
.dark-mode .text-button,.dark-mode .campaign-heading,.dark-mode .table-toolbar { border-color:#26334a; }
.dark-mode .table-search { background:#0c1524;border-color:#2a3850; }.dark-mode .table-search input{color:#eaf1fc}
.dark-mode .table-filters select { background:#151f31;border-color:#2a3850;color:#9eadc3; }
.dark-mode .bulk-bar { background:#142e50; }.dark-mode .bulk-bar button{background:#172740;border-color:#31577e;color:#77b0ff}
.dark-mode th { background:#0d1726;color:#75849b;border-color:#26334a; }.dark-mode td{color:#aab6c9;border-color:#222e42}.dark-mode tbody tr:hover{background:#152033}.dark-mode .campaign-name strong{color:#eef4fd}.dark-mode .campaign-name small{color:#718098}.dark-mode .table-footer button{background:#111c2d;border-color:#2a3850;color:#8494ab}.dark-mode .table-footer button.active{background:#19385f;border-color:#386ca5;color:#80b7ff}
.dark-mode .objective-grid button { background:#101a2b;border-color:#2a3850;color:#edf3fc; }.dark-mode .objective-grid button:hover,.dark-mode .objective-grid button.selected{background:#16335a;border-color:#4a8ddf;box-shadow:0 0 0 2px #203f65}
.dark-mode .toast { background:#e8f1ff;color:#132139; }

/* Precision audience finder */
.audience-panel { margin-bottom:16px;overflow:hidden;background:linear-gradient(145deg,#111c2f,#0e1727); }
.audience-head { display:flex;justify-content:space-between;align-items:center;padding:21px 22px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(38,118,226,.12),transparent 52%); }
.audience-title { display:flex;align-items:center;gap:14px; }.target-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#277be9,#153e77);display:grid;place-items:center;color:white;font-size:25px;box-shadow:0 0 24px rgba(50,136,255,.24)}
.eyebrow { color:#5d9df7;font-size:8px;letter-spacing:1.5px;font-weight:800;margin-bottom:4px; }.audience-title h2{margin:0;font-size:16px}.audience-title p{margin:5px 0 0;color:var(--muted);font-size:9px}
.audience-score { display:flex;align-items:baseline;background:#14283f;border:1px solid #24476a;border-radius:10px;padding:8px 13px;color:#8ba0ba; }.audience-score span{font-size:8px;margin-right:11px}.audience-score strong{color:#43d4a0;font-size:21px}.audience-score small{font-size:8px}
.target-controls { display:grid;grid-template-columns:repeat(3,minmax(135px,1fr)) auto;gap:9px;padding:13px 22px;border-bottom:1px solid var(--line);background:#0d1625; }.target-controls label{height:42px;border:1px solid #273650;background:#121e30;border-radius:8px;padding:6px 10px;display:flex;flex-direction:column}.target-controls label>span{font-size:7px;color:#697b96;margin-bottom:3px}.target-controls select{border:0;background:transparent;color:#d6e0ef;font-size:9px;outline:0;width:100%;padding:0}.scan-button{border:1px solid #315a8e;background:#19385f;color:#80b7ff;border-radius:8px;padding:0 14px;font-size:9px;font-weight:700}.scan-button span{margin-right:5px}.scan-button.scanning span{display:inline-block;animation:spin 1s linear infinite}
.audience-content { display:grid;grid-template-columns:minmax(0,1fr) 260px; }.prospect-list{padding:13px}.prospect-card{display:grid;grid-template-columns:32px minmax(220px,1fr) auto;align-items:center;gap:12px;border:1px solid transparent;border-radius:10px;padding:12px;margin-bottom:7px;cursor:pointer;transition:.18s;background:#0e1828}.prospect-card:last-child{margin-bottom:0}.prospect-card:hover{background:#121f33;border-color:#293b58}.prospect-card.selected{background:linear-gradient(90deg,#142b49,#111d30);border-color:#326599;box-shadow:inset 3px 0 #438dff}.prospect-rank{color:#4c607d;font-size:10px;font-weight:800;letter-spacing:.8px}.prospect-info>div:first-child{display:flex;align-items:center;gap:7px}.prospect-info strong{font-size:10px}.prospect-info p{font-size:8px;color:#75859d;margin:5px 0 7px}.prospect-info>div>span:not(.interest-tags span){font-size:7px;padding:3px 6px;border-radius:8px;font-weight:700}.hot-badge{background:#3b2e16;color:#f1bd5b}.lookalike-badge{background:#1a3151;color:#6ea9fa}.warm-badge{background:#2a2346;color:#a797f9}.interest-tags{display:flex;gap:4px}.interest-tags span{font-size:7px;color:#8292aa;background:#182337;border-radius:4px;padding:3px 5px}.prospect-metrics{display:flex;align-items:center;gap:23px}.prospect-metrics>div:not(.match-ring){min-width:68px}.prospect-metrics small,.prospect-metrics strong{display:block}.prospect-metrics small{font-size:7px;color:#71829b;margin-bottom:4px}.prospect-metrics strong{font-size:10px}.metric-green{color:#3dd09a}.match-ring{--score:90;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,#101b2d 56%,transparent 58%),conic-gradient(#3f8ff7 calc(var(--score)*1%),#26344a 0);text-align:center}.match-ring b{font-size:9px}.match-ring small{font-size:6px;color:#71829b;margin-top:-12px}
.audience-summary{border-left:1px solid var(--line);padding:18px;text-align:center;background:linear-gradient(180deg,#101c2e,#0b1524)}.summary-visual{width:110px;height:86px;position:relative;margin:1px auto 12px;display:grid;place-items:center}.radar-orbit{position:absolute;border:1px solid #264872;border-radius:50%}.orbit-one{width:67px;height:67px}.orbit-two{width:96px;height:96px;opacity:.5}.radar-core{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#1e4f85;color:#88bdff;font-size:19px;box-shadow:0 0 25px #2768a966}.signal{position:absolute;width:6px;height:6px;border-radius:50%;background:#4d9aff;box-shadow:0 0 8px #4d9aff}.s1{left:12px;top:25px}.s2{right:7px;top:42px}.s3{left:28px;bottom:2px}.audience-summary h3{font-size:12px;margin:0 0 6px}.audience-summary>p{font-size:8px;line-height:1.6;color:#7f90a8;margin:0 4px 14px}.audience-summary>p strong{color:#41d09a}.summary-stats{border-top:1px solid #223049;border-bottom:1px solid #223049;padding:10px 0;margin-bottom:12px;display:grid;grid-template-columns:1fr 1fr}.summary-stats>div:first-child{border-right:1px solid #223049}.summary-stats span,.summary-stats strong{display:block}.summary-stats span{font-size:7px;color:#71829b;margin-bottom:4px}.summary-stats strong{font-size:9px}.apply-audience{width:100%;height:36px;font-size:9px}.privacy-note{display:block;color:#596a83;font-size:6px;margin-top:9px}
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:1000px){.target-controls{grid-template-columns:repeat(3,1fr)}.scan-button{grid-column:1/-1;height:36px}.audience-content{grid-template-columns:1fr}.audience-summary{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:120px 1fr 1fr;align-items:center;gap:12px;text-align:left}.summary-visual{grid-row:1/4;margin:0}.audience-summary>p{margin:0}.summary-stats{margin:0}.apply-audience,.privacy-note{grid-column:2/4}}
@media(max-width:760px){.audience-head{padding:16px}.audience-score{display:none}.target-controls{grid-template-columns:1fr 1fr;padding:12px 14px}.target-controls label:nth-child(3){grid-column:1/-1}.prospect-card{grid-template-columns:26px 1fr}.prospect-metrics{grid-column:2;justify-content:space-between;margin-top:4px}.audience-summary{display:block;text-align:center}.summary-visual{margin:0 auto 11px}.audience-summary>p{margin-bottom:12px}.summary-stats{margin-bottom:12px}.apply-audience,.privacy-note{width:100%}}
@media(max-width:430px){.target-controls{grid-template-columns:1fr}.target-controls label:nth-child(3),.scan-button{grid-column:auto}.prospect-card{padding:11px 8px;gap:7px}.prospect-rank{display:none}.prospect-card{grid-template-columns:1fr}.prospect-metrics{grid-column:1;gap:8px}.prospect-info>div:first-child{flex-wrap:wrap}.match-ring{width:44px;height:44px}}
.target-controls { grid-template-columns:repeat(4,minmax(120px,1fr)) auto; }
.target-controls .exclude-field { border-color:#4b3443;background:#1d1824; }
.target-controls .exclude-field>span { color:#c17c91; }
@media(max-width:1000px){.target-controls{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.target-controls{grid-template-columns:1fr 1fr}.target-controls label:nth-child(3){grid-column:auto}.scan-button{grid-column:1/-1}}
@media(max-width:430px){.target-controls{grid-template-columns:1fr}.scan-button{grid-column:auto}}
