/* Notifications page (nt-*) and the Discord message preview (dc-*). Tokens only (app.css). */

.nt-ch { display: flex; align-items: center; gap: var(--sp-2); min-width: 0; }
.nt-ch .icon { flex: none; color: var(--muted); }
.nt-sub { font-size: var(--fs-2); font-weight: 600; color: var(--text-2); text-transform: uppercase; letter-spacing: .04em; padding-top: var(--sp-1); }
.nt-filters { align-items: center; gap: var(--gap-s); }
.nt-filters select { width: auto; max-width: 220px; }
.nt-logev { display: flex; flex-direction: column; min-width: 0; }
.nt-kv { grid-template-columns: max-content minmax(0, 1fr); }

/* channel editor: form + live preview side by side, stacked on narrow screens */
.nt-editor { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-6); align-items: start; }
.nt-preview { position: sticky; top: 0; display: flex; flex-direction: column; gap: var(--sp-2); min-width: 0; }
.nt-preview select { width: auto; max-width: 60%; }
.nt-preview-box { min-width: 0; }
@media (max-width: 860px) { .nt-editor { grid-template-columns: minmax(0, 1fr); } .nt-preview { position: static; } }

/* test drawer: event list + preview */
.nt-test { display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: var(--sp-4); align-items: start; }
.nt-types { max-height: 60vh; overflow: auto; display: flex; flex-direction: column; gap: 2px; }
.nt-types .meta { white-space: nowrap; }
@media (max-width: 760px) { .nt-test { grid-template-columns: minmax(0, 1fr); } .nt-types { max-height: 200px; } }

/* routing matrix */
.nt-matrix-wrap { max-height: 72vh; }
.nt-matrix { border-collapse: separate; border-spacing: 0; }
.nt-matrix th.nt-ev { text-align: left; font-weight: 500; min-width: 220px; max-width: 360px; position: sticky; left: 0; background: var(--panel); z-index: 1; }
.nt-matrix thead th { vertical-align: bottom; }
.nt-matrix th.nt-ev > div:first-child { color: var(--text-strong); }
.nt-matrix thead th.nt-ev { z-index: 2; }
.nt-matrix .nt-col { min-width: 132px; text-align: center; }
.nt-colh { display: flex; flex-direction: column; align-items: center; gap: 2px; max-width: 160px; margin: 0 auto; }
.nt-colbadges { justify-content: center; }
.nt-cell { text-align: center; }
.nt-matrix tr.nt-group th, .nt-matrix tr.nt-group td { background: var(--panel-2); font-size: var(--fs-2); font-weight: 600; color: var(--text-2); }
.nt-matrix tr.nt-group th { position: sticky; left: 0; z-index: 1; text-transform: uppercase; letter-spacing: .04em; }
.nt-desc { max-width: 340px; white-space: normal; }
@media (max-width: 760px) { .nt-matrix th.nt-ev { min-width: 150px; } .nt-desc { display: none; } .nt-matrix .nt-col { min-width: 96px; } }

/* Discord message preview: Discord's layout, Oculi's theme */
.dc-msg { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: var(--sp-3); padding: var(--sp-3); border-radius: var(--radius); background: var(--bg-2); border: 1px solid var(--border); min-width: 0; }
.dc-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--accent); color: var(--on-primary); display: grid; place-items: center; font-weight: 700; object-fit: cover; }
.dc-main { min-width: 0; display: flex; flex-direction: column; gap: var(--sp-1); }
.dc-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.dc-head b { color: var(--text-strong); }
.dc-bot { background: var(--accent); color: var(--on-primary); font-size: var(--fs-1); font-weight: 700; padding: 0 4px; border-radius: 3px; line-height: 1.5; }
.dc-time { color: var(--faint); font-size: var(--fs-1); }
.dc-thread { display: inline-flex; align-items: center; gap: 4px; color: var(--muted); font-size: var(--fs-1); }
.dc-thread .icon { width: 12px; height: 12px; }
.dc-content { color: var(--text); }
.dc-mention { background: var(--accent-bg); color: var(--accent-2); border-radius: 3px; padding: 0 2px; font-weight: 500; }
.dc-embed { border-left: 4px solid var(--accent); border-radius: var(--radius-s); background: var(--panel); padding: var(--sp-2) var(--sp-3) var(--sp-3); display: flex; flex-direction: column; gap: 6px; max-width: 520px; min-width: 0; box-shadow: var(--shadow-1); }
.dc-author { font-size: var(--fs-2); font-weight: 600; color: var(--text-2); }
.dc-title { font-weight: 700; color: var(--text-strong); overflow-wrap: anywhere; }
a.dc-title { color: var(--accent-2); }
.dc-desc { font-size: var(--fs-3); color: var(--text); overflow-wrap: anywhere; }
.dc-desc code, .dc-fval code { background: var(--panel-2); border-radius: 3px; padding: 0 3px; }
.dc-code { background: var(--panel-2); border: 1px solid var(--border); border-radius: var(--radius-s); padding: var(--sp-2); margin: 2px 0; white-space: pre-wrap; overflow-wrap: anywhere; font: var(--fs-2)/1.4 var(--mono); }
.dc-quote { display: block; border-left: 3px solid var(--border-2); padding-left: var(--sp-2); color: var(--text-2); }
.dc-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-2) var(--sp-3); }
.dc-field { grid-column: 1 / -1; min-width: 0; }
.dc-field.inline { grid-column: auto; }
.dc-fname { font-size: var(--fs-2); font-weight: 700; color: var(--text-strong); }
.dc-fval { font-size: var(--fs-2); color: var(--text); overflow-wrap: anywhere; }
.dc-foot { font-size: var(--fs-1); color: var(--muted); }
@media (max-width: 480px) { .dc-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dc-msg { grid-template-columns: 32px minmax(0, 1fr); padding: var(--sp-2); } .dc-avatar { width: 32px; height: 32px; } }
