/* Shared low-vision reading styles and admin layout. */
:root{--ink:#143d43;--body:#294a50;--muted:#405c61;--teal:#075d59;--paper:#fff;--canvas:#f2f6f4;--edge:#758b88;--focus:#ffcd3c;--reading-scale:1}html{font-size:calc(18px * var(--reading-scale));scroll-behavior:smooth}body{font-family:'DM Sans',Arial,sans-serif;font-size:1rem;color:var(--ink);background:var(--canvas);line-height:1.65;margin:0}*,*:before,*:after{box-sizing:border-box}a{color:#075d59;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button,input,select,textarea{border:1px solid var(--edge);border-radius:10px}button{background:#fff;color:var(--ink);padding:.6rem 1rem;min-height:48px}button:disabled{cursor:default;opacity:.6}input,select,textarea{max-width:100%;color:var(--ink);background:#fff;padding:.65rem .8rem;min-height:48px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#526768;opacity:1}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #123d43!important;outline-offset:3px;box-shadow:0 0 0 6px var(--focus)!important}h1,h2,h3{line-height:1.22;color:var(--ink);overflow-wrap:anywhere}h1{font-size:2.5rem}h2{font-size:1.9rem}h3{font-size:1.25rem}.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--teal);color:#fff;border:1px solid var(--teal);border-radius:10px;min-height:48px;padding:.65rem 1.1rem;text-decoration:none;font-weight:700}.primary:hover{background:#064744;color:#fff}.skip-link{position:fixed;top:-200px;left:20px;z-index:10000;background:#fff;color:#123d43;padding:14px 24px;border:3px solid #123d43}.skip-link:focus{top:12px}.reading-bar{background:#e2eae5;border-bottom:1px solid #b5c4bb}.reading-inner{max-width:1280px;margin:auto;padding:10px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.reading-inner>p{font-size:.8rem;margin:0;color:#294b45}.reading-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.reading-controls button{font-size:.8rem;padding:6px 12px;min-height:44px}.reading-controls button[aria-pressed=true]{background:#143d43;color:white;border-color:#143d43}.reading-controls span{font-size:.8rem;font-weight:700}.admin-link{font-size:.85rem;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:20px}.top-nav{display:flex;gap:22px;align-items:center}.top-nav a{font-size:.85rem;font-weight:700;text-decoration:none}.top-nav a:hover{text-decoration:underline}.brand .mark img{width:52px;height:52px}.brandname{font-size:1.35rem!important}.beta{display:none}.hero{background:#0d4146!important;color:#fff!important;border:0!important;min-height:420px;grid-template-columns:1.3fr 1fr!important;padding:54px!important;gap:36px!important}.hero h1{font-size:clamp(2.2rem,4.3vw,3.5rem)!important;color:#fff!important;letter-spacing:-1.5px!important}.hero h1 em{color:#d6ebc5!important}.hero .eyebrow{color:#deebdd!important;font-size:.75rem!important;letter-spacing:1.3px!important}.hero p{font-size:1rem!important;color:#f0f6ef!important;line-height:1.7!important;max-width:560px!important}.hero .light{font-size:.95rem!important;background:#d6ebc5!important;color:#143d43!important;min-height:52px}.hero .art:before{border-color:#95b6a3!important;box-shadow:0 0 0 28px #235258,0 0 0 29px #547d72!important}.hero .art-note{font-size:.8rem!important;color:#143d43!important}.hero .art-caption{font-size:.65rem!important;color:#e0ecdf!important}.hero .brand-emblem{width:176px;height:176px}.hero .note-top{top:20px}.hero .note-bottom{bottom:10px}.notice{font-size:.85rem!important;line-height:1.7!important;color:var(--muted)!important;border-bottom:1px solid #c1cec3!important}.section-links{gap:12px!important;margin:24px 0 35px!important}.section-links a{font-size:.95rem!important;min-height:48px;display:flex;align-items:center;background:#fff!important;color:#164e48!important;border:1px solid #7c9990!important;padding:10px 20px!important}.sectiontop h2{font-size:1.9rem!important}.eyebrow,.sectiontop .eyebrow,.bottom .eyebrow{font-size:.75rem!important;letter-spacing:1.1px!important;color:var(--muted)!important}.muted,.small,.meta,.countryline{color:var(--muted)!important}.small{font-size:.85rem!important}.tabs{gap:28px!important;overflow-x:auto}.tabs button{font-size:1rem!important;color:#405c61!important;min-height:50px!important;white-space:nowrap}.tabs button[aria-selected=true]{color:#075d59!important;border-bottom-width:4px!important}.nearby{padding:26px!important;border:1px solid #9fb6aa!important;box-shadow:0 6px 22px #143d4308!important;gap:24px!important}.nearby label{font-size:1rem!important;color:#143d43!important}.postrow{flex-wrap:wrap}.postrow input{width:240px;max-width:100%;font-size:1rem!important}.nearby .primary{font-size:1rem!important}.nearby .small{color:#405c61!important}.nearby select{font-size:.95rem!important}.textbtn{font-size:.95rem!important;color:#075d59!important;min-height:44px;max-width:none!important}.filters{gap:12px!important}.search{border:1px solid var(--edge)!important;min-width:0!important;flex:1 1 360px!important;min-height:52px!important}.search input{font-size:.95rem!important;padding:13px!important;min-width:0}.filters select{font-size:.85rem!important;max-width:none!important;min-height:52px!important;flex:1 1 150px}.resultsbar{margin:24px 0!important;gap:20px;flex-wrap:wrap}#count{font-size:.9rem!important}#nearStatus{font-size:.85rem!important}.view,.resultsbar .view{font-size:.9rem!important;min-height:46px!important;padding:8px 16px!important}.resultsbar .view.active{background:#143d43!important;color:#fff!important}.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}.card{border:1px solid #b0c3b6!important;border-radius:18px!important;box-shadow:0 5px 16px #143d4306!important;transform:none!important}.card:hover{border-color:#507f6d!important;transform:none!important}.cardtop{height:65px!important;padding:13px 24px!important;background:#e6efe3!important}.save{width:44px!important;height:44px!important;top:10px!important;font-size:1.35rem!important;border:1px solid #698d7a!important}.cardbody{padding:25px!important}.tags{font-size:.7rem!important;gap:7px!important;line-height:1.5!important}.tags span{background:#e8f0e3!important;color:#244b38!important;padding:5px 9px!important}.tags span:last-child{color:#274c59!important;background:#e7eff1!important}.card h3{font-size:1.3rem!important;line-height:1.4!important;letter-spacing:-.3px!important;margin:15px 0 13px!important}.card .address,.card .charity-description{font-size:.95rem!important;line-height:1.75!important;color:#294a50!important;min-height:0!important}.meta{font-size:.85rem!important;margin-top:auto}.countryline{font-size:.85rem!important}.actions{gap:10px!important;flex-wrap:wrap}.actions a{font-size:.85rem!important;min-height:44px;align-items:center;border:1px solid #6c9080!important;padding:9px 13px!important;text-decoration:underline!important;color:#075347!important}.cardbottom{gap:16px!important;flex-wrap:wrap}.cardbottom small{font-size:.7rem!important;letter-spacing:.2px!important;color:#405c61!important}.cardbottom button{font-size:.9rem!important;min-height:44px!important}.distance{font-size:.8rem!important;background:#e4f0d7!important;color:#2c502a!important}.pagination{font-size:.9rem!important;flex-wrap:wrap}.bottom{padding:35px!important}.bottom h2{font-size:1.7rem!important}.bottom p{font-size:.95rem!important;color:#294a50!important}.bottom .light{font-size:.95rem!important;min-height:48px}.charity-intro{font-size:1rem!important;color:#294a50!important}.charity-coverage{font-size:.85rem!important;color:#38533c!important;background:#e8efdf!important}.charity-badge{font-size:.7rem!important;color:#335936!important}.charity-card .charity-kind{font-size:.65rem!important;color:#405c61!important}.charity-facts{font-size:.9rem!important}.charity-facts dt{font-size:.75rem!important;color:#405c61!important}.charity-facts dd{color:#294a50!important}.charity-card .charity-note{font-size:.85rem!important;color:#355039!important}.charity-card .charity-paused{color:#684611!important;background:#fff0d3!important}.charity-contact{font-size:.9rem!important;color:#405c61!important;line-height:1.7}.charity-contact a{color:#075347!important;text-decoration:underline!important;min-height:34px;display:inline-flex;align-items:center}.charity-card-footer{flex-wrap:wrap;gap:12px!important}.charity-card-footer small{font-size:.7rem!important;color:#405c61!important}.charity-card-footer a{font-size:.8rem!important;min-height:36px;display:flex;align-items:center}.charity-sources{font-size:.85rem!important;color:#405c61!important}footer p{font-size:.8rem!important;color:#405c61!important;max-width:480px!important}footer .brandname{font-size:1.2rem!important}dialog{width:680px!important;max-width:calc(100% - 32px)!important;max-height:90dvh;overflow:auto;padding:32px!important}dialog h2{font-size:1.7rem!important}dialog p{font-size:1rem!important}dialog .close{width:44px!important;height:44px!important;min-height:44px;font-size:1.4rem!important}dialog .eyebrow{font-size:.8rem!important}#toast{font-size:1rem;max-width:90%;text-align:center;z-index:1000}#map{border:2px solid #6b827b!important}.leaflet-control-attribution{font-size:12px!important}.leaflet-popup-content{font-size:16px!important}.map-popup{font-size:16px!important}
[data-contrast="high"]{--ink:#fff;--body:#fff;--muted:#fff;--paper:#000;--canvas:#000;--edge:#fff}[data-contrast="high"] body{background:#000!important;color:#fff!important}[data-contrast="high"] :is(header,footer,main,section,.card,.cardbody,.cardtop,.nearby,.notice,.bottom,.reading-bar,.reading-inner,.charity-coverage,.charity-note,.resultsbar>div,dialog,.art-note,.tags span,.charity-initial,.charity-badge,.distance,.search){background:#000!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important}[data-contrast="high"] :is(h1,h2,h3,p,span,small,dt,dd,label,.eyebrow,.muted,.meta,.countryline){color:#fff!important}[data-contrast="high"] :is(a,button,input,select,textarea){color:#ffdf5c!important;background:#000!important;border-color:#fff!important}[data-contrast="high"] .primary,[data-contrast="high"] button[aria-pressed=true],[data-contrast="high"] .light{background:#ffdf5c!important;color:#000!important;border-color:#ffdf5c!important}[data-contrast="high"] input::placeholder{color:#e4e4e4!important}[data-contrast="high"] .art{display:none!important}[data-contrast="high"] .hero{grid-template-columns:1fr!important}[data-contrast="high"] :focus-visible{outline-color:#ffdf5c!important;box-shadow:0 0 0 6px #000!important}
html[data-size="large"]{--reading-scale:1.25}html[data-size="largest"]{--reading-scale:1.5}html[data-size="largest"] .grid{grid-template-columns:1fr!important}html[data-size="largest"] .hero{grid-template-columns:1fr!important}html[data-size="largest"] .hero .art{display:none!important}
/* Admin */
.admin-page header,.admin-page main{max-width:1440px;margin:auto;padding:28px 32px}.admin-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b6c7bb;gap:20px;flex-wrap:wrap}.admin-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;color:#143d43;font-size:1.3rem}.admin-brand span{font-size:.8rem;background:#dce9d4;padding:5px 12px;border-radius:8px}.admin-header nav{display:flex;gap:24px;flex-wrap:wrap}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.admin-heading h1{margin:8px 0 14px}.kicker{font-size:.8rem;letter-spacing:1px;font-weight:700;color:#405c61}.admin-status{padding:16px;border-radius:10px;background:#e4eede;min-height:55px}.admin-layout{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.4fr);gap:32px;align-items:start}.admin-layout section{background:#fff;border:1px solid #9cb5a7;border-radius:18px;padding:26px;min-width:0}.admin-layout label{display:block;margin:15px 0 8px;font-weight:600}.admin-layout input:not([type="checkbox"]),.admin-layout select,.admin-layout textarea{width:100%;display:block}.admin-filter-row{display:flex;gap:16px;flex-wrap:wrap}.admin-filter-row label{flex:1;min-width:130px}.admin-list-item{display:block;text-align:left;width:100%;margin:8px 0;padding:14px 16px}.admin-list-item strong{display:block;font-size:1rem}.admin-list-item span{display:block;font-size:.8rem;color:#405c61}.admin-list-item[aria-pressed=true]{border:3px solid #075d59;background:#eaf1e4}.admin-layout fieldset{border:1px solid #b1c3b7;border-radius:12px;padding:18px;margin:20px 0}.admin-layout legend{font-weight:700;padding:0 8px}.admin-layout .checks label{display:flex;align-items:center;gap:12px;min-height:44px;font-weight:400}.checks input{width:24px;height:24px;accent-color:#075d59}.admin-actions{display:flex;gap:12px;flex-wrap:wrap}.hint{font-size:.85rem;color:#405c61}.admin-layout label span{font-weight:400;font-size:.8rem}#formError{color:#9b2020;font-weight:600}#exportData,#moreEntries{margin-top:18px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{max-width:660px;padding:40px;border:1px solid #94b1a0;border-radius:24px;background:#fff}.login-card .primary{margin:15px 0}.login-card h1{font-size:2rem}
[hidden]{display:none!important}@media(max-width:1050px){.hero .art{display:none!important}.hero{grid-template-columns:1fr!important;min-height:0}.hero p{max-width:720px!important}.nearby{flex-wrap:wrap}.nearby>label{flex:1}.brandname{font-size:1.15rem!important}.top-nav{display:none}}@media(max-width:760px){header{height:auto!important;min-height:90px!important;gap:20px;flex-wrap:wrap;padding:22px!important}.reading-inner{padding:12px 20px}.reading-inner>p{display:none}.reading-controls{gap:8px}.reading-controls span{width:100%}.reading-controls button{font-size:.8rem;flex:1}.hero{padding:32px 26px!important;border-radius:18px}.hero h1{font-size:2.4rem!important}.hero p{font-size:1rem!important}.grid{grid-template-columns:1fr!important}.nearby{display:block!important;padding:22px!important}.postrow input{width:100%;flex-basis:100%}.nearby .primary{flex:1}.nearby>label{display:block;margin-top:20px!important}.nearby select{width:100%}.filters{display:flex!important;flex-wrap:wrap}.filters select{flex-basis:100%!important;width:100%}.cardbody{padding:22px!important}.tabs{gap:22px!important}.sectiontop{align-items:center}.sectiontop h2{font-size:1.7rem!important}.charity-badge{display:none}.charity-card-head{padding:20px 22px 0!important}main{padding-left:20px!important;padding-right:20px!important}.charity-coverage{padding:16px!important}.resultsbar{gap:10px}.resultsbar>div{flex:1;justify-content:space-around}.bottom{padding:26px!important}footer{padding:25px 20px!important}.admin-page main,.admin-page header{padding:22px 18px}.admin-layout{grid-template-columns:1fr}.admin-heading h1{font-size:2rem}.admin-layout section{padding:20px}.admin-header nav{gap:18px;font-size:.9rem}.login-card{padding:26px}.admin-actions button{width:100%}.admin-filter-row{gap:10px}.admin-filter-row label{min-width:100%;flex-basis:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(forced-colors:active){.card,.nearby,button,input,select,textarea{border:1px solid CanvasText!important}a{color:LinkText!important}.primary{border:2px solid ButtonText!important}button:focus-visible,a:focus-visible{outline:3px solid Highlight!important}}
[data-contrast="high"] .primary *,[data-contrast="high"] .light *{color:#000!important}.card .tags,.charity-card .tags{font-size:.8rem!important}.cardbottom small,.charity-card-footer small,.charity-kind{font-size:.8rem!important}.charity-card .charity-kind{font-size:.75rem!important}.hero .light span{margin-left:20px}
@media(max-width:760px){.top-actions{flex-wrap:wrap;width:100%;gap:10px;justify-content:space-between}.top-nav{display:flex;flex-wrap:wrap;gap:16px}.top-nav a,.admin-link{min-height:44px;display:inline-flex;align-items:center;font-size:.85rem}.hero h1{font-size:2.1rem!important}.reading-controls button{font-size:.8rem!important}}
