:root {
  color-scheme: dark;
  --ink: #07101d;
  --panel: #101d2d;
  --panel-2: #142338;
  --line: #304157;
  --paper: #f5f7fb;
  --muted: #95a4b7;
  --gold: #d9af43;
  --gold-soft: #f4cf67;
  --green: #3ddc84;
  --yellow: #f2c94c;
  --red: #ef6a72;
  --lime: #a9f414;
  --lime-soft: #d3ff73;
}

[hidden] { display: none !important; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(circle at 62% 0, #14243a, transparent 32%), var(--ink);
  color: var(--paper);
  font: 15px/1.5 Arial, Helvetica, sans-serif;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }
a { color: inherit; }
h1 { margin: 0; font-size: clamp(34px, 4vw, 52px); letter-spacing: -1.8px; line-height: 1.05; }
h2 { margin: 0 0 10px; font-size: 26px; }

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  text-decoration: none;
  letter-spacing: 5px;
  font-size: 22px;
}
.brand i {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 2px solid var(--gold);
  border-radius: 50%;
  color: var(--gold);
  font: 29px Georgia, serif;
}
.brand small { display: block; margin-top: 3px; color: var(--gold); font-size: 9px; letter-spacing: 4px; }
.eyebrow { margin: 0 0 12px; color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: 2px; }
.intro { max-width: 820px; color: var(--muted); line-height: 1.65; }

.primary, .secondary, .button-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 24px;
  padding: 11px 21px;
  font-weight: 700;
  text-decoration: none;
}
.primary { border: 0; background: linear-gradient(135deg, #e2b646, #ffdc72); color: #162030; }
.primary:hover { filter: brightness(1.06); transform: translateY(-1px); }
.secondary { border: 1px solid #63748a; background: transparent; color: #e7ebf2; }
.secondary:hover { border-color: var(--gold); color: var(--gold-soft); }
.danger-button { min-height: 44px; padding: 11px 21px; border: 1px solid #a84d55; border-radius: 24px; background: #32161b; color: #ffb6bc; font-weight: 700; }
.danger-button:hover { border-color: #ef6a72; background: #461c23; color: #fff; }
.small-button { min-height: 36px; padding: 7px 14px; font-size: 12px; }
.text-link { color: var(--gold-soft); font-size: 12px; font-weight: 700; text-decoration: none; }
.text-link:hover { text-decoration: underline; }

.access-page { display: grid; place-items: center; padding: 24px; }
.access-card {
  width: min(520px, 100%);
  padding: 42px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(145deg, #122034, #091321);
  box-shadow: 0 25px 80px #0007;
}
.access-card .brand { margin-bottom: 38px; }
.access-card h1 { font-size: 36px; }
.google-access-control {
  display: flex;
  width: min(360px, 100%);
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 24px auto 0;
  padding: 5px 6px 5px 18px;
  border: 1px solid #42536a;
  border-radius: 999px;
  background: #202124;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
#google-button {
  display: flex;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 50%;
  background: transparent;
  line-height: 0;
}
#google-button > div {
  margin: 0 !important;
}
#google-button iframe {
  display: block !important;
  margin: 0 !important;
  border: 0 !important;
}
.full-button { width: 100%; margin-top: 18px; }
.access-note { margin-top: 24px; color: #8596aa; font-size: 13px; }
.email-preview-access { margin-top: 18px; }
.access-divider { display: flex; align-items: center; gap: 10px; margin: 18px 0; color: #718196; font-size: 11px; text-transform: uppercase; }
.access-divider::before, .access-divider::after { height: 1px; flex: 1; background: #304157; content: ""; }
.email-preview-access form { display: grid; gap: 10px; margin-top: 14px; padding: 16px; border: 1px solid #34465b; border-radius: 12px; background: #0b1727; }
.email-preview-access form[hidden] { display: none; }
.email-preview-access form p, .email-provider-note { margin: 0; color: #93a3b6; font-size: 11px; line-height: 1.55; }
.email-preview-access form small { color: #b7c4d3; }
.email-provider-note { margin-top: 14px; }
.notice { padding: 14px; border: 1px solid #80672e; border-radius: 9px; background: #2d2718; color: #f2d98e; }
.form-message { min-height: 24px; margin: 16px 0 0; color: #e9c35b; font-size: 13px; font-weight: 700; }
.success-message { color: var(--green); }
.error-message { color: #ff8d94; }

.portal-shell { display: grid; grid-template-columns: 300px minmax(0, 1fr); min-height: 100vh; }
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 30px 26px;
  border-right: 1px solid #1d2b3b;
  background: linear-gradient(180deg, #07111e, #091320 70%, #0b1320);
}
.sidebar-title { margin: 42px 0 16px; }
.sidebar nav { display: grid; }
.sidebar nav { scrollbar-width: none; }
.sidebar nav::-webkit-scrollbar { display: none; }
.nav-step {
  display: flex;
  min-height: 72px;
  align-items: center;
  gap: 14px;
  padding: 12px 10px 12px 16px;
  border-left: 1px solid #344151;
  color: #bdc5d0;
  text-align: left;
  text-decoration: none;
}
.nav-step b {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border: 1px solid #718094;
  border-radius: 50%;
  font-size: 12px;
}
.nav-step span { font-weight: 700; }
.nav-step small { display: block; margin-top: 3px; color: #748398; font-size: 11px; font-weight: 400; }
.nav-step.current, .nav-step:hover { border: 1px solid #8e6e28; border-radius: 10px; background: linear-gradient(90deg, rgba(217,175,67,.15), transparent); color: #f6d375; }
.sidebar-note { position: absolute; right: 26px; bottom: 26px; left: 26px; padding: 14px; border: 1px solid #4f4528; border-radius: 10px; color: #9ca9b9; font-size: 11px; }

.content { width: 100%; max-width: 1540px; min-width: 0; margin: auto; padding: 0 clamp(24px, 4vw, 64px) 70px; }
.portal-header { display: flex; min-height: 108px; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 46px; padding: 20px 0; border-bottom: 1px solid #263649; }
.portal-header strong { display: block; color: #f1c958; font-size: 15px; }
.portal-header small { color: #91a0b2; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.badge, .muted-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 7px 11px; font-size: 11px; font-weight: 700; }
.demo-badge { border: 1px solid #7b642b; background: #2c2618; color: #f0cf73; }
.muted-pill { border: 1px solid #35465b; color: #9fadc0; }
.hero-section { scroll-margin-top: 20px; }
.dashboard-heading { align-items: flex-start; }

.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin: 30px 0 18px; }
.stats article { min-height: 148px; padding: 20px; border: 1px solid #344458; border-top: 4px solid var(--green); border-radius: 12px; background: #111f30; }
.stats article.yellow { border-top-color: var(--yellow); }
.stats article.red { border-top-color: var(--red); }
.stats span, .stats small { color: #9eacbc; font-size: 12px; }
.stats b { display: block; margin: 4px 0; color: #f2c95e; font-size: 32px; }
.stats i { font-style: normal; }

.card { padding: 32px; border: 1px solid #2d3d50; border-radius: 18px; background: linear-gradient(145deg, rgba(18,32,50,.97), rgba(9,19,32,.99)); box-shadow: 0 20px 70px #0004; }
.overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 38px; }
.compact-card { padding: 24px; box-shadow: none; }
.card-title-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.card-title-row h2 { font-size: 20px; }
.metric-total { color: var(--gold-soft); font-size: 34px; }
.distribution { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 18px; }
.distribution div { position: relative; padding: 15px 14px; border: 1px solid #304157; border-radius: 10px; background: #0b1727; }
.distribution small { display: block; color: #92a2b4; }
.distribution b { display: block; margin-top: 4px; font-size: 22px; }
.dot { position: absolute; top: 15px; right: 13px; width: 8px; height: 8px; border-radius: 50%; }
.green-dot { background: var(--green); box-shadow: 0 0 12px var(--green); }
.yellow-dot { background: var(--yellow); box-shadow: 0 0 12px var(--yellow); }
.red-dot { background: var(--red); box-shadow: 0 0 12px var(--red); }

.search-card, .results-section, .activity-card, .method-card { scroll-margin-top: 20px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr auto; gap: 16px; align-items: end; margin-top: 24px; }
.input span { display: block; margin: 0 0 8px; color: #d8dde6; font-size: 13px; }
.input input, .input select, .input textarea {
  width: 100%;
  min-height: 47px;
  padding: 12px 13px;
  border: 1px solid #344458;
  border-radius: 8px;
  outline: none;
  background: #101d2d;
  color: #eef1f6;
}
.input textarea { min-height: 90px; resize: vertical; }
.input input:focus, .input select:focus, .input textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px #d9af431e; }
.form-submit { min-width: 170px; white-space: nowrap; }
.form-submit.loading span::before { display: inline-block; width: 12px; height: 12px; margin-right: 8px; border: 2px solid #172131; border-right-color: transparent; border-radius: 50%; content: ""; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.source-pills { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.source-pills span { padding: 7px 10px; border: 1px solid #5c5030; border-radius: 999px; background: #2c2618; color: #e8c76a; font-size: 11px; }
.source-summary { margin: 20px 0 12px; color: #e7c35d; font-size: 13px; font-weight: 800; }
.source-list { display: grid; gap: 12px; }
.source-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; padding: 20px; border: 1px solid #344458; border-left: 4px solid var(--green); border-radius: 12px; background: #101d2d; }
.source-card.blocked { border-left-color: var(--red); }
.source-card h3 { margin: 5px 0; font-size: 20px; }
.source-card p { margin: 5px 0; color: #b8c4d2; }
.source-card small { display: block; margin-top: 7px; color: #91a3b7; }
.source-actions { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 12px; }
.automation-state { display: inline-flex; margin-top: 12px; padding: 5px 9px; border: 1px solid #675929; border-radius: 999px; color: #e9ca73; font-size: 11px; }
.automation-preview { margin: 20px 0 42px; }
.preview-only-pill { padding: 8px 12px; border: 1px solid #80672e; border-radius: 999px; background: #2d2718; color: #f2d98e; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.preview-warning { margin: 20px 0; padding: 15px 17px; border: 1px solid #80672e; border-radius: 12px; background: linear-gradient(135deg, #302817, #171710); color: #eadcae; }
.automation-preview-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, .75fr); gap: 16px; align-items: stretch; }
.automation-editor h3, .saved-preview-heading h3, .saved-automation-card h4 { margin: 0; }
.automation-editor > .input { display: block; margin: 22px 0 15px; }
.preview-filter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.preview-filter-grid .wide { grid-column: 1 / -1; }
.preview-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.next-run-card { display: flex; min-height: 260px; flex-direction: column; justify-content: center; }
.next-run-card strong { color: var(--lime-soft); font-size: clamp(34px, 4vw, 54px); letter-spacing: 1px; }
.next-run-card span { margin-top: 10px; color: #d9e2ec; }
.next-run-card small { margin-top: 20px; color: var(--muted); }
.saved-preview-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 34px 0 14px; }
.saved-automation-list { display: grid; gap: 12px; }
.saved-automation-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px; padding: 22px; border: 1px solid #304157; border-radius: 14px; background: linear-gradient(145deg, #111f30, #091421); }
.saved-automation-card h4 { margin-top: 9px; font-size: 20px; }
.saved-automation-card .card-title-row > b { color: var(--gold-soft); font-size: 12px; }
.status-chip { display: inline-flex; padding: 5px 9px; border: 1px solid #59697d; border-radius: 999px; color: #b8c4d2; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.status-chip.active { border-color: #2e9760; background: #123522; color: #87edb4; }
.status-chip.paused { border-color: #80672e; background: #2d2718; color: #f2d98e; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0; }
.filter-chips span { padding: 6px 9px; border: 1px solid #3b4c61; border-radius: 999px; background: #0b1727; color: #bac6d4; font-size: 11px; }
.saved-automation-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.saved-automation-card dl div { padding: 10px; border-left: 2px solid #42546a; }
.saved-automation-card dt { color: #8292a6; font-size: 10px; text-transform: uppercase; }
.saved-automation-card dd { margin: 4px 0 0; color: #e4eaf1; font-size: 12px; }
.saved-automation-actions { display: flex; flex-direction: column; justify-content: center; gap: 9px; }
.heading-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 9px; }
.info-button { position: relative; display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border: 1px solid #62738a; border-radius: 50%; background: #0b1727; color: var(--gold-soft); font: 700 17px Georgia, serif; }
.info-button:hover, .info-button:focus-visible { border-color: var(--gold); background: #202012; outline: none; }
.info-button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.method-card { position: relative; }
.module-info-corner { position: absolute; top: 22px; right: 22px; }
.module-info-dialog { width: min(760px, calc(100% - 32px)); max-height: min(82vh, 820px); overflow: auto; padding: 26px; border: 1px solid #40536a; border-radius: 16px; background: linear-gradient(145deg, #132238, #091421); color: var(--paper); box-shadow: 0 30px 90px #000b; }
.module-info-dialog::backdrop { background: #02060cc7; backdrop-filter: blur(4px); }
.module-info-dialog p { color: #b7c4d3; line-height: 1.7; }
.module-info-content { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.module-info-content section { padding: 15px; border: 1px solid #34475c; border-radius: 11px; background: #0b1727; }
.module-info-content h3 { margin: 0 0 7px; color: var(--gold-soft); font-size: 14px; }
.module-info-content p, .module-info-content ol { margin: 0; color: #b7c4d3; font-size: 12px; line-height: 1.65; }
.module-info-content ol { padding-left: 19px; }
.module-info-content .help-limit { border-color: #80672e; background: #282313; }
.dashboard-automation-dock { display: flex; justify-content: flex-end; margin: 0 0 12px; }
.dashboard-automation-dock button { display: flex; min-width: 240px; align-items: center; justify-content: space-between; gap: 18px; border-color: #788b41; background: #111c14; border-radius: 12px; }
.dashboard-automation-dock button span { color: var(--lime-soft); }
.dashboard-automation-dock button b { font-size: 11px; }
.dashboard-automation-quick { display: grid; grid-template-columns: minmax(220px, 1.15fr) minmax(220px, 1fr) auto minmax(250px, 1fr); align-items: end; gap: 14px; margin: 0 0 26px; padding: 20px; border: 1px solid #526929; border-radius: 14px; background: linear-gradient(135deg, #15210d, #0b1518 56%, #101d2d); }
.dashboard-automation-quick[hidden] { display: none; }
.dashboard-automation-quick h2, .dashboard-automation-quick p { margin: 0; }
.dashboard-automation-quick > div:first-child p:last-child { margin-top: 5px; color: var(--muted); font-size: 12px; }
.quick-countdown { display: flex; flex-direction: column; }
.quick-countdown small { color: #8291a4; }
.quick-countdown strong { color: var(--lime-soft); font-size: 27px; line-height: 1.15; }
.quick-countdown span { max-width: 260px; color: #b9c6d4; font-size: 10px; }
.quick-automation-details { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.quick-automation-details div { padding: 11px; border: 1px solid #35485e; border-radius: 9px; background: #0a1625; }
.quick-automation-details .wide { grid-column: 1 / -1; }
.quick-automation-details span, .quick-automation-details b { display: block; }
.quick-automation-details span { color: #8192a6; font-size: 10px; text-transform: uppercase; }
.quick-automation-details b { margin-top: 4px; color: #e4ebf2; font-size: 12px; }
.quick-automation-actions { display: flex; grid-column: 1 / -1; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.preview-safety-note { grid-column: 1 / -1; margin: 0; color: #d8c58c; font-size: 11px; }
.prompt-builder { margin: 16px 0; padding: 24px; }
.prompt-builder h3 { margin: 0; font-size: 23px; }
.prompt-builder > div:first-child > p:last-child { color: var(--muted); }
.prompt-builder textarea { min-height: 92px; }
.prompt-criteria-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 20px 0 12px; }
.prompt-criteria-summary div { padding: 13px; border: 1px solid #3a4c60; border-radius: 10px; background: #0a1625; }
.prompt-criteria-summary span, .prompt-criteria-summary b { display: block; }
.prompt-criteria-summary span { color: #7f90a4; font-size: 10px; text-transform: uppercase; }
.prompt-criteria-summary b { margin-top: 5px; color: #e8edf3; font-size: 12px; }
.target-explanation { margin: 14px 0 4px; padding: 11px 13px; border-left: 3px solid var(--lime); background: #111c14; color: #aebdad; font-size: 12px; }
.target-explanation strong { color: var(--lime-soft); }
.crm-preview-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 18px 0; padding: 14px 16px; border: 1px solid #45576d; border-radius: 12px; background: #0b1625; }
.crm-preview-toolbar > div:first-child { display: grid; gap: 5px; }
.crm-preview-toolbar > div:first-child strong { font-size: 17px; }
.crm-preview-toolbar > div:first-child small { color: var(--muted); }
.presentation-select { min-width: 230px; }
.presentation-select span { margin-bottom: 3px; font-size: 10px; }
.presentation-select select { min-height: 38px; padding: 7px 10px; }
.crm-board-safety { position: sticky; left: 0; margin-bottom: 10px; padding: 10px 12px; border: 1px solid #80672e; border-radius: 9px; background: #292314; color: #e8cf86; font-size: 11px; font-weight: 700; }
.crm-search-context { display: inline-flex; margin-left: 10px; padding-left: 10px; border-left: 1px solid #80672e; color: #fff0b9; }
.crm-preview-board { max-width: 100%; overflow-x: auto; padding-bottom: 12px; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.crm-board-track { display: flex; width: max-content; min-width: 100%; gap: 12px; align-items: flex-start; }
.crm-column { width: 290px; min-width: 290px; min-height: 390px; padding: 12px; border: 1px solid #34465a; border-radius: 13px; background: #0a1421; }
.crm-column.drop-target { border-color: var(--lime); background: #101d16; box-shadow: inset 0 0 0 2px #a9f41433, 0 0 24px #a9f4141f; }
.crm-column > header { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.crm-column > header input { min-width: 0; flex: 1; padding: 8px; border: 1px solid transparent; background: transparent; color: #f0f3f7; font-weight: 800; }
.crm-column > header input:focus { border-color: var(--gold); border-radius: 6px; outline: none; }
.crm-column > header span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: #243349; color: #cbd4df; font-size: 11px; }
.crm-column-cards { display: grid; gap: 9px; }
.crm-board-card, .crm-trello-card { padding: 14px; border: 1px solid #40536a; border-radius: 10px; background: linear-gradient(145deg, #15243a, #0e1b2c); box-shadow: 0 8px 20px #0003; }
.crm-board-card.dragging { opacity: .48; transform: rotate(1deg); }
.crm-drag-handle { display: flex; align-items: center; justify-content: center; gap: 6px; margin: -4px -4px 10px; padding: 7px; border: 1px dashed #5f7188; border-radius: 7px; background: #0a1421; color: #aebdcd; cursor: grab; font-size: 10px; font-weight: 800; letter-spacing: .4px; user-select: none; touch-action: none; }
.crm-drag-handle:active { cursor: grabbing; }
.crm-drag-handle:focus-visible { border-color: var(--gold); outline: 2px solid #d9af4333; }
.crm-pointer-dragging, .crm-pointer-dragging * { cursor: grabbing !important; }
.crm-board-card b, .crm-board-card small { display: block; }
.crm-board-card small { margin: 5px 0 10px; color: #91a1b4; }
.crm-board-card label, .crm-trello-card label { display: grid; gap: 4px; margin-top: 12px; color: #8292a6; font-size: 10px; }
.crm-board-card select, .crm-trello-card select, .crm-preview-table select { width: 100%; min-height: 36px; padding: 7px; border: 1px solid #43566d; border-radius: 7px; background: #09131f; color: #eef2f6; }
.crm-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(235px, 1fr)); gap: 12px; }
.crm-trello-card h3 { margin: 12px 0 5px; font-size: 18px; }
.crm-trello-card p { margin: 0; color: #c3ceda; }
.crm-trello-card > small { color: #8e9eb0; }
.crm-trello-card > button { width: 100%; margin-top: 12px; }
.crm-table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid #34465a; border-radius: 12px; -webkit-overflow-scrolling: touch; }
.crm-preview-table table { width: 100%; min-width: 1180px; border-collapse: collapse; background: #0a1421; }
.crm-preview-table th { position: sticky; top: 0; padding: 11px; background: #17263a; color: #e8c867; font-size: 11px; text-align: left; white-space: nowrap; }
.crm-preview-table td { padding: 11px; border-top: 1px solid #28394d; color: #c7d1dd; font-size: 12px; vertical-align: top; }
.crm-preview-table td strong, .crm-preview-table td small { display: block; }
.crm-preview-table td small { color: #8292a6; }
.table-copy-value { display: block; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.table-copy-button { margin-top: 5px; padding: 3px 7px; border: 1px solid #566980; border-radius: 5px; background: transparent; color: #c9d4df; font-size: 10px; }
.copy-field-list { display: grid; gap: 8px; margin-top: 8px; }
.copy-field-list > div { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid #35485e; border-radius: 9px; background: #0a1625; }
.copy-field-list > div > span { color: #8495a9; font-size: 11px; }
.copy-field-list b { overflow-wrap: anywhere; font-size: 12px; }
.copied { border-color: #3ddc84 !important; color: #75eda8 !important; }
.warmup-preview-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .75fr); gap: 16px; margin-top: 18px; }
.warmup-planner, .ghl-preview-card { padding: 22px; border: 1px solid #34465a; border-radius: 14px; background: #0a1625; }
.warmup-planner h3, .ghl-preview-card h3, .warmup-queue-heading h3 { margin: 0; }
.warmup-planner > div:first-child p:last-child { color: var(--muted); }
.warmup-planner > .input { display: block; margin: 16px 0 12px; }
.warmup-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin-bottom: 15px; }
.warmup-form-grid .wide { grid-column: 1 / -1; }
.ghl-preview-card { background: linear-gradient(145deg, #142338, #0a1421); }
.ghl-preview-card h3 { margin-top: 14px; font-size: 23px; }
.ghl-preview-card p, .ghl-preview-card li { color: #a8b6c6; font-size: 12px; line-height: 1.6; }
.ghl-preview-card ul { padding-left: 19px; }
.ghl-preview-card button { width: 100%; margin-top: 10px; }
.warmup-queue-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 28px 0 12px; }
.warmup-action-list { display: grid; gap: 10px; }
.warmup-action-card { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(190px, auto); align-items: center; gap: 15px; padding: 15px; border: 1px solid #35485e; border-radius: 12px; background: #0a1625; }
.warmup-action-card h4 { margin: 7px 0 2px; }
.warmup-action-card p { margin: 0; color: #b7c4d2; font-size: 12px; }
.warmup-action-card small { color: #8494a7; }
.warmup-action-card label { display: grid; gap: 5px; color: #8494a7; font-size: 10px; }
.warmup-action-card select { min-height: 38px; padding: 7px; border: 1px solid #43566d; border-radius: 7px; background: #09131f; color: #eef2f6; }
.warmup-date { display: grid; width: 52px; height: 58px; place-items: center; border: 1px solid #7d692e; border-radius: 9px; background: #282313; color: var(--gold-soft); }
.warmup-date b { font-size: 21px; line-height: 1; }
.warmup-date span { margin-top: -10px; font-size: 10px; text-transform: uppercase; }
.source-config { margin-top: 16px; border-top: 1px solid #2d3d50; padding-top: 12px; }
.source-config summary { cursor: pointer; color: #f0cc68; font-weight: 700; }
.config-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 15px; }
.config-grid .wide { grid-column: 1 / -1; }

.prospecting-studio { margin: 20px 0 42px; scroll-margin-top: 20px; }
.studio-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 24px 26px; border: 1px solid #2a3748; border-radius: 14px 14px 0 0; background: #090f18; }
.studio-toolbar h2 { font-size: 28px; }
.studio-toolbar .intro { margin-bottom: 0; }
.studio-toolbar-actions { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; gap: 10px; align-items: end; min-width: min(650px, 55%); }
.source-select select { background: #0c131d; }
.prospecting-studio > .source-summary { margin: 0; padding: 11px 26px; border-right: 1px solid #263445; border-left: 1px solid #263445; background: #0d151f; color: var(--lime-soft); }
.research-workspace { border: 1px solid #263445; border-top: 0; border-radius: 0 0 16px 16px; overflow: hidden; background: #070c13; box-shadow: 0 32px 90px #0007; }
.research-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; min-width: 0; }
.research-builder { display: grid; gap: 12px; padding: 26px; min-width: 0; }
.builder-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 4px 2px 14px; }
.builder-heading h3 { margin: 0; font-size: 25px; }
.builder-heading p { margin: 5px 0 0; color: #8f9baa; }
.run-target { min-width: 200px; padding: 13px; border: 1px solid #344457; border-radius: 10px; background: #0d141e; }
.run-target label { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #dfe5ec; font-size: 12px; font-weight: 700; }
.run-target input { width: 72px; min-height: 38px; border: 1px solid #53647a; border-radius: 7px; background: #050a10; color: var(--lime-soft); text-align: center; }
.run-target small { display: block; margin-top: 6px; color: #778597; font-size: 10px; }
.blocking-panel { padding: 15px 18px; border: 1px solid #7d343d; border-radius: 10px; background: #2a1218; color: #ffabb1; }
.blocking-panel ul { margin: 8px 0 0; padding-left: 19px; }
.builder-card { padding: 18px; border: 1px solid #273443; border-radius: 12px; background: linear-gradient(145deg, #0d141d, #090e15); }
.builder-card-title { display: flex; align-items: center; gap: 11px; margin-bottom: 14px; }
.builder-card-title > b { display: grid; width: 29px; height: 29px; flex: 0 0 29px; place-items: center; border: 1px solid #6a851d; border-radius: 7px; color: var(--lime); font-size: 12px; }
.builder-card-title h4 { margin: 0; font-size: 16px; }
.builder-card-title p { margin: 2px 0 0; color: #7f8c9d; font-size: 11px; }
.professional-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.professional-grid.compact { grid-template-columns: 1fr 1fr; margin-top: 10px; }
.professional-grid .wide { grid-column: 1 / -1; }
.professional-grid textarea { min-height: 68px; }
.multi-dropdown { position: relative; min-width: 0; }
.multi-dropdown summary { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid #344458; border-radius: 8px; list-style: none; background: #0b121b; color: #dce3eb; cursor: pointer; }
.multi-dropdown summary::-webkit-details-marker { display: none; }
.multi-dropdown summary::after { color: var(--lime); content: "⌄"; font-size: 17px; }
.multi-dropdown summary b { margin-left: auto; color: var(--lime-soft); font-size: 11px; }
.multi-dropdown[open] summary { border-color: #7ba70e; box-shadow: 0 0 0 2px #a9f41418; }
.multi-menu { position: absolute; z-index: 8; top: calc(100% + 5px); left: 0; display: grid; width: min(330px, 90vw); max-height: 260px; overflow: auto; padding: 8px; border: 1px solid #465a70; border-radius: 9px; background: #0a111a; box-shadow: 0 18px 45px #000b; }
.multi-menu label { display: flex; align-items: center; gap: 9px; padding: 8px; border-radius: 6px; color: #bbc5d1; cursor: pointer; }
.multi-menu label:hover { background: #16202c; color: #fff; }
.multi-menu input { accent-color: var(--lime); }
.switch-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.switch-grid.exclusions { margin-top: 12px; }
.switch-row { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 11px; border: 1px solid #293747; border-radius: 8px; background: #0a111a; color: #bcc6d2; font-size: 11px; cursor: pointer; }
.switch-row input { position: absolute; opacity: 0; pointer-events: none; }
.switch-row i { position: relative; width: 37px; height: 21px; flex: 0 0 37px; border-radius: 99px; background: #394554; transition: .2s; }
.switch-row i::after { position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #9ba7b5; content: ""; transition: .2s; }
.switch-row input:checked + i { background: var(--lime); box-shadow: 0 0 15px #a9f41433; }
.switch-row input:checked + i::after { left: 19px; background: #152000; }
.two-card { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.two-card > div + div { padding-left: 22px; border-left: 1px solid #273443; }
.research-launch { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px; border: 1px solid #53710b; border-radius: 11px; background: linear-gradient(90deg, #172208, #0c1410); }
.research-launch strong, .research-launch small { display: block; }
.research-launch small { margin-top: 4px; color: #85927b; }
.launch-button { min-width: 290px; border-radius: 8px; background: linear-gradient(90deg, #8ddc00, #c8ff39); color: #142000; box-shadow: 0 0 26px #a9f41424; }
.icp-preview { min-width: 0; padding: 26px 20px; border-left: 1px solid #273443; background: linear-gradient(180deg, #0a1119, #080d14); }
.icp-preview > h3 { margin: 0 0 9px; font-size: 21px; }
.icp-preview > p { color: #aeb9c6; font-size: 12px; line-height: 1.65; }
.preview-facts { display: grid; gap: 8px; margin-top: 18px; }
.preview-facts div { padding: 12px; border: 1px solid #2b3948; border-radius: 9px; background: #0d151f; }
.preview-facts span, .preview-facts b { display: block; }
.preview-facts span { color: #788799; font-size: 10px; }
.preview-facts b { margin-top: 4px; color: #dfe5ec; font-size: 12px; }
.preview-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #293746; }
.preview-results h4 { grid-column: 1 / -1; margin: 0 0 3px; font-size: 13px; }
.preview-results div { padding: 10px 5px; border: 1px solid #34421f; border-radius: 8px; text-align: center; }
.preview-results b, .preview-results span { display: block; }
.preview-results b { color: var(--lime); font-size: 19px; }
.preview-results span { color: #758397; font-size: 8px; }
.source-identity { display: grid; gap: 5px; margin-top: 18px; padding: 14px; border: 1px solid #50661d; border-radius: 9px; background: #11180c; }
.source-identity .badge { width: max-content; background: #21300e; color: var(--lime-soft); }
.source-identity small { color: #758397; overflow-wrap: anywhere; }

.results-section { padding: 44px 0; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.filters { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; align-items: end; margin-bottom: 18px; padding: 16px; border: 1px solid #2c3d51; border-radius: 12px; background: #0c1828; }
.filter-button { min-height: 47px; }
.result-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.result-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 20px; border: 1px solid #344458; border-left: 4px solid var(--yellow); border-radius: 12px; background: #101d2d; }
.result-card.green { border-left-color: var(--green); }
.result-card.red { border-left-color: var(--red); }
.result-card h3 { margin: 6px 0 0; font-size: 21px; }
.result-card p { margin: 4px 0; color: #9eacbc; }
.result-card small { display: block; margin-top: 10px; color: #c4ccd6; }
.result-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #8595a9; font-size: 10px; }
.status-badge { padding: 4px 8px; border: 1px solid #4c5c70; border-radius: 999px; color: #d6deea; font-weight: 700; }
.status-aprobado { border-color: #27754b; background: #103322; color: #65e6a2; }
.status-descartado { border-color: #743c43; background: #35191d; color: #ff9ca2; }
.result-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; margin-top: 16px; }
.result-score { display: grid; width: 64px; height: 64px; place-content: center; border: 2px solid var(--gold); border-radius: 50%; font-size: 21px; font-weight: 800; text-align: center; }
.result-score span { color: #9eacbc; font-size: 9px; }
.angle { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid #2a3a4d; }
.empty { grid-column: 1 / -1; padding: 30px; border: 1px dashed #516177; border-radius: 10px; color: #b7c2d0; text-align: center; }

.activity-card { margin-bottom: 38px; }
.table-wrap { overflow-x: auto; border: 1px solid #2d3d50; border-radius: 10px; }
table { width: 100%; min-width: 850px; border-collapse: collapse; }
th, td { padding: 13px 14px; border-bottom: 1px solid #29394c; text-align: left; vertical-align: top; }
th { background: #0b1727; color: #e9c35b; font-size: 11px; letter-spacing: .7px; text-transform: uppercase; }
td { color: #c2cbd7; font-size: 12px; }
tbody tr:last-child td { border-bottom: 0; }
.table-subtext { display: block; max-width: 220px; overflow: hidden; color: #718096; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.execution-status { display: inline-flex; padding: 4px 8px; border-radius: 999px; font-weight: 700; }
.execution-status.success { background: #103322; color: #65e6a2; }
.execution-status.failure { background: #35191d; color: #ff9ca2; }
.empty-cell { padding: 28px; color: #8494a8; text-align: center; }

.method-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 22px; }
.method-grid div { padding: 18px; border: 1px solid #344458; border-radius: 10px; background: #0d1929; color: #aeb9c7; }
.method-grid b { display: grid; width: 34px; height: 34px; place-items: center; margin-bottom: 12px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); }

.lead-dialog { width: min(760px, calc(100% - 32px)); max-height: calc(100vh - 44px); padding: 0; overflow: auto; border: 1px solid #40536c; border-radius: 18px; background: #0b1727; color: var(--paper); box-shadow: 0 30px 100px #000b; }
.lead-dialog::backdrop { background: #02070ecc; backdrop-filter: blur(4px); }
.dialog-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; padding: 24px 26px 18px; border-bottom: 1px solid #2d3d50; background: #0b1727f5; }
.dialog-header h2 { margin: 0; }
.icon-button { width: 42px; height: 42px; border: 1px solid #516177; border-radius: 50%; background: transparent; color: #fff; font-size: 27px; line-height: 1; }
#dialog-content { padding: 24px 26px 28px; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.detail-grid > div { padding: 14px; border: 1px solid #2d4055; border-radius: 10px; background: #0f1d2e; }
.detail-grid .wide { grid-column: 1 / -1; }
.detail-grid span { display: block; margin-bottom: 5px; color: #8393a7; font-size: 11px; }
.detail-grid p { margin: 0; color: #d5dce6; }
.social-row { display: flex; flex-wrap: wrap; gap: 8px; }
.social-link { padding: 6px 9px; border: 1px solid #5b4f2d; border-radius: 999px; color: #f0ce72; font-size: 11px; text-decoration: none; }
.evidence-list { display: grid; gap: 7px; }
.evidence-list a, .evidence-list span { margin: 0; overflow-wrap: anywhere; color: #afbdd0; text-decoration: none; }
.signal-list { display: grid; gap: 8px; }
.signal { padding: 12px; border: 1px solid #33465c; border-radius: 9px; background: #0a1625; }
.signal p { margin: 4px 0; }
.signal small { display: block; color: #8899ad; }
.signal a { color: var(--gold-soft); font-size: 11px; }
.crm-form { margin-top: 18px; padding-top: 18px; border-top: 1px solid #314158; }
.dialog-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.muted-text { color: #8291a4; }

@media (max-width: 1180px) {
  .stats { grid-template-columns: repeat(2, 1fr); }
  .form-grid { grid-template-columns: 1fr 1fr; }
  .form-submit { grid-column: 1 / -1; }
  .method-grid { grid-template-columns: repeat(2, 1fr); }
  .filters { grid-template-columns: 1fr 1fr; }
  .config-grid { grid-template-columns: 1fr 1fr; }
  .filter-button { width: 100%; }
  .studio-toolbar { align-items: stretch; flex-direction: column; }
  .studio-toolbar-actions { width: 100%; min-width: 0; }
  .research-layout { grid-template-columns: 1fr; }
  .icp-preview { border-top: 1px solid #273443; border-left: 0; }
  .professional-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 860px) {
  .portal-shell { display: block; }
  .sidebar { position: static; width: auto; height: auto; padding: 18px; }
  .sidebar-title, .sidebar-note { display: none; }
  .sidebar nav { display: flex; gap: 8px; margin-top: 18px; overflow-x: auto; padding-bottom: 4px; }
  .nav-step { min-width: 180px; border: 1px solid #2c3b4e; border-radius: 10px; }
  .content { padding: 0 18px 50px; }
  .portal-header { margin-bottom: 30px; }
  .overview-grid, .result-list { grid-template-columns: 1fr; }
  .two-card { grid-template-columns: 1fr; }
  .two-card > div + div { padding-top: 18px; padding-left: 0; border-top: 1px solid #273443; border-left: 0; }
}

@media (max-width: 600px) {
  .access-card { padding: 28px 22px; }
  .portal-header, .section-heading { align-items: flex-start; flex-direction: column; }
  .header-actions { width: 100%; justify-content: space-between; }
  .stats, .form-grid, .method-grid, .filters, .distribution, .detail-grid, .config-grid { grid-template-columns: 1fr; }
  .config-grid .wide { grid-column: 1; }
  .form-submit { grid-column: auto; }
  .card { padding: 24px 18px; }
  .result-card, .source-card { grid-template-columns: 1fr; }
  .source-actions { align-items: flex-start; }
  .result-score { grid-row: 1; justify-self: end; }
  .angle, .detail-grid .wide { grid-column: 1; }
  .sidebar { padding: 15px; }
  .brand { font-size: 18px; }
  .brand i { width: 45px; height: 45px; }
  .nav-step { min-width: 158px; }
  .dialog-actions > * { width: 100%; }
  .studio-toolbar { padding: 20px 16px; }
  .studio-toolbar-actions, .professional-grid, .professional-grid.compact, .switch-grid { grid-template-columns: 1fr; }
  .builder-heading, .research-launch { align-items: stretch; flex-direction: column; }
  .research-builder { padding: 16px; }
  .run-target, .launch-button { width: 100%; min-width: 0; }
  .multi-menu { position: static; width: 100%; margin-top: 5px; box-shadow: none; }
}

/* Portal presentation shell */
.portal-app { min-height: 100vh; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  display: grid;
  grid-template-columns: auto minmax(520px, 1fr) auto;
  min-height: 76px;
  align-items: center;
  gap: 28px;
  padding: 10px clamp(22px, 4vw, 64px);
  border-bottom: 1px solid #263649;
  background: #07101df2;
  box-shadow: 0 12px 34px #0005;
  backdrop-filter: blur(18px);
}
.site-header .brand { font-size: 17px; letter-spacing: 4px; }
.site-header .brand i { width: 42px; height: 42px; font-size: 23px; }
.site-header .brand small { font-size: 7px; }
.top-navigation {
  display: grid;
  grid-template-columns: repeat(4, minmax(105px, 1fr));
  grid-auto-rows: 42px;
  align-items: center;
  gap: 6px;
}
.top-link, .more-menu > summary {
  display: grid;
  min-height: 42px;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #9dabbc;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.top-link:hover, .top-link.current, .more-menu > summary:hover { border-color: #4c5c70; background: #101d2d; color: #fff; }
.top-link.current { border-color: #6f5b29; color: var(--gold-soft); }
.more-menu { position: relative; }
.more-menu > summary { padding: 0 16px; list-style: none; }
.more-menu > summary::-webkit-details-marker { display: none; }
.more-menu > div { position: absolute; top: calc(100% + 8px); right: 0; display: grid; min-width: 190px; padding: 7px; border: 1px solid #34465b; border-radius: 11px; background: #0a1421; box-shadow: 0 18px 50px #0009; }
.more-menu a { padding: 10px 12px; border-radius: 7px; color: #b8c4d2; text-decoration: none; }
.more-menu a:hover, .more-menu a.current { background: #172438; color: var(--gold-soft); }
.menu-toggle { display: none; width: 42px; height: 42px; border: 1px solid #405168; border-radius: 10px; background: #0e1928; color: #fff; font-size: 20px; }
.site-header .header-actions { display: flex; align-items: center; gap: 10px; }
.demo-role-control { display: flex; align-items: end; gap: 6px; color: #8293a7; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.demo-role-control label { display: grid; gap: 2px; }
.demo-role-control select, .demo-role-control input { min-width: 125px; padding: 7px 9px; border: 1px solid #3b4d63; border-radius: 8px; background: #101c2b; color: #edf3fa; }
.demo-role-control input { min-width: 245px; text-transform: none; }
.account-menu { position: relative; }
.account-menu > summary { display: grid; min-width: 180px; padding: 8px 34px 8px 13px; border: 1px solid #34465b; border-radius: 10px; list-style: none; cursor: pointer; }
.account-menu > summary::-webkit-details-marker { display: none; }
.account-menu > summary::after { position: absolute; top: 18px; right: 13px; content: "⌄"; color: var(--gold); }
.account-menu summary span { max-width: 210px; overflow: hidden; color: #e7edf5; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.account-menu summary i { color: #7f8fa2; font-size: 10px; font-style: normal; }
.account-menu > div { position: absolute; top: calc(100% + 8px); right: 0; min-width: 180px; padding: 8px; border: 1px solid #34465b; border-radius: 10px; background: #0a1421; box-shadow: 0 18px 50px #0009; }
.account-menu button { width: 100%; padding: 10px; border: 0; border-radius: 7px; background: transparent; color: #f1f4f8; text-align: left; }
.account-menu button:hover { background: #172438; }
.portal-app > .content { width: min(1440px, 100%); max-width: none; margin: 0 auto; padding: 30px clamp(20px, 4vw, 56px) 54px; }
.portal-view { display: none; min-height: calc(100vh - 160px); animation: view-in .22s ease-out; }
.portal-view.active { display: block; }
@keyframes view-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.portal-view .section-heading { margin-bottom: 24px; }
.hero-section.portal-view { padding-top: 16px; }
.prospecting-studio.portal-view { margin: 0; }
.results-section.portal-view { margin: 0; }
.activity-card.portal-view, .method-card.portal-view { margin: 0; }

.builder-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; padding: 6px; border: 1px solid #273443; border-radius: 11px; background: #080e16; }
.builder-tabs button { min-height: 38px; border: 0; border-radius: 8px; background: transparent; color: #8594a7; font-weight: 700; }
.builder-tabs button:hover, .builder-tabs button.active { background: #172439; color: #fff; }
.builder-tabs button.active { box-shadow: inset 0 -2px var(--lime); color: var(--lime-soft); }
.research-builder > .builder-card { display: none; min-height: 330px; }
.research-builder > .builder-card.active { display: block; }
.research-builder > .builder-card.two-card.active { display: grid; }
.automation-panel { display: grid; grid-template-columns: minmax(240px, 1fr) auto minmax(430px, auto); align-items: center; gap: 20px; padding: 17px 18px; border: 1px solid #34465a; border-radius: 12px; background: linear-gradient(135deg, #101c2a, #0a121d); }
.automation-panel h4 { margin: 0; font-size: 17px; }
.automation-panel p { margin: 3px 0 0; color: #8998aa; font-size: 11px; }
.automation-panel > small { grid-column: 1 / -1; color: #8998aa; }
.automation-switch { display: flex; align-items: center; gap: 9px; color: #d9e2ec; font-weight: 700; }
.automation-switch input { width: 19px; height: 19px; accent-color: var(--lime); }
.schedule-fields { display: grid; grid-template-columns: 92px 120px auto; align-items: end; gap: 8px; }
.schedule-fields .secondary { white-space: nowrap; }

.audience-export-dialog, .briefing-dialog { width: min(860px, calc(100vw - 32px)); max-height: 90vh; overflow: auto; border: 1px solid #3b4c62; border-radius: 18px; background: #0b1625; color: #edf3fa; }
.audience-export-dialog::backdrop, .briefing-dialog::backdrop { background: #02060dcc; backdrop-filter: blur(5px); }
.audience-context-grid, .briefing-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.audience-export-dialog fieldset { display: flex; flex-wrap: wrap; gap: 12px 20px; margin: 18px 0; padding: 14px; border: 1px solid #33465d; border-radius: 12px; }
.audience-lead-list { display: grid; gap: 8px; }
.audience-lead-list label, .audience-legal-check { display: flex; align-items: flex-start; gap: 10px; padding: 11px; border: 1px solid #2c3d52; border-radius: 10px; background: #0e1b2b; }
.audience-lead-list small { display: block; margin-top: 3px; color: #8fa2b9; }
.audience-review, .lookalike-note, .briefing-future-note, .ghl-mapping-note { margin-top: 16px; padding: 14px; border: 1px solid #3a4d63; border-radius: 11px; background: #101e2e; }
.briefing-output, .codex-package-preview textarea { width: 100%; min-height: 360px; margin-top: 14px; resize: vertical; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; line-height: 1.5; }
.codex-delivery-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 18px; }
.codex-package-config, .codex-package-manifest, .codex-package-preview { padding: 20px; }
.codex-package-manifest ol { padding-left: 22px; color: #becbd9; line-height: 1.8; }
.codex-package-preview { margin-top: 20px; border: 1px solid #33475e; border-radius: 14px; background: #0b1726; }
.ghl-master-files { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.ghl-master-files button { padding: 8px 11px; border: 1px solid #41536a; border-radius: 8px; background: #101e2e; color: #c9d5e2; cursor: pointer; }
.ghl-master-files button.active { border-color: var(--gold); color: var(--gold-soft); box-shadow: inset 0 -2px var(--gold); }
.ghl-master-preview textarea { min-height: 300px; }
.lead-dialog #dialog-content { position: relative; padding-bottom: 32px; }
.lead-focus-mark { position: absolute; right: 2px; bottom: 2px; color: #6f8094; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; user-select: none; }
.admin-lead-delivery-dialog { border-color: #6f5b29; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns: auto 1fr auto; gap: 16px; }
  .top-navigation { grid-template-columns: repeat(4, minmax(88px, 1fr)); }
  .account-menu > summary { min-width: 52px; width: 52px; height: 42px; padding: 0; place-items: center; }
  .account-menu > summary::after { position: static; content: "CU"; font-size: 11px; }
  .account-menu summary span, .account-menu summary i { display: none; }
  .automation-panel { grid-template-columns: 1fr auto; }
  .schedule-fields { grid-column: 1 / -1; grid-template-columns: 1fr 1fr auto; }
  .dashboard-automation-quick { grid-template-columns: 1fr 1fr; }
  .dashboard-automation-quick > div:first-child, .dashboard-automation-quick .preview-safety-note { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .site-header { grid-template-columns: auto 1fr auto; min-height: 68px; padding: 9px 16px; }
  .menu-toggle { display: grid; grid-column: 2; grid-row: 1; justify-self: end; place-items: center; }
  .top-navigation { position: absolute; top: calc(100% + 1px); right: 14px; left: 14px; display: none; grid-template-columns: 1fr 1fr; padding: 10px; border: 1px solid #34465b; border-radius: 12px; background: #07111ef8; box-shadow: 0 22px 50px #000b; }
  .top-navigation.open { display: grid; }
  .more-menu { grid-column: 1 / -1; }
  .more-menu > summary { min-height: 42px; }
  .more-menu > div { position: static; grid-template-columns: 1fr 1fr; margin-top: 5px; box-shadow: none; }
  .site-header .header-actions { grid-column: 3; grid-row: 1; }
  .site-header .demo-badge { display: none; }
  .demo-role-control span, .demo-role-control label:first-child { display: none; }
  .demo-role-control select { min-width: 105px; max-width: 120px; }
  .portal-app > .content { padding: 24px 16px 40px; }
  .portal-view { min-height: calc(100vh - 125px); }
  .builder-tabs { grid-template-columns: 1fr 1fr; }
  .research-builder > .builder-card { min-height: 0; }
  .automation-panel, .schedule-fields { grid-template-columns: 1fr; }
  .schedule-fields { grid-column: auto; }
  .section-heading { align-items: flex-start; }
  .heading-actions { justify-content: flex-start; }
  .prompt-criteria-summary { grid-template-columns: 1fr 1fr; }
  .crm-preview-toolbar { align-items: stretch; flex-direction: column; }
  .crm-preview-toolbar .heading-actions { width: 100%; }
  .presentation-select { min-width: min(100%, 260px); }
  .warmup-preview-grid { grid-template-columns: 1fr; }
  .warmup-action-card { grid-template-columns: auto minmax(0, 1fr); }
  .warmup-action-card label { grid-column: 1 / -1; }
  .module-info-content { grid-template-columns: 1fr; }
  .quick-automation-details { grid-template-columns: 1fr 1fr; }
  .crm-drag-handle { display: none; }
  .codex-delivery-grid, .audience-context-grid, .briefing-controls { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .automation-preview-grid, .saved-automation-card { grid-template-columns: 1fr; }
  .saved-automation-actions { flex-direction: row; justify-content: flex-start; }
}

@media (max-width: 600px) {
  .preview-filter-grid, .saved-automation-card dl { grid-template-columns: 1fr; }
  .preview-filter-grid .wide { grid-column: auto; }
  .saved-preview-heading { align-items: flex-start; flex-direction: column; }
  .dashboard-automation-quick, .prompt-criteria-summary { grid-template-columns: 1fr; }
  .dashboard-automation-quick > div:first-child { grid-column: auto; }
  .copy-field-list > div { grid-template-columns: 1fr auto; }
  .copy-field-list > div > span { grid-column: 1 / -1; }
  .access-page { padding: 12px; }
  .access-card { padding: 28px 20px; }
  #google-button { width: 100%; }
  .warmup-form-grid { grid-template-columns: 1fr; }
  .warmup-form-grid .wide { grid-column: auto; }
  .dashboard-automation-dock { justify-content: stretch; }
  .dashboard-automation-dock button { width: 100%; min-width: 0; }
  .quick-automation-details { grid-template-columns: 1fr; }
  .quick-automation-details .wide { grid-column: auto; }
  .quick-automation-actions { justify-content: stretch; }
  .quick-automation-actions > * { width: 100%; }
}

@media (max-width: 520px) {
  .site-header .brand span { display: none; }
  .site-header .brand i { width: 40px; height: 40px; }
  .site-header { grid-template-columns: auto 1fr auto; }
  .top-navigation { grid-template-columns: 1fr; }
  .more-menu, .more-menu > div { grid-column: auto; grid-template-columns: 1fr; }
  .builder-tabs { grid-template-columns: 1fr; }
  .studio-toolbar h2 { font-size: 24px; }
}
