:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#17202a;background:#f5f7fa}*{box-sizing:border-box}body{margin:0}.wrap{max-width:1450px;margin:auto;padding:0 22px}.topbar{background:#17202a;color:white;padding:13px 0}.topbar-inner,.userbox,.page-head,.actions,.form-actions,.pager{display:flex;align-items:center;gap:12px}.topbar-inner,.page-head{justify-content:space-between}.brand{color:white;font-weight:700;text-decoration:none;font-size:18px}.userbox form,.actions form{margin:0}.linkbtn{background:none;border:0;color:white;text-decoration:underline;cursor:pointer}main{padding-top:24px;padding-bottom:50px}h1{margin:.2em 0}h2{margin-top:0}.muted{color:#68737d}.card,.table-card{background:white;border:1px solid #dfe5eb;border-radius:10px;box-shadow:0 2px 8px #00000008}.card{padding:20px;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:18px 0}.stat{background:white;border:1px solid #dfe5eb;border-radius:9px;padding:15px}.stat b{display:block;font-size:25px}.stat span{color:#68737d}.stat.ok{border-left:4px solid #1b8a4b}.stat.bad{border-left:4px solid #c0392b}.filters{display:grid;grid-template-columns:2fr repeat(4,1fr) auto auto;gap:10px;align-items:end}.filters input,.filters select,.form-grid input,.form-grid select{width:100%;padding:10px;border:1px solid #bcc7d1;border-radius:6px;background:white}.btn{display:inline-block;padding:9px 13px;border:1px solid #aeb9c4;border-radius:6px;background:white;color:#17202a;text-decoration:none;cursor:pointer;font:inherit}.btn:hover{background:#f0f3f6}.btn.primary{background:#1666c5;color:white;border-color:#1666c5}.btn.danger{background:#b83232;color:white;border-color:#b83232}.btn.ghost{border-color:transparent}.btn.small{padding:5px 9px;font-size:13px}.table-card{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:10px 11px;border-bottom:1px solid #e7ebef;text-align:left;vertical-align:top}th{background:#f7f9fb;white-space:nowrap}.flat{box-shadow:none;border:0}.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700}.badge.sent{background:#dff4e8;color:#17633a}.badge.error{background:#fde4e1;color:#9c281e}.badge.new{background:#e8eef6;color:#34506e}.badge.sending{background:#fff2cc;color:#705700}.nowrap{white-space:nowrap}.empty{text-align:center;padding:30px;color:#68737d}.pager{justify-content:center;margin-top:18px}.two-col{display:grid;grid-template-columns:minmax(300px,1fr) minmax(400px,1.3fr);gap:18px}.details{display:grid;grid-template-columns:130px 1fr;gap:8px 12px}.details dt{font-weight:700}.details dd{margin:0}.mail-preview{border:1px solid #dfe5eb;border-radius:7px;padding:18px;background:#fff;min-height:260px}.errorbox{margin-top:16px;padding:12px;background:#fff2f1;border-left:4px solid #c0392b}.errorbox pre{white-space:pre-wrap;margin-bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-weight:600}.form-grid label input,.form-grid label select{display:block;margin-top:5px;font-weight:400}.form-grid.one{grid-template-columns:1fr}.form-actions{grid-column:1/-1;justify-content:flex-end;margin-top:8px}.login-card{max-width:420px;margin:70px auto}.alert{padding:12px 14px;border-radius:7px;margin-bottom:15px}.alert.success{background:#e4f5eb}.alert.danger{background:#fde7e5}.alert.warning{background:#fff3ce}.error-page{text-align:center;max-width:600px;margin:50px auto}code{font-family:ui-monospace,Consolas,monospace}@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.two-col,.form-grid{grid-template-columns:1fr}.form-actions{grid-column:1}.page-head{align-items:flex-start;flex-direction:column}.actions{flex-wrap:wrap}}@media(max-width:560px){.wrap{padding:0 12px}.stats,.filters{grid-template-columns:1fr}.userbox span{display:none}}

.topnav{color:white;text-decoration:none;padding:6px 9px;border:1px solid #ffffff55;border-radius:6px}.topnav:hover{background:#ffffff18}.role-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#e8eef6;color:#34506e}.role-badge.admin{background:#eee4ff;color:#5b2a86}.role-badge.viewer{background:#f0f1f2;color:#59636d}.admin-note{margin-top:14px}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.admin-actions form{margin:0}.danger-zone{border-left:4px solid #b83232}

.audit-filters{grid-template-columns:2fr 1.3fr 1fr 1fr auto auto}.audit-event{background:#e9eef5;color:#334b63}.table-card code{font-size:12px;word-break:break-all}@media(max-width:900px){.audit-filters{grid-template-columns:1fr 1fr}}@media(max-width:560px){.audit-filters{grid-template-columns:1fr}}
.test-toggle-form{margin:0}.test-toggle{border:0;border-radius:999px;padding:7px 11px;font-weight:800;cursor:pointer;letter-spacing:.03em}.test-toggle.on{background:#ffd54f;color:#4d3b00}.test-toggle.off{background:#dce4ea;color:#31404d}.test-mode-banner{margin-bottom:16px;padding:13px 16px;border:2px solid #d39b00;border-radius:8px;background:#fff3bf;color:#5f4700;font-weight:600}.test-mode-banner strong{font-size:1.05em}
