.page-label { margin: 0 0 .7rem; color: var(--lake); font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.message-page { max-width: 720px; margin: 0 auto; padding: 18vh 2rem; text-align: center; }
.message-page h1 { margin: 0; font-family: var(--font-display); font-size: clamp(3rem, 7vw, 6rem); font-weight: 400; color: var(--ivy); }
.message-page p:not(.page-label) { margin: 1.4rem auto 2.5rem; color: var(--ink-soft); font-size: 1.1rem; }
.button { display: inline-block; padding: 1rem 1.3rem; background: var(--ivy); color: #fff; text-decoration: none; }

.login-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, 42%) 1fr; }
.login-scene { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(2rem, 5vw, 5rem); overflow: hidden; background: var(--mist) url('/assets/ivylake-hero.png') center/cover no-repeat; color: #fff; }
.login-scene::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16,61,42,.42), rgba(16,61,42,.72)); }
.login-brand, .login-scene > p { position: relative; z-index: 1; }
.login-brand { display: flex; align-items: center; gap: 1rem; font-family: var(--font-display); font-size: 2.6rem; }
.login-brand svg { width: 34px; height: 48px; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.login-scene > p { max-width: 430px; margin: 0; font-family: var(--font-display); font-size: clamp(2.4rem, 4vw, 4.5rem); line-height: 1; }
.login-panel { position: relative; display: grid; place-items: center; padding: 5rem 2rem; background: #fff; }
.back-link { position: absolute; top: 2rem; right: 2.5rem; color: var(--ink-soft); text-decoration: none; }
.login-card { width: min(100%, 470px); }
.login-card h1 { margin: 0; color: var(--ivy); font-family: var(--font-display); font-size: clamp(3.3rem, 6vw, 5.5rem); font-weight: 400; letter-spacing: -.05em; line-height: .95; }
.login-card > p:not(.page-label):not(.login-note) { margin: 1.5rem 0 2.2rem; color: var(--ink-soft); font-size: 1.05rem; line-height: 1.65; }
.login-card label { display: block; margin-bottom: .55rem; color: var(--ink); font-size: .88rem; font-weight: 600; }
.login-card input { width: 100%; padding: 1rem; border: 1px solid var(--line-strong); border-radius: 0; background: #fff; color: var(--ink); font: inherit; }
.login-card button { display: flex; justify-content: space-between; width: 100%; margin-top: 1rem; padding: 1rem 1.2rem; border: 1px solid var(--ivy); border-radius: 0; background: var(--ivy); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.login-note { margin-top: 1.2rem; color: var(--warm-gray); font-size: .82rem; }
.form-error { margin: 0 0 1rem; padding: .8rem 1rem; border-left: 3px solid var(--clay); background: #fbf4f1; color: #7b3522; font-size: .9rem; }

.dashboard-shell { min-height: 100vh; display: grid; grid-template-columns: 230px minmax(0, 1fr); background: #fff; color: var(--ink); }
.dashboard-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 2.2rem 1.2rem; background: var(--mist); border-right: 1px solid var(--line); overflow: hidden; }
.dashboard-brand { display: flex; align-items: center; gap: .75rem; padding: 0 .75rem; color: var(--ivy); font-family: var(--font-display); font-size: 2rem; text-decoration: none; }
.dashboard-brand svg { width: 29px; height: 42px; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.dashboard-sidebar nav { display: grid; gap: .35rem; margin-top: 2rem; }
.dashboard-sidebar nav a { position: relative; padding: .82rem 1rem; color: var(--ink-soft); text-decoration: none; font-size: .9rem; }
.dashboard-sidebar nav a.active { background: rgba(95,127,147,.12); color: var(--ivy); font-weight: 600; }
.dashboard-sidebar nav a.active::before { content: ''; position: absolute; inset: 0 auto 0 -1.2rem; width: 4px; background: var(--ivy); }
.sidebar-waterline { position: absolute; left: -10%; right: -10%; bottom: 2.5rem; height: 90px; opacity: .33; background: repeating-radial-gradient(ellipse at 40% 140%, transparent 0 17px, var(--lake) 18px 19px, transparent 20px 31px); }
.dashboard-main { min-width: 0; padding: clamp(1.25rem, 2.5vw, 2.5rem); }
.dashboard-topbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--line); }
.dashboard-topbar h1 { margin: 0; color: var(--ivy); font-family: var(--font-display); font-size: clamp(2.5rem, 4vw, 4rem); font-weight: 400; letter-spacing: -.05em; line-height: .95; }
.operating-thesis { max-width: 760px; margin: 1.15rem 0 0; color: var(--ink-soft); font-size: .95rem; line-height: 1.7; }
.sidebar-mode { position: relative; z-index: 1; display: flex; align-items: center; gap: .55rem; margin: auto .75rem 6.5rem; color: var(--ivy-soft); font-size: .72rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.sidebar-mode span, .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: #4e8b68; box-shadow: 0 0 0 5px rgba(78,139,104,.11); }
.ops-pulse { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); margin-top: 1.5rem; border: 1px solid var(--line); background: var(--stone); }
.ops-pulse > div { display: grid; align-content: center; min-height: 88px; padding: 1.2rem 1.35rem; border-right: 1px solid var(--line); }
.ops-pulse > div:last-child { border-right: 0; }
.ops-pulse > div:first-child { grid-template-columns: auto 1fr; column-gap: .75rem; background: var(--ivy); color: #fff; }
.ops-pulse > div:first-child small { grid-column: 2; color: rgba(255,255,255,.65); }
.ops-pulse span:not(.pulse-dot) { color: var(--warm-gray); font-size: .69rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.ops-pulse strong { color: var(--ivy); font-family: var(--font-display); font-size: 1.8rem; font-weight: 400; }
.ops-pulse > div:first-child strong { color: #fff; font-family: var(--font-sans); font-size: .9rem; font-weight: 600; }
.ops-pulse small { color: var(--warm-gray); font-size: .69rem; }
.command-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr); margin-top: 2rem; border-block: 1px solid var(--line); }
.decision-panel { min-width: 0; padding: 2rem 2rem 2rem 0; border-right: 1px solid var(--line); }
.routine-panel { padding: 2rem 0 2rem 2rem; }
.section-heading .page-label { margin-bottom: .3rem; }
.decision-card { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 1.2rem; padding: 1.35rem 0; border-top: 1px solid var(--line); }
.decision-score { display: grid; place-content: center; width: 68px; height: 68px; border-radius: 50%; background: var(--mist); text-align: center; }
.decision-score span { color: var(--warm-gray); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.decision-score strong { color: var(--ivy); font-family: var(--font-display); font-size: 1.55rem; font-weight: 400; line-height: 1; }
.decision-card h3 { margin: .15rem 0 .45rem; color: var(--ivy); font-family: var(--font-display); font-size: 1.65rem; font-weight: 400; }
.decision-card p { margin: 0 0 .6rem; color: var(--ink-soft); font-size: .78rem; line-height: 1.55; }
.decision-card .decision-meta { color: var(--warm-gray); font-size: .65rem; letter-spacing: .04em; text-transform: uppercase; }
.decision-card .recommendation { padding: .75rem; border-left: 2px solid var(--lake); background: var(--mist); color: var(--ink); }
.decision-card form { display: flex; gap: .65rem; flex-wrap: wrap; }
.decision-card button { padding: .65rem .8rem; border: 1px solid var(--ivy); background: var(--ivy); color: #fff; font: inherit; font-size: .72rem; cursor: pointer; }
.decision-card button.quiet-action { background: transparent; color: var(--ivy); }
.price-form { align-items: end; margin-top: 1rem; }
.price-form label { flex-basis: 100%; color: var(--ink); font-size: .72rem; font-weight: 600; }
.price-form input { min-width: 190px; padding: .65rem .75rem; border: 1px solid var(--line-strong); border-radius: 0; color: var(--ink); font: inherit; font-size: .78rem; }
.decision-empty { display: flex; align-items: center; gap: 1rem; min-height: 90px; padding: 1rem 0; border-top: 1px solid var(--line); }
.decision-empty > span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #e8f1eb; color: #397050; }
.decision-empty strong { color: var(--ivy); }
.decision-empty p { margin: .25rem 0 0; color: var(--warm-gray); font-size: .82rem; }
.routine-panel ul { margin: 0; padding: 0; list-style: none; }
.routine-panel li { display: grid; grid-template-columns: 10px 1fr auto; gap: .75rem; align-items: start; padding: .65rem 0; border-top: 1px solid var(--line); }
.routine-dot { width: 7px; height: 7px; margin-top: .4rem; border-radius: 50%; background: #4e8b68; }
.routine-dot.routine-gated { background: var(--lake); }
.routine-panel strong { color: var(--ink); font-size: .76rem; }
.routine-panel p { margin: .25rem 0 0; color: var(--warm-gray); font-size: .68rem; line-height: 1.45; }
.routine-panel em { color: var(--lake); font-size: .63rem; font-style: normal; white-space: nowrap; }
.extension-watch { display: grid; grid-template-columns: 1.1fr .75fr 1fr; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.extension-watch h2 { margin: .25rem 0 .75rem; color: var(--ivy); font-family: var(--font-display); font-size: 2rem; font-weight: 400; }
.extension-watch > div:first-child > p:not(.page-label) { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.6; }
.extension-watch > div:first-child > small { display: block; margin-top: .75rem; color: var(--warm-gray); font-size: .65rem; line-height: 1.5; }
.extension-watch form { margin-top: 1rem; }
.extension-watch button { padding: .65rem 0; border: 0; border-bottom: 1px solid var(--lake); background: none; color: var(--lake); font: inherit; font-size: .72rem; cursor: pointer; }
.watch-stats { display: grid; grid-template-columns: repeat(3, 1fr); align-content: start; border-left: 1px solid var(--line); }
.watch-stats > div { padding: .45rem 1rem; border-right: 1px solid var(--line); }
.watch-stats span, .watch-stats small { display: block; color: var(--warm-gray); font-size: .62rem; }
.watch-stats span { font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.watch-stats strong { display: block; margin: .25rem 0; color: var(--ivy); font-family: var(--font-display); font-size: 2rem; font-weight: 400; }
.extension-watch ol { margin: 0; padding: 0; list-style: none; }
.extension-watch li { display: grid; grid-template-columns: 1fr auto; gap: .2rem .75rem; padding: .6rem 0; border-top: 1px solid var(--line); }
.extension-watch li strong { color: var(--ivy); font-size: .75rem; }
.extension-watch li span { color: var(--ink-soft); font-size: .63rem; }
.extension-watch li time { grid-row: 1 / 3; grid-column: 2; color: var(--warm-gray); font-size: .59rem; }
.extension-watch li.watch-empty { display: block; color: var(--warm-gray); font-size: .72rem; line-height: 1.6; }
.operator-controls { display: flex; align-items: center; gap: 1.2rem; padding-top: .5rem; }
.operator-controls button { padding: 0; border: 0; border-bottom: 1px solid currentColor; background: none; color: var(--lake); font: inherit; cursor: pointer; }
.range-row { display: flex; justify-content: flex-end; padding: 1rem 0; }
.range-row label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.range-row select { padding: .7rem 2.5rem .7rem .9rem; border: 1px solid var(--line); border-radius: 2px; background: #fff; color: var(--ivy); font: inherit; }
.summary-band { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.summary-band div { padding: 1.4rem 1.2rem 1.5rem; border-right: 1px solid var(--line); }
.summary-band div:first-child { padding-left: 0; }
.summary-band div:last-child { border-right: 0; }
.summary-band span { display: block; color: var(--warm-gray); font-size: .72rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.summary-band strong { display: block; margin-top: .45rem; color: var(--ivy); font-family: var(--font-display); font-size: clamp(2.2rem, 3.5vw, 4rem); font-weight: 400; line-height: 1; }
.intelligence-panel a { color: var(--ivy); text-underline-offset: .2em; }
.watch-empty strong, .watch-empty span { display: block; }
.watch-empty span { margin-top: .6rem; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.section-heading h2 { margin: 0; color: var(--ivy); font-family: var(--font-display); font-size: 1.75rem; font-weight: 400; }
.section-heading > span { color: var(--warm-gray); font-size: .78rem; }
.traffic-panel { padding: 2rem 0; border-bottom: 1px solid var(--line); }
.chart { height: 230px; }
.chart svg { width: 100%; height: 100%; overflow: visible; }
.chart-grid { stroke: var(--line); stroke-width: .3; stroke-dasharray: 1 1; }
.chart-axis { stroke: var(--line-strong); stroke-width: .4; }
.chart-line { fill: none; stroke: var(--ivy); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.chart-labels { display: flex; justify-content: space-between; color: var(--warm-gray); font-size: .68rem; }
.chart-labels span:not(:first-child):not(:last-child) { display: none; }
.dashboard-lower { display: grid; grid-template-columns: minmax(0, 2.4fr) minmax(260px, 1fr); }
.inquiries-panel, .viewed-panel { padding-top: 2rem; }
.inquiries-panel { min-width: 0; padding-right: 2rem; border-right: 1px solid var(--line); }
.viewed-panel { padding-left: 2rem; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .78rem; }
.inquiries-panel table { min-width: 760px; }
th { padding: .7rem .65rem; border-block: 1px solid var(--line); color: var(--warm-gray); font-size: .65rem; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
td { max-width: 270px; padding: .9rem .65rem; border-bottom: 1px solid var(--line); vertical-align: top; }
td:first-child { white-space: nowrap; color: var(--ink-soft); }
td small { display: block; margin-top: .2rem; color: var(--warm-gray); }
.message-cell { color: var(--ink-soft); line-height: 1.4; }
.status { display: inline-block; color: var(--clay); font-weight: 600; }
.empty-row { padding-block: 1.5rem; color: var(--warm-gray); text-align: center; }
.viewed-panel ol { margin: 0 0 1.5rem; padding: 0; list-style: none; }
.viewed-panel li { display: grid; grid-template-columns: 28px 1fr auto; gap: .5rem; padding: .8rem 0; border-bottom: 1px solid var(--line); font-size: .82rem; }
.viewed-panel li > span { color: var(--warm-gray); }
.viewed-panel li a { color: var(--ivy); text-decoration: none; }
.viewed-panel li strong { color: var(--lake); font-weight: 600; }
.viewed-panel li.empty-list { display: block; padding-block: 2rem; color: var(--warm-gray); line-height: 1.5; }
.text-link { color: var(--lake); font-size: .78rem; text-decoration: none; }

.buyer-room { min-height: 100vh; padding: 0 var(--page-gutter) 2rem; background: linear-gradient(135deg, #f5f7f4, #fff 58%); color: var(--ink); }
.buyer-room-header { display: flex; align-items: center; justify-content: space-between; min-height: 76px; border-bottom: 1px solid var(--line); color: var(--warm-gray); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; }
.buyer-wordmark { color: var(--ivy); font-family: var(--font-display); font-size: 2.3rem; letter-spacing: -.04em; text-decoration: none; text-transform: none; }
.buyer-room-grid { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.3fr); gap: var(--space-section); max-width: 1280px; margin: 0 auto; padding-top: var(--space-section); }
.buyer-room-grid aside { padding-right: 2rem; border-right: 1px solid var(--line); }
.buyer-room-grid h1 { margin: 0 0 2rem; color: var(--ivy); font-family: var(--font-display); font-size: clamp(3rem, 6vw, 5.8rem); font-weight: 400; letter-spacing: -.055em; line-height: .92; overflow-wrap: anywhere; }
.buyer-room dl { margin: 0; }
.buyer-room dl div { display: grid; grid-template-columns: 72px 1fr; gap: 1rem; padding: .85rem 0; border-top: 1px solid var(--line); }
.buyer-room dt { color: var(--warm-gray); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.buyer-room dd { margin: 0; color: var(--ivy-soft); font-size: .82rem; }
.privacy-note { margin-top: 2rem; color: var(--warm-gray); font-size: .72rem; line-height: 1.6; }
.concierge-message { max-width: 720px; padding: clamp(1.25rem, 2.5vw, 2rem); border-left: 3px solid var(--lake); background: var(--mist); }
.concierge-message.complete { border-color: #4e8b68; background: #edf4ef; }
.agent-name { margin: 0 0 1rem; color: var(--lake); font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.concierge-message h2 { margin: 0; color: var(--ivy); font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 400; letter-spacing: -.035em; line-height: 1; }
.concierge-message > p:last-child { margin: 1.2rem 0 0; color: var(--ink-soft); line-height: 1.7; }
.buyer-brief { display: grid; gap: .55rem; margin-top: 2rem; }
.buyer-brief label { margin-top: 1rem; color: var(--ink); font-size: .83rem; font-weight: 600; }
.buyer-brief label span { color: var(--warm-gray); font-weight: 400; }
.buyer-brief input, .buyer-brief select, .buyer-brief textarea { width: 100%; padding: .95rem 1rem; border: 1px solid var(--line-strong); border-radius: 0; background: #fff; color: var(--ink); font: inherit; }
.buyer-brief textarea { min-height: 118px; resize: vertical; line-height: 1.55; }
.buyer-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.buyer-fields > div { display: grid; gap: .55rem; }
.buyer-brief button { margin-top: 1.2rem; padding: 1rem 1.2rem; border: 1px solid var(--ivy); background: var(--ivy); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.save-confirmation { margin: 0 0 1rem; color: #397050; font-size: .8rem; font-weight: 600; }
.purchase-start { width: min(100%, 680px); margin: 0 auto; padding: var(--space-section) 0; }
.purchase-start h1 { margin: 0; color: var(--ivy); font-family: var(--font-display); font-size: clamp(2.3rem, 5vw, 4rem); font-weight: 400; letter-spacing: -.06em; line-height: .9; overflow-wrap: anywhere; }
.purchase-price { margin: 1.4rem 0 .7rem !important; color: var(--lake) !important; font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3.2rem) !important; }
.purchase-start > p:not(.page-label):not(.purchase-price) { color: var(--ink-soft); line-height: 1.7; }
.purchase-start > small { display: block; margin-top: 1.2rem; color: var(--warm-gray); font-size: .72rem; line-height: 1.55; }
.purchase-consent { display: grid !important; grid-template-columns: auto 1fr; gap: .75rem; align-items: start; font-weight: 400 !important; line-height: 1.5; }
.purchase-consent input { width: 18px; height: 18px; margin-top: .15rem; }

@media (max-width: 1050px) {
  .dashboard-shell { grid-template-columns: 1fr; }
  .dashboard-sidebar { position: static; height: auto; padding: 1rem 1.5rem; flex-direction: row; align-items: center; justify-content: space-between; }
  .dashboard-sidebar nav { display: flex; margin: 0; }
  .dashboard-sidebar nav a.active::before, .sidebar-waterline { display: none; }
  .dashboard-brand { font-size: 1.5rem; }
  .dashboard-brand svg { width: 22px; height: 32px; }
  .summary-band { grid-template-columns: repeat(3, 1fr); }
  .summary-band div:nth-child(3) { border-right: 0; }
  .dashboard-lower { grid-template-columns: 1fr; }
  .ops-pulse { grid-template-columns: repeat(2, 1fr); }
  .ops-pulse > div:nth-child(2) { border-right: 0; }
  .command-grid { grid-template-columns: 1fr; }
  .decision-panel { padding-right: 0; border-right: 0; }
  .routine-panel { padding-left: 0; border-top: 1px solid var(--line); }
  .extension-watch { grid-template-columns: 1fr 1fr; }
  .extension-watch > ol { grid-column: 1 / -1; }
  .inquiries-panel { padding-right: 0; border-right: 0; }
  .viewed-panel { padding-left: 0; }
}

@media (max-width: 700px) {
  .login-layout { grid-template-columns: 1fr; }
  .login-scene { min-height: 180px; padding: 1.5rem; }
  .login-scene > p { font-size: 2.2rem; }
  .login-panel { padding: 4rem 1.25rem 2rem; }
  .back-link { top: 1.5rem; right: 1.5rem; }
  .dashboard-sidebar { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .dashboard-sidebar nav { width: 100%; overflow-x: auto; }
  .dashboard-sidebar nav a { white-space: nowrap; }
  .dashboard-main { padding: 1.5rem; }
  .dashboard-topbar { align-items: flex-start; flex-direction: column; }
  .operator-controls { align-self: flex-end; }
  .summary-band { grid-template-columns: repeat(2, 1fr); }
  .summary-band div, .summary-band div:first-child { padding: 1rem .75rem; border-right: 1px solid var(--line); }
  .summary-band div:nth-child(even) { border-right: 0; }
  .chart { height: 160px; }
  .sidebar-mode { display: none; }
  .ops-pulse { grid-template-columns: 1fr 1fr; }
  .ops-pulse > div { min-height: 94px; padding: .9rem; }
  .ops-pulse > div:first-child { grid-column: 1 / -1; border-right: 0; }
  .decision-card { grid-template-columns: 1fr; }
  .extension-watch { grid-template-columns: 1fr; }
  .extension-watch > ol { grid-column: auto; }
  .watch-stats { border-left: 0; }
  .buyer-room { padding-inline: 1.25rem; }
  .buyer-room-header { min-height: 64px; }
  .buyer-room-grid { grid-template-columns: 1fr; gap: 1.5rem; padding-top: 2rem; }
  .buyer-room-grid aside { padding-right: 0; border-right: 0; }
  .buyer-fields { grid-template-columns: 1fr; }
}
/* Live audience and passive machine-traffic intelligence. */
.intelligence-panel { padding: 1.5rem 0; border-top: 1px solid var(--line); min-width: 0; scroll-margin-top: 1rem; }
.live-toggle { background: transparent; color: var(--ivy); border: 1px solid var(--line); padding: .6rem .9rem; font: inherit; cursor: pointer; }
.live-metrics { display: grid; grid-template-columns: repeat(3, 1fr) 1.4fr; gap: 1rem; margin: 1rem 0; padding: 1rem; background: var(--stone, #f5f7f5); }
.live-metrics strong { display: block; font: 2.7rem var(--font-display); color: var(--ivy); }
.live-metrics span, .live-metrics p { font-size: .8rem; color: var(--ink-soft); }
.live-metrics p { align-self: center; line-height: 1.7; }
.measurement-note { color: var(--ink-soft); font-size: .76rem; line-height: 1.7; max-width: 100ch; margin: 1rem 0; }
.intelligence-panel table { width: 100%; border-collapse: collapse; }
.intelligence-panel th, .intelligence-panel td { text-align: left; padding: .9rem .6rem; border-bottom: 1px solid var(--line); font-size: .8rem; vertical-align: top; }
.intelligence-panel th { color: var(--ink-soft); font-size: .65rem; text-transform: uppercase; letter-spacing: .08em; }
.intelligence-panel td small { display: block; margin-top: .3rem; color: var(--ink-soft); }
.crawler-profile { border-top: 1px solid var(--line); }
.crawler-profile summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .85rem 0; cursor: pointer; font-size: .8rem; color: var(--ivy); }
.crawler-profile summary small { display: block; margin-top: .35rem; color: var(--ink-soft); }
.crawler-detail { background: var(--stone, #f5f7f5); padding: 1rem 1.25rem; margin-bottom: 1rem; }
.identity-evidence { border-left: 2px solid var(--ivy); padding-left: .75rem; font-size: .8rem; }
.crawler-detail dl { font-size: .78rem; }
.crawler-detail dl > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); padding: .55rem 0; gap: 1rem; }
.crawler-detail dt { color: var(--ink-soft); }
.crawler-detail dd { margin: 0; overflow-wrap: anywhere; line-height: 1.6; }
.crawler-ua { font-family: monospace; font-size: .7rem; }
@media (max-width: 700px) {
  .live-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1rem; }
  .crawler-profile summary { align-items: flex-start; flex-direction: column; }
  .crawler-detail dl > div { grid-template-columns: 1fr; gap: .2rem; }
  .intelligence-panel .section-heading { align-items: flex-start; gap: .75rem; flex-wrap: wrap; }
  .intelligence-panel table { min-width: 620px; }
}

/* Keep long machine lists compact without hiding observations. */
#crawler-intelligence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; align-items: start; }
#crawler-intelligence > .section-heading, #crawler-intelligence > .measurement-note, #crawler-intelligence > [data-crawler="validation"] { grid-column: 1 / -1; }
.crawler-profile { min-width: 0; overflow-wrap: anywhere; }
.crawler-profile summary > span:last-child { flex-shrink: 0; }
.crawler-detail > p + p { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
@media (max-width: 1100px) { #crawler-intelligence { grid-template-columns: 1fr; } }

/* Protected traffic workspace; shared Ivylake palette and compact rhythm. */
.extension-watch { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
.watch-results { min-width: 0; }
.watch-new { margin-bottom: .5rem; font-size: .85rem; }
.watch-new strong { font: 2rem var(--font-display); color: var(--ivy); margin-right: .4rem; }
.traffic-workspace { max-width: 1500px; margin: 0 auto; padding: 0 var(--page-gutter) 3rem; color: var(--ink); }
.traffic-workspace a { color: var(--ivy); text-underline-offset: .2em; }
.traffic-workspace a:hover { color: var(--lake); }
.traffic-workspace-header a { text-decoration: none; }
.traffic-workspace-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 76px; border-bottom: 1px solid var(--line); }
.traffic-workspace-header nav { display: flex; flex-wrap: wrap; gap: 1.5rem; font-size: .8rem; }
.traffic-title { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.75rem 0 1.25rem; }
.traffic-title h1 { font: clamp(2.4rem, 4vw, 3.5rem)/1.1 var(--font-display); color: var(--ivy); margin: .4rem 0; }
.traffic-title p { color: var(--ink-soft); font-size: .9rem; }
.traffic-title .analysis-clock { text-align: right; font-size: .75rem; line-height: 1.7; }
.analysis-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 1rem; padding: 1rem 0; border-block: 1px solid var(--line); }
.analysis-filters label { display: flex; flex-direction: column; gap: .35rem; font-size: .75rem; color: var(--ink-soft); }
.analysis-filters select { border: 1px solid var(--line); background: white; color: var(--ivy); font: inherit; font-size: .85rem; padding: .7rem; min-width: 150px; min-height: 44px; }
.analysis-filters button { border: 1px solid var(--ivy); background: var(--ivy); color: white; font: inherit; font-size: .85rem; padding: .7rem 1.25rem; min-height: 44px; cursor: pointer; }
.analysis-filters > a { padding: .7rem 0; font-size: .85rem; }
.analysis-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 1.6fr; gap: 1rem; padding: 1.25rem 0; }
.analysis-summary > div { border-right: 1px solid var(--line); }
.analysis-summary strong { display: block; color: var(--ivy); font: 2.5rem var(--font-display); }
.analysis-summary span, .analysis-summary p { font-size: .8rem; color: var(--ink-soft); }
.analysis-summary p { align-self: center; line-height: 1.6; }
.analysis-summary p strong { font: inherit; }
.traffic-map-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1.5rem; }
.traffic-workspace .analysis-card, .analysis-map { min-width: 0; background: white; padding: 1.25rem; border: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.traffic-workspace h2 { color: var(--ivy); font: 1.65rem var(--font-display); margin: 0 0 .75rem; }
.traffic-workspace .section-heading { gap: .75rem; flex-wrap: wrap; margin-bottom: .5rem; }
.traffic-workspace .section-heading a, .traffic-workspace .section-heading span { font-size: .75rem; }
.analysis-map svg { width: 100%; height: auto; display: block; margin: 1rem 0; }
.analysis-map path { stroke: white; stroke-width: .5; vector-effect: non-scaling-stroke; }
.analysis-map a:hover path, .analysis-map a:focus path, .analysis-map path.map-selected { stroke: #52738a; stroke-width: 2; }
.traffic-workspace :focus-visible { outline: 2px solid #52738a; outline-offset: 3px; }
.map-legend { display: flex; flex-wrap: wrap; gap: 1rem; font-size: .7rem; color: var(--ink-soft); }
.map-legend i { display: inline-block; width: .7rem; height: .7rem; background: #e3e9e6; margin-right: .4rem; }
.map-legend span:nth-child(2) i { background: #a8c9b6; }
.map-legend span:nth-child(3) i { background: #103d2a; }
.analysis-caution { font-size: .8rem; color: var(--ink-soft); line-height: 1.7; padding: 1rem 0; }
.analysis-caution a, .analysis-map .measurement-note a { text-decoration: underline; }
.analysis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.traffic-workspace table { width: 100%; border-collapse: collapse; }
.traffic-workspace th, .traffic-workspace td { text-align: left; padding: .65rem .35rem; border-bottom: 1px solid var(--line); font-size: .8rem; vertical-align: top; overflow-wrap: anywhere; }
.traffic-workspace th { font-size: .65rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-soft); }
.traffic-workspace td small { display: block; margin-top: .25rem; color: var(--ink-soft); font-size: .7rem; }
.analysis-activity { margin-top: 1.5rem; }
.analysis-activity table { min-width: 700px; }
.journey-panel { margin-bottom: 1.5rem; }
.journey-panel > p { font-size: .8rem; color: var(--ink-soft); line-height: 1.6; margin-bottom: .75rem; }
.journey { border-top: 1px solid var(--line); padding: .75rem 0; font-size: .8rem; overflow-wrap: anywhere; }
.journey summary { cursor: pointer; color: var(--ivy); line-height: 1.7; }
.journey summary small { color: var(--ink-soft); margin-left: .75rem; }
.journey ol { padding-left: 1.5rem; margin: .75rem 0; }
.journey li { padding: .4rem 0; line-height: 1.5; }
.journey time { color: var(--ink-soft); margin-right: .75rem; }
.heatmap-tools { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin: 1rem 0; font-size: .8rem; }
.heatmap-legend { font-size: .75rem; color: var(--ink-soft); margin-bottom: 1rem; }
.heatmap-stage { position: relative; width: 100%; overflow: hidden; border: 1px solid var(--line); margin-bottom: 1.5rem; background: #f3f5f3; min-height: 400px; }
.heatmap-sheet { position: relative; transform-origin: top left; }
.heatmap-sheet iframe { display: block; border: 0; height: 800px; pointer-events: none; }
.heatmap-sheet canvas { position: absolute; inset: 0; pointer-events: none; }
.buyer-room-link{margin:24px 0;padding-top:20px;border-top:1px solid var(--line)}.buyer-room-link button{padding:12px 16px;border:1px solid var(--line);color:var(--ivy);background:white;font:inherit;cursor:pointer}.buyer-room-link p{font-size:13px;color:var(--ink-soft);margin-top:10px}
.analysis-filters select[name="page"] { max-width: 320px; }
@media (max-width: 900px) {
  .traffic-map-layout { grid-template-columns: 1fr; }
  .traffic-title { align-items: flex-start; }
}
@media (max-width: 600px) {
  .extension-watch, .analysis-grid { grid-template-columns: 1fr; }
  .traffic-workspace-header { align-items: flex-start; flex-direction: column; padding: 1rem 0; }
  .traffic-workspace-header nav { gap: 1rem; }
  .traffic-title { flex-direction: column; padding-top: 1.25rem; }
  .traffic-title .analysis-clock { text-align: left; }
  .traffic-title > div:last-child { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
  .traffic-title > div:last-child p { font-size: .7rem; }
  .analysis-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
  .analysis-summary p { grid-column: 1 / -1; }
  .analysis-summary span { font-size: .7rem; }
  .analysis-summary > div:nth-child(3) { border-right: 0; }
  .analysis-filters label { flex: 1 1 130px; min-width: 0; }
  .analysis-filters select { min-width: 0; width: 100%; }
  .traffic-workspace .analysis-card, .analysis-map { padding: .85rem; }
}
.inquiry-review-button { border: 1px solid #164c38; background: #fff; color: #164c38; padding: .7rem 1rem; font: inherit; cursor: pointer; }
.inquiry-review-button:hover { background: #eff4f0; }

/* Inquiry cards, inquiry detail, and the overview homepage */
.inquiry-card { padding: 1.1rem 0 1.2rem; border-top: 1px solid var(--line); }
.inquiry-card:last-of-type { border-bottom: 1px solid var(--line); }
.inquiry-card h3 { margin: 0 0 .35rem; font-family: var(--font-display); font-size: 1.5rem; font-weight: 400; }
.inquiry-card h3 a { color: var(--ivy); text-decoration: none; }
.inquiry-card h3 a:hover { text-decoration: underline; }
.inquiry-card-meta { margin: 0 0 .4rem; color: var(--ink-soft); font-size: .78rem; }
.inquiry-card-screening { display: inline-block; margin: 0 0 .7rem; padding: .15rem .55rem; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--ink-soft); font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; }
.inquiry-card-message { margin: 0 0 .85rem; color: var(--ink); font-size: .95rem; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.inquiry-card-message a { color: var(--ivy); }
.inquiry-detail-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .9rem 1.5rem; margin: 0 0 1.4rem; padding: 1rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.inquiry-detail-fields dt { margin: 0 0 .2rem; color: var(--warm-gray); font-size: .65rem; letter-spacing: .06em; text-transform: uppercase; }
.inquiry-detail-fields dd { margin: 0; color: var(--ink); font-size: .9rem; overflow-wrap: anywhere; }
.inquiry-detail-fields dd a { color: var(--ivy); }
.inquiry-detail-message { margin: 0 0 1.4rem; padding: 1.1rem 1.25rem; background: var(--stone); border-left: 2px solid var(--ivy-soft); color: var(--ink); font-size: 1rem; line-height: 1.65; }
.inquiry-detail-actions form { display: inline-block; }
.needs-you-panel .decision-card h3 a { color: var(--ivy); text-decoration: none; }
.needs-you-panel .decision-card h3 a:hover { text-decoration: underline; }
.needs-you-inquiry .decision-score span { color: var(--ivy); }
.needs-you-empty { margin: 0; color: var(--ink-soft); }
.today-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.today-tile { display: flex; flex-direction: column; gap: .2rem; padding: 1.1rem 1.15rem; background: #fff; color: var(--ink); text-decoration: none; }
.today-tile:hover { background: var(--stone); }
.today-tile strong { font-family: var(--font-display); font-size: 2rem; font-weight: 400; color: var(--ivy); line-height: 1.05; }
.today-tile span { font-size: .8rem; font-weight: 600; }
.today-tile small { color: var(--ink-soft); font-size: .7rem; }
.activity-feed { list-style: none; margin: 0; padding: 0; }
.activity-feed li { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 1rem; padding: .65rem 0; border-top: 1px solid var(--line); font-size: .85rem; }
.activity-feed time { color: var(--ink-soft); font-size: .75rem; }
.activity-feed a { color: var(--ivy); }
.attention-list { list-style: none; margin: 1rem 0 0; padding: 0; }
.attention-list li { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto auto; gap: .8rem; align-items: baseline; padding: .55rem 0; border-top: 1px solid var(--line); font-size: .9rem; }
.attention-list li > span { color: var(--warm-gray); font-size: .75rem; }
.attention-list a { color: var(--ivy); }
.attention-list .text-link { font-size: .75rem; }
.portfolio-state-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.portfolio-state-card { display: flex; flex-direction: column; gap: .2rem; padding: 1rem 1.1rem; background: #fff; }
.portfolio-state-card span { color: var(--warm-gray); font-size: .65rem; letter-spacing: .06em; text-transform: uppercase; }
.portfolio-state-card strong { font-family: var(--font-display); font-size: 1.6rem; font-weight: 400; color: var(--ivy); }
.portfolio-state-card small { color: var(--ink-soft); font-size: .72rem; }
.system-pulse-line { display: flex; align-items: center; gap: .5rem; margin: 1.5rem 0 0; color: var(--ink-soft); font-size: .78rem; }
@media (max-width: 760px) { .activity-feed li { grid-template-columns: 1fr; gap: .2rem; } .attention-list li { grid-template-columns: 2rem minmax(0, 1fr) auto; } .attention-list .text-link { grid-column: 2; } }
.attention-panel .chart { max-height: 160px; }
.attention-list .empty-list { display: block; padding: .8rem 0; color: var(--ink-soft); font-size: .85rem; }
.activity-feed .empty-list { display: block; }
.needs-you-inquiry p a { color: var(--ivy); }
.dashboard-topbar .operating-thesis a { color: var(--ivy); }
.inquiry-detail-fields dd.status { font-weight: 400; }
