/* Obsidian Venue App — GitHub-inspired dark theme, Stage 1.
   Visual overrides only. venue.css remains the functional baseline. */
:root{color-scheme:dark;--gh-bg:#0d1117;--gh-surface:#161b22;--gh-surface-2:#21262d;--gh-border:#30363d;--gh-text:#e6edf3;--gh-muted:#9198a1;--gh-blue:#58a6ff;--gh-green:#238636;--gh-green-hover:#2ea043;--gh-red:#da3633}
body{background:var(--gh-bg);color:var(--gh-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}
header{background:var(--gh-surface);border-bottom:1px solid var(--gh-border);padding:16px 24px}
header h1{font-size:22px;font-weight:650;letter-spacing:-.02em}header p{color:var(--gh-muted)}
main{max-width:1320px;padding:24px}h1,h2,h3{color:var(--gh-text);letter-spacing:-.015em}h2{font-weight:650}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{background:var(--gh-bg);border:1px solid var(--gh-border);border-radius:6px;color:var(--gh-text);box-shadow:inset 0 1px 0 #0002}
input::placeholder,textarea::placeholder{color:var(--gh-muted)}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gh-blue);outline-offset:2px}
button{background:var(--gh-surface-2);border:1px solid var(--gh-border);border-radius:6px;color:var(--gh-text);font-weight:600;padding:8px 12px;box-shadow:0 1px 0 #0003}
button:hover{background:#30363d;border-color:#484f58}
button:disabled{opacity:.55;cursor:not-allowed}
.secondary-button{background:var(--gh-surface-2);color:var(--gh-text);border:1px solid var(--gh-border)}.secondary-button:hover{background:#30363d}
#addVenueButton,#r3CreateFromVenues,#saveVenueButton,#saveCanvassListButton,#r3StartSending{background:var(--gh-green);border-color:#2ea043;color:#fff}
#addVenueButton:hover,#r3CreateFromVenues:hover,#saveVenueButton:hover,#saveCanvassListButton:hover,#r3StartSending:hover{background:var(--gh-green-hover)}
.danger-button,#r3StopSending:not(:disabled){background:#8e2626;border-color:#b13a3a;color:#fff}.danger-button:hover,#r3StopSending:not(:disabled):hover{background:#aa3030}
a{color:var(--gh-blue)}.muted,.summary,.r32-recipient-email,.ec-muted,.ec-notice{color:var(--gh-muted)}
.venue-card,.detail-section,.canvass-candidate,.canvass-row,.canvass-list-card,.loading,.error,.empty,.success{background:var(--gh-surface);border:1px solid var(--gh-border);border-radius:6px;box-shadow:none;color:var(--gh-text)}
.venue-card:hover,.canvass-list-card:hover{border-color:#6e7681;background:#1b222c}
.venue-card h2{font-size:17px}.area,.primary-marker{background:#30363d;color:#c9d1d9;border:1px solid #484f58;border-radius:999px}
.detail-section h3,.section-heading,.record,.r32-recipient{border-color:var(--gh-border)}
.venue-list{gap:10px}.detail-grid{gap:14px}.detail-section{padding:18px}
/* Preserve the semantic green/amber venue state while making the text readable in dark mode. */
.venue-card.venue-booking-future{background:#122b20;border-color:#347d4e;color:#e6edf3}
.venue-card.venue-booking-past{background:#33270f;border-color:#9e7520;color:#e6edf3}
.venue-booking-future .venue-booking-info{color:#7ee2a8}.venue-booking-past .venue-booking-info{color:#f2c66d}
.venue-card.venue-booking-future:hover{background:#173b29}.venue-card.venue-booking-past:hover{background:#443314}
input[type="checkbox"]{accent-color:#2ea043}
/* Mailer inline styles establish geometry; these overrides only change its presentation. */
#r3Mailer{max-width:1200px}#r3Mailer .r32-layout aside,#r3Mailer .r32-compose{background:var(--gh-surface);border:1px solid var(--gh-border);border-radius:6px}
#r3Mailer #r3Candidates,#r3Mailer .r3-recovery,#r3Mailer #r3SendControls,.r32-recovery{background:var(--gh-surface);border:1px solid var(--gh-border);border-radius:6px}
#r3Mailer #r3Recipients{color:var(--gh-text)}#r3Mailer .r32-recipient{border-color:var(--gh-border)}
#r3Mailer #r3PreviewResults pre{background:var(--gh-bg);border:1px solid var(--gh-border);border-radius:6px;padding:12px;color:var(--gh-text)}
#emailConfigButton{background:var(--gh-surface-2);border:1px solid var(--gh-border);color:var(--gh-text)}
#emailConfigOverlay:not([hidden]){background:#000b}
#emailConfigPanel{background:var(--gh-surface);border:1px solid var(--gh-border);color:var(--gh-text);font-family:inherit}
#ecForm input,#ecForm select{background:var(--gh-bg);border-color:var(--gh-border);color:var(--gh-text)}
.ec-actions button:first-child{background:var(--gh-green);color:#fff}
.error{color:#ff7b72}.success{color:#7ee2a8}
@media(max-width:700px){main{padding:14px}header{padding:14px}.r32-layout aside,.r32-compose{padding:12px}}
/* Printed canvass lists must remain white, legible and economical. */
@media print{
 :root{color-scheme:light}body,main,#canvassPrintArea{background:#fff!important;color:#111!important}
 #canvassPrintArea *{color:#111!important;box-shadow:none!important}
 #canvassPrintArea .canvass-row,#canvassPrintArea .canvass-candidate{background:#fff!important;border-color:#bbb!important}
}
