:root { color-scheme: light; --ink:#17211b; --muted:#5d6a62; --paper:#f5f3ec; --card:#fff; --accent:#16603b; --border:#d9ded9; --danger:#9f2430; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.55 system-ui,-apple-system,sans-serif; }
.site-header { min-height:64px; padding:0 max(20px,calc((100% - 920px)/2)); display:flex; align-items:center; justify-content:space-between; background:var(--card); border-bottom:1px solid var(--border); }
.brand { color:var(--ink); font-size:1.15rem; font-weight:750; text-decoration:none; }
.container { width:min(920px,calc(100% - 32px)); margin:56px auto; }
.card { padding:clamp(24px,5vw,48px); background:var(--card); border:1px solid var(--border); border-radius:16px; box-shadow:0 8px 30px rgba(23,33,27,.06); }
.narrow { max-width:520px; margin:auto; }
h1 { margin:.1em 0 .4em; line-height:1.15; }
.muted { color:var(--muted); }.eyebrow { color:var(--accent); font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
label { display:block; margin:20px 0 6px; font-weight:650; }
input { width:100%; padding:12px; border:1px solid var(--border); border-radius:8px; font:inherit; }
textarea { width:100%; padding:12px; border:1px solid var(--border); border-radius:8px; resize:vertical; font:inherit; }
input:focus { outline:3px solid rgba(22,96,59,.18); border-color:var(--accent); }
textarea:focus { outline:3px solid rgba(22,96,59,.18); border-color:var(--accent); }
button { margin-top:24px; padding:11px 18px; border:0; border-radius:8px; background:var(--accent); color:white; font:inherit; font-weight:700; cursor:pointer; }
.button { display:inline-block; padding:11px 18px; border-radius:8px; background:var(--accent); color:white; font-weight:700; text-decoration:none; }
.secondary { background:#edf2ee; color:var(--accent); }
.site-header form,.site-header button { margin:0; }.link-button { background:transparent; color:var(--accent); padding:8px; }
.alert { padding:12px 14px; border-left:4px solid var(--danger); background:#fff0f1; color:#711923; }
.success { margin-bottom:20px; padding:12px 14px; border-left:4px solid var(--accent); background:#eaf7ef; color:#124b30; }
.field-error { margin:5px 0 0; color:var(--danger); font-size:.92rem; }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.page-heading h1 { margin-top:8px; }.section-gap { margin-top:24px; }
.meeting-list { border-top:1px solid var(--border); }
.meeting-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 4px; border-bottom:1px solid var(--border); color:var(--ink); text-decoration:none; }
.meeting-row small { display:block; margin-top:2px; color:var(--muted); }.meeting-row form,.meeting-row button { margin:0; }
.status { display:inline-block; padding:4px 9px; border-radius:999px; background:#edf2ee; color:#31463a; font-size:.85rem; font-weight:700; }
.status-active { background:#dff4e7; color:#12532f; }.status-ended { background:#e9ecea; }.status-cancelled { background:#fff0f1; color:#711923; }
.actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }.actions form,.actions button { margin:0; }
.small-button { padding:7px 11px; }.details { display:grid; grid-template-columns:max-content 1fr; gap:8px 18px; margin:24px 0; }.details dt { font-weight:700; }.details dd { margin:0; }.preserve-lines { white-space:pre-line; }
.public-access { margin:28px 0; padding:20px; border:1px solid var(--border); border-radius:12px; background:#fafbf9; }.meeting-code { font-family:ui-monospace,monospace; letter-spacing:.12em; }.participant-list { border-top:1px solid var(--border); }.participant-row { display:flex; justify-content:space-between; gap:16px; padding:13px 4px; border-bottom:1px solid var(--border); }.participant-row small { display:block; color:var(--muted); }.public-card { margin-top:20px; }.notice,.lobby-state { padding:16px; border-radius:10px; background:#f0f3f1; }
.speaker-section { margin:1.5rem 0; padding-top:1rem; border-top:1px solid var(--border); }.speaker-queue { padding-left:1.5rem; }.speaker-queue li,.speaker-admin-row { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:.75rem; margin-bottom:.5rem; border:1px solid var(--border); border-radius:.6rem; }.speaker-queue li.speaking,.speaker-admin-row.speaking { border-color:#1f7a4c; background:#edf9f2; }.speaker-queue span,.speaker-admin-row small { display:block; color:var(--muted); }.now-speaking { padding:.8rem; border-radius:.6rem; background:#1f7a4c; color:white; font-weight:700; }.speaker-admin-row > span { flex:1; }.speaker-admin-row .actions { margin:0; }
@media (max-width:600px) { .page-heading { align-items:stretch; flex-direction:column; }.meeting-row { align-items:flex-start; }.details { grid-template-columns:1fr; gap:2px; }.details dd { margin-bottom:10px; } }
