@import"https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;700&family=Space+Mono:wght@400;700&display=swap";:root{--bg-1: #f6f3eb;--bg-2: #e6f0ec;--ink: #162122;--muted: #5e6d6f;--card: rgba(255, 255, 255, .78);--line: rgba(22, 33, 34, .12);--brand: #0f7a64;--accent: #d45e19;--danger: #a22c29}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Archivo,sans-serif;color:var(--ink);overflow-x:hidden;background:radial-gradient(circle at 10% 10%,rgba(212,94,25,.16),transparent 35%),radial-gradient(circle at 80% 20%,rgba(15,122,100,.16),transparent 34%),linear-gradient(130deg,var(--bg-1),var(--bg-2))}h1,h2,h3{margin:0}h1{font-size:clamp(1.2rem,3vw,1.8rem)}.eyebrow{margin:0;letter-spacing:.08em;font-size:.75rem;text-transform:uppercase;font-family:Space Mono,monospace;color:var(--muted)}.muted{color:var(--muted);margin:0}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app-shell{max-width:1400px;margin:0 auto;padding:1.25rem;display:grid;gap:1rem}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;gap:1rem}.nav-tabs{display:flex;gap:.5rem}.nav-tabs button,button,input,select{font:inherit}button,select,input{border-radius:10px;border:1px solid var(--line);padding:.55rem .75rem;background:#fff}button{cursor:pointer}button.active{background:var(--ink);color:#fff;border-color:var(--ink)}button.ghost{background:transparent}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-card{width:min(460px,100%);padding:1.4rem;border-radius:18px;border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stack{display:grid;gap:.75rem;margin-top:1rem}.stack label{display:grid;gap:.35rem;color:var(--muted)}.panel{padding:1rem}.panel-grid{display:grid;grid-template-columns:1.75fr 1fr;gap:1rem}.panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.85rem}.counter{background:#0f7a641f;color:var(--brand);border:1px solid rgba(15,122,100,.22);border-radius:999px;padding:.25rem .65rem;font-size:.84rem}.filters-row{display:grid;gap:.65rem;grid-template-columns:180px 220px 1fr;margin-bottom:.8rem}.table-shell{overflow:auto;max-height:62vh;border:1px solid var(--line);border-radius:12px}.table-shell.compact{max-height:44vh}table{width:100%;border-collapse:collapse;min-width:1024px;table-layout:fixed}th,td{padding:.65rem .75rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{position:sticky;top:0;z-index:1;background:#f2f5f3;font-size:.9rem}tbody tr:hover{background:#1621220d}.row-active{background:#0f7a641a}.col-client{width:22%}.col-recipient{width:17%}.col-subject{width:20%}.col-status{width:11%}.col-date{width:18%;white-space:nowrap}.col-actions{width:12%;text-align:right}.cell-truncate{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.danger-ghost{border-color:#a22c2947;color:var(--danger);background:#a22c2912;padding:.4rem .65rem;font-size:.78rem;font-weight:600;white-space:nowrap}.danger-ghost:disabled{opacity:.6;cursor:not-allowed}.messages-mobile-list{display:grid;margin-top:.75rem;gap:.65rem}.message-mobile-card{border:1px solid var(--line);border-radius:12px;background:#ffffffe6;padding:.75rem;display:grid;gap:.45rem;overflow:hidden}.message-mobile-card.selected{border-color:#0f7a6459;box-shadow:0 0 0 1px #0f7a6424 inset}.message-mobile-card header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.message-mobile-card header strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-mobile-card p{margin:0;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:.6rem;font-size:.86rem}.message-mobile-card p span{color:var(--muted)}.message-mobile-card p b{font-weight:600;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.mobile-row-actions{display:flex;justify-content:flex-end;margin-top:.15rem}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .55rem;font-size:.75rem;border:1px solid transparent;white-space:nowrap}.status-delivered,.status-engaged,.status-opened,.status-clicked{background:#0f7a6429;color:#055f4e;border-color:#0f7a6440}.status-failed,.status-temporary_failed,.status-permanent_failed,.status-complained{background:#a22c2921;color:var(--danger);border-color:#a22c2940}.status-accepted,.status-unsubscribed{background:#d45e1921;color:#8d3e10;border-color:#d45e1940}.pager{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.timeline{display:grid;gap:.65rem}.timeline-item{border:1px solid var(--line);border-radius:12px;padding:.65rem;background:#ffffffd6}.timeline-item small{display:block;color:var(--muted);margin-top:.4rem}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:.75rem;margin-bottom:.85rem}.kpi{border:1px solid var(--line);border-radius:12px;background:#ffffffd9;padding:.75rem}.kpi span{color:var(--muted);font-size:.83rem}.kpi strong{display:block;margin-top:.35rem;font-size:1.18rem}.section-divider{margin:1rem 0;border-top:1px dashed var(--line)}.stats-matrix-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.th-sort{border:0;background:transparent;padding:0;color:inherit;font-weight:700;cursor:pointer}.filter-row th{background:#f7faf8;position:static;padding:.45rem .6rem}.filter-row input{width:100%;border-radius:8px;border:1px solid var(--line);padding:.35rem .5rem;font-size:.82rem}.error-text{color:var(--danger);margin:0}@media (max-width: 1024px){.panel-grid,.filters-row{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.kpi-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.stats-matrix-header{flex-direction:column;align-items:flex-start}}@media (min-width: 901px){.messages-mobile-list{display:none}}@media (max-width: 640px){.app-shell{padding:.75rem}.kpi-grid{grid-template-columns:1fr}.topbar{padding:.85rem}.nav-tabs{width:100%}.nav-tabs button{flex:1}.panel{padding:.75rem}.pager{justify-content:center;margin-top:.95rem}}
