/* Modern, refined site styles with improved typography and spacing */
:root{--accent:#0aa7e6;--muted:#666;--brand-500:#0f2937;--brand-700:#0a1a23;--text-primary:#1f2937;--text-muted:#6b7280;--border-light:#e5e7eb}
*{box-sizing:border-box}
body{font-family: 'Roboto', system-ui, -apple-system, 'Segoe UI', Arial, Helvetica, sans-serif;color:var(--text-primary);margin:0;background:#fff;line-height:1.6}
h1,h2,h3,h4{font-family:'Merriweather','Georgia',serif;font-weight:700;color:var(--text-primary)}
h1{font-size:2.25rem;line-height:1.2;margin:0.5em 0}
h2{font-size:1.75rem;margin:0.75em 0 0.5em}
h3{font-size:1.25rem;margin:0.75em 0 0.4em}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.site-header{border-bottom:1px solid var(--border-light);padding:1rem 0;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.05)}
.logo{font-weight:700;letter-spacing:0.5px;color:var(--text-primary);display:flex;align-items:center}
.logo .muted{font-weight:400;font-size:0.9em;color:var(--text-muted);margin-left:4px}
.main-nav{display:flex;gap:1.5rem}
.main-nav a{color:var(--text-primary);text-decoration:none;font-weight:500;font-size:0.95rem;transition:color 0.2s;padding:0.25rem 0}
.main-nav a:hover{color:var(--brand-500)}
.hero{background:transparent;padding:2rem 0;margin:1.5rem 0}
.hero-inner{max-width:900px;margin:0 auto;text-align:left}
.hero h1{margin:0;color:var(--text-primary)}
.lead{color:var(--text-muted);margin-top:0.75rem;font-size:1.05rem;line-height:1.7}
.container{padding-bottom:3rem}
.cards{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem}
.card{display:block;padding:1.5rem;background:#fff;border:1px solid var(--border-light);color:var(--brand-500);text-decoration:none;border-radius:0.5rem;transition:box-shadow 0.2s,border-color 0.2s;min-width:180px}
.card:hover{box-shadow:0 4px 6px rgba(0,0,0,0.07);border-color:var(--brand-500)}
main section{margin:1.5rem 0}
footer.site-footer{border-top:1px solid var(--border-light);padding:2rem 0;margin-top:3rem;text-align:center;color:var(--text-muted);background:#f9fafb}

.admin-box{background:#f9fafb;border:1px solid var(--border-light);padding:1.5rem;border-radius:0.5rem}
table{width:100%;border-collapse:collapse;margin-top:1rem}
table th{background:#f3f4f6;font-weight:600;text-align:left;padding:0.75rem}
table td{padding:0.75rem;border-bottom:1px solid var(--border-light)}
table tbody tr:hover{background:#f9fafb}
.btn{display:inline-block;padding:0.5rem 1rem;background:var(--accent);color:#fff;text-decoration:none;border-radius:0.375rem;font-weight:500;transition:opacity 0.2s;border:none;cursor:pointer}
.btn:hover{opacity:0.9}
.danger{background:#ef4444}
.muted{color:var(--text-muted)}

/* Utility classes for refined spacing and typography */
.text-sm{font-size:0.875rem;line-height:1.5}
.text-lg{font-size:1.125rem;line-height:1.75}
.font-medium{font-weight:500}
.space-y-2>*+*{margin-top:0.5rem}
.space-y-4>*+*{margin-top:1rem}

@media (max-width:768px){.main-nav{flex-direction:column;gap:0.75rem}.cards{flex-direction:column}h1{font-size:1.75rem}h2{font-size:1.25rem}}
