:root { --brand: #1d4ed8; --brand-dark: #1e3a8a; }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

.brand-link { display:inline-flex; align-items:center; min-width:0; }
.site-logo { display:block; height:52px; width:auto; max-width:260px; border-radius:1rem; object-fit:contain; box-shadow:0 12px 30px rgba(15,23,42,.10); }
.admin-brand-link { display:flex; align-items:center; gap:.8rem; min-width:0; }
.admin-logo { display:block; height:44px; width:auto; max-width:190px; border-radius:.9rem; object-fit:contain; box-shadow:0 14px 28px rgba(0,0,0,.20); }
.footer-logo { display:block; height:auto; width:260px; max-width:100%; border-radius:1rem; box-shadow:0 14px 32px rgba(15,23,42,.10); }
@media (max-width:640px){ .site-logo { height:44px; max-width:210px; } .admin-logo { max-width:170px; } }
a { color: inherit; }
.nav-link { display:inline-flex; align-items:center; border-radius:999px; padding:.65rem .9rem; font-size:.92rem; font-weight:700; color:#475569; transition:.2s ease; }
.nav-link:hover, .nav-link.active { background:#eff6ff; color:#1d4ed8; }
.mobile-link { border-radius:1rem; padding:.8rem 1rem; font-weight:700; color:#334155; background:#f8fafc; }
.btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border-radius:999px; background:var(--brand); color:#fff; padding:.72rem 1rem; font-weight:800; box-shadow:0 10px 25px rgba(29,78,216,.18); transition:.2s ease; }
.btn-primary:hover { background:var(--brand-dark); transform:translateY(-1px); }
.btn-secondary { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border-radius:999px; border:1px solid #cbd5e1; background:#fff; color:#0f172a; padding:.72rem 1rem; font-weight:800; transition:.2s ease; }
.btn-secondary:hover { border-color:#93c5fd; background:#eff6ff; color:#1d4ed8; }
.card { border:1px solid #e2e8f0; background:#fff; border-radius:1.5rem; box-shadow:0 18px 45px rgba(15,23,42,.06); }
.input { width:100%; border:1px solid #cbd5e1; border-radius:1rem; padding:.85rem 1rem; outline:none; background:#fff; color:#0f172a; }
.input:focus { border-color:#2563eb; box-shadow:0 0 0 4px rgba(37,99,235,.12); }
.label { display:block; margin-bottom:.45rem; font-size:.86rem; font-weight:800; color:#334155; }
.alert-success { border:1px solid #bbf7d0; background:#f0fdf4; color:#166534; border-radius:1rem; padding:1rem; font-weight:700; }
.alert-error { border:1px solid #fecaca; background:#fef2f2; color:#991b1b; border-radius:1rem; padding:1rem; font-weight:700; }
.badge { display:inline-flex; align-items:center; border-radius:999px; background:#eff6ff; color:#1d4ed8; padding:.35rem .7rem; font-size:.75rem; font-weight:900; letter-spacing:.02em; }
.hero-gradient { background: radial-gradient(circle at top left, rgba(37,99,235,.22), transparent 35%), radial-gradient(circle at bottom right, rgba(14,165,233,.20), transparent 35%), linear-gradient(135deg, #ffffff, #f8fafc); }
.ad-placeholder { display:grid; place-items:center; min-height:90px; border:1px dashed #94a3b8; border-radius:1.25rem; background:#f8fafc; color:#64748b; text-align:center; padding:1rem; }
.ad-placeholder span { display:block; font-size:.8rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em; color:#334155; }
.ad-placeholder small { display:block; margin-top:.25rem; font-size:.75rem; color:#64748b; }
.prose-content { color:#334155; line-height:1.8; }
.prose-content p { margin-bottom:1rem; }
.prose-content ul { margin-left:1.25rem; list-style:disc; margin-bottom:1rem; }
.prose-content ol { margin-left:1.25rem; list-style:decimal; margin-bottom:1rem; }
.admin-sidebar { background:linear-gradient(180deg,#0f172a,#1e3a8a); color:#cbd5e1; width:100%; flex:0 0 280px; }
@media (min-width:1024px){ .admin-sidebar { min-height:100vh; position:sticky; top:0; } }
.admin-link { display:flex; align-items:center; border-radius:1rem; padding:.85rem 1rem; margin:.25rem 0; font-weight:800; color:#cbd5e1; transition:.2s ease; }
.admin-link:hover, .admin-link.active { background:rgba(255,255,255,.12); color:#fff; }
.table-wrap { overflow-x:auto; border:1px solid #e2e8f0; border-radius:1.25rem; background:#fff; }
.admin-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.admin-table th { text-align:left; background:#f8fafc; color:#475569; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }
.admin-table th, .admin-table td { padding:1rem; border-bottom:1px solid #e2e8f0; vertical-align:top; }
.admin-table tr:last-child td { border-bottom:0; }
.rich-editor { min-height: 360px; border: 1px solid #cbd5e1; border-radius: 1rem; background: #fff; overflow: hidden; }
.rich-editor .ql-toolbar { border: 0; border-bottom: 1px solid #e2e8f0; background: #f8fafc; }
.rich-editor .ql-container { border: 0; min-height: 300px; font-size: 1rem; }
.rich-editor .ql-editor { min-height: 300px; line-height: 1.75; color: #0f172a; }
.newsletter-card { border: 1px solid #bae6fd; background: rgba(255,255,255,.72); border-radius: 1.25rem; padding: 1rem; }
.newsletter-input { width: 100%; border: 1px solid #cbd5e1; border-radius: 999px; padding: .75rem 1rem; background: #fff; color: #0f172a; outline: none; }
.newsletter-input:focus { border-color: #2563eb; box-shadow: 0 0 0 4px rgba(37,99,235,.12); }
.prose-content h2 { margin: 1.5rem 0 .75rem; font-size: 1.5rem; line-height: 1.25; font-weight: 900; color: #0f172a; }
.prose-content h3 { margin: 1.25rem 0 .65rem; font-size: 1.25rem; line-height: 1.3; font-weight: 900; color: #0f172a; }
.prose-content h4 { margin: 1rem 0 .5rem; font-size: 1.05rem; line-height: 1.35; font-weight: 900; color: #0f172a; }
.prose-content blockquote { margin: 1rem 0; border-left: 4px solid #bfdbfe; padding-left: 1rem; color: #475569; font-weight: 600; }
.prose-content a { color: #1d4ed8; font-weight: 800; text-decoration: underline; }
.prose-content pre { overflow-x: auto; border-radius: 1rem; background: #0f172a; color: #e2e8f0; padding: 1rem; margin: 1rem 0; }
