/* The journal and private publishing desk share the campaign's pine/cream palette. */
.nl-public-hero { padding: clamp(3rem, 7vw, 6rem) 0; background: linear-gradient(120deg,#f5f1e3,#e5efeb); border-bottom:1px solid #dbe4dd; }
.nl-public-hero h1,.nl-signup-intro h1 { max-width:850px; font-size:clamp(2.8rem,6vw,5rem); line-height:1.05; margin:1rem 0; }
.nl-public-hero p { max-width:650px; font-size:1.15rem; }
.nl-kicker { color:#28614d; text-transform:uppercase; font-size:.73rem!important; letter-spacing:.13em; font-weight:800; }
.nl-public-section { padding-block:3.5rem 5rem; }
.nl-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.nl-post-card,.nl-card { background:#fffefa; border:1px solid #dce5df; border-radius:18px; padding:clamp(1.25rem,3vw,2rem); box-shadow:0 6px 24px #153d3005; min-width:0; }
.nl-post-card { display:flex; flex-direction:column; gap:1rem; }
.nl-post-card h2 { font-size:1.65rem; line-height:1.2; margin:0; overflow-wrap:anywhere; }
.nl-post-card h2 a { text-decoration:none; color:#153d30; }
.nl-post-card h2 a:hover { text-decoration:underline; text-underline-offset:.2em; }
.nl-post-card__bottom { margin-top:auto; padding-top:1rem; border-top:1px solid #dce5df; display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; font-size:.8rem; }
.nl-text-link { font-weight:700; color:#205a43; text-underline-offset:.2em; }
.nl-subscribe-callout { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2rem; border-radius:18px; background:#e8efe8; margin-top:3rem; }
.nl-subscribe-callout h2 { margin:.5rem 0; font-size:2rem; }.nl-subscribe-callout p { max-width:500px; }
.nl-button { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:46px; padding:.72rem 1.2rem; border:1px solid #1f5742; border-radius:9px; background:#1f5742; color:#fff!important; font:inherit; font-weight:700; font-size:.88rem; line-height:1.4; text-decoration:none; cursor:pointer; text-align:center; }
.nl-button:hover { background:#123a2c; border-color:#123a2c; }.nl-button:focus-visible,.nl-admin-nav a:focus-visible { outline:3px solid #b1821c; outline-offset:4px; }
.nl-button--secondary { color:#1c503c!important; background:transparent; border-color:#98b1a4; }.nl-button--secondary:hover { background:#eaf1ed; border-color:#1f5742; }
.nl-button--danger { color:#95362d!important; border-color:#d3ada7; background:#fff9f7; }.nl-button--danger:hover { background:#fbe8e4; border-color:#95362d; }
.nl-button:disabled { opacity:.5; cursor:not-allowed; }
.nl-article { max-width:850px; padding-block:3.5rem 5rem; }.nl-article header { border-bottom:1px solid #dce5df; padding-bottom:2rem; margin-bottom:2rem; }.nl-article header .nl-kicker { margin-top:2rem; }
.nl-article h1 { font-size:clamp(2.3rem,5vw,3.7rem); line-height:1.1; overflow-wrap:anywhere; }.nl-deck { font-size:1.2rem; line-height:1.7; color:#52665a; }
.nl-prose { font-size:1.05rem; line-height:1.85; color:#2d4236; overflow-wrap:anywhere; }.nl-prose h1,.nl-prose h2,.nl-prose h3 { line-height:1.25; margin:1.8rem 0 .7rem; color:#153d30; }.nl-prose h1 { font-size:2rem; }.nl-prose h2 { font-size:1.8rem; }.nl-prose h3 { font-size:1.5rem; }
.nl-prose p,.nl-prose ul,.nl-prose ol { margin:0 0 1.2rem; }.nl-prose ul,.nl-prose ol { padding-left:1.6rem; }.nl-prose blockquote { margin:1.5rem 0; padding:.7rem 1.5rem; border-left:3px solid #c3a45b; background:#f5f3e9; }.nl-prose pre { padding:1rem; background:#eff2ec; overflow:auto; border-radius:8px; }.nl-prose a { color:#1e664b; text-decoration:underline; }.nl-prose code { font-size:.88em; }
.nl-signup-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(2rem,6vw,6rem); padding-block:5rem; }.nl-benefits { padding-left:1.3rem; margin:2rem 0; }.nl-benefits li { margin:.65rem 0; }
.nl-form { display:grid; gap:1.2rem; margin-top:1.25rem; }.nl-form label,.nl-filters label { display:block; font-size:.88rem; font-weight:700; color:#234c39; }
.nl-form input:not([type=checkbox]),.nl-form textarea,.nl-form select,.nl-filters input,.nl-filters select,.nl-invite-url { display:block; width:100%; background:#fff; border:1px solid #aabfb1; border-radius:8px; padding:.8rem; font:inherit; font-weight:400; color:#203e2d; margin-top:.4rem; min-height:46px; }
.nl-form input:focus,.nl-form textarea:focus,.nl-form select:focus,.nl-filters input:focus,.nl-filters select:focus { outline:3px solid #d7b662; outline-offset:2px; border-color:#205a43; }
.nl-form textarea { resize:vertical; }.nl-form .nl-check { display:flex; align-items:flex-start; gap:.75rem; font-weight:400; font-size:.88rem; line-height:1.6; }.nl-check input { flex:0 0 auto; width:19px; height:19px; margin-top:.15rem; accent-color:#1f5742; }
.nl-honeypot { position:absolute!important; left:-10000px!important; width:1px; height:1px; overflow:hidden; }
.nl-small { font-size:.8rem; line-height:1.65; color:#53675a; }.nl-muted { color:#586f60; font-weight:400; }.nl-form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1.2rem; }
.nl-auth { max-width:620px; padding-block:4rem 6rem; }.nl-auth h1 { font-size:2.4rem; line-height:1.1; }.nl-auth .nl-card { padding:clamp(1.5rem,4vw,3rem); }
.newsletter-admin .election-strip,.newsletter-admin .mobile-action-bar,.newsletter-admin .site-footer { display:none; }.newsletter-admin { background:#f3f5ef; }.nl-admin-shell { padding-bottom:4rem; }
.nl-admin-nav { display:flex; flex-wrap:wrap; align-items:center; gap:.3rem 1.2rem; padding:1.2rem 0; border-bottom:1px solid #cfdbd0; }.nl-admin-nav a,.nl-admin-nav button { color:#365743; text-decoration:none; font:inherit; font-size:.85rem; font-weight:700; padding:.6rem .1rem; background:none; border:0; cursor:pointer; }.nl-admin-nav a[aria-current=page] { box-shadow:0 2px #b4913d; color:#163e2c; }.nl-admin-nav form { margin-left:auto; }
.nl-admin-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; padding:2.5rem 0 1.5rem; }.nl-admin-heading h1 { font-size:clamp(2rem,4vw,3rem); margin:.4rem 0; }.nl-admin-heading>span { font-size:.85rem; }
.nl-notice { padding:1.25rem 1.5rem; background:#fbf4df; border:1px solid #dfcfa1; border-left:4px solid #b08c33; border-radius:9px; margin-bottom:1.5rem; font-size:.9rem; color:#624e24; }.nl-notice h2 { font-size:1.4rem; }.nl-notice--error { background:#fff0ec; border-color:#d6a69b; border-left-color:#a03b30; color:#812d23; }
.nl-stats { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #d6e1d7; border-radius:14px; background:#fffefa; overflow:hidden; margin:1.5rem 0 2.5rem; }.nl-stats>div { padding:1.5rem; border-right:1px solid #d6e1d7; }.nl-stats>div:last-child { border:0; }.nl-stats strong { display:block; font:700 2.2rem Georgia,serif; color:#1d533d; }.nl-stats span { font-size:.78rem; color:#516958; }
.nl-section-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.2rem; }.nl-section-heading h2 { font-size:1.55rem; margin:0 0 .5rem; }.nl-section-heading p { margin:0; font-size:.9rem; }.nl-section-title { margin:2.5rem 0 1rem; }
.nl-table-wrap { overflow-x:auto; border:1px solid #d6e1d7; background:#fffefa; border-radius:12px; }.nl-table { width:100%; border-collapse:collapse; text-align:left; font-size:.85rem; }.nl-table th,.nl-table td { padding:1rem 1.2rem; border-bottom:1px solid #e1e8df; vertical-align:top; min-width:120px; overflow-wrap:anywhere; }.nl-table th { background:#e9efe7; font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; color:#405b44; }.nl-table tbody tr:last-child td { border-bottom:0; }.nl-table td:first-child { min-width:230px; }.nl-table a { color:#215b41; font-weight:700; }.nl-table td .nl-button { font-size:.75rem; padding:.55rem .7rem; }.nl-table small { color:#5c6f60; }.nl-table .nl-form { margin:0; min-width:210px; }
.nl-badge { display:inline-block; padding:.18rem .55rem; border-radius:5px; background:#e5eee5; color:#285237; font-size:.73rem; font-weight:700; text-transform:capitalize; }.nl-pagination { display:flex; align-items:center; justify-content:center; gap:1.5rem; padding:1.5rem 0; font-size:.8rem; }
.nl-empty { background:#fffefa; border:1px dashed #b8cbbd; border-radius:14px; padding:3rem 2rem; text-align:center; }.nl-empty h2 { font-size:1.8rem; }.nl-empty p { max-width:580px; margin:1rem auto 0; color:#516957; }
.nl-editor { max-width:950px; margin:0 auto; }.nl-editor .nl-card { display:grid; gap:1.1rem; }.nl-body-editor { font-family:ui-monospace,Consolas,monospace!important; font-size:.95rem!important; line-height:1.8; min-height:400px; }
.nl-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; }.nl-preview { margin-top:1.5rem; }.nl-preview>h2 { font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.2; overflow-wrap:anywhere; }.nl-preview .nl-prose { margin-top:2rem; border-top:1px solid #dae4d9; padding-top:1rem; }
.nl-review-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:2rem; align-items:start; }.nl-review-layout .nl-preview { margin-top:0; }.nl-review-actions { display:grid; gap:1.2rem; }.nl-review-actions h2 { font-size:1.35rem; }.nl-review-actions p { font-size:.87rem; }.nl-review-actions .nl-button { width:100%; }.nl-send-card { border-color:#a6bd9f; background:#edf3e8; }.nl-review-actions .nl-notice { font-size:.8rem; padding:1rem; }
.nl-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:1rem; margin:1.5rem 0; }.nl-filters label:first-child { flex:1; min-width:200px; }.nl-filters a { padding:.8rem 0; font-size:.8rem; }.nl-add-panel summary { font-weight:700; cursor:pointer; color:#21583d; }.nl-account-card { max-width:600px; }.nl-delivery-counts { display:flex; flex-wrap:wrap; gap:.7rem; margin:1.5rem 0; }.nl-delivery-counts a { text-decoration:none; padding:.7rem 1rem; border-radius:8px; background:#e2ecdf; color:#2b563c; font-size:.85rem; }
@media(max-width:1000px) { .nl-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.nl-review-layout { grid-template-columns:minmax(0,1fr); }.nl-review-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }.nl-review-actions .nl-card { padding:1.2rem; } }
@media(max-width:700px) { .nl-signup-layout { grid-template-columns:1fr; padding-block:3rem; }.nl-post-grid { grid-template-columns:1fr; }.nl-subscribe-callout { flex-direction:column; align-items:flex-start; padding:1.5rem; }.nl-review-actions { grid-template-columns:1fr; }.nl-stats { grid-template-columns:repeat(2,1fr); }.nl-stats>div { border-bottom:1px solid #d6e1d7; padding:1.2rem; }.nl-admin-nav { gap:.2rem .9rem; }.nl-admin-nav form { margin-left:0; }.nl-admin-heading { padding-top:1.5rem; }.nl-table th,.nl-table td { padding:.85rem; }.nl-auth { padding-block:2rem 4rem; }.nl-article { padding-top:2.5rem; } }
