:root { color-scheme: light; --ink:#172033; --muted:#64748b; --line:#dbe2ea; --surface:#fff; --bg:#f4f7fa; --accent:#df4a28; }
* { box-sizing:border-box; }
body { margin:0; font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink); background:var(--bg); }
a { color:#1d4ed8; text-decoration:none; }
a:hover { text-decoration:underline; }
.topbar { min-height:64px; display:flex; align-items:center; justify-content:space-between; padding:0 28px; background:#111827; color:#fff; }
.topbar a { color:#fff; }
.brand { font-weight:800; letter-spacing:.06em; }
.topbar nav { display:flex; gap:20px; align-items:center; }
.container { width:min(1180px,calc(100% - 32px)); margin:30px auto 70px; }
h1,h2 { line-height:1.15; }
h1 { margin:.25rem 0; }
h2 { font-size:1.08rem; margin-top:0; }
.muted { color:var(--muted); }
.page-heading,.section-heading { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:22px; }
.panel,.login-card { background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:22px; box-shadow:0 5px 20px rgb(15 23 42 / 5%); }
.login-card { width:min(420px,100%); margin:10vh auto; }
.grid { display:grid; gap:20px; margin:20px 0; }
.grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.filters { display:grid; grid-template-columns:2fr 1fr 1fr auto; gap:10px; margin-bottom:18px; }
input,select,textarea,button,.button { font:inherit; border-radius:8px; border:1px solid #cbd5e1; padding:10px 12px; }
input,select,textarea { width:100%; background:#fff; }
button,.button { cursor:pointer; background:var(--accent); color:#fff; border-color:var(--accent); font-weight:650; display:inline-block; }
.secondary { background:#fff; color:var(--ink); border-color:#cbd5e1; }
.small { padding:6px 9px; font-size:.85rem; }
.table-wrap { overflow:auto; background:#fff; border:1px solid var(--line); border-radius:12px; }
table { width:100%; border-collapse:collapse; }
th,td { padding:13px 14px; text-align:left; border-bottom:1px solid #edf1f5; vertical-align:top; }
th { color:#475569; font-size:.82rem; text-transform:uppercase; letter-spacing:.03em; }
.message-preview { max-width:330px; }
.status { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.status::before { content:""; width:9px; height:9px; border-radius:50%; background:var(--status-color); }
.stack { display:flex; flex-direction:column; gap:10px; }
.stack p { margin:0; }
.inline,.inline-form { display:inline-flex; align-items:center; gap:8px; margin:0; }
.link-button { padding:0; background:transparent; border:0; color:#fff; font-weight:400; }
dl { display:grid; grid-template-columns:150px 1fr; gap:8px 12px; }
dt { color:var(--muted); }
dd { margin:0; }
.timeline { margin-top:20px; }
.bubble { width:min(760px,90%); padding:14px 16px; margin:12px 0; border-radius:12px; background:#eef2ff; }
.bubble.inbound { margin-right:auto; }
.bubble.outbound { margin-left:auto; background:#dcfce7; }
.bubble.internal { margin-left:auto; background:#fff7ed; border:1px dashed #fb923c; }
.bubble.system { background:#f1f5f9; width:100%; }
.bubble-meta { color:var(--muted); font-size:.78rem; margin-bottom:5px; }
.note-form { border-top:1px solid var(--line); padding-top:20px; margin-top:24px; }
.identity { display:grid; grid-template-columns:100px 1fr auto; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); }
.status-list,.conversation-links { list-style:none; padding:0; }
.status-list li { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); }
.flash { background:#e0f2fe; border:1px solid #7dd3fc; padding:10px 14px; border-radius:8px; margin-bottom:14px; }
.warning { color:#b45309; }.ok { color:#15803d; }.back { display:inline-block; margin-bottom:10px; }
.pagination { display:flex; gap:14px; justify-content:center; padding:20px; }
.form-panel { max-width:680px; }
@media (max-width:760px) { .topbar { align-items:flex-start; padding:18px; flex-direction:column; gap:12px; }.topbar nav { flex-wrap:wrap; gap:12px; }.grid.two,.filters { grid-template-columns:1fr; }.page-heading { align-items:flex-start; flex-direction:column; } dl { grid-template-columns:1fr; gap:2px; } dd { margin-bottom:8px; } }

