:root { color-scheme: light; --ink:#172033; --muted:#667085; --line:#e4e7ec; --surface:#fff; --bg:#f5f7fa; --accent:#2457d6; --spam:#b42318; --valid:#067647; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--accent); }
.site-header { min-height:64px; padding:0 max(24px,calc((100vw - 1120px)/2)); background:#101828; color:#fff; display:flex; align-items:center; justify-content:space-between; }
.brand { color:#fff; text-decoration:none; font-size:19px; font-weight:750; }
.account { display:flex; align-items:center; gap:18px; }
.account form { margin:0; }
.link-button { padding:0; border:0; background:none; color:#d0d5dd; text-decoration:underline; cursor:pointer; }
.container { max-width:1120px; margin:0 auto; padding:40px 24px 72px; }
h1,h2 { line-height:1.2; }
h1 { margin:4px 0 6px; font-size:30px; }
h2 { font-size:19px; }
.muted { color:var(--muted); margin:0; }
.page-heading { margin:12px 0 28px; display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.back { display:inline-block; margin-bottom:12px; text-decoration:none; }
.notice,.error { border-radius:8px; padding:11px 14px; margin-bottom:18px; }
.notice { background:#ecfdf3; color:#05603a; }
.error { background:#fef3f2; color:#912018; }
.card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:18px; }
.form-card,.detail-card,.login-card,.empty,.technical { background:var(--surface); border:1px solid var(--line); border-radius:12px; }
.form-card { display:block; padding:20px; color:inherit; text-decoration:none; box-shadow:0 1px 2px rgba(16,24,40,.04); }
.form-card:hover { border-color:#b2c4ee; box-shadow:0 4px 14px rgba(16,24,40,.08); }
.form-card-unread { border-color:#a7bff8; box-shadow:0 2px 8px rgba(36,87,214,.10); }
.form-card h3 { margin:14px 0 24px; font-size:19px; line-height:1.25; }
.card-top,.metrics { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.dashboard-group + .dashboard-group { margin-top:44px; }
.group-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.group-heading h2 { margin:0 0 3px; }
.group-heading p { margin:0; color:var(--muted); }
.dashboard-group-unread .group-heading { border-bottom:3px solid var(--accent); }
.group-count { flex:0 0 auto; border-radius:999px; padding:5px 10px; background:#eaecf0; color:#475467; font-size:12px; font-weight:750; }
.dashboard-group-unread .group-count { background:#eaf0ff; color:var(--accent); }
.group-empty { grid-column:1/-1; border:1px dashed #cfd4dc; border-radius:10px; padding:18px; color:var(--muted); background:#fafbfc; }
.card-summary { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; }
.unread-summary { min-width:72px; min-height:62px; padding:7px 12px; border-radius:10px; background:#f2f4f7; color:#667085; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1; }
.unread-summary strong { font-size:28px; color:#475467; }
.unread-summary span { margin-top:5px; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.05em; }
.unread-summary.has-unread { background:var(--accent); color:#fff; }
.unread-summary.has-unread strong { color:#fff; }
.metrics { justify-content:flex-start; color:var(--muted); flex-wrap:wrap; }
.metrics span { padding-right:12px; border-right:1px solid var(--line); }
.metrics span:last-child { border:0; }
.metrics strong { color:var(--ink); }
.metrics .spam strong { color:var(--spam); }
.workspace { color:var(--muted); font-size:13px; font-weight:650; text-transform:uppercase; letter-spacing:.04em; }
.status,.badge { display:inline-flex; border-radius:999px; padding:3px 9px; font-size:12px; font-weight:700; }
.status-active,.badge-valid { background:#ecfdf3; color:var(--valid); }
.status-inactive,.badge-spam { background:#fef3f2; color:var(--spam); }
.filters { display:flex; gap:6px; margin-bottom:16px; }
.filters a { padding:7px 12px; border-radius:7px; color:var(--muted); text-decoration:none; }
.filters a.selected { color:var(--accent); background:#eaf0ff; font-weight:700; }
.submission-list { border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff; }
.submission-row { display:grid; grid-template-columns:12px minmax(180px,1fr) 70px 170px; gap:14px; align-items:center; padding:15px 18px; border-bottom:1px solid var(--line); color:inherit; text-decoration:none; }
.submission-row:last-child { border:0; }
.submission-row:hover { background:#f9fafb; }
.submission-row.unread { background:#f5f8ff; }
.read-dot { width:8px; height:8px; border-radius:50%; background:#d0d5dd; }
.unread .read-dot { background:var(--accent); }
.submission-person { min-width:0; display:flex; flex-direction:column; }
.submission-person span { color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.submission-row time { color:var(--muted); text-align:right; font-size:13px; }
.pagination { display:flex; justify-content:center; align-items:center; gap:22px; margin-top:24px; }
.detail-heading { align-items:center; }
.heading-actions { display:flex; align-items:center; gap:12px; }
button,.primary { border:1px solid #cfd4dc; border-radius:7px; background:#fff; color:var(--ink); padding:8px 13px; font:inherit; cursor:pointer; }
.primary { background:var(--accent); color:#fff; border-color:var(--accent); font-weight:700; }
.detail-card { padding:24px; }
.details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 32px; margin:0; }
.details div { min-width:0; }
.details .wide { grid-column:1/-1; }
.details dt { color:var(--muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.details dd { margin:5px 0 0; overflow-wrap:anywhere; }
.message-text { white-space:normal; font-size:16px; }
.technical { margin-top:20px; padding:16px 20px; }
.technical summary { cursor:pointer; font-weight:650; }
.technical[open] summary { margin-bottom:18px; }
.compact { font-size:13px; }
.empty { padding:32px; text-align:center; color:var(--muted); }
.empty h2 { color:var(--ink); }
.login-card { width:min(420px,100%); margin:40px auto; padding:28px; }
.stack { margin-top:22px; display:flex; flex-direction:column; gap:8px; }
.stack input { width:100%; margin-bottom:8px; border:1px solid #cfd4dc; border-radius:7px; padding:11px 12px; font:inherit; }
.stack .primary { margin-top:8px; padding:11px; }
@media (max-width:700px) { .container{padding:28px 16px 56px}.site-header{padding:0 16px}.group-heading{align-items:flex-start;flex-direction:column}.submission-row{grid-template-columns:10px 1fr 65px}.submission-row time{grid-column:2/-1;text-align:left}.details{grid-template-columns:1fr}.details .wide{grid-column:auto}.detail-heading{align-items:flex-start;flex-direction:column}.account span{display:none} }
