:root{--bg:#f4f6f1;--surface:#fff;--ink:#17221d;--muted:#69746e;--line:#dfe5de;--brand:#165c45;--brand-dark:#0f4937;--success:#147553;--danger:#bd3c32;--warn:#a36012;--shadow:0 18px 50px rgba(26,42,34,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px}button,input,select{font:inherit}a{color:var(--brand);text-decoration:none}code{font-family:"SFMono-Regular",Consolas,monospace;font-size:.9em}h1,h2,p{margin-top:0}h1{font-size:clamp(28px,4vw,42px);letter-spacing:-.04em;margin-bottom:8px}h2{font-size:18px;letter-spacing:-.02em;margin-bottom:4px}.muted{color:var(--muted);line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:var(--brand);margin-bottom:8px}
.topbar{height:68px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1400px)/2));position:sticky;top:0;z-index:10;backdrop-filter:blur(14px)}.brand,.topbar-actions,.health{display:flex;align-items:center}.brand{gap:10px;color:var(--ink);font-size:17px}.brand-mark{width:48px;height:48px;border-radius:15px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px;box-shadow:0 8px 22px rgba(22,92,69,.25)}.brand-mark--small{width:34px;height:34px;border-radius:10px;font-size:16px}.topbar-actions{gap:16px}.health{gap:7px;color:var(--muted);font-size:13px}.health i{width:8px;height:8px;border-radius:50%;background:#2db47b;box-shadow:0 0 0 4px rgba(45,180,123,.12)}
.container{max-width:1400px;margin:auto;padding:44px 24px 80px}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.pagehead p:last-child{margin-bottom:0}.button{border:0;border-radius:10px;padding:10px 15px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.button--primary{background:var(--brand);color:#fff;box-shadow:0 7px 18px rgba(22,92,69,.2)}.button--primary:hover{background:var(--brand-dark)}.button--ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}.button--light{background:#eef2ed;color:var(--ink)}.button--small{padding:7px 10px;font-size:12px;border-radius:8px}.button--wide{width:100%;margin-top:8px}.icon-button{width:30px;height:30px;border:0;border-radius:8px;background:#f0f2ef;color:var(--muted);font-size:20px;cursor:pointer}
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:22px 0}.stats article{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 3px 12px rgba(30,50,40,.03)}.stats span,.stats small{display:block;color:var(--muted)}.stats strong{display:block;font-size:32px;letter-spacing:-.04em;margin:12px 0 3px}.text-success{color:var(--success)!important}.text-danger{color:var(--danger)!important}.text-warn{color:var(--warn)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 4px 18px rgba(30,50,40,.035);margin-top:16px}.panel-head{padding:19px 20px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.panel-head p{margin:0;color:var(--muted);font-size:12px}.panel-head--filter{align-items:flex-start}.grid{display:grid;grid-template-columns:minmax(400px,.8fr) minmax(520px,1.2fr);gap:16px}.grid>.panel{display:flex;height:600px;min-height:0;flex-direction:column}.grid>.panel>.table-wrap,.grid>.panel>.log-list{flex:1;min-height:0;overflow:auto}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{padding:10px 16px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em;background:#fafbf9}td{padding:14px 16px;border-top:1px solid #edf0ec;vertical-align:middle}td strong,td small{display:block}td small{color:var(--muted);margin-top:4px;font-size:11px}.actions{display:flex;justify-content:flex-end;align-items:center;gap:6px}.badge{display:inline-block;padding:5px 8px;border-radius:99px;font-size:11px;font-weight:800}.badge--success{background:#e2f4eb;color:var(--success)}.badge--neutral{background:#edf0ed;color:var(--muted)}.badge--danger{background:#fae9e7;color:var(--danger);margin-right:5px}.error-context{max-width:620px;white-space:normal;overflow-wrap:anywhere}.empty{text-align:center;color:var(--muted);padding:35px!important}
.filters{display:flex;gap:6px}.filters select{max-width:130px}.log-list{overflow:auto}.log-row{display:grid;grid-template-columns:10px 1fr auto;gap:12px;align-items:start;padding:14px 18px;border-bottom:1px solid #edf0ec}.log-row:last-child{border-bottom:0}.log-row strong,.log-row span,.log-row em,.log-row time,.log-row small{display:block}.log-row strong{font-size:13px;margin-bottom:4px}.log-row span,.log-row time,.log-row small{font-size:11px;color:var(--muted)}.log-row time{text-align:right;white-space:nowrap}.log-row em{font-style:normal;color:var(--danger);font-size:11px;margin-top:5px;max-width:430px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-dot{width:8px;height:8px;border-radius:50%;margin-top:4px}.status-dot--sent{background:#2ca675}.status-dot--failed{background:#dc5b51}.sender-form{display:flex;align-items:center;gap:6px;min-width:260px}.sender-form input{min-width:180px;padding:7px 9px;border-radius:8px;font-size:12px}
.alert,.key-reveal{padding:14px 16px;border-radius:12px;margin:14px 0}.alert--success{background:#e4f4ec;color:#116947;border:1px solid #bde5d1}.alert--error{background:#fae9e7;color:#9e2d25;border:1px solid #f0c6c2}.key-reveal{background:#17221d;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:var(--shadow)}.key-reveal strong,.key-reveal span{display:block}.key-reveal span{color:#b9c7bf;font-size:12px;margin-top:4px}.key-copy{display:flex;align-items:center;gap:8px;min-width:0}.key-copy code{display:block;max-width:520px;overflow:auto;background:#26362e;padding:10px;border-radius:8px;color:#dff8eb}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,#dcebe2 0,transparent 33%),radial-gradient(circle at 80% 80%,#e6ead8 0,transparent 35%),var(--bg)}.auth-card{width:min(440px,100%);background:var(--surface);padding:38px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.auth-card .brand-mark{margin-bottom:28px}.auth-card h1{font-size:32px}.auth-card pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f1f4ef;border-radius:10px;padding:12px;color:var(--brand)}
label{display:block;margin:16px 0}label span{display:block;font-size:12px;font-weight:700;margin-bottom:7px}input,select{width:100%;border:1px solid #cfd7d0;background:#fff;color:var(--ink);border-radius:10px;padding:10px 11px;outline:none}input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(22,92,69,.1)}
dialog{width:min(500px,calc(100% - 32px));border:1px solid var(--line);border-radius:20px;padding:0;box-shadow:0 30px 100px rgba(20,38,29,.25)}dialog::backdrop{background:rgba(12,25,19,.48);backdrop-filter:blur(3px)}dialog form{padding:25px}.dialog-head,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-head h2{font-size:24px}.dialog-head p{margin-bottom:5px}.dialog-actions{justify-content:flex-end;margin-top:24px}
@media(max-width:980px){.grid{grid-template-columns:1fr}.grid>.panel{height:auto}.grid>.panel>.table-wrap,.grid>.panel>.log-list{max-height:510px}.pagehead{align-items:flex-start}.key-reveal{align-items:flex-start;flex-direction:column}.key-copy{width:100%}.key-copy code{flex:1;max-width:none}}
@media(max-width:640px){.container{padding:28px 14px 60px}.topbar{padding:0 14px}.health{display:none}.pagehead{flex-direction:column}.pagehead .button{width:100%}.stats{grid-template-columns:1fr 1fr;gap:8px}.stats article{padding:15px}.stats strong{font-size:26px}.panel-head--filter{flex-direction:column}.filters{width:100%}.filters select{max-width:none}.filters .button{width:auto}.auth-card{padding:28px 22px}.key-copy{align-items:stretch;flex-direction:column}.grid{display:block}.grid .panel{margin-top:16px}}
