:root { --jrm-primary:#1e3c5f; --jrm-secondary:#2a5c84; --jrm-border:#e7ebf0; --jrm-muted:#687385; }
.jrm-dashboard { max-width: 1500px; margin: 0 auto; }
.jrm-hero { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:2rem; margin-bottom:1.5rem; color:#fff; border-radius:1rem; background:linear-gradient(135deg,var(--jrm-primary),var(--jrm-secondary)); box-shadow:0 12px 30px rgba(30,60,95,.16); }
.jrm-hero h1 { margin:.25rem 0 .5rem; font-size:clamp(1.6rem,3vw,2.35rem); font-weight:700; }
.jrm-hero p { max-width:800px; margin:0 0 .5rem; opacity:.9; }
.jrm-eyebrow { text-transform:uppercase; letter-spacing:.08em; font-size:.75rem; font-weight:700; opacity:.75; }
.jrm-hero-mark { width:72px; height:72px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:1.25rem; background:rgba(255,255,255,.1); font-size:2rem; }
.jrm-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1.5rem; }
.jrm-stats-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.jrm-stat-card { display:flex; align-items:center; gap:1rem; min-height:120px; padding:1.25rem; background:#fff; border:1px solid var(--jrm-border); border-radius:.9rem; box-shadow:0 5px 18px rgba(24,39,75,.06); }
.jrm-stat-card strong { display:block; font-size:2rem; line-height:1.1; color:#18212f; }
.jrm-stat-card div span { display:block; margin-top:.4rem; color:var(--jrm-muted); font-size:.9rem; }
.jrm-stat-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:.8rem; font-size:1.25rem; background:#eef3f8; color:var(--jrm-primary); flex:0 0 48px; }
.jrm-stat-success .jrm-stat-icon { background:#eaf7ef; color:#198754; } .jrm-stat-warning .jrm-stat-icon { background:#fff4df; color:#b77900; } .jrm-stat-danger .jrm-stat-icon { background:#fdecef; color:#b42318; }
.jrm-panel { background:#fff; border:1px solid var(--jrm-border); border-radius:.9rem; padding:1.25rem; margin-bottom:1.5rem; box-shadow:0 5px 18px rgba(24,39,75,.05); }
.jrm-panel-header { margin-bottom:1rem; } .jrm-panel-header h2 { margin:0; font-size:1.2rem; font-weight:700; } .jrm-panel-header p { margin:.3rem 0 0; color:var(--jrm-muted); }
.jrm-actions { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; }
.jrm-actions form { margin:0; } .jrm-actions .btn { min-height:42px; }
.jrm-setup { border-left:4px solid #f0ad4e; } .jrm-setup h3 { font-size:1rem; font-weight:700; } .jrm-setup li { margin-bottom:.5rem; }
.jrm-panel .table { margin-bottom:0; } .jrm-panel .table thead th { white-space:nowrap; font-size:.8rem; text-transform:uppercase; letter-spacing:.03em; color:var(--jrm-muted); }
.jrm-unsubscribe { min-height:70vh; display:grid; place-items:center; padding:2rem 1rem; background:linear-gradient(135deg,#f5f7fa,#e9eef5); }
.jrm-unsubscribe-card { width:min(680px,100%); background:#fff; border:1px solid var(--jrm-border); border-radius:1.25rem; overflow:hidden; box-shadow:0 18px 60px rgba(25,40,70,.14); }
.jrm-unsubscribe-card header { padding:2.25rem 2rem; color:#fff; text-align:center; background:linear-gradient(135deg,var(--jrm-primary),var(--jrm-secondary)); }
.jrm-unsubscribe-card header span { font-size:2rem; } .jrm-unsubscribe-card h1 { margin:.75rem 0 .25rem; font-size:1.7rem; } .jrm-unsubscribe-card header p { margin:0; opacity:.85; }
.jrm-unsubscribe-card main { padding:2rem; } .jrm-unsubscribe-card footer { padding:1rem 2rem; text-align:center; color:var(--jrm-muted); background:#f8fafc; border-top:1px solid var(--jrm-border); font-size:.85rem; }
.jrm-email { padding:.8rem 1rem; margin:1rem 0; border:1px solid var(--jrm-border); border-radius:.65rem; background:#f8fafc; word-break:break-word; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
@media (max-width: 1100px) { .jrm-stats,.jrm-stats-3 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .jrm-hero { padding:1.4rem; } .jrm-hero-mark { display:none; } .jrm-stats,.jrm-stats-3 { grid-template-columns:1fr; } .jrm-actions { flex-direction:column; align-items:stretch; } .jrm-actions .btn { width:100%; } }
