:root { color-scheme: light; --ink:#17312b; --muted:#6a7d76; --line:#dce8e3; --soft:#f4f8f6; --brand:#14745c; --brand-dark:#0d5c49; --danger:#b64b4b; }
* { box-sizing:border-box; }
body { margin:0; background:#edf3f0; color:var(--ink); font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; border:0; border-radius:9px; padding:9px 14px; background:var(--brand); color:white; font-weight:650; }
button:hover { background:var(--brand-dark); }
button:disabled { opacity:.55; cursor:wait; }
[hidden] { display:none !important; }
.shell { max-width:1200px; margin:0 auto; padding:38px 20px 64px; }
.boot { position:fixed; inset:0; z-index:10; display:grid; place-items:center; background:#edf3f0; }
.boot-card { padding:24px 30px; text-align:center; }
.boot-card strong { display:block; font-size:18px; font-weight:650; }
.card { background:white; border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 30px #17312b0d; }
.login-card { max-width:440px; margin:10vh auto; padding:34px; }
.eyebrow { margin:0 0 5px; color:var(--brand); font-size:11px; letter-spacing:.16em; font-weight:800; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:8px; font-size:28px; }
h2 { margin-bottom:0; font-size:19px; }
h3 { margin:0; font-size:16px; }
.muted { color:var(--muted); }
.small { font-size:13px; }
.mono { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:12px; overflow-wrap:anywhere; }
.stack { display:grid; gap:15px; }
.compact { gap:10px; margin:15px 0; }
label { display:grid; gap:5px; color:#35534a; font-size:13px; font-weight:650; }
input,textarea,select { width:100%; border:1px solid #cbdcd5; border-radius:8px; padding:9px 10px; color:var(--ink); background:#fff; outline:none; }
input:focus,textarea:focus,select:focus { border-color:var(--brand); box-shadow:0 0 0 3px #14745c1a; }
textarea { resize:vertical; }
.message { min-height:1.6em; margin:12px 0 0; color:var(--brand-dark); }
.message.error { color:var(--danger); }
.mail-sent { text-align:center; }
.mail-sent h2 { margin-bottom:8px; }
.mail-sent strong { color:var(--ink); }
.mail-sent .quiet { margin-top:12px; }
.dev-link { display:block; margin-top:8px; color:var(--brand); font-weight:650; }
.topbar { display:flex; justify-content:space-between; align-items:end; margin-bottom:20px; }
.topbar h1 { margin:0; }
.topbar-actions,.inline,.section-heading,.feed-settings,.row-actions { display:flex; align-items:center; gap:8px; }
.quiet { background:var(--soft); color:var(--ink); }
.quiet:hover { background:#e3efea; }
.danger { color:var(--danger); }
.layout { display:grid; grid-template-columns:280px 1fr; gap:18px; align-items:start; }
.feeds-card,.content-card { padding:20px; }
.section-heading { justify-content:space-between; margin-bottom:15px; }
.icon-button { width:34px; height:34px; padding:0; font-size:22px; line-height:1; }
.feed-list { display:grid; gap:5px; }
.feed-entry { width:100%; text-align:left; background:transparent; color:var(--ink); font-weight:550; }
.feed-entry:hover,.feed-entry.active { background:var(--soft); color:var(--brand-dark); }
.empty { padding:70px 20px; text-align:center; }
.feed-heading { align-items:start; }
.feed-heading h2 { margin-bottom:4px; }
.feed-settings { justify-content:space-between; }
.feed-settings label:first-child { width:180px; }
.switch { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.switch input { width:auto; }
hr { border:0; border-top:1px solid var(--line); margin:20px 0; }
.broadcast-form { display:grid; gap:12px; }
.form-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.broadcast-list { display:grid; gap:9px; }
.broadcast-row { display:flex; justify-content:space-between; gap:15px; padding:14px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.broadcast-row.fixed { border-color:#8bc5b1; background:#f3fbf7; }
.broadcast-row.disabled { opacity:.6; }
.broadcast-body { min-width:0; }
.broadcast-body p { margin:0 0 5px; white-space:pre-wrap; overflow-wrap:anywhere; }
.broadcast-body a { display:block; margin-bottom:5px; color:var(--brand); font-size:12px; overflow-wrap:anywhere; }
.broadcast-body small { color:var(--muted); }
.row-actions { align-self:start; flex-shrink:0; }
@media (max-width:800px) { .shell { padding:20px 12px 40px; } .layout { grid-template-columns:1fr; } .feeds-card { order:0; } .content-card { order:1; } .form-grid { grid-template-columns:1fr; } .topbar { align-items:start; } .topbar-actions { flex-direction:column-reverse; align-items:end; } .broadcast-row { flex-direction:column; } .row-actions { flex-wrap:wrap; } }
