:root{--ink:#12151a;--ink-soft:#1b1f26;--paper:#ffffff;--ash:#f5f4f1;--ash-line:#e5e2dc;--signal:#dc3b1e;--signal-dim:#b5311a;--slate:#31353c;--mist:#9aa0aa;--hair:rgba(255,255,255,.14);--radius:2px;--wrap:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--slate);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}.mono{font-family:JetBrains Mono,monospace}.eyebrow{font-family:JetBrains Mono,monospace;letter-spacing:.22em;text-transform:uppercase;font-size:12px;font-weight:600;color:var(--signal)}.display{font-family:Archivo Black,sans-serif;text-transform:uppercase;line-height:.95;letter-spacing:-.01em}.rule{height:3px;width:64px;background:var(--signal);border:0;margin:18px 0}.rule-thin{height:1px;background:var(--ash-line);border:0}.rule-thin.on-dark{background:var(--hair)}header.site{position:sticky;top:0;z-index:50;background:#12151af5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--hair)}.nav-row{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;max-width:var(--wrap);margin:0 auto;gap:20px}.logo{display:flex;align-items:baseline;gap:8px;color:#fff;text-decoration:none;flex-shrink:0}.logo .script{font-family:Dancing Script,cursive;font-weight:700;font-size:26px;color:#fff}.logo .caps{font-family:Archivo Black,sans-serif;font-size:16px;letter-spacing:.02em}nav.tabs{display:flex;gap:2px;flex-wrap:nowrap}nav.tabs button{font-family:JetBrains Mono,monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;background:none;border:0;color:var(--mist);padding:10px 12px;cursor:pointer;border-radius:var(--radius);transition:color .15s ease,background .15s ease;white-space:nowrap}nav.tabs .nav-link{font-family:JetBrains Mono,monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;background:none;border:0;color:var(--mist);padding:10px 12px;cursor:pointer;border-radius:var(--radius);transition:color .15s ease,background .15s ease;white-space:nowrap;text-decoration:none}nav.tabs button:hover{color:#fff}nav.tabs button.active{color:#fff;background:#dc3b1e2e}nav.tabs .nav-link:hover{color:#fff}nav.tabs .nav-link.active{color:#fff;background:#dc3b1e2e}nav.tabs button:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.nav-cta{font-family:JetBrains Mono,monospace;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;background:var(--signal);color:#fff;padding:10px 16px;border-radius:var(--radius);text-decoration:none;flex-shrink:0;border:0;cursor:pointer}.nav-cta:hover{background:var(--signal-dim)}.burger{display:none;background:none;border:1px solid var(--hair);color:#fff;padding:8px 10px;border-radius:var(--radius);cursor:pointer}.btn{display:inline-flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;padding:14px 22px;border-radius:var(--radius);text-decoration:none;border:1px solid transparent;cursor:pointer;font-weight:600}.btn-solid{background:var(--signal);color:#fff}.btn-solid:hover{background:var(--signal-dim)}.btn-outline{border-color:var(--hair);color:#fff}.btn-outline:hover{border-color:#fff}.btn-outline.on-light{border-color:#c9c6bf;color:var(--ink)}.btn-outline.on-light:hover{border-color:var(--ink)}section{padding:72px 0}section.dark{background:var(--ink);color:#fff}section.ash{background:var(--ash)}.tab-panel{display:none}.tab-panel.active{display:block}h2.section-title{font-family:Archivo Black,sans-serif;text-transform:uppercase;font-size:clamp(28px,4vw,44px);line-height:1.02;margin:6px 0 0}p.lede{font-size:18px;line-height:1.6;color:var(--slate);max-width:640px}section.dark p.lede{color:#fff}.hero{background:var(--ink);color:#fff;padding:64px 0 0;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end}.hero h1{font-family:Archivo Black,sans-serif;text-transform:uppercase;font-size:clamp(40px,7vw,76px);line-height:.94;margin:10px 0 0}.hero .subtitle{font-size:19px;color:#fff;max-width:480px;margin:22px 0 0;line-height:1.55}.hero .subtitle.candidate-id{text-align:left;margin-left:0;margin-right:0}.hero .dates{font-family:JetBrains Mono,monospace;font-size:15px;letter-spacing:.06em;margin-top:22px;color:#fff}.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.hero-photo{position:relative;text-align:center}.hero-photo img{max-height:560px;margin:0 auto;object-fit:cover;object-position:top center;border-top:3px solid var(--signal)}.hero-tags{display:flex;flex-wrap:wrap;gap:0;margin-top:36px;border-top:1px solid var(--hair)}.hero-tags span{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#fff;padding:14px 22px 14px 0;border-right:1px solid var(--hair);margin-right:22px}.hero-tags span:last-child{border-right:0}.stat-strip{background:var(--ink-soft);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}.stat-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.stat-strip .stat{padding:22px 20px;border-right:1px solid var(--hair);color:#fff}.stat-strip .stat:last-child{border-right:0}.stat-strip .num{font-family:Archivo Black,sans-serif;font-size:30px;color:var(--signal)}.stat-strip .label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-top:4px}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}.split img{border-top:3px solid var(--signal)}.priority-list{margin-top:36px;border-top:1px solid var(--ash-line)}.priority{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--ash-line)}.priority .num{font-family:JetBrains Mono,monospace;color:var(--signal);font-size:15px;padding-top:4px}.priority h3{font-size:21px;margin:0 0 8px;font-weight:700;color:var(--ink)}.priority p{margin:0;color:var(--slate);line-height:1.55;max-width:620px}.teaser-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--ash-line);margin-top:36px;border:1px solid var(--ash-line)}.teaser-grid .cell{background:#fff;padding:22px 18px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between}.teaser-grid .cell .num{font-family:JetBrains Mono,monospace;color:var(--signal);font-size:13px}.teaser-grid .cell .t{font-weight:700;font-size:14.5px;color:var(--ink);line-height:1.3}.ward-stats{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ash-line);border-left:1px solid var(--ash-line);margin-top:8px}.ward-stats .cell{border-right:1px solid var(--ash-line);border-bottom:1px solid var(--ash-line);padding:20px 16px}.ward-stats .cell .num{font-family:Archivo Black,sans-serif;font-size:32px;color:var(--ink)}.ward-stats .cell .num.red{color:var(--signal)}.ward-stats .cell .lab{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist);margin-top:4px}.school-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:20px}.school-cols h4{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--signal);margin:0 0 12px}.school-cols ul{margin:0;padding:0;list-style:none}.school-cols li{padding:9px 0;border-bottom:1px solid var(--ash-line);font-size:14.5px}.form-card{background:#fff;border:1px solid var(--ash-line);padding:36px;max-width:640px}.form-card.on-dark{background:var(--ink-soft);border-color:var(--hair)}label{display:block;font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist);margin-bottom:6px}.field{margin-bottom:20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;border:0;border-bottom:1px solid var(--ash-line);background:transparent;padding:9px 2px;font-family:Inter,sans-serif;font-size:17px;color:var(--ink)}input::placeholder,textarea::placeholder{font-size:16px}.on-dark input,.on-dark select,.on-dark textarea{color:#fff;border-bottom-color:var(--hair)}.on-dark input::placeholder,.on-dark textarea::placeholder{color:#d6dae1}select option,.on-dark select option{color:var(--ink);background:#fff}input:focus,select:focus,textarea:focus{outline:0;border-bottom-color:var(--signal)}.checks{display:flex;flex-wrap:wrap;gap:18px;margin:22px 0}.checks label{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:14px;letter-spacing:0;text-transform:none;color:var(--slate);cursor:pointer}.on-dark .checks label{color:#fff}.checks input[type=checkbox]{width:16px;height:16px;accent-color:var(--signal)}.fine{font-size:12.5px;color:var(--mist);line-height:1.6;margin-top:16px}.confirm-msg{display:none;margin-top:18px;padding:16px;border:1px solid var(--signal);background:#dc3b1e0f;font-size:14.5px;line-height:1.6}.on-dark .confirm-msg{background:#dc3b1e1f}section.dark .fine,.on-dark .fine{color:#fff}.register-progress-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#12151ab3;display:grid;place-items:center;padding:20px;z-index:95}.register-progress-dialog{width:min(560px,100%);background:var(--ink-soft);color:#fff;border-top:3px solid var(--signal);border-left:1px solid var(--hair);border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);box-shadow:0 20px 42px #00000047;padding:30px 24px 26px;text-align:left}.register-progress-spinner{width:44px;height:44px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:var(--signal);animation:register-spin .85s linear infinite;margin-bottom:16px}.register-progress-dialog h3{margin:0;font-size:26px;font-family:Archivo Black,sans-serif;text-transform:uppercase;line-height:1.1}.register-progress-dialog p{margin:14px 0 0;color:#fff;font-size:16px;line-height:1.6}.register-progress-note{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#d6dae1;margin-top:18px}@keyframes register-spin{to{transform:rotate(360deg)}}.form-progress-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#12151ab3;display:grid;place-items:center;padding:20px;z-index:95}.form-progress-dialog{width:min(560px,100%);background:var(--ink-soft);color:#fff;border-top:3px solid var(--signal);border-left:1px solid var(--hair);border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);box-shadow:0 20px 42px #00000047;padding:30px 24px 26px;text-align:left}.form-progress-spinner{width:44px;height:44px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:var(--signal);animation:register-spin .85s linear infinite;margin-bottom:16px}.form-progress-dialog h3{margin:0;font-size:26px;font-family:Archivo Black,sans-serif;text-transform:uppercase;line-height:1.1}.form-progress-dialog p{margin:14px 0 0;color:#fff;font-size:16px;line-height:1.6}.form-progress-note{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#d6dae1;margin-top:18px}.donate-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ash-line);border:1px solid var(--ash-line);margin-top:32px}.donate-card{background:#fff;padding:32px}.donate-card h3{margin:14px 0 10px;font-size:20px}.donate-card p{color:var(--slate);line-height:1.6;font-size:15px}.donate-page-hero-wrap{max-width:920px}.donate-hero-lede{max-width:760px}.donate-hero-detail{margin-top:12px}.donate-page-wrap{display:grid;gap:30px}.donate-section-head .subsection-title{margin-bottom:0}.donate-primary-card{border-top:3px solid var(--signal);box-shadow:0 10px 24px #12151a12}.donate-highlight{margin:18px 0;background:#dc3b1e14;border:1px solid rgba(220,59,30,.28);padding:16px}.donate-highlight p{margin:0}.donate-label{margin:16px 0 0;font-family:JetBrains Mono,monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mist)}.donate-email{margin:6px 0 0;font-family:Archivo Black,sans-serif;font-size:24px;color:var(--ink)!important;line-height:1.2;word-break:break-word}.donate-actions{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}.donate-action-note{max-width:640px}.donate-rules-grid{margin-top:0}.donate-steps-card{grid-column:1 / -1}.donate-step-list{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:14px}.donate-step-list li{border-left:2px solid var(--ash-line);padding-left:12px;color:var(--slate);line-height:1.6}.donate-step-label{display:block;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--signal);margin-bottom:3px}.donate-step-list a{color:var(--signal);text-decoration:underline;word-break:break-word}.donate-security-note{margin-top:16px;padding:12px 14px;border:1px solid rgba(220,59,30,.24);background:#dc3b1e14!important;color:var(--ink)!important}.donate-list{margin:12px 0 0;padding-left:20px;display:grid;gap:8px;color:var(--slate)}.donate-list li{line-height:1.55}.donate-mini-title{margin-top:14px;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)!important}.donate-card-emphasis{border-top:3px solid var(--signal)}.donate-limit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.donate-limit-item{border:1px solid var(--ash-line);padding:14px;background:var(--ash)}.donate-limit-label{margin:0;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--mist)!important}.donate-limit-value{margin:8px 0 0;font-family:Archivo Black,sans-serif;font-size:32px;line-height:1;color:var(--signal)!important}.donate-receipt-alert{padding:10px 12px;border-left:3px solid var(--signal);background:#dc3b1e14}.donate-final-card{border-top:3px solid var(--signal)}.donate-cta-band{padding:0;margin-top:4px}.donate-cta-wrap{padding-top:40px;padding-bottom:40px}.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}.badge{display:inline-block;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;background:var(--ash);color:var(--slate);padding:5px 9px;border-radius:2px;border:1px solid var(--ash-line)}.callout{background:var(--signal);color:#fff;padding:40px 0}.callout .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.callout h3{font-family:Archivo Black,sans-serif;text-transform:uppercase;font-size:26px;margin:0;max-width:560px;line-height:1.15}.callout .btn-outline{border-color:#fff9;color:#fff}.callout .btn-outline:hover{border-color:#fff;background:#ffffff1f}.register-block{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.register-block .qr-box{background:#fff;padding:10px;width:150px;flex-shrink:0}.register-lang{font-size:13px;color:#fff;line-height:2;margin-top:14px}.page-hero{padding-top:56px}.page-hero .section-title{color:#fff}.page-hero .lede{margin-top:14px}.page-hero-with-stats{padding-bottom:40px}.subsection-title{margin:0 0 20px;font-size:20px;color:var(--ink)}.feature-title{font-size:24px;color:var(--ink);margin:8px 0 14px}.contact-lead{font-size:22px;font-weight:700;color:var(--ink);margin:10px 0 22px}.ward-stats.ward-stats-two-col{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px}.form-card.form-card-register{max-width:760px;margin:0 auto}.register-block.register-block-balanced{max-width:760px;margin-left:auto;margin-right:auto}.register-page .register-shell{max-width:980px;text-align:center}.register-page .section-title{max-width:860px;margin-left:auto;margin-right:auto}.register-page .register-intro{max-width:760px;margin:14px auto 0}.register-page .register-stats{margin:32px auto 0}.register-page .register-stats .cell{text-align:center}.form-card.form-card-register.register-form-card{max-width:920px;width:100%;padding:44px 56px}.register-form-card form{text-align:left}.register-form-card .checks{margin-top:20px}.register-block.register-block-balanced.register-qr-block{margin:52px auto 0;max-width:920px;grid-template-columns:1fr;justify-items:center;text-align:center;gap:22px}.register-page .register-qr-url{margin-top:10px;max-width:none}.register-page .register-lang{margin-top:10px}.register-block.register-block-balanced.register-qr-block .qr-box{width:300px;padding:16px}footer.site{background:var(--ink);color:#fff;border-top:1px solid var(--hair);padding:48px 0 24px}.foot-grid{display:grid;grid-template-columns:1.3fr auto auto;gap:40px;align-items:start}.foot-grid h4{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--signal);margin:0 0 12px}.foot-grid p,.foot-grid a{font-size:14.5px;color:#fff;line-height:1.9;text-decoration:none}.foot-grid a:hover{color:#fff}.foot-bottom{margin-top:36px;padding-top:20px;border-top:1px solid var(--hair);font-size:12px;color:#fff;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}@media (max-width:1080px){nav.tabs{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);flex-direction:column;padding:8px 16px 16px;border-bottom:1px solid var(--hair)}nav.tabs.open{display:flex}.burger{display:block}.nav-cta{display:none}}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-photo{order:-1}.hero-photo img{max-height:340px;width:100%;object-fit:cover}.split{grid-template-columns:1fr}.stat-strip .wrap{grid-template-columns:repeat(2,1fr)}.stat-strip .stat:nth-child(2){border-right:0}.teaser-grid,.ward-stats{grid-template-columns:repeat(2,1fr)}.school-cols,.field-row,.donate-grid,.donate-limit-grid,.register-block{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr;gap:28px}.priority{grid-template-columns:40px 1fr}.hero .subtitle.candidate-id{text-align:left}.form-card.form-card-register.register-form-card{padding:34px 30px}.register-block.register-block-balanced.register-qr-block .qr-box{width:240px;padding:12px}}@media (max-width:600px){.logo .script{font-size:22px}.logo .caps{font-size:14px}.register-page .register-shell{padding-left:20px;padding-right:20px}.donate-page-wrap{gap:24px}.donate-card{padding:24px 20px}.donate-email{font-size:20px}.form-card.form-card-register.register-form-card{padding:28px 20px}.register-block.register-block-balanced.register-qr-block{margin-top:40px;gap:18px}.register-block.register-block-balanced.register-qr-block .qr-box{width:220px;padding:10px}.register-progress-dialog{padding:24px 18px 22px}.register-progress-dialog h3{font-size:22px}.form-progress-dialog{padding:24px 18px 22px}.form-progress-dialog h3{font-size:22px}}.volunteer-signup-layout{grid-template-columns:1fr .95fr;gap:46px}.volunteer-signup-card{max-width:none}.vreg-interest-group{margin-bottom:26px}.vreg-interest-title{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--ink);line-height:1.4}.vreg-interest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vreg-interest-card{width:100%;border:1px solid var(--ash-line);background:#fff;padding:12px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;color:var(--ink);cursor:pointer;min-height:60px}.vreg-interest-card:hover{border-color:#c9c6bf;background:var(--ash)}.vreg-interest-card.is-selected{border-color:var(--signal);background:#dc3b1e0f;box-shadow:inset 0 0 0 1px var(--signal)}.vreg-interest-check{width:24px;height:24px;border:1px solid var(--ash-line);display:grid;place-items:center;font-family:JetBrains Mono,monospace;font-size:14px;line-height:1;background:#fff}.vreg-interest-card.is-selected .vreg-interest-check{border-color:var(--signal);color:var(--signal);font-weight:700}.vreg-interest-label{font-size:14px;font-weight:600;line-height:1.35}.vreg-interest-state{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist)}.vreg-interest-card.is-selected .vreg-interest-state{color:var(--signal)}.vreg-interest-group-err .vreg-interest-card{border-color:#dc3b1e73}.vreg-fields{margin-top:8px}.vreg-consent{margin:10px 0 0}.vreg-consent label{align-items:flex-start;line-height:1.5}.vreg-confirm-msg{display:block}.vreg-field-err input[type=text],.vreg-field-err input[type=email],.vreg-field-err input[type=tel]{border-bottom-color:var(--signal)!important}.vreg-field-err label{color:var(--signal)}.vreg-err-msg{display:block;font-size:12px;color:var(--signal);margin-top:5px;line-height:1.4}.vreg-submit-err{color:var(--signal);font-size:13.5px;margin-top:14px;padding:12px 16px;border:1px solid rgba(220,59,30,.3);background:#dc3b1e0d}@media (max-width:1080px){.volunteer-signup-layout{grid-template-columns:1fr}}@media (max-width:900px){.vreg-interest-grid{grid-template-columns:1fr}}@media (max-width:600px){.volunteer-signup-card{padding:28px 20px}.vreg-interest-card{padding:12px;min-height:56px}.vreg-interest-label{font-size:13.5px}}.portal-shell{display:grid;gap:14px;margin-bottom:28px}.portal-shell-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 26px;border:1px solid rgba(18,21,26,.08);background:linear-gradient(135deg,#fbfaf7,#f2efe8);box-shadow:0 18px 36px #12151a0f}.portal-shell-title{margin:0;color:var(--ink)}.portal-shell-nav{display:flex;flex-wrap:wrap;gap:10px;padding:10px;border:1px solid var(--ash-line);background:#fff;box-shadow:0 12px 24px #12151a0a}.portal-shell-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid transparent;background:transparent;color:var(--slate);text-decoration:none;font-family:JetBrains Mono,monospace;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}.portal-shell-nav-link:hover{border-color:#d7d2c8;background:#faf8f3;color:var(--ink)}.portal-shell-nav-link.active{border-color:#dc3b1e3d;background:#dc3b1e14;color:var(--ink);box-shadow:inset 0 0 0 1px #dc3b1e29}.portal-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.portal-kicker{margin:0 0 8px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--signal)}.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.portal-card{padding:22px 24px;border:1px solid var(--ash-line);border-radius:var(--radius);background:var(--paper);box-shadow:0 10px 24px #12151a0a}.portal-panel-accent{border-top:3px solid var(--signal)}.portal-panel-contrast{background:linear-gradient(180deg,#fff,#fcfbf8)}.portal-label{margin:0 0 8px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mist)}.portal-value{margin:0;font-family:Archivo Black,sans-serif;font-size:28px;line-height:1.05;color:var(--ink)}.portal-muted{margin-top:8px;font-size:14px;line-height:1.5;color:var(--slate)}.portal-list{margin:14px 0 0;padding-left:18px;display:grid;gap:12px}.portal-list li{line-height:1.45}.portal-loading{padding:24px;border:1px solid var(--ash-line);background:var(--ash);border-radius:var(--radius);font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}.portal-management-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:20px;align-items:start;margin-top:20px}.portal-volunteer-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);gap:20px;align-items:start;margin-top:20px}.portal-form-panel{display:grid;gap:20px}.portal-roster-panel{display:grid;gap:18px;align-content:start}.portal-edit-panel{margin-top:24px}.portal-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}.portal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;margin-top:8px}.portal-form-grid .field{margin-bottom:0}.portal-form-grid .field:nth-child(3),.portal-form-grid .field:nth-child(4){align-self:end}.portal-card .portal-input,.portal-card input.portal-input,.portal-card select.portal-input,.portal-card textarea.portal-input{width:100%;padding:14px 16px;border:1px solid #d9d4ca;border-radius:2px;background:#fcfbf8;font-family:Inter,sans-serif;font-size:15.5px;color:var(--ink);border-bottom:1px solid #d9d4ca;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.portal-card .portal-input:focus,.portal-card input.portal-input:focus,.portal-card select.portal-input:focus,.portal-card textarea.portal-input:focus{outline:0;border-color:var(--signal);box-shadow:0 0 0 3px #dc3b1e1f;background:#fff}.portal-card select.portal-input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.portal-field-error label{color:var(--signal)}.portal-field-error .portal-input{border-color:#dc3b1e80!important;background:#dc3b1e08!important}.portal-field-message{display:block;margin-top:8px;font-size:12px;line-height:1.45;color:var(--signal)}.portal-field-hint{display:block;margin-top:8px;font-size:12px;line-height:1.45;color:var(--mist)}.portal-form-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:24px}.portal-form-note{margin-top:12px}.portal-form-alert{display:block}.portal-form-alert.success{border-color:var(--signal);background:#dc3b1e14}.portal-feedback{display:grid;gap:10px;padding:16px 18px;border:1px solid rgba(220,59,30,.28);background:#dc3b1e0d;color:var(--ink)}.portal-feedback.success{border-color:#18844e47;background:#18844e0f}.portal-feedback strong{font-size:14px;line-height:1.4}.portal-feedback-list{margin:0;padding-left:18px;display:grid;gap:6px;font-size:13px;line-height:1.45}.portal-count-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--ash-line);border-radius:999px;background:var(--ash);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);white-space:nowrap}.portal-assignment-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--ash-line)}.portal-assignment-empty{display:grid;gap:6px;margin-top:24px;padding:18px;border:1px dashed #d7d2c8;background:#fbfaf7}.portal-assignment-empty .portal-muted{margin-top:0}.portal-assignment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.portal-section-title{margin:0;font-size:18px;color:var(--ink)}.portal-assignment-groups{display:grid;gap:18px}.portal-assignment-group{border:0;padding:0;margin:0;min-inline-size:0}.portal-assignment-legend{padding:0;margin:0 0 12px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--signal)}.portal-section-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.portal-section-card{display:grid;grid-template-columns:18px 18px minmax(0,1fr);gap:12px;align-items:center;padding:14px 14px 14px 12px;border:1px solid var(--ash-line);border-radius:var(--radius);background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.portal-section-card:hover{border-color:#c9c6bf;background:var(--ash)}.portal-section-card.checked{border-color:var(--signal);background:#dc3b1e12;box-shadow:inset 0 0 0 1px #dc3b1e3d}.portal-section-card input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--signal)}.portal-section-card-check{width:18px;height:18px;display:grid;place-items:center;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1;color:var(--signal)}.portal-section-card-copy{display:grid;gap:4px;min-width:0}.portal-section-card-name{font-weight:700;color:var(--ink);line-height:1.25}.portal-section-card-meta{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist)}.portal-selected-summary{margin-top:18px;padding-top:18px;border-top:1px dashed var(--ash-line);display:grid;gap:10px}.portal-selected-chips{display:flex;flex-wrap:wrap;gap:8px}.portal-selected-chip{display:inline-flex;align-items:center;padding:8px 10px;border:1px solid rgba(220,59,30,.22);background:#dc3b1e0f;border-radius:999px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.portal-user-list{display:grid;gap:12px}.portal-user-item{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--ash-line);border-radius:var(--radius);background:#fff;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.portal-user-item:hover{border-color:#c9c6bf;background:var(--ash)}.portal-user-item.active{border-color:var(--signal);background:#dc3b1e12;box-shadow:inset 0 0 0 1px #dc3b1e38}.portal-user-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.portal-user-badges{display:flex;flex-wrap:wrap;gap:8px}.portal-user-badge{display:inline-flex;align-items:center;padding:6px 8px;border:1px solid #e0dbd1;background:#faf8f3;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.portal-user-status{display:inline-flex;align-items:center;padding:6px 8px;border:1px solid rgba(220,59,30,.18);background:#dc3b1e0d;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--signal)}.portal-user-status.active{border-color:#18844e38;background:#18844e0f;color:#18844e}.portal-user-item strong{font-size:15px;color:var(--ink)}.portal-user-item span{font-size:13px;line-height:1.4;color:var(--slate)}.portal-volunteer-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:24px;align-items:end;padding:28px;margin-top:12px;border:1px solid rgba(18,21,26,.08);background:linear-gradient(135deg,#fff,#f7f3eb);box-shadow:0 18px 36px #12151a0f}.portal-volunteer-dashboard-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.portal-volunteer-dashboard-grid{margin-top:20px}.portal-volunteer-dashboard-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:24px}.portal-checklist{display:grid;gap:12px}.portal-checklist-item{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--ash-line)}.portal-checklist-item:last-child{border-bottom:0}.portal-checklist-item strong{font-family:Archivo Black,sans-serif;color:var(--signal);line-height:1}.volunteer-head{align-items:end;gap:24px;margin-top:10px}.portal-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:12px;min-width:min(100%,440px)}.portal-card.compact{padding:18px 18px 16px;box-shadow:none;background:linear-gradient(180deg,#fff,#fcfbf8)}.portal-card.compact .portal-value{font-size:24px}.portal-volunteer-workflow{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.38fr);gap:22px;align-items:start;margin-top:24px}.portal-volunteer-list-column{display:grid;gap:14px;position:sticky;top:110px}.portal-search-card,.portal-section-filter-card,.portal-address-list-card,.portal-address-detail-card{border-top:3px solid var(--signal)}.portal-search-label{display:block;margin:0 0 10px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mist)}.portal-search-input{min-height:50px}.portal-filter-pills{display:flex;flex-wrap:wrap;gap:10px}.portal-filter-pill{min-height:40px;padding:0 14px;border:1px solid #ddd7cc;background:#faf8f3;color:var(--ink);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.portal-filter-pill:hover{border-color:#c8c0b2;background:#fff}.portal-filter-pill.active{border-color:#dc3b1e47;background:#dc3b1e14;box-shadow:inset 0 0 0 1px #dc3b1e29}.portal-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.portal-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid #ded7cb;background:#faf8f3;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink)}.portal-empty{padding:18px;border:1px dashed #d8d1c4;background:#fbfaf7;color:var(--slate)}.portal-inline-alert{display:block}.portal-address-list{display:grid;gap:12px}.portal-address-card{display:grid;gap:10px;width:100%;padding:18px;border:1px solid #ddd7cc;background:#fff;text-align:left;cursor:pointer;transition:transform .12s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}.portal-address-card:hover{transform:translateY(-1px);border-color:#c8c0b2;box-shadow:0 12px 22px #12151a0f;background:#fcfbf8}.portal-address-card.active{border-color:#dc3b1e52;background:linear-gradient(180deg,#dc3b1e0f,#fff);box-shadow:0 14px 24px #dc3b1e14,inset 0 0 0 1px #dc3b1e24}.portal-address-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.portal-address-card-top strong{font-size:17px;line-height:1.28;color:var(--ink)}.portal-address-card-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12.5px;line-height:1.45;color:var(--mist)}.portal-address-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;line-height:1.45;color:var(--slate)}.portal-address-card-arrow{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--signal)}.portal-address-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border:1px solid #dfd7ca;background:#faf8f3;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);white-space:nowrap}.portal-address-badge.done{border-color:#18844e38;background:#18844e14;color:#18844e}.portal-address-badge.pending{border-color:#dc3b1e2e;background:#dc3b1e0f;color:var(--signal)}.portal-address-detail-card{padding:26px 26px 22px}.portal-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--ash-line)}.portal-detail-head-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.portal-address-title{margin-bottom:0}.portal-detail-sections{display:grid;gap:18px;margin-top:18px}.portal-detail-section{padding:18px;border:1px solid #e5dfd3;background:#fffdf9}.portal-section-help{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--mist)}.portal-household-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}.portal-household-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #e6dfd4;background:#fff}.portal-household-item div{display:grid;gap:4px}.portal-household-item strong{font-size:15px;color:var(--ink)}.portal-household-item span{font-size:12.5px;line-height:1.45;color:var(--mist)}.portal-household-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;border:1px solid #dfd7ca;background:#faf8f3;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);white-space:nowrap}.portal-household-status.done{border-color:#18844e38;background:#18844e14;color:#18844e}.portal-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:14px}.portal-info-card{display:grid;gap:8px;padding:14px;border:1px solid #e6dfd4;background:#fff}.portal-info-card span{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--mist)}.portal-info-card strong{font-size:15px;line-height:1.35;color:var(--ink)}.portal-detail-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.portal-field-card{display:grid;gap:10px}.portal-choice-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:14px}.portal-choice{min-height:52px;padding:12px 14px;border:1px solid #ddd7cc;background:#fff;color:var(--ink);text-align:left;font-size:14px;line-height:1.35;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.portal-choice:hover{border-color:#c8c0b2;background:#fcfbf8}.portal-choice.active{border-color:#dc3b1e52;background:#dc3b1e14;box-shadow:inset 0 0 0 1px #dc3b1e29}.portal-notes-input{min-height:120px;resize:vertical}.portal-sticky-actions{position:sticky;bottom:0;display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;margin-top:22px;padding-top:16px;background:linear-gradient(180deg,#fff0,#fff 18%,#fff);border-top:1px solid var(--ash-line)}.portal-address-empty{display:grid;place-items:center;min-height:420px;text-align:center;background:linear-gradient(180deg,#fff,#faf7f1)}@media (max-width:900px){.portal-grid{grid-template-columns:1fr}.portal-shell-topbar{padding:20px}.portal-management-layout,.portal-volunteer-layout,.portal-volunteer-dashboard-hero,.portal-volunteer-dashboard-panels{grid-template-columns:1fr}.portal-summary-strip{grid-template-columns:1fr;min-width:0;width:100%}.portal-volunteer-workflow{grid-template-columns:1fr}.portal-volunteer-list-column{position:static}.portal-detail-stack,.portal-form-grid{grid-template-columns:1fr}.portal-form-actions{justify-content:stretch}.portal-form-actions .btn,.portal-sticky-actions .btn{width:100%;justify-content:center}}@media (max-width:600px){.portal-card{padding:18px}.portal-shell-nav{gap:8px;padding:8px}.portal-shell-nav-link{width:100%;justify-content:flex-start;padding:0 14px}.portal-section-card-grid{grid-template-columns:1fr}.portal-form-head{align-items:stretch}.portal-count-pill{width:100%;justify-content:center}.portal-user-item-top,.portal-address-card-top,.portal-address-card-footer,.portal-detail-head,.portal-detail-head-side,.portal-household-item{flex-direction:column;align-items:flex-start}.portal-choice-group{grid-template-columns:1fr}.portal-address-detail-card{padding:20px 18px}}
