/* ============================================================
   Inbox Monitor Page  (ib-*)
   ============================================================ */
.ib-page { padding:24px 28px; max-width:1400px; }
.ib-header { margin-bottom:20px; }
.ib-title-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.ib-page-title { font-size:22px; font-weight:700; color:var(--k-text); margin:0; display:flex; align-items:center; gap:8px; }
.ib-subtitle { font-size:13px; color:var(--k-text-secondary); margin:0; }
.ib-icon-btn { background:transparent; border:1px solid var(--k-border); border-radius:var(--k-radius-sm); padding:7px 10px; cursor:pointer; color:var(--k-text-secondary); display:flex; align-items:center; }
.ib-icon-btn:hover { background:var(--k-surface-hover); }

/* KPI bar */
.ib-kpi-bar { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
.ib-kpi-card { display:flex; align-items:center; gap:12px; background:var(--k-surface); border:1px solid var(--k-border); border-radius:var(--k-radius-md); padding:14px 18px; flex:1; min-width:160px; }
.ib-kpi-icon .material-icons { font-size:22px; color:var(--k-accent); }
.ib-kpi-val { font-size:24px; font-weight:700; color:var(--k-text); line-height:1.1; }
.ib-kpi-label { font-size:11px; color:var(--k-text-secondary); margin-top:2px; }
.ib-kpi-blue .ib-kpi-icon .material-icons { color: var(--k-blue); }
.ib-kpi-red .ib-kpi-icon .material-icons { color: var(--k-error); }
.ib-kpi-green .ib-kpi-icon .material-icons { color: var(--k-teal); }

/* Filter bar */
.ib-filter-bar { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:18px; align-items:flex-end; }
.ib-filter-item { display:flex; flex-direction:column; gap:4px; }
.ib-filter-search { flex:1; min-width:200px; }
.ib-filter-label { font-size:11px; font-weight:600; color:var(--k-text-secondary); text-transform:uppercase; letter-spacing:.5px; }
.ib-filter-input { padding:8px 11px; border:1px solid var(--k-border); border-radius:var(--k-radius-sm); font-size:13px; color:var(--k-text); background:var(--k-bg); outline:none; min-width:140px; }
.ib-filter-input:focus { border-color:var(--k-accent); }
.ib-filter-select { padding:8px 11px; border:1px solid var(--k-border); border-radius:var(--k-radius-sm); font-size:13px; color:var(--k-text); background:var(--k-bg); outline:none; min-width:130px; }
.ib-filter-select:focus { border-color:var(--k-accent); }

/* Two-panel layout */
.ib-panels { display:flex; gap:16px; margin-bottom:28px; min-height:480px; }
.ib-list-panel { flex:1.6; min-width:0; background:var(--k-surface); border:1px solid var(--k-border); border-radius:var(--k-radius-md); overflow:hidden; display:flex; flex-direction:column; }
.ib-detail-panel { flex:1; min-width:360px; max-width:520px; background:var(--k-surface); border:1px solid var(--k-border); border-radius:var(--k-radius-md); overflow-y:auto; }

/* List table */
.ib-list-wrap { overflow-y:auto; flex:1; }
.ib-list-table { width:100%; }
.ib-list-header { display:grid; grid-template-columns:1.6fr 2fr 1.3fr .9fr .9fr .6fr .7fr; gap:0; padding:10px 14px; background:var(--k-surface-sunken); border-bottom:1px solid var(--k-border); font-size:11px; font-weight:700; color:var(--k-text-secondary); text-transform:uppercase; letter-spacing:.5px; }
.ib-list-row { display:grid; grid-template-columns:1.6fr 2fr 1.3fr .9fr .9fr .6fr .7fr; gap:0; padding:11px 14px; border-bottom:1px solid var(--k-border-light); cursor:pointer; transition:background .1s; }
.ib-list-row:hover { background:var(--k-surface-hover); }
.ib-list-row.selected { background:rgba(99,102,241,.07); }
.ib-row-new { font-weight:600; }
.ib-col { font-size:12.5px; color:var(--k-text); display:flex; align-items:center; gap:4px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.ib-col-from { flex-direction:column; align-items:flex-start; gap:1px; }
.ib-from-email { font-size:11px; color:var(--k-text-secondary); }
.ib-col-subject { color:var(--k-text); overflow:hidden; text-overflow:ellipsis; }
.ib-col-score { font-weight:700; }
.ib-col-time { font-size:11px; color:var(--k-text-secondary); }
.ib-score-red { color: var(--k-error); }
.ib-score-yellow { color: var(--k-warning); }
.ib-score-green { color: var(--k-teal); }

/* Domain chip */
.ib-domain-chip { font-size:11px; background:var(--k-surface-sunken); border:1px solid var(--k-border); padding:2px 7px; border-radius:var(--k-radius-md); color:var(--k-text-secondary); font-family:monospace; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:140px; display:inline-block; }

/* Verdict / intent chips */
.ib-chip { display:inline-flex; align-items:center; gap:3px; padding:2px 8px; border-radius:var(--k-radius-md); font-size:11px; font-weight:600; white-space:nowrap; }
.ib-chip .material-icons { font-size:13px; }
.ib-chip-lg { font-size:12.5px; padding:4px 10px; }
.ib-chip-green  { background:#dcfce7; color: var(--k-success-mid); }
.ib-chip-yellow { background:#fef9c3; color:#ca8a04; }
.ib-chip-red    { background:#fee2e2; color: var(--k-error-mid); }
.ib-chip-blue   { background:#dbeafe; color:#2563eb; }
.ib-chip-purple { background:#ede9fe; color:#7c3aed; }
.ib-chip-orange { background:#ffedd5; color:#ea580c; }
.ib-chip-gray   { background:var(--k-surface-sunken); color:var(--k-text-secondary); }

/* Badges */
.ib-badge { display:inline-flex; align-items:center; padding:2px 8px; border-radius:10px; font-size:12px; font-weight:700; }
.ib-badge-blue   { background:#dbeafe; color:#2563eb; }
.ib-badge-red    { background:#fee2e2; color: var(--k-error-mid); }
.ib-badge-green  { background:#dcfce7; color: var(--k-success-mid); }

/* Pagination */
.ib-pagination { display:flex; align-items:center; gap:10px; padding:12px 16px; border-top:1px solid var(--k-border); background:var(--k-surface-sunken); }
.ib-pg-info { font-size:12px; color:var(--k-text-secondary); flex:1; }
.ib-pg-btn { display:flex; align-items:center; gap:4px; padding:6px 12px; background:var(--k-bg); border:1px solid var(--k-border); border-radius:7px; font-size:12px; cursor:pointer; color:var(--k-text); }
.ib-pg-btn:hover:not(:disabled) { background:var(--k-surface-hover); }
.ib-pg-btn:disabled { opacity:.4; cursor:not-allowed; }

/* Detail panel */
.ib-detail-wrap { padding:18px; display:flex; flex-direction:column; gap:14px; }
.ib-detail-header { border-bottom:1px solid var(--k-border); padding-bottom:14px; }
.ib-detail-subject { font-size:16px; font-weight:700; color:var(--k-text); margin:0 0 10px; word-break:break-word; }
.ib-detail-meta { display:flex; flex-direction:column; gap:4px; font-size:12px; color:var(--k-text-secondary); margin-bottom:10px; }
.ib-detail-meta strong { color:var(--k-text); }
.ib-detail-actions { display:flex; gap:8px; flex-wrap:wrap; }
.ib-action-btn { display:flex; align-items:center; gap:5px; padding:6px 13px; background:var(--k-bg); border:1px solid var(--k-border); border-radius:7px; font-size:12px; cursor:pointer; color:var(--k-text); }
.ib-action-btn:hover { background:var(--k-surface-hover); }
.ib-action-danger { color: var(--k-error-mid); border-color:#fca5a5; }
.ib-action-danger:hover { background:#fee2e2; }

/* AI card */
.ib-ai-card { background:var(--k-surface-sunken); border:1px solid var(--k-border); border-radius:10px; padding:14px; }
.ib-ai-card-title { font-size:13px; font-weight:700; color:var(--k-text); margin:0 0 12px; display:flex; align-items:center; gap:6px; }
.ib-ai-row { display:flex; gap:14px; flex-wrap:wrap; align-items:flex-start; margin-bottom:10px; }
.ib-ai-score-box { flex:1; min-width:180px; }
.ib-ai-score-label { font-size:12px; font-weight:600; color:var(--k-text-secondary); margin-bottom:6px; }
.ib-score-bar-track { height:8px; background:var(--k-border); border-radius:4px; overflow:hidden; }
.ib-score-bar-fill { height:100%; border-radius:4px; transition:width .4s ease; }
.ib-ai-chips { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.ib-ai-summary { font-size:12.5px; color:var(--k-text-secondary); background:var(--k-bg); border-radius:7px; padding:8px 10px; border-left:3px solid var(--k-accent); display:flex; align-items:flex-start; gap:6px; }
.ib-ai-summary .material-icons { font-size:15px; flex-shrink:0; color:var(--k-accent); margin-top:1px; }
.ib-triggers { margin-top:8px; }
.ib-triggers-label { font-size:11px; font-weight:700; color:var(--k-text-secondary); display:flex; align-items:center; gap:4px; margin-bottom:5px; }
.ib-triggers-label .material-icons { font-size:14px; color: var(--k-warning); }
.ib-trigger-chips { display:flex; gap:5px; flex-wrap:wrap; }
.ib-trigger-chip { font-size:11px; background:#fee2e2; color: var(--k-error-mid); padding:2px 7px; border-radius:10px; font-weight:600; }
.ib-context-row { display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
.ib-context-link { display:inline-flex; align-items:center; gap:4px; font-size:12px; color:var(--k-accent); text-decoration:none; padding:3px 8px; background:rgba(99,102,241,.07); border-radius:var(--k-radius-xs); }
.ib-context-link:hover { background:rgba(99,102,241,.14); }

/* Reply suggestions */
.ib-sug-card { background:var(--k-surface-sunken); border:1px solid var(--k-border); border-radius:10px; overflow:hidden; }
.ib-sug-title { display:flex; align-items:center; gap:6px; padding:12px 14px; font-size:13px; font-weight:700; color:var(--k-text); background:var(--k-surface-sunken); }
.ib-sug-body { display:flex; flex-direction:column; gap:10px; padding:0 14px 14px; }
.ib-sug-body.hidden { display:none; }
.ib-sug-item { background:var(--k-bg); border:1px solid var(--k-border); border-radius:var(--k-radius-sm); padding:10px 12px; }
.ib-sug-tone { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; margin-bottom:5px; }
.ib-tone-professional { color:#7c3aed; }
.ib-tone-friendly { color:#2563eb; }
.ib-tone-brief { color: var(--k-success-mid); }
.ib-sug-subj { font-size:12px; font-weight:600; color:var(--k-text); margin-bottom:4px; }
.ib-sug-body-text { font-size:12px; color:var(--k-text-secondary); line-height:1.55; margin-bottom:8px; white-space:pre-wrap; word-break:break-word; }
.ib-copy-btn { display:inline-flex; align-items:center; gap:4px; padding:4px 10px; background:var(--k-accent); color:#fff; border:none; border-radius:var(--k-radius-xs); font-size:11px; font-weight:600; cursor:pointer; }
.ib-copy-btn:hover { opacity:.88; }

/* Email body */
.ib-body-card { background:var(--k-surface-sunken); border:1px solid var(--k-border); border-radius:10px; overflow:hidden; }
.ib-body-title { display:flex; align-items:center; gap:6px; padding:12px 14px; font-size:13px; font-weight:700; color:var(--k-text); }
.ib-body-content { padding:0 14px 14px; }
.ib-body-text { font-size:12px; color:var(--k-text-secondary); white-space:pre-wrap; word-break:break-word; line-height:1.55; font-family:var(--k-mono,'ui-monospace',monospace); max-height:320px; overflow-y:auto; margin:0; }
.ib-body-empty { font-size:12px; color:var(--k-text-tertiary); font-style:italic; }

/* Domain health table */
.ib-section { margin-top:4px; }
.ib-section-title { font-size:15px; font-weight:700; color:var(--k-text); margin:0 0 14px; display:flex; align-items:center; gap:6px; }
.ib-domain-table { width:100%; border-collapse:collapse; background:var(--k-surface); border:1px solid var(--k-border); border-radius:10px; overflow:hidden; font-size:13px; }
.ib-domain-table th { padding:10px 14px; text-align:left; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--k-text-secondary); background:var(--k-surface-sunken); border-bottom:1px solid var(--k-border); }
.ib-domain-table td { padding:10px 14px; border-bottom:1px solid var(--k-border-light); color:var(--k-text); }
.ib-domain-row:last-child td { border-bottom:none; }
.ib-domain-row:hover td { background:var(--k-surface-hover); }
.ib-no-data { font-size:13px; color:var(--k-text-secondary); font-style:italic; }

/* Dark theme overrides */
[data-theme="dark"] .ib-filter-input { background:var(--k-surface); color:var(--k-text); }
[data-theme="dark"] .ib-filter-select { background:var(--k-surface); color:var(--k-text); }
[data-theme="dark"] .ib-chip-green  { background:rgba(22,163,74,.2); color:#4ade80; }
[data-theme="dark"] .ib-chip-yellow { background:rgba(202,138,4,.2); color:#fbbf24; }
[data-theme="dark"] .ib-chip-red    { background:rgba(220,38,38,.2); color:#f87171; }

