@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/fraunces-vietnamese.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/fraunces-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/fraunces-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-vietnamese.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fraunces-vietnamese.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fraunces-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fraunces-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-greek-ext.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-greek.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-vietnamese.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-greek-ext.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-greek.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-vietnamese.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-greek-ext.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-greek.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-vietnamese.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-greek-ext.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-greek.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-vietnamese.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--navy:#122a3c;--teal:#2bb6b0;--amber:#e2963a;--paper:#f1f2ee;--card:#fff;--border:#e1e2da;--ink:#1c2226;--muted:#5b6570;--muted-2:#6a6f69;--status-approved:#4c6e4a;--status-declined:#b23b3b;--status-pending:#8a6a1e;--note-text:#5c5748;--chip-bg:#dff3f1;--chip-text:var(--navy);--segment-bg:#e7e8e1;--switch-track-off:#d8dad2;--btn-disabled-bg:#e2e3dc;--btn-disabled-text:#9ba098;--pill-disabled-text:#b7bab0;--missing-bg:#fcefd9;--missing-ring:#e2963a;--gold:var(--teal);--teal-strong:#1f837f;--black:var(--navy)}[data-theme=dark]{--paper:#0b141c;--card:#14222e;--border:#263443;--ink:#edefea;--muted:#9aa6ac;--muted-2:#7e898e;--status-approved:#7fc784;--status-declined:#e98a8a;--status-pending:#e3b563;--note-text:#c9c2b4;--chip-bg:rgba(43,182,176,.22);--chip-text:#bfeae6;--segment-bg:#1c2a36;--switch-track-off:#33424f;--btn-disabled-bg:#1c2a36;--btn-disabled-text:#5c6b74;--pill-disabled-text:#4a5760;--missing-bg:rgba(226,150,58,.16);--missing-ring:#e3b563}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:Inter,sans-serif;color:var(--ink);transition:background-color .2s ease,color .2s ease}a{color:inherit;text-decoration:none}.site-header{background:var(--navy);padding:16px 20px 16px 10px;border-bottom:3px solid var(--teal);display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.site-header>*{position:relative;z-index:1}.site-header{column-gap:10px}.header-tools{display:flex;align-items:center;gap:10px;margin-left:auto}.header-link{display:inline-flex;align-items:center;min-height:32px;padding:0 13px;border-radius:18px;background:hsla(0,0%,100%,.12);color:#c9d4d6;font-size:12.5px;font-weight:600;white-space:nowrap;transition:background-color .15s ease}.header-link:hover{background:hsla(0,0%,100%,.22);color:#fff}.header-link.active{background:var(--teal-strong);color:#fff}.header-link:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media (max-width:560px){.site-header{flex-wrap:wrap;row-gap:12px}.mode-toggle{width:100%}.mode-toggle button{flex:1 1}}.header-glow{position:absolute;top:-60%;left:-40px;width:280px;height:220%;background:radial-gradient(closest-side,rgba(226,150,58,.3),rgba(226,150,58,0) 70%);pointer-events:none;transition:opacity .6s ease-in-out}.theme-toggle-btn{width:30px;height:30px;border-radius:50%;border:none;background:hsla(0,0%,100%,.12);color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background-color .15s ease}.theme-toggle-btn:hover{background:hsla(0,0%,100%,.22)}.wordmark{font-family:Fraunces,serif;font-weight:700;font-size:21px;letter-spacing:.2px;display:inline-flex;align-items:baseline}.wordmark .cream-text{color:#fbfbf8}.wordmark .bridge-svg{overflow:visible;vertical-align:-.32em;margin-right:-.12em}.wordmark .wordmark-o{margin:0 .03em;transform:translateY(.09em)}.mode-toggle{display:flex;background:rgba(43,182,176,.15);border-radius:20px;padding:3px}.mode-toggle button{border:none;border-radius:18px;padding:6px 13px;font-size:12.5px;font-family:Inter,sans-serif;font-weight:600;cursor:pointer;background:transparent;color:#c9d4d6}.mode-toggle button.active{background:var(--teal-strong);color:#fff}.container{max-width:720px;margin:0 auto;padding:28px 20px 60px}.side-rail{display:none}@media (min-width:1200px){.home-layout{display:grid;grid-template-columns:230px minmax(0,720px) 230px;justify-content:center;grid-gap:28px;gap:28px;padding:0 20px}.home-layout>.container{margin:0;max-width:none;padding-left:0;padding-right:0}.side-rail{display:flex;flex-direction:column;gap:16px;position:-webkit-sticky;position:sticky;top:20px;align-self:start;padding-top:28px}}.rail-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px;box-shadow:0 1px 0 rgba(18,42,60,.05)}.rail-heading{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:10px}.rail-row{display:flex;align-items:center;gap:9px;border:none;background:transparent;border-radius:6px;padding:7px 8px;margin:0 -8px;width:calc(100% + 16px);font-family:Inter,sans-serif;font-size:13px;color:var(--ink);text-align:left;cursor:pointer}.rail-row:hover{background:var(--segment-bg)}.rail-row.active{background:var(--chip-bg);color:var(--chip-text);font-weight:600}.rail-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.rail-row-label{flex:1 1}.rail-count{font-size:11.5px;font-weight:700;color:var(--muted)}.rail-zip{display:flex;align-items:center;gap:10px;border:none;background:transparent;padding:4px 0;font-family:Inter,sans-serif;font-size:13px;color:var(--ink);cursor:pointer;text-align:left}.rail-zip:hover span:last-child{text-decoration:underline}.rail-stats{background:var(--navy);border-color:var(--navy);color:#edefea;background-image:radial-gradient(circle at 100% 0,rgba(43,182,176,.35),transparent 60%),radial-gradient(circle at 0 100%,rgba(226,150,58,.22),transparent 55%)}.rail-stat{font-size:13px;color:#c9d4d6;padding:5px 0}.rail-stat strong{display:block;font-family:Fraunces,serif;font-size:26px;font-weight:700;color:#fff;line-height:1.1}.rail-newest{display:block}.rail-newest:hover .rail-newest-title{text-decoration:underline}.rail-newest-title{font-family:Fraunces,serif;font-weight:600;font-size:14px;line-height:1.3;color:var(--ink)}.rail-newest-meta{font-size:12px;color:var(--muted);margin-top:2px}.rail-steps{margin:0;padding-left:18px}.rail-steps li{font-size:13px;line-height:1.5;color:var(--ink);margin-bottom:6px}.rail-steps li::marker{color:var(--teal);font-weight:700}.rail-cta{border-top:3px solid var(--amber)}.rail-cta-title{font-family:Fraunces,serif;font-weight:600;font-size:16px;color:var(--ink)}.rail-cta p{font-size:13px;color:var(--muted);line-height:1.5;margin:6px 0 12px}h1.page-title{font-family:Fraunces,serif;font-weight:600;font-size:30px;color:var(--ink);margin:0 0 8px;line-height:1.15}.page-sub{font-size:14.5px;color:var(--muted);margin:0 0 20px;max-width:480px}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:18px;box-shadow:0 1px 0 rgba(18,42,60,.05)}.pill{padding:6px 12px;border-radius:16px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer}.pill.active{background:var(--navy);border-color:var(--navy);color:#fff}.pill:disabled{color:var(--pill-disabled-text);cursor:default}.btn-black,.btn-gold,.btn-outline{border:none;border-radius:5px;font-family:Inter,sans-serif;font-weight:700;font-size:13.5px;padding:10px 16px;cursor:pointer}.btn-gold{background:var(--teal-strong);color:#fff}.btn-black{background:var(--navy);color:#fff}.btn-outline{background:transparent;border:1px solid var(--navy);color:var(--navy);font-weight:600}.btn-black:disabled,.btn-gold:disabled{background:var(--btn-disabled-bg);color:var(--btn-disabled-text);cursor:default}[data-theme=dark] .btn-outline{border-color:var(--ink);color:var(--ink)}.field{border-bottom:1px solid var(--border);padding:12px 0}.field label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:none;outline:none;background:transparent;font-family:Inter,sans-serif;font-size:15px;color:var(--ink)}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted-2);font-size:12px;text-transform:uppercase;letter-spacing:.4px}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;border-top:1px solid var(--border)}.link-button{background:none;border:none;padding:4px 0;cursor:pointer;font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:var(--ink);text-decoration:underline}.link-button:disabled{color:var(--muted-2);text-decoration:none;cursor:default}.field .field-missing{background:var(--missing-bg);box-shadow:0 0 0 1px var(--missing-ring);border-radius:4px;padding:4px 6px}.switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0;cursor:pointer}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch .track{position:absolute;inset:0;background:var(--switch-track-off);border-radius:24px;transition:background .18s ease}.switch .thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(18,42,60,.35);transition:transform .18s ease}.switch input:checked+.track{background:var(--teal)}.switch input:checked+.track .thumb{transform:translateX(18px)}.switch input:disabled{cursor:default}.switch input:focus-visible+.track{outline:2px solid var(--navy);outline-offset:2px}.org-link{color:inherit;font-weight:600}.org-link:hover{text-decoration:underline}.zip-tag{position:absolute;top:14px;right:16px;font-size:11px;font-weight:700;color:#fff;background:var(--navy);border-radius:3px;padding:2px 7px}.site-footer{max-width:720px;margin:0 auto;padding:24px 20px 40px;border-top:1px solid var(--border);text-align:center}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:14px}.footer-links a{font-size:12.5px;font-weight:600;color:var(--muted)}.footer-links a:hover{color:var(--ink)}.footer-admin-link{color:var(--muted-2)!important;font-weight:500!important}.footer-disclaimer{font-size:11px;color:var(--muted-2);max-width:520px;margin:0 auto 8px;line-height:1.5}.footer-copyright{font-size:11px;color:var(--muted-2);margin:0}.leaflet-container{font-family:Inter,sans-serif;background:#eaede7}.leaflet-popup-content-wrapper{background:#fff;color:#1c2226;border-radius:12px;box-shadow:0 10px 28px rgba(18,42,60,.22)}.leaflet-popup-content{margin:12px 14px}.leaflet-popup-tip-container{display:none}.leaflet-popup-close-button{color:#5b6570!important;top:8px!important;right:8px!important}.leaflet-control-zoom{border:none!important;box-shadow:0 4px 14px rgba(18,42,60,.18)!important;margin:0 12px 12px 0!important}.leaflet-control-zoom a{border-radius:8px!important;color:var(--navy)!important;font-weight:700!important}.leaflet-control-attribution{background:hsla(0,0%,100%,.75)!important;font-size:10px!important}.map-legend{position:absolute;bottom:12px;left:12px;z-index:1000;background:hsla(0,0%,100%,.95);border:1px solid #e1e2da;border-radius:10px;padding:8px 11px;font-size:11.5px;display:flex;flex-wrap:wrap;gap:6px 12px;box-shadow:0 2px 10px rgba(18,42,60,.1);max-width:calc(100% - 24px);pointer-events:none}.map-legend span.legend-label{color:#5b6570;font-weight:600}.map-legend-item{display:flex;align-items:center;gap:5px}.map-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}.map-frame{position:relative;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 4px 20px rgba(18,42,60,.08)}.map-canvas{height:460px;width:100%}@media (max-width:600px){.map-canvas{height:380px}}.map-empty{padding:48px 20px;text-align:center;color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:14px}.map-note{font-size:12.5px;color:var(--muted);margin:10px 2px 0}.map-popup-heading{font-size:11px;font-weight:700;color:#5b6570;text-transform:uppercase;letter-spacing:.3px;margin:0 22px 8px 0}.map-popup-list{min-width:200px;max-height:280px;overflow-y:auto}.map-shift+.map-shift{border-top:1px solid #e1e2da;margin-top:12px;padding-top:12px}.map-shift-cat{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.map-shift-cat .map-dot{width:7px;height:7px}.map-shift-title{font-family:Fraunces,serif;font-weight:600;font-size:15.5px;line-height:1.3;color:#1c2226;margin:0 18px 3px 0}.map-shift-meta{font-size:12.5px;color:#5b6570;margin-bottom:10px}.map-signup{width:100%;padding:8px 14px;background:#122a3c;color:#fff;border:none;border-radius:6px;font-size:12.5px;font-weight:700;cursor:pointer}.map-signup:hover{background:#1d3d55}.user-location-marker{position:relative;width:20px;height:20px}.user-location-marker .dot{position:absolute;top:5px;left:5px;width:10px;height:10px;border-radius:50%;background:var(--navy);border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}.user-location-marker .pulse{position:absolute;inset:0;border-radius:50%;background:rgba(18,42,60,.28);animation:map-pulse-ring 1.8s ease-out infinite}@keyframes map-pulse-ring{0%{transform:scale(.4);opacity:.8}to{transform:scale(1.9);opacity:0}}.policy-updated{font-size:12.5px;color:var(--muted-2);margin-bottom:24px}.policy-content h2{font-family:Fraunces,serif;font-weight:600;font-size:18px;color:var(--ink);margin:28px 0 10px}.policy-content h2:first-child{margin-top:0}.policy-content li,.policy-content p{font-size:14.5px;line-height:1.65;color:var(--ink);margin:0 0 12px}.policy-content ul{margin:0 0 12px;padding-left:20px}.policy-content a{color:var(--teal);font-weight:600;text-decoration:underline}.modal-overlay{position:fixed;inset:0;z-index:2000;background:rgba(18,42,60,.62);display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{width:100%;max-width:420px;background:var(--card);color:var(--ink);border:1px solid var(--border);border-top:4px solid var(--amber);border-radius:8px;padding:22px 22px 18px;box-shadow:0 18px 48px rgba(0,0,0,.28)}.modal-card:focus{outline:none}.modal-title{font-family:Fraunces,serif;font-size:20px;font-weight:600;margin:0 0 8px}.modal-body{font-size:14.5px;line-height:1.5;color:var(--muted)}.modal-error{margin-top:12px;padding:9px 11px;border-radius:5px;font-size:13.5px;color:var(--status-declined);background:var(--missing-bg);border:1px solid var(--status-declined)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;flex-wrap:wrap}@media (max-width:420px){.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.btn-danger{border:none;border-radius:5px;padding:10px 16px;cursor:pointer;font-family:Inter,sans-serif;font-weight:700;font-size:13.5px;background:var(--status-declined);color:#fff}[data-theme=dark] .btn-danger{color:#1a0b0b}.btn-danger:disabled{opacity:.65;cursor:default}.btn-danger:focus-visible,.modal-actions .btn-outline:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.toast{position:fixed;z-index:2100;left:50%;bottom:20px;transform:translateX(-50%);width:calc(100% - 32px);max-width:440px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);color:var(--ink);border:1px solid var(--border);border-left:4px solid var(--teal);border-radius:6px;padding:11px 14px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.22)}.toast-error{border-left-color:var(--status-declined)}.locate-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;font-size:13px;border-radius:6px;cursor:pointer;font-family:Inter,sans-serif}.locate-btn:disabled{opacity:.7;cursor:default}.locate-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.modal-wide{max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto}.modal-card .field input{border:1px solid var(--border);border-radius:4px;padding:8px 10px;background:var(--card)}.modal-textarea{border:1px solid var(--border)!important;border-radius:4px;padding:8px 10px!important;background:var(--card)!important;resize:vertical;line-height:1.45}.modal-card .field input:focus-visible,.modal-textarea:focus-visible{outline:2px solid var(--teal);outline-offset:1px}.char-count{float:right;font-weight:400;color:var(--muted-2)}.message-preview{margin-top:12px;padding:10px 12px;border-left:3px solid var(--teal);background:var(--paper);border-radius:4px;font-size:13.5px;max-height:200px;overflow-y:auto}.modal-card .field input[type=checkbox]{border:none;padding:0;width:auto;accent-color:var(--teal)}.modal-card code{font-size:12px;background:var(--paper);padding:1px 4px;border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container.hours-page{max-width:1040px}.proof-card{border-left:4px solid var(--teal)}.proof-heading{font-family:Fraunces,serif;font-weight:600;font-size:21px;margin:0 0 6px}.proof-text{font-size:14.5px;line-height:1.55;color:var(--muted);margin:0 0 14px;max-width:560px}.proof-button{display:inline-block}.hours-empty{margin-top:20px;scroll-margin-top:16px}.hours-h2{font-family:Fraunces,serif;font-weight:600;font-size:18px;margin:0;color:var(--ink);padding:0}.hours-hint{font-size:13px;color:var(--muted);margin:2px 0 0}.plain-fieldset{border:none;margin:0;padding:0;min-width:0}.hours-layout{display:grid;grid-gap:20px;gap:20px;margin-top:20px;align-items:start}.hours-layout>*{min-width:0}#letter-options{scroll-margin-top:16px}@media (min-width:880px){.hours-layout{grid-template-columns:minmax(0,1fr) 300px}.hours-options{grid-column:1;grid-row:1}.hours-list{grid-column:1;grid-row:2}.hours-aside{grid-column:2;grid-row:1/span 2;position:-webkit-sticky;position:sticky;top:16px}}.hours-total{font-family:Fraunces,serif;font-weight:600;font-size:30px;margin:2px 0}.choice-grid{display:grid;grid-gap:10px;gap:10px;margin-top:14px}@media (min-width:520px){.choice-grid{grid-template-columns:1fr 1fr}}.choice-card{display:flex;gap:10px;align-items:flex-start;cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:12px 14px;min-height:56px;background:var(--card);transition:border-color .15s ease,background-color .15s ease}.choice-card:hover{border-color:var(--teal)}.choice-card.selected{border-color:var(--teal-strong);box-shadow:0 0 0 1px var(--teal-strong);background:var(--chip-bg)}.check-row input,.choice-card input,.period-option input{width:20px;height:20px;margin:1px 0 0;flex-shrink:0;accent-color:var(--teal-strong);cursor:pointer}.choice-card:focus-within,.period-option:focus-within{outline:2px solid var(--teal);outline-offset:2px}.choice-title{display:block;font-weight:700;font-size:14px;color:var(--ink)}.choice-sub{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}.period-options{display:flex;flex-wrap:wrap;gap:8px}.period-option{display:inline-flex;align-items:center;gap:8px;cursor:pointer;min-height:40px;padding:6px 12px;border:1px solid var(--border);border-radius:20px;font-size:13px;font-weight:600;color:var(--muted)}.period-option input{margin:0;width:18px;height:18px}.period-option.selected{border-color:var(--navy);background:var(--navy);color:#fff}[data-theme=dark] .period-option.selected{border-color:var(--teal-strong);background:var(--teal-strong)}.custom-dates{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.custom-dates .field{min-width:140px}.org-group.excluded{opacity:.6}.org-group-head{justify-content:space-between;gap:12px}.check-row,.org-group-head{display:flex;align-items:flex-start}.check-row{gap:10px;cursor:pointer;min-height:44px;padding-top:2px}.check-row input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.org-group-name{font-family:Fraunces,serif;font-weight:600;font-size:16px;line-height:1.35}.org-group-total{text-align:right;font-size:14px;flex-shrink:0}.shift-list{list-style:none;margin:4px 0 0;padding:0;border-top:1px dashed var(--border)}.shift-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:13.5px;border-bottom:1px solid var(--border)}.shift-list li:last-child{border-bottom:none;padding-bottom:0}.hours-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:0 12px;flex-wrap:wrap}.hours-title-row>.btn-outline{margin-bottom:20px}.hours-self{min-width:0}@media (min-width:880px){.hours-self{grid-column:1;grid-row:3}}.hours-empty+.hours-self{margin-top:28px}.self-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}.self-total{font-size:13.5px;color:var(--muted);margin-bottom:10px}.self-total strong{color:var(--ink)}.self-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.self-entry{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.self-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--status-pending);background:var(--missing-bg);border-radius:3px;padding:2px 6px}.self-actions{display:flex;gap:8px;flex-shrink:0}.self-actions .btn-outline{min-height:36px;padding:6px 12px;font-size:12.5px}.self-actions .self-delete{border-color:var(--border);color:var(--status-declined)}.self-form{margin-bottom:12px}.self-form-row{display:flex;gap:14px;flex-wrap:wrap}.self-form-row .field{flex:1 1;min-width:140px}.verify-input{font-size:18px!important;letter-spacing:1.5px;text-transform:uppercase}.verify-result{margin-top:8px}.verify-status{font-family:Fraunces,serif;font-weight:600;font-size:21px;color:var(--ink)}.verify-valid{color:var(--status-approved)}.verify-bad{color:var(--status-declined)}.verify-details{margin:0;display:grid;grid-gap:0;gap:0}.verify-details>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--border)}.verify-details dt{font-size:13px;color:var(--muted);font-weight:600;flex-shrink:0}.verify-details dd{margin:0;font-size:14.5px;font-weight:600;text-align:right}.verify-note{font-size:13px;color:var(--muted);line-height:1.55;margin:14px 0 0}.letter-buttons{display:grid;grid-gap:10px;gap:10px}.letter-buttons .btn-gold,.letter-buttons .btn-outline{width:100%;min-height:44px}.letter-warning{margin:0;padding:9px 11px;border-radius:5px;font-size:12.5px;line-height:1.45;color:var(--status-pending);background:var(--missing-bg);border:1px solid var(--missing-ring)}.hours-aside{display:grid;grid-gap:16px;gap:16px}.past-letters ul{list-style:none;margin:10px 0 0;padding:0}.past-letters li{padding:12px 0;border-top:1px solid var(--border)}.past-letters li.revoked{opacity:.7}.letter-code{font-weight:700;font-size:13.5px;letter-spacing:.6px}.letter-status{font-size:11.5px;font-weight:700;color:var(--status-approved)}.letter-status.is-revoked{color:var(--status-declined)}.past-letter-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.past-letter-actions .btn-outline{min-height:36px;padding:6px 10px;font-size:12px}.past-letter-actions .past-letter-revoke{border-color:var(--border);color:var(--status-declined)}.duration-picker{border:none;border-bottom:1px solid var(--border);margin:0;padding:12px 0;min-width:0}.duration-picker legend{float:left;width:100%;padding:0;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:6px}.duration-selects{clear:both;display:flex;gap:12px}.duration-selects>div{flex:1 1;min-width:0}.duration-selects label{display:block;font-size:11.5px;font-weight:600;color:var(--muted-2);margin-bottom:4px}.field .duration-selects select{min-height:44px;padding:8px 10px;border:1px solid var(--border);border-radius:5px;background:var(--card);cursor:pointer}.field .duration-selects select:focus-visible{outline:2px solid var(--teal);outline-offset:1px}[data-theme=dark] .duration-selects select{color-scheme:dark}.duration-note{font-size:12px;color:var(--status-pending);margin-top:6px}.shift-list li.shift-noshow{color:var(--muted)}.shift-list li.shift-noshow s{text-decoration-thickness:1.5px}.noshow-tag{display:table;margin-top:4px;font-size:11px;font-weight:700;letter-spacing:.2px;color:var(--status-declined);background:var(--missing-bg);border-radius:3px;padding:1px 6px}.official-badge{position:relative;display:inline-flex;flex-shrink:0;vertical-align:middle}.official-badge-button{display:inline-flex;padding:0;border:none;background:none;cursor:pointer;border-radius:5px;line-height:0}.official-badge-button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.official-mark{display:block}[data-theme=dark] .official-mark rect{stroke:rgba(43,182,176,.55);stroke-width:1}.official-tip{bottom:calc(100% + 7px);background:var(--navy);color:#fff;font-family:Inter,sans-serif;font-size:12px;font-weight:600;line-height:1.3;letter-spacing:0;white-space:nowrap;padding:5px 9px;border-radius:5px;box-shadow:0 4px 14px rgba(0,0,0,.2);pointer-events:none;z-index:20;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease}.official-tip,.official-tip:after{position:absolute;left:50%;transform:translateX(-50%)}.official-tip:after{content:"";top:100%;border:5px solid transparent;border-top:5px solid var(--navy)}[data-theme=dark] .official-tip{background:#f1f2ee;color:var(--navy)}[data-theme=dark] .official-tip:after{border-top-color:#f1f2ee}@media (hover:hover){.official-badge:hover .official-tip{opacity:1;visibility:visible}}.official-badge.open .official-tip,.official-badge:has(.official-badge-button:focus-visible) .official-tip{opacity:1;visibility:visible}