/* Scoped to the embedded console so account forms cannot stretch its controls. */
#account-root #app [hidden] { display: none !important; }
#account-root #app label { margin: 0; font-size: 11px; font-weight: 600; }
#account-root #app input,
#account-root #app select { min-height: 32px; height: 32px; padding: 5px 8px; font-size: 11px; }
#account-root #app input[type="checkbox"] { width: 16px; height: 16px; min-height: 16px; }
#account-root #app button { min-height: 32px; padding: 6px 10px; font-size: 11px; }
#account-root #app button.primary-button { background: var(--leads-blue); border-color: var(--leads-blue); color: white; }
#account-root #app button.primary-button:hover { background: var(--leads-blue-dark); }
#account-root #app button:focus-visible,
#account-root #app summary:focus-visible,
#account-root #app .table-wrap:focus-visible { outline: 2px solid var(--leads-blue); outline-offset: 2px; }
#account-root #app h1 { margin: 0; font-size: 17px; }
#account-root #app h2 { margin: 0; font-size: 16px; }
#account-root #app h3 { margin: 0; font-size: 14px; }
#account-root #app p { line-height: 1.5; }
#account-root #app details { margin: 0; }
#account-root #app summary { cursor: pointer; font-size: 11px; }
#account-root #app .topbar { min-height: 50px; padding: 8px 14px; }
#account-root #app .topbar-actions { flex-wrap: wrap; gap: 6px; }
#account-root #app .summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
#account-root #app .summary-card { min-height: 76px; padding: 10px 14px; }
#account-root #app .summary-card strong { font-size: 25px; margin: 4px 0; }
#account-root #app .summary-card small { font-size: 10px; }
#account-root #app .workspace { min-height: 0; grid-template-columns: 252px minmax(0, 1fr); }
#account-root #app .post-panel { padding: 12px; }
#account-root #app .panel-heading { padding: 0 0 12px; }
#account-root #app .search-box {
  display: flex; flex-direction: row; align-items: center; gap: 6px;
  min-height: 34px; padding: 0 9px;
}
#account-root #app .search-box input { border: 0; padding: 5px 0; box-shadow: none; background: transparent; }
#account-root #app .source-filters { margin-top: 8px; gap: 6px; }
#account-root #app .post-tools { display: grid; gap: 10px; margin: 12px 0; }
#account-root #app .post-tools > button { justify-self: start; }
#account-root #app #classification-message { margin: 0; padding: 0; color: var(--leads-red); font-size: 11px; }
#account-root #app #classification-message:empty { display: none; }
#account-root #app .classification-filters {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px; padding: 10px 0 0;
}
#account-root #app .classification-bulk { padding: 10px 0; gap: 6px; align-items: end; }
#account-root #app .classification-bulk label { min-width: 0; }
#account-root #app .post-list { gap: 6px; align-content: start; margin-top: 0; max-height: 420px; }
#account-root #app .classification-post-row { padding: 0; gap: 5px; }
#account-root #app .classification-post-row > input { margin: 12px 0 0; }
#account-root #app .post-item { padding: 9px; background: white; border-color: var(--leads-line); text-align: left; }
#account-root #app .post-item.active { background: var(--leads-blue-weak); border-color: #9dbde3; }
#account-root #app .post-item strong { font-size: 12px; }
#account-root #app .post-item-meta { margin-top: 6px; gap: 4px; font-size: 10px; }
#account-root #app .post-analysis-status,
#account-root #app .classification-badge { margin-top: 5px; font-size: 10px; }
#account-root #app .detail-panel { min-width: 0; padding: 14px; }
#account-root #app .detail-heading { gap: 12px; }
#account-root #app .detail-heading h2 { margin: 7px 0 4px; line-height: 1.4; overflow-wrap: anywhere; }
#account-root #app .detail-heading p { margin: 0; font-size: 11px; overflow-wrap: anywhere; }
#account-root #app .detail-kicker { flex-wrap: wrap; gap: 6px; }
#account-root #app .source-link { flex-shrink: 0; padding: 7px 9px; white-space: nowrap; }
#account-root #app .classification-panel { margin: 10px 0; padding: 0; border-radius: 3px; }
#account-root #app .classification-panel > summary { padding: 8px 10px; }
#account-root #app .classification-panel > summary strong { font-weight: 600; color: var(--leads-ink); }
#account-root #app .classification-edit-hint { float: right; margin-left: 10px; color: var(--leads-blue); }
#account-root #app #classification-reason { margin: 0; padding: 0 10px; color: var(--leads-muted); font-size: 11px; overflow-wrap: anywhere; }
#account-root #app .classification-editor { padding: 10px; gap: 8px; align-items: end; }
#account-root #app .classification-editor label { flex: 0 1 150px; }
#account-root #app .classification-editor label:has(input[type="checkbox"]) {
  flex-basis: auto; flex-direction: row; align-items: center; min-height: 32px;
}
#account-root #app .classification-editor button { height: 32px; align-self: end; }
#account-root #app .capture-strip { margin: 8px 0 12px; }
#account-root #app .capture-strip div { padding: 7px 10px; }
#account-root #app .capture-strip strong { margin-top: 3px; font-size: 15px; }
#account-root #app .detail-tabs { display: flex; gap: 18px; border-bottom: 1px solid var(--leads-line); margin-bottom: 12px; }
#account-root #app .detail-tabs button {
  display: flex; align-items: center; gap: 7px; padding: 9px 2px; border: 0;
  border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--leads-muted); font-size: 13px;
}
#account-root #app .detail-tabs button[aria-selected="true"] { border-bottom-color: var(--leads-blue); color: var(--leads-blue); }
#account-root #app .detail-tabs button span { padding: 1px 6px; background: #edf2f7; border-radius: 10px; font-size: 10px; font-variant-numeric: tabular-nums; }
#account-root #app .detail-tabs button[aria-selected="true"] span { background: var(--leads-blue-weak); }
#account-root #app .comment-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) 100px; gap: 8px; align-items: end; }
#account-root #app .comment-toolbar .select-label { flex-direction: row; align-items: center; gap: 6px; letter-spacing: 0; }
#account-root #app .comment-toolbar .select-label > span { flex-shrink: 0; white-space: nowrap; }
#account-root #app .comment-toolbar select { min-width: 0; }
#account-root #app .export-group { grid-column: 1 / -1; flex-wrap: wrap; }
#account-root #app .table-meta { margin: 10px 0 8px; font-size: 11px; }
#account-root #app .table-wrap { max-height: 480px; overflow: auto; scrollbar-gutter: stable; }
#account-root #app #comments-scroll table { min-width: 650px; }
#account-root #app #analysis-scroll table { min-width: 720px; }
#account-root #app th { top: 0; padding: 9px 10px; white-space: nowrap; }
#account-root #app td { padding: 9px 10px; border-bottom-color: #e8edf2; font-size: 11px; }
#account-root #app .comment-content { min-width: 240px; white-space: pre-wrap; overflow-wrap: anywhere; }
#account-root #app .user-name { max-width: 120px; }
#account-root #app .user-id { max-width: 120px; }
#account-root #app .table-empty { padding: 32px 16px; }
#account-root #app .load-more { margin: 8px auto 0; }
#account-root #app .lead-panel { margin: 0; padding: 0; border: 0; }
#account-root #app .lead-heading { flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
#account-root #app .lead-quality-select { flex-direction: row; align-items: center; margin: 0; gap: 8px; }
#account-root #app .lead-quality-select span { white-space: nowrap; color: var(--leads-muted); }
#account-root #app .lead-quality-select select { width: auto; max-width: 180px; }
#account-root #app .lead-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
#account-root #app .analysis-scope { display: grid; gap: 7px; align-content: start; padding: 8px; background: #f7f9fc; border: 1px solid var(--leads-line); border-radius: 3px; }
#account-root #app .analysis-scope > span { min-width: 0; font-size: 10px; white-space: normal; overflow-wrap: anywhere; }
#account-root #app .analysis-split { width: max-content; max-width: 100%; }
#account-root #app .analysis-split > button:first-child { border-radius: 3px 0 0 3px; }
#account-root #app .analysis-split > .analysis-menu-toggle { padding: 6px; min-width: 28px; border-radius: 0 3px 3px 0; }
#account-root #app .analysis-menu { right: auto; left: 0; box-shadow: 0 4px 16px #10243f1a; }
#account-root #app .analysis-menu button { text-align: left; border: 0; }
#account-root #app .analysis-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 10px 0; }
#account-root #app .analysis-notes details { padding: 0; margin: 0; border: 0; min-width: 0; }
#account-root #app .analysis-failure-list { max-height: 120px; }
#account-root #app .analysis-failure-item { grid-template-columns: 1fr 1fr; }
#account-root #app .empty-detail { min-height: 320px; }

@media (min-width: 1600px) {
  #account-root #app .comment-toolbar { grid-template-columns: minmax(0, 1fr) 110px auto; }
  #account-root #app .export-group { grid-column: auto; }
}

/* On desktop the workspace fits the viewport; only its lists scroll. */
@media (min-width: 1100px) and (min-height: 680px) {
  #account-root[data-page="console"] { height: 100dvh; min-height: 0; grid-template-rows: 56px minmax(0, 1fr); }
  #account-root[data-page="console"] .account-main { min-height: 0; padding: 14px 18px; display: flex; flex-direction: column; }
  #account-root[data-page="console"] .account-content { width: 100%; min-height: 0; flex: 1; }
  #account-root #app { display: flex; flex-direction: column; height: 100%; min-height: 0; gap: 12px; }
  #account-root #app > .topbar { flex: 0 0 auto; margin: 0; }
  #account-root #app > main { display: flex; flex: 1; flex-direction: column; gap: 12px; min-height: 0; }
  #account-root #app .summary-grid { width: 100%; max-width: none; margin: 0; flex: 0 0 auto; }
  #account-root #app .workspace { flex: 1; width: 100%; max-width: none; min-height: 0; }
  #account-root #app .post-panel { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
  #account-root #app .post-panel > :not(.post-list) { flex-shrink: 0; }
  #account-root #app .post-tools { max-height: 230px; max-height: min(230px, 30dvh); overflow: auto; }
  #account-root #app .post-list { flex: 1; min-height: 0; max-height: none; }
  #account-root #app .detail-panel { min-height: 0; overflow: hidden; }
  #account-root #app #post-detail { display: flex; flex-direction: column; height: 100%; min-height: 0; }
  #account-root #app .detail-overview { max-height: 45%; overflow: auto; flex: 0 0 auto; }
  #account-root #app .detail-tabs { flex: 0 0 auto; }
  #account-root #app .detail-tab-panel { display: flex; flex: 1; flex-direction: column; min-height: 0; }
  #account-root #app .detail-tab-panel > :not(.table-wrap) { flex-shrink: 0; }
  #account-root #app .detail-tab-panel > .table-wrap { flex: 1; min-height: 0; max-height: none; }
  #account-root #app .analysis-controls { max-height: 58%; overflow: auto; margin-bottom: 8px; }
  #account-root #app .analysis-scope { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
  #account-root #app .analysis-scope > span { flex: 1 1 100px; }
  #account-root #app .analysis-scope > .analysis-split { flex-shrink: 0; }
  #account-root #app .analysis-split:has(.analysis-menu:not(.hidden)) {
    display: grid; grid-template-columns: minmax(0, 1fr) 28px; width: 100%;
  }
  #account-root #app .analysis-menu {
    position: static; grid-column: 1 / -1; min-width: 0; margin-top: 6px;
  }
  #account-root #app .empty-detail { min-height: 0; height: 100%; }
}

@media (max-width: 1099px) {
  #account-root #app .workspace { grid-template-columns: 1fr; }
  #account-root #app .post-panel { border-right: 0; border-bottom: 1px solid var(--leads-line); }
  #account-root #app .post-list { max-height: 240px; }
  #account-root #app .post-tools { grid-template-columns: 1fr 1fr auto; align-items: start; }
  #account-root #app #classification-message { grid-column: 1 / -1; }
}

@media (min-width: 1100px) and (min-height: 680px) and (max-height: 800px) {
  #account-root #app .summary-card { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 50px; padding: 8px 12px; }
  #account-root #app .summary-card strong { margin: 0; }
  #account-root #app .summary-card small { display: none; }
  #account-root #app .lead-heading .eyebrow { display: none; }
  #account-root #app .classification-panel { margin: 6px 0; }
  #account-root #app .capture-strip { margin: 6px 0 8px; }
  #account-root #app .capture-strip div { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
  #account-root #app .capture-strip strong { margin: 0; }
}

@media (max-width: 640px) {
  #account-root #app .topbar { flex-wrap: wrap; gap: 8px; }
  #account-root #app .topbar-actions { width: 100%; }
  #account-root #app #export-leads-html,
  #account-root #app #refresh-all { display: inline-block; }
  #account-root #app .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  #account-root #app .detail-panel { padding: 12px; }
  #account-root #app .detail-heading { flex-direction: column; }
  #account-root #app .post-tools { grid-template-columns: 1fr; }
  #account-root #app .table-wrap { max-height: 55dvh; }
  #account-root #app .classification-edit-hint { float: none; display: inline-block; }
  #account-root #app .lead-actions { grid-template-columns: 1fr; }
  #account-root #app .analysis-scope { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  #account-root #app .analysis-menu { left: auto; right: 0; }
}
