@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Serif:wght@600&display=swap";:root{--ink: #1f1a2e;--ink-soft: #4a4258;--muted: #6b6280;--line: #e1dcee;--paper: #f7f5fc;--panel: #ffffff;--brand: #7c3aed;--brand-deep: #5b21b6;--brand-soft: #ede9fe;--accent: #d946ef;--danger: #b42318;--ok: #15803d;--warn: #92400e;--shadow: 0 18px 40px rgba(31, 26, 46, .1);--radius: 14px;--font: "IBM Plex Sans", "Segoe UI", sans-serif;--display: "IBM Plex Serif", Georgia, serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%,#ede9fe 0%,transparent 55%),radial-gradient(900px 400px at 100% 0%,#fae8ff 0%,transparent 45%),var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--brand)}#app{min-height:100vh}.field{display:grid;gap:6px;margin-bottom:14px}.field label{font-size:.85rem;font-weight:600;color:var(--ink-soft)}.field input,.field select,.field textarea,.control{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:.9rem;background:#fff;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus,.control:focus{outline:2px solid rgba(31,107,92,.25);border-color:var(--brand)}.btn{border:none;border-radius:9px;padding:8px 12px;font-size:.88rem;font-weight:600;transition:transform .15s ease,background .15s ease,opacity .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-deep)}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink-soft)}.btn-ghost:hover{background:#f3effa}.btn-logout{color:#f1ebfa;border-color:#fff3}.btn-logout:hover{background:#ffffff14;color:#fff}.btn-block{width:100%}.error-banner{background:#fdecec;color:var(--danger);border:1px solid #f3c5c1;border-radius:10px;padding:10px 12px;margin-bottom:14px;font-size:.9rem}.success-banner{background:#e9f6ee;color:var(--ok);border:1px solid #bfe4cd;border-radius:10px;padding:10px 12px;margin-bottom:14px;font-size:.9rem}.credential-reveal{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}.credential-reveal code{background:#1f1a2e;color:#ede9fe;padding:6px 10px;border-radius:8px;font-size:.95rem;letter-spacing:.02em}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:32px 28px}.login-card h1{font-family:var(--display);font-size:1.7rem;margin:0 0 6px}.login-card p{margin:0 0 22px;color:var(--muted);line-height:1.45}.app-shell{height:100vh;display:grid;grid-template-columns:250px 1fr;overflow:hidden}.sidebar{background:linear-gradient(180deg,#3f1d78,#1a1030);color:#f1ebfa;padding:22px 16px;display:flex;flex-direction:column;gap:18px;height:100vh;overflow-y:auto}.brand-block h1{font-family:var(--display);font-size:1.35rem;margin:0;letter-spacing:-.02em}.brand-block p{margin:6px 0 0;color:#c9b8e8;font-size:.85rem;line-height:1.4}.nav-list{display:grid;gap:6px}.nav-btn{text-align:left;border:none;background:transparent;color:#d9cdf0;padding:10px 12px;border-radius:10px;font-weight:500}.nav-btn:hover,.nav-btn.active{background:#ffffff1a;color:#fff}.sidebar-footer{margin-top:auto;display:grid;gap:8px}.user-chip{font-size:.85rem;color:#c9b8e8}.main{height:100vh;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:28px}.content-area{flex:1 1 auto;min-width:0;overflow-y:auto;overflow-x:hidden;padding-right:4px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.page-header h2{font-family:var(--display);margin:0 0 6px;font-size:1.7rem}.page-header p{margin:0;color:var(--muted);max-width:60ch;line-height:1.45}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;min-width:0;max-width:100%}.ads-from-search{min-width:0;max-width:100%}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-bottom:14px}.toolbar .field{margin:0;min-width:160px}@media (max-width: 900px){.app-shell{height:auto;overflow:visible;grid-template-columns:1fr}.sidebar{height:auto;overflow:visible;padding-bottom:12px;gap:12px}.nav-list{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:4px}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.main{height:auto;overflow:visible;padding:18px 14px 40px}.content-area{overflow:visible;padding-right:0}.page-header{flex-direction:column}}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.stat-card{background:#f8f6fc;border:1px solid var(--line);border-radius:11px;padding:10px 12px}.stat-card .label{display:block;font-size:.74rem;color:var(--muted);margin-bottom:3px}.stat-card .value{font-size:1.15rem;font-weight:700}.progress-box{border:1px solid var(--line);border-radius:12px;padding:14px;background:linear-gradient(180deg,#fbf9fe,#f8f6fc);margin-bottom:16px}.progress-box .bar{height:10px;background:#e8e3f2;border-radius:999px;overflow:hidden;margin:10px 0}.progress-box .bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--accent));width:0%;transition:width .3s ease}.domain-pills{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.8rem}.pill.shopify{background:#e7f7ee;border-color:#b9e3c8}.pill.restricted{background:#e8f1ff;border-color:#c5d8f7}.pill.hot{background:var(--brand);color:#fff;border-color:var(--brand)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;display:flex;flex-direction:column;height:100%}.thumb-wrap{position:relative;flex-shrink:0}.card img.thumb{width:100%;height:150px;object-fit:cover;background:#f1edf9;flex-shrink:0}.ad-status-banner{position:absolute;top:8px;left:8px;padding:3px 9px;border-radius:999px;font-size:.68rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.02em;box-shadow:0 2px 6px #00000040}.ad-status-banner.hot{background:var(--brand)}.ad-status-banner.contacted{background:#d97706}.ad-status-banner.interested{background:#0f766e}.ad-status-banner.shopify{left:auto;right:8px;background:#0f6b3c}.thumb-placeholder{height:150px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(180deg,#f1edf9,#e5daf2);color:var(--muted)}.thumb-placeholder-icon{font-size:1.7rem;opacity:.55;filter:grayscale(1)}.thumb-placeholder-label{font-size:.72rem;font-weight:600;letter-spacing:.01em}.card .body{padding:12px;display:flex;flex-direction:column;gap:8px;flex:1 1 auto}.card h3{margin:0;font-size:1rem}.card .copy{font-size:.88rem;color:var(--ink-soft);line-height:1.4;max-height:4.2em;overflow:hidden}.card .meta{font-size:.78rem;color:var(--muted)}.card .actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:auto;padding-top:4px}.card-title-link{color:inherit;text-decoration:none;cursor:pointer}.card-title-link:hover{color:var(--brand)}.icon-link{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);display:grid;place-items:center;text-decoration:none;flex-shrink:0}.icon-link:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.icon-link.facebook{color:#1877f2}.icon-link.facebook:hover{background:#e8f0fe;border-color:#1877f2;color:#1877f2}.icon-svg,.icon-svg svg{width:14px;height:14px;display:block}.hot-prospect-list{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 16px}.hot-prospect-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;text-decoration:none;color:inherit;max-width:240px}.hot-prospect-chip:hover{border-color:var(--brand);background:var(--brand-soft)}.hot-prospect-chip .name{font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hot-prospect-chip .meta{font-size:.72rem;color:var(--muted)}.badge.hot{background:var(--brand-soft);color:var(--brand-deep)}.badge.shopify{background:#e7f7ee;color:#0f6b3c;border:1px solid #b9e3c8;text-transform:none}.btn-icon-remove{margin-left:auto;width:26px;height:26px;flex-shrink:0;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:.8rem;line-height:1;display:grid;place-items:center;cursor:pointer}.btn-icon-remove:hover{background:#fdecec;border-color:#f3b7b7;color:var(--danger)}.btn-icon-remove:disabled{opacity:.4;cursor:not-allowed}.ad-term-groups,.ad-term-group{min-width:0;max-width:100%}.ad-term-groups{display:flex;flex-direction:column;gap:20px}.ad-term-group-header{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.ad-term-group-header h4{margin:0;font-size:.95rem;font-weight:700}.ad-term-group-count{font-size:.78rem;color:var(--muted)}.ad-carousel{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;width:100%;min-width:0;overflow:visible;padding-bottom:10px}.ad-carousel .card{flex:0 0 200px;width:200px;height:360px}.ad-carousel .card img.thumb,.ad-carousel .card .thumb-placeholder{height:130px}.ad-carousel .card .body{min-height:0;overflow:hidden}.ad-carousel .card h3{font-size:.9rem;line-height:1.25;min-height:2.5em;max-height:2.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ad-carousel .card .copy{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;font-size:.82rem;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.ad-carousel .card .meta,.ad-carousel .card .actions{flex-shrink:0}.keyword-picker{display:flex;flex-direction:column;gap:4px;width:100%;max-width:920px}.keyword-picker .chip-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:4px 5px;background:#fff}.keyword-picker .chip-row:focus-within{outline:2px solid rgba(124,58,237,.25);border-color:var(--brand)}.keyword-chip{display:inline-flex;align-items:center;gap:2px;background:var(--brand-soft);color:var(--brand-deep);border-radius:999px;padding:3px 3px 3px 9px;font-size:.78rem;font-weight:600;white-space:nowrap}.keyword-chip button{border:none;background:transparent;color:var(--brand-deep);cursor:pointer;font-size:.85rem;line-height:1;padding:1px 5px;border-radius:999px}.keyword-chip button:hover{background:#5b21b61f}.keyword-picker input.chip-text-input{border:none;outline:none;flex:1 1 220px;min-width:180px;padding:4px 3px;background:transparent;font-size:.85rem}.keyword-picker .chip-icon-btn{border:none;width:24px;height:24px;border-radius:999px;display:grid;place-items:center;font-size:.95rem;line-height:1;flex-shrink:0}.keyword-picker .chip-add-btn{background:var(--brand);color:#fff}.keyword-picker .chip-add-btn:disabled{opacity:.35;cursor:not-allowed}.keyword-picker .chip-surprise-btn{background:transparent;color:var(--brand);border:1px solid var(--brand-soft)}.keyword-picker .chip-surprise-btn:hover{background:var(--brand-soft)}.keyword-picker-footer{display:flex;justify-content:flex-end;min-height:16px}.keyword-picker .chip-clear-all{font-size:.75rem;color:var(--muted);background:transparent;border:none;text-decoration:underline;cursor:pointer;padding:0}.keyword-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);max-height:220px;overflow:auto;z-index:20}.keyword-suggestions button{display:block;width:100%;text-align:left;border:none;background:transparent;padding:8px 12px;font-size:.9rem}.keyword-suggestions button:hover,.keyword-suggestions button.active{background:#f3effa}.batch-progress{display:grid;gap:5px;margin:10px 0;max-height:230px;overflow-y:auto;padding-right:4px}.batch-progress-item{display:flex;align-items:center;gap:7px;font-size:.82rem;padding:5px 9px;border-radius:8px;background:#f8f6fc;border:1px solid var(--line)}.batch-progress-item .status-icon{width:16px;height:16px;border-radius:999px;display:grid;place-items:center;flex-shrink:0;font-size:.62rem;background:#e8e3f2;color:var(--muted)}.batch-progress-item.running .status-icon{background:var(--brand);color:#fff}.batch-progress-item.done .status-icon{background:var(--ok);color:#fff}.batch-progress-item.error .status-icon{background:var(--danger);color:#fff}.batch-progress-item .term-name{font-weight:600}.batch-progress-item .term-detail{color:var(--muted);margin-left:auto}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table.data{width:100%;border-collapse:collapse;font-size:.92rem}table.data th,table.data td{padding:12px;border-bottom:1px solid #e7e2f0;text-align:left;vertical-align:top}table.data th{background:#f8f6fc;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.75rem;font-weight:600;background:#f0edf7;color:var(--ink-soft);text-transform:capitalize}.badge.interested,.badge.customer{background:var(--brand-soft);color:var(--brand-deep)}.badge.contacted{background:#fff4e5;color:var(--warn)}.badge.not_interested,.badge.inactive{background:#fdecec;color:var(--danger)}.badge.active{background:var(--brand-soft);color:var(--brand-deep)}.empty{padding:28px;text-align:center;color:var(--muted)}.detail-panel{background:#f9f7fc;border:1px solid var(--line);border-radius:12px;padding:14px}.activity-item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px}.activity-item .when{font-size:.78rem;color:var(--muted);margin-bottom:4px}
