@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-ink-950:#102b2a;--color-ink-900:#173735;--color-ink-800:#244946;--color-ink-700:#365d59;--color-ink-600:#587571;--color-ink-500:#748e89;--color-ink-300:#b7c7c2;--color-ink-200:#d4dfda;--color-ink-100:#e8eeeb;--color-canvas:#f3f1ea;--color-surface:#faf8f2;--color-surface-raised:#fdfbf6;--color-surface-tint:#e6efeb;--color-primary-700:#075a4b;--color-primary-600:#08715d;--color-primary-500:#0a8a70;--color-primary-100:#d9eee7;--color-accent-600:#b57919;--color-accent-500:#d49a31;--color-accent-100:#f5e8c9;--color-success-700:#23633f;--color-success-100:#dcecdf;--color-warning-700:#8c5b13;--color-warning-100:#f7e8c8;--color-error-700:#9e3e38;--color-error-100:#f5dfdc;--color-info-700:#315f78;--color-info-100:#dceaf1;--font-display:"Plus Jakarta Sans Variable", "Aptos Display", "Segoe UI", sans-serif;--font-body:"Inter Variable", "Aptos", "Segoe UI", sans-serif;--text-display:clamp(2.75rem, 7vw, 5.5rem);--text-h1:clamp(2.25rem, 4.5vw, 4rem);--text-h2:clamp(1.75rem, 3vw, 2.5rem);--text-h3:clamp(1.125rem, 2vw, 1.375rem);--text-body-lg:1.125rem;--text-body:1rem;--text-small:.875rem;--text-micro:.75rem;--line-tight:1.08;--line-heading:1.2;--line-body:1.65;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:40px;--space-6:48px;--space-8:64px;--space-10:80px;--space-12:96px;--space-16:128px;--radius-sm:8px;--field-radius:999px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:999px;--shadow-sm:0 1px 2px #102b2a0f, 0 8px 24px #102b2a0d;--shadow-md:0 2px 4px #102b2a0f, 0 16px 40px #102b2a17;--shadow-lg:0 8px 16px #102b2a14, 0 32px 72px #102b2a21;--ease-standard:ease-in-out;--duration-fast:.16s;--duration-base:.24s;--content-width:1200px;--reading-width:760px}*,:before,:after{box-sizing:border-box}html{background:var(--color-canvas);scroll-behavior:smooth;min-width:320px}body{background:radial-gradient(circle at 8% 4%, #0a8a701a, transparent 30%), linear-gradient(180deg, #eeeee6 0, var(--color-canvas) 360px);min-width:320px;min-height:100vh;color:var(--color-ink-900);font-family:var(--font-body);font-size:var(--text-body);font-synthesis:none;line-height:var(--line-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{color:inherit;font:inherit}button{border:0}img,svg{max-width:100%;display:block}h1,h2,h3,h4,p,ul,ol,dl,dd,fieldset{margin-top:0}h1,h2,h3,h4{color:var(--color-ink-950);font-family:var(--font-display);letter-spacing:-.035em;font-weight:690;line-height:var(--line-heading)}h1{max-width:880px;margin-bottom:var(--space-3);font-size:var(--text-h1)}h2{margin-bottom:var(--space-2);font-size:var(--text-h2)}h3{margin-bottom:var(--space-1);font-size:var(--text-h3)}h4{margin-bottom:var(--space-1);letter-spacing:-.015em;font-size:1rem}p{margin-bottom:var(--space-2)}a{color:var(--color-primary-700);text-underline-offset:4px;font-weight:650;text-decoration-color:#075a4b52;text-decoration-thickness:1px}a:hover{color:var(--color-primary-500);text-decoration-color:currentColor}:focus-visible{outline-offset:3px;outline:3px solid #0a8a704d}::selection{background:var(--color-accent-100);color:var(--color-ink-950)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.skip-link{z-index:100;top:var(--space-2);left:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-ink-950);color:var(--color-surface-raised);position:fixed;transform:translateY(-160%)}.skip-link:focus{color:var(--color-surface-raised);transform:translateY(0)}.app-header{z-index:40;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#f3f1eae6;position:sticky;top:0;box-shadow:0 1px #102b2a14}.app-header__inner{width:min(calc(100% - var(--space-6)), var(--content-width));align-items:center;gap:var(--space-4);grid-template-columns:auto 1fr auto;min-height:80px;margin:0 auto;display:grid}.brand{align-items:center;gap:var(--space-2);color:var(--color-ink-950);text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-ink-950)}.brand-mark{background:linear-gradient(145deg, #faf8f21f, transparent 48%), var(--color-primary-600);width:40px;height:40px;color:var(--color-surface-raised);font-family:var(--font-display);letter-spacing:-.08em;border-radius:16px 8px;flex:none;place-items:center;font-size:1rem;font-weight:800;display:inline-grid;box-shadow:inset 0 0 0 1px #faf8f22e,0 8px 16px #075a4b33}.brand-mark--large{border-radius:24px 8px;width:64px;height:64px;font-size:1.5rem}.brand__copy{gap:0;line-height:1.25;display:grid}.brand__copy strong{font-family:var(--font-display);letter-spacing:-.035em;font-size:1.125rem}.brand__copy span{color:var(--color-ink-600);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:650}.primary-nav{justify-content:center;align-items:center;gap:var(--space-1);display:flex}.nav-link{padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);color:var(--color-ink-700);font-size:var(--text-small);font-weight:650;text-decoration:none;position:relative}.nav-link:hover{color:var(--color-primary-700);background:#0a8a7012}.nav-link--active{background:var(--color-surface-raised);box-shadow:var(--shadow-sm);color:var(--color-primary-700)}.account-nav{justify-content:flex-end;align-items:center;gap:var(--space-1);display:flex}.account-chip{align-items:center;gap:var(--space-1);min-width:0;padding-right:var(--space-1);display:flex}.account-chip__avatar{border-radius:var(--radius-pill);background:var(--color-primary-100);width:32px;height:32px;color:var(--color-primary-700);flex:none;place-items:center;font-weight:750;display:grid}.account-chip__copy{max-width:160px;line-height:1.25;display:grid}.account-chip__copy strong{font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-chip__copy span{color:var(--color-ink-600);font-size:var(--text-micro)}.button,button{justify-content:center;align-items:center;gap:var(--space-1);min-height:40px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-primary-600);color:var(--color-surface-raised);cursor:pointer;text-align:center;font-weight:700;line-height:1.35;text-decoration:none;display:inline-flex;box-shadow:0 8px 16px #075a4b24}.button:hover,button:hover:not(:disabled){background:var(--color-primary-700);color:var(--color-surface-raised);transform:translateY(-1px);box-shadow:0 12px 24px #075a4b33}.button:active,button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 8px #075a4b29}.button--quiet{box-shadow:none;color:var(--color-ink-700);background:0 0}.button--quiet:hover{background:var(--color-surface-tint);box-shadow:none;color:var(--color-primary-700)}.button--secondary{background:var(--color-surface-raised);box-shadow:inset 0 0 0 1px var(--color-ink-200), var(--shadow-sm);color:var(--color-ink-900)}.button--secondary:hover{background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-primary-500), var(--shadow-md);color:var(--color-primary-700)}.button--light{background:var(--color-surface-raised);color:var(--color-ink-950)}.button--light:hover{background:var(--color-accent-100);color:var(--color-ink-950)}.button--large{min-height:48px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md)}button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.52;transform:none}.app-main{flex:1;width:100%}.page{width:min(calc(100% - var(--space-6)), var(--content-width));padding:var(--space-10) 0 var(--space-12);gap:var(--space-4);margin:0 auto;display:grid}.page>h1:first-of-type,.page>header:first-of-type{margin-bottom:0}.page>a:first-child{margin-bottom:var(--space-1);color:var(--color-ink-600);font-size:var(--text-small);justify-self:start;text-decoration:none}.page>a:first-child:hover{color:var(--color-primary-700);transform:translate(-2px)}.page>section,.page>article,.page>form,.page>dl{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-sm)}.page>section>:last-child,.page>article>:last-child,.page>form>:last-child{margin-bottom:0}.page article{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-sm)}.page ul,.page ol{padding-left:0;list-style:none}.page>ul,.page>ol,.page section>ul,.page section>ol{gap:var(--space-2);margin-bottom:0;display:grid}.page header>p{color:var(--color-ink-600);font-size:var(--text-body-lg)}.eyebrow{margin-bottom:var(--space-2);color:var(--color-primary-700);font-size:var(--text-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:780;line-height:1.3}.section-heading{max-width:640px}.section-heading>p:last-child{color:var(--color-ink-600);font-size:var(--text-body-lg)}[role=alert],[role=status]{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-6);border-radius:var(--radius-md);background:var(--color-info-100);box-shadow:inset 4px 0 0 var(--color-info-700);color:var(--color-info-700);font-size:var(--text-small);font-weight:600;position:relative}[role=alert]{background:var(--color-error-100);box-shadow:inset 4px 0 0 var(--color-error-700);color:var(--color-error-700)}[role=alert]:before,[role=status]:before{top:50%;left:var(--space-2);border-radius:var(--radius-pill);content:"";background:currentColor;width:8px;height:8px;position:absolute;transform:translateY(-50%)}form{gap:var(--space-3);width:100%;display:grid}form>div,fieldset>div{gap:var(--space-1);display:grid}fieldset{min-width:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-tint);gap:var(--space-2);border:0;margin-bottom:0;display:grid}legend{padding:0 var(--space-1);color:var(--color-ink-950);font-family:var(--font-display);font-size:1.125rem;font-weight:700}label{color:var(--color-ink-800);font-size:var(--text-small);font-weight:720}label+p,fieldset p{color:var(--color-ink-600);font-size:var(--text-small);margin-bottom:0;line-height:1.55}input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;min-height:48px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-ink-200);border-radius:var(--field-radius);background:var(--color-surface-raised);outline:none;box-shadow:inset 0 1px 2px #102b2a0a}textarea{min-height:128px;padding-top:var(--space-2);resize:vertical;border-radius:24px}input:hover,select:hover,textarea:hover{border-color:var(--color-ink-300)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 4px #0a8a701f, var(--shadow-sm)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-error-700);background:#fcf4f1}input[aria-invalid=true]+p,select[aria-invalid=true]+p,textarea[aria-invalid=true]+p{color:var(--color-error-700);font-size:var(--text-small);margin-bottom:0;font-weight:600}input[type=radio],input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-primary-600);margin:0}form>button:last-child,form>.button:last-child{min-height:48px;padding-right:var(--space-3);padding-left:var(--space-3);justify-self:start}dl{margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface-tint);grid-template-columns:minmax(144px,.55fr) minmax(0,1.45fr);display:grid;overflow:hidden}dt,dd{min-width:0;padding:var(--space-2);overflow-wrap:anywhere;margin:0}dt{color:var(--color-ink-600);font-size:var(--text-small);font-weight:650}dd{color:var(--color-ink-900);font-weight:650}dt:nth-of-type(2n),dd:nth-of-type(2n){background:#faf8f2a3}code{padding:var(--space-1);border-radius:var(--radius-sm);background:var(--color-ink-950);color:#e6f5ef;overflow-wrap:anywhere;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.8125rem}table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-md);background:var(--color-surface-raised);width:100%;box-shadow:var(--shadow-sm);font-size:var(--text-small);display:table;overflow:hidden}caption{padding:0 0 var(--space-2);color:var(--color-ink-600);font-size:var(--text-small);text-align:left;font-weight:600}th,td{padding:var(--space-2);border-bottom:1px solid var(--color-ink-100);text-align:left;vertical-align:top}th{background:var(--color-ink-950);color:var(--color-surface-raised);font-size:var(--text-micro);letter-spacing:.06em;text-transform:uppercase;font-weight:750}tbody tr:nth-child(2n) td{background:#e6efeb7a}tbody tr:hover td{background:var(--color-primary-100)}tbody tr:last-child td{border-bottom:0}.app-footer{background:var(--color-ink-950);color:var(--color-ink-300)}.app-footer__inner{width:min(calc(100% - var(--space-6)), var(--content-width));justify-content:space-between;align-items:center;gap:var(--space-4);min-height:160px;margin:0 auto;display:flex}.app-footer__brand{align-items:center;gap:var(--space-2);display:flex}.app-footer__brand strong{color:var(--color-surface-raised);font-family:var(--font-display);font-size:1.125rem}.app-footer__brand p,.app-footer__note{font-size:var(--text-small);margin:0}.auth-page{width:min(calc(100% - var(--space-6)), 720px);align-content:start;min-height:720px}.auth-page>form{padding:var(--space-5);box-shadow:var(--shadow-md)}.auth-page>p:last-child{color:var(--color-ink-600);text-align:center}.register-page{width:min(calc(100% - var(--space-6)), 880px)}.password-input{position:relative}.password-input input:not([type=radio]):not([type=checkbox]){padding-right:60px}.password-input .password-visibility{border-radius:var(--radius-sm);width:44px;height:44px;min-height:44px;box-shadow:none;color:var(--color-ink-700);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-input .password-visibility:hover:not(:disabled),.password-input .password-visibility:active:not(:disabled){background:var(--color-surface-tint);box-shadow:none;color:var(--color-ink-950);transform:translateY(-50%)}.password-visibility svg{width:22px;height:22px}.password-strength{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.password-strength__bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:min(100%,240px);display:grid}.password-strength__segment{border-radius:var(--radius-pill);background:var(--color-ink-200);height:6px}.password-strength__segment--1{background:var(--color-error-700)}.password-strength__segment--2{background:var(--color-warning-700)}.password-strength__segment--3{background:var(--color-info-700)}.password-strength__segment--4{background:var(--color-success-700)}.password-strength p{color:var(--color-ink-700);font-size:var(--text-small);margin:0}.password-requirements{color:var(--color-warning-700);font-size:var(--text-small);margin:0}.field-error{color:var(--color-error-700);font-size:var(--text-small);margin:0;font-weight:600}.directory-page>ul,.dashboard-page section>ul,.detail-page #contests-heading+ol,.verification-page section>ol,.admin-page section>ul{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.directory-page article h2 a,.dashboard-page article h3 a{color:var(--color-ink-950);text-decoration:none}.directory-page article h2 a:hover,.dashboard-page article h3 a:hover{color:var(--color-primary-600)}.detail-page>article:first-of-type,.detail-page>section:first-of-type,.workflow-page>section:first-of-type,.verification-page>header,.admin-page>header{background:linear-gradient(135deg,#d9eee7c7,#faf8f2eb)}.dashboard-page>section,.admin-page>section,.workflow-page>section,.verification-page>section{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-sm)}.admin-page{position:relative}.admin-page:before{top:var(--space-5);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--color-ink-950);color:var(--color-surface-raised);content:"Administrator workspace";font-size:var(--text-micro);letter-spacing:.08em;text-transform:uppercase;font-weight:750;position:absolute;right:0}.admin-page [aria-labelledby=admin-tools-heading] ul,.verification-page nav ul{flex-wrap:wrap;gap:var(--space-1)!important;display:flex!important}.admin-page [aria-labelledby=admin-tools-heading] a,.verification-page nav a,.detail-page article>p a{min-height:40px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-tint);color:var(--color-primary-700);align-items:center;text-decoration:none;display:inline-flex}.admin-page [aria-labelledby=admin-tools-heading] a:hover,.verification-page nav a:hover,.detail-page article>p a:hover{background:var(--color-primary-100)}.voting-page{width:min(calc(100% - var(--space-6)), 880px)}.voting-page>header{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-ink-950);box-shadow:var(--shadow-lg)}.voting-page>header h1,.voting-page>header p{color:var(--color-surface-raised)}.voting-page>header p:last-child{padding:var(--space-1);border-radius:var(--radius-pill);color:var(--color-accent-500);font-size:var(--text-small);background:#d49a3129;margin-bottom:0;font-weight:700;display:inline-flex}.voting-page form,.voting-page>section{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-md)}.voting-page fieldset label{min-height:64px;padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-sm);align-items:center;gap:var(--space-2);cursor:pointer;grid-template-columns:24px 1fr;display:grid}.voting-page fieldset label:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.voting-page fieldset label:has(input:checked){background:var(--color-primary-100);box-shadow:inset 0 0 0 2px var(--color-primary-500), var(--shadow-sm);color:var(--color-primary-700)}[aria-labelledby=ballot-accepted-heading],[aria-labelledby=registration-complete-heading]{background:var(--color-success-100)!important;box-shadow:inset 0 0 0 1px #23633f29, var(--shadow-md)!important}[aria-labelledby=ballot-uncertain-heading]{background:var(--color-warning-100)!important;box-shadow:inset 0 0 0 1px #8c5b132e, var(--shadow-md)!important}[aria-labelledby=ballot-failed-heading],[aria-labelledby=confirm-cancellation-heading]{background:var(--color-error-100)!important;box-shadow:inset 0 0 0 1px #9e3e3829, var(--shadow-md)!important}[aria-labelledby=cancellation-heading] button:first-of-type,[aria-labelledby=confirm-cancellation-heading] button:first-of-type{background:var(--color-error-700);box-shadow:0 8px 16px #9e3e3829}[aria-labelledby=confirm-cancellation-heading] button:last-of-type,form button[type=button]{background:var(--color-surface-raised);box-shadow:inset 0 0 0 1px var(--color-ink-200);color:var(--color-ink-800)}.verification-page>dl{box-shadow:var(--shadow-md)}.verification-page nav{padding:var(--space-2) 0}.verification-page table,.admin-page table{min-width:720px}:is(.verification-page:has(table),.admin-page:has(table)){overflow-x:auto}.message-page{width:min(calc(100% - var(--space-6)), 720px);text-align:center;align-content:center;min-height:640px}.message-page>section{padding:var(--space-6);box-shadow:var(--shadow-md)}@media (width<=1040px){.app-header__inner{width:min(calc(100% - var(--space-4)), var(--content-width));gap:var(--space-2);grid-template-columns:auto 1fr}.primary-nav{padding-bottom:var(--space-1);order:3;grid-column:1/-1;justify-content:flex-start;overflow-x:auto}.account-nav{justify-self:end}.hero{gap:var(--space-6);grid-template-columns:1fr}.integrity-card{width:min(100%,640px)}}@media (width<=760px){:root{--text-display:clamp(2.5rem, 15vw, 4rem);--text-h1:clamp(2rem, 10vw, 3rem);--space-10:64px;--space-12:80px}.app-header__inner,.page,.app-footer__inner{width:min(calc(100% - var(--space-4)), var(--content-width))}.app-header__inner{min-height:72px}.brand__copy span,.account-chip__copy,.account-nav .button--quiet{display:none}.account-nav .button{min-height:40px;padding-right:var(--space-1);padding-left:var(--space-1);font-size:var(--text-small)}.nav-link{white-space:nowrap}.home-page{padding-top:var(--space-6);gap:var(--space-10)}.hero{min-height:0}.hero__actions,.hero__actions .button{width:100%}.integrity-card__header{flex-direction:column;align-items:flex-start}.principle-grid,.directory-page>ul,.dashboard-page section>ul,.detail-page #contests-heading+ol,.verification-page section>ol,.admin-page section>ul{grid-template-columns:1fr}.principle-grid article{min-height:0}.principle-grid__number{margin-bottom:var(--space-4)}.home-cta,.app-footer__inner{flex-direction:column;align-items:flex-start}.home-cta{padding:var(--space-4)!important}.app-footer__inner{padding:var(--space-4) 0;justify-content:center}.page>section,.page>article,.page>form,.page>dl,.auth-page>form,.dashboard-page>section,.admin-page>section,.workflow-page>section,.verification-page>section,.voting-page form,.voting-page>section,.voting-page>header{padding:var(--space-3)}.admin-page:before{order:-1;justify-self:start;position:static}dl{grid-template-columns:1fr}dt{padding-bottom:0}dd{padding-top:0}dt:nth-of-type(2n),dd:nth-of-type(2n){background:#faf8f2a3}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}:root{--color-ink-950:#172b25;--color-ink-900:#20372e;--color-ink-800:#30483d;--color-ink-700:#415c4e;--color-ink-600:#526a5c;--color-canvas:#f6f6f1;--color-surface:#fcfcf8;--color-surface-raised:#fff;--color-surface-tint:#e9efe8;--color-primary-700:#175840;--color-primary-600:#1d6a4d;--color-primary-500:#287b59;--color-primary-100:#dcebe0;--color-accent-600:#98492e;--color-accent-500:#b65a3b;--color-accent-100:#f3e4dc;--font-display:Georgia, "Times New Roman", serif;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--content-width:1160px}html{scroll-padding-top:140px}body{background:var(--color-canvas)}:target{scroll-margin-top:140px}:focus-visible,input:not([type=radio]):not([type=checkbox]):focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-accent-600);outline-offset:3px}h1,h2{letter-spacing:-.05em;font-weight:500;line-height:1.08}h3,h4{font-family:var(--font-body);letter-spacing:-.025em}a{text-decoration-color:currentColor}button,a,input,select,textarea{transition:color .15s,background-color .15s,border-color .15s}.app-header{border-top:3px solid var(--color-accent-600);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffffffa;border-bottom:1px solid #d4ddd3}.app-header__inner{min-height:74px}.brand__copy strong{font-family:var(--font-body);letter-spacing:-.065em;font-size:1.5rem;font-weight:800}.brand__copy strong:after{color:var(--color-accent-500);content:"."}.brand__copy>span{display:none}.nav-link{min-height:48px;color:var(--color-ink-700);border-bottom:2px solid #0000;border-radius:0;align-items:center;display:inline-flex}.nav-link:hover,.nav-link--active{border-bottom-color:var(--color-primary-700);box-shadow:none;color:var(--color-ink-950);background:0 0}.account-chip__avatar{border-radius:var(--radius-sm)}.button,button{background:var(--color-primary-700);min-height:46px;box-shadow:none;color:#fff;border-radius:999px;padding:10px 20px;font-weight:700;transition:background-color .18s,border-color .18s,color .18s,transform .18s}.button:hover,button:hover:not(:disabled){background:var(--color-primary-600);box-shadow:none;color:#fff;transform:translateY(-1px)}.button:active,button:active:not(:disabled){transform:translateY(0)}.button--secondary{border:1px solid var(--color-primary-700);color:var(--color-primary-700);background:0 0}.button--secondary:hover{border-color:var(--color-primary-700);background:var(--color-primary-100);color:var(--color-primary-700)}.button--quiet{color:var(--color-primary-700);background:0 0}.button--quiet:hover{background:var(--color-primary-100);color:var(--color-primary-700)}form button[type=button],[aria-labelledby=confirm-cancellation-heading] button:last-of-type{border:1px solid var(--color-primary-700);box-shadow:none;color:var(--color-primary-700);background:0 0}form button[type=button]:hover:not(:disabled),[aria-labelledby=confirm-cancellation-heading] button:last-of-type:hover:not(:disabled){border-color:var(--color-primary-700);background:var(--color-primary-100);color:var(--color-primary-700)}[aria-labelledby=cancellation-heading] button:first-of-type,[aria-labelledby=confirm-cancellation-heading] button:first-of-type{box-shadow:none}button:disabled,.button[aria-disabled=true]{transform:none}.page{gap:28px;padding-top:72px}.page>section,.page>article,.page>form,.page>dl,.page article,.dashboard-page>section,.admin-page>section,.workflow-page>section,.verification-page>section{border-radius:var(--radius-md);box-shadow:none;border:1px solid #d8e0d7}.page article:hover{box-shadow:none;transform:none}.eyebrow{color:var(--color-accent-600);letter-spacing:.07em;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.7rem;font-weight:700}.page header .eyebrow{color:var(--color-accent-600);font-size:.7rem;line-height:1.4}.app-footer{color:var(--color-ink-700);background:#edf1eb;border-top:1px solid #ccd6cc}.app-footer__inner{min-height:150px}.app-footer__brand strong{color:var(--color-ink-950);font-family:var(--font-body);letter-spacing:-.05em;font-size:1.15rem}.app-footer__note{text-align:right;max-width:360px;line-height:1.5}.home-page{gap:0;padding-top:clamp(48px,6vw,96px)}.home-page>section{box-shadow:none;background:0 0;border:0;padding:0}.home-intro{border-bottom:1px solid #aebdaf;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end;gap:clamp(40px,6vw,96px);min-height:340px;padding-bottom:64px;display:grid;position:relative;overflow:hidden}.home-intro:before{content:"";filter:grayscale();mix-blend-mode:multiply;opacity:.12;pointer-events:none;background:url(/south-africa-coat-of-arms.webp) 50%/contain no-repeat;width:158px;height:228px;position:absolute;top:10px;right:18px}.home-intro:after{content:"";filter:grayscale();mix-blend-mode:multiply;opacity:.125;pointer-events:none;background:url(/south-africa-coat-of-arms.webp) 50%/contain no-repeat;width:88px;height:128px;position:absolute;top:8px;left:43%}.home-intro>*{position:relative}.home-intro .eyebrow{margin-bottom:30px}.home-intro h1{text-wrap:balance;max-width:790px;margin:0;font-size:clamp(3.9rem,6.4vw,6.4rem);line-height:.99}.home-intro__aside{border-left:2px solid var(--color-accent-500);padding:4px 0 4px 32px}.home-intro__aside>p{max-width:380px;color:var(--color-ink-800);margin-bottom:26px;font-size:1.1rem;line-height:1.65}.home-intro__actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.home-intro__actions .button{background:var(--color-primary-700);color:#fff;justify-content:space-between;min-height:50px;padding:10px 10px 10px 20px}.home-intro__actions .button:hover{background:var(--color-primary-600)}.home-intro__actions .button span{background:#ffffff29;border-radius:50%;place-items:center;width:30px;height:30px;margin-left:12px;font-size:1.15rem;font-weight:400;transition:transform .18s,background-color .18s;display:inline-grid}.home-intro__actions .button:hover span{background:#ffffff40;transform:translate(2px)}.home-intro__secondary{border:1px solid var(--color-primary-700);min-height:50px;color:var(--color-primary-700);background:0 0;border-radius:999px;align-items:center;padding:10px 18px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.home-intro__secondary:hover{border-color:var(--color-primary-700);background:var(--color-primary-100);color:var(--color-primary-700);transform:translateY(-1px)}.home-intro__secondary:active{transform:translateY(0)}.home-index{grid-template-columns:minmax(210px,.6fr) minmax(0,1.4fr);gap:64px;display:grid;position:relative;padding:80px 0!important}.home-index:before{content:"";filter:grayscale();mix-blend-mode:multiply;opacity:.105;pointer-events:none;background:url(/south-africa-coat-of-arms.webp) 50%/contain no-repeat;width:138px;height:200px;position:absolute;bottom:20px;left:54px}.home-index:after{content:"";filter:grayscale();mix-blend-mode:multiply;opacity:.095;pointer-events:none;background:url(/south-africa-coat-of-arms.webp) 50%/contain no-repeat;width:min(38vw,420px);height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.home-index>*{z-index:1;position:relative}.home-index h2{max-width:250px;font-size:clamp(2rem,3vw,3rem)}.home-index__links{border-top:1px solid #aebdaf;position:relative}.home-index__links:after{content:"";filter:grayscale();mix-blend-mode:multiply;opacity:.12;pointer-events:none;background:url(/south-africa-coat-of-arms.webp) 50%/contain no-repeat;width:88px;height:128px;position:absolute;top:20px;right:-78px}.home-index__links a{z-index:1;min-height:100px;color:var(--color-ink-950);border-bottom:1px solid #cbd5ca;grid-template-columns:42px minmax(160px,.8fr) minmax(0,1fr) 24px;align-items:center;gap:14px;padding:22px 4px;text-decoration:none;display:grid;position:relative}.home-index__links a:hover{color:var(--color-ink-950);background:#e9efe8}.home-index__links a>span:first-child{color:var(--color-accent-600);font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.78rem}.home-index__links strong{letter-spacing:-.03em;font-size:1.1rem}.home-index__links a>span:nth-child(3){color:var(--color-ink-700);font-size:.86rem;font-weight:400;line-height:1.5}.home-index__links a>span:last-child{justify-self:end;font-size:1.2rem}.home-note{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(32px,5vw,80px);display:grid;position:relative;background:#e7eee6!important;padding:clamp(32px,5vw,64px)!important}.home-note:before{content:"";filter:grayscale();mix-blend-mode:multiply;opacity:.105;pointer-events:none;background:url(/south-africa-coat-of-arms.webp) 50%/contain no-repeat;width:128px;height:185px;position:absolute;top:22px;right:34px}.home-note:after{content:"";filter:grayscale();mix-blend-mode:multiply;opacity:.12;pointer-events:none;background:url(/south-africa-coat-of-arms.webp) 50%/contain no-repeat;width:84px;height:122px;position:absolute;bottom:8px;left:42%}.home-note>*{position:relative}.home-intro:before,.home-intro:after,.home-index:before,.home-index:after,.home-index__links:after,.home-note:before,.home-note:after{-webkit-mask-image:radial-gradient(#000 55%,#0000 85%);mask-image:radial-gradient(#000 55%,#0000 85%)}.home-note h2{max-width:520px;margin:0;font-size:clamp(2.1rem,3.4vw,3.65rem)}.home-note__body{align-self:end}.home-note__body p{max-width:480px;color:var(--color-ink-800);margin-bottom:18px}.home-note__body p:last-child{margin-bottom:0}.page-intro{border-bottom:1px solid #aebdaf;padding:0 0 36px}.page-intro h1{margin:0 0 12px;font-size:clamp(3rem,5vw,5rem)}.page-intro p:last-child{max-width:640px;color:var(--color-ink-700);margin:0;font-size:1.05rem}.page-intro--compact{padding-bottom:32px}.admin-page:before{display:none}.admin-page>.page-intro,.verification-page>.page-intro{background:0 0}.directory-toolbar{border-bottom:1px solid #cbd5ca;grid-template-columns:minmax(0,1fr) minmax(180px,.5fr) auto;align-items:end;gap:18px;padding:6px 0 22px;display:grid}.directory-toolbar>div{gap:6px;display:grid}.directory-toolbar input,.directory-toolbar select{background:#fff;min-height:44px}.directory-toolbar [role=status]{box-shadow:none;color:var(--color-ink-700);white-space:nowrap;background:0 0;margin:0;padding:0 0 10px}.directory-toolbar [role=status]:before{display:none}.directory-error{align-items:center;gap:18px;display:flex}.directory-error [role=alert]{flex:1;margin:0}.empty-state{border-top:1px solid #aebdaf;padding:24px 0}.empty-state strong{font-family:var(--font-body);margin-bottom:6px;font-size:1.2rem;display:block}.empty-state p{margin:0}.directory-page>.election-list{border-top:1px solid #aebdaf;margin:0;display:block}.election-list li{margin:0}.election-list article{background:0 0;border:0;border-bottom:1px solid #cbd5ca;border-radius:0;grid-template-columns:minmax(0,1fr) minmax(190px,.43fr) 44px;align-items:center;gap:24px;min-height:128px;padding:20px 8px;display:grid}.election-list article:hover{background:#eef2eb}.election-list__type{color:var(--color-accent-600);letter-spacing:.06em;text-transform:uppercase;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.7rem;font-weight:700}.election-list h2{font-family:var(--font-body);letter-spacing:-.04em;margin:10px 0 0;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:700}.election-list h2 a{color:var(--color-ink-950);text-decoration:none}.election-list h2 a:hover{color:var(--color-primary-700);text-decoration:underline}.election-list__meta{color:var(--color-ink-700);justify-items:start;gap:10px;font-size:.78rem;line-height:1.45;display:grid}.election-list__meta time{color:var(--color-ink-900);font-weight:700;display:block}.status-pill{color:var(--color-primary-700);overflow-wrap:anywhere;border:1px solid #9eb5a4;border-radius:2px;padding:4px 8px;font-size:.72rem;font-weight:700;line-height:1.35;display:inline-block}.election-list__action{width:44px;height:44px;color:var(--color-ink-950);border:1px solid #b5c3b7;place-items:center;font-size:1.2rem;text-decoration:none;display:grid}.election-list__action:hover{border-color:var(--color-primary-700);background:var(--color-primary-700);color:#fff}.election-detail-hero{background:#e9efe8!important;padding:clamp(24px,4vw,44px)!important}.election-detail-hero__top,.contest-card__top{color:var(--color-accent-600);text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:700;display:flex}.election-detail-hero h1{max-width:830px;margin:26px 0 14px}.election-detail-hero>p{color:var(--color-ink-700)}.election-detail-hero dl{background:#fff;margin:26px 0 0}.contest-directory{background:0 0!important;border:0!important;padding:0!important}.contest-directory>ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.contest-card{height:100%;padding:26px!important}.contest-card h3{margin:24px 0 16px;font-size:1.35rem}.contest-card>h4{font-family:var(--font-body);margin-top:24px}.contest-card>ol li{border-bottom:1px solid #e1e8df;padding:8px 0;font-size:.88rem}.auth-page>form,.voting-page form,.voting-page>section{box-shadow:none;border:1px solid #d8e0d7}.voting-page>header{border-radius:var(--radius-md);background:var(--color-ink-950);box-shadow:none}.voting-page>header .voting-page__eyebrow{color:#d8e8d7;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.72rem}.vote-progress{background:#fff;border:1px solid #b9c8b9}.vote-progress ol{grid-template-columns:repeat(3,1fr);gap:0;margin:0;display:grid}.vote-progress li{min-height:54px;color:var(--color-ink-700);border-right:1px solid #d8e0d7;align-items:center;gap:10px;padding:12px 18px;font-size:.86rem;font-weight:700;display:flex}.vote-progress li:last-child{border-right:0}.vote-progress li span{color:var(--color-accent-600);font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.72rem}.vote-progress__current{background:#e9efe8;color:var(--color-ink-950)!important}@media (width<=1040px){.home-intro,.home-index,.home-note{grid-template-columns:1fr;gap:32px}.home-intro{min-height:0}.home-intro__aside{max-width:650px}}@media (width<=760px){.app-header__inner{min-height:66px}.brand__copy strong{font-size:1.2rem}.account-nav .button--quiet{display:inline-flex}.account-nav .button{white-space:nowrap;min-height:44px;font-size:.75rem}.page{padding-top:48px}.home-page{padding-top:56px}.home-intro{padding-bottom:48px}.home-intro:before{opacity:.105;width:112px;height:162px;top:12px;right:-22px}.home-intro:after{opacity:.105;width:62px;height:90px;top:4px;left:44%}.home-intro h1{font-size:clamp(3.1rem,13vw,4.4rem)}.home-intro__aside{padding-left:20px}.home-index{padding:56px 0!important}.home-index:before{display:none}.home-index:after{opacity:.085;width:min(78vw,300px);height:430px;top:54%}.home-index__links:after{display:none}.home-index h2{max-width:none}.home-index__links a{grid-template-columns:28px minmax(0,1fr) 20px;gap:8px 12px;min-height:116px}.home-index__links a>span:nth-child(3){grid-column:2}.home-index__links a>span:last-child{grid-area:1/3/3}.home-note{padding:28px!important}.home-note:before{opacity:.095;width:96px;height:139px;top:12px;right:8px}.directory-toolbar{grid-template-columns:1fr}.directory-toolbar [role=status]{padding-bottom:0}.directory-error{flex-direction:column;align-items:stretch}.election-list article{grid-template-columns:minmax(0,1fr) 44px;gap:12px}.election-list__meta{grid-area:2/1}.election-list__action{grid-area:1/2/3}.contest-directory>ol{grid-template-columns:1fr}.app-footer__note{text-align:left}}@media (width<=420px){.brand__copy strong{font-size:1.05rem}.account-nav{gap:4px}.account-nav .button{padding:8px 6px;font-size:.75rem}.home-intro h1{font-size:3.1rem}.home-intro__actions{flex-direction:column;align-items:stretch}}.register-page{width:min(calc(100% - var(--space-6)), var(--content-width));gap:0;min-height:0;padding-top:clamp(48px,6vw,96px)}.register-intro{border-bottom:1px solid #aebdaf;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:end;gap:clamp(36px,6vw,88px);min-height:300px;padding:0 0 56px;display:grid;position:relative;overflow:hidden}.register-intro:before{content:"";filter:grayscale();mix-blend-mode:multiply;opacity:.14;pointer-events:none;background:url(/south-africa-coat-of-arms.webp) 50%/contain no-repeat;width:250px;height:360px;position:absolute;top:-28px;right:8%;-webkit-mask-image:radial-gradient(#000 54%,#0000 86%);mask-image:radial-gradient(#000 54%,#0000 86%)}.register-intro>*{position:relative}.register-intro .eyebrow{margin-bottom:30px}.register-intro h1{text-wrap:balance;max-width:700px;margin:0;font-size:clamp(3.6rem,6vw,6rem);line-height:1}.register-intro__aside{border-left:2px solid var(--color-accent-500);max-width:370px;color:var(--color-ink-800);margin:0 0 4px;padding-left:30px;font-size:1.1rem;line-height:1.65}.register-page>.register-form{box-shadow:none;background:0 0;border:0;border-radius:0;gap:0;padding:0;display:grid}.register-form__section{border-bottom:1px solid #cbd5ca;grid-template-columns:minmax(190px,.62fr) minmax(0,1.38fr);align-items:start;gap:clamp(32px,5vw,72px);padding:56px 0;display:grid}.register-form__section-intro{max-width:300px}.register-form__number{color:var(--color-accent-600);letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:700;display:block}.register-form__section-intro h2{margin:0 0 12px;font-size:clamp(2rem,3vw,3rem);line-height:1.08}.register-form__section-intro p{max-width:260px;color:var(--color-ink-700);margin:0;font-size:.95rem;line-height:1.6}.register-form__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px;min-width:0;display:grid}.register-form__fields>div{align-content:start;gap:8px;min-width:0;display:grid}.register-form__fields .register-form__field--wide{grid-column:1/-1}.register-form__fields label{color:var(--color-ink-900);font-size:.9rem;font-weight:700}.register-form__fields p[id$=-help]{max-width:35rem;color:var(--color-ink-600);margin:0;font-size:.82rem;line-height:1.5}.register-form__fields input:not([type=radio]):not([type=checkbox]),.register-form__fields select{border-radius:var(--field-radius);min-height:54px;box-shadow:none;background:#fff;border:1px solid #aebfaf;padding:12px 16px}.register-form__fields .password-input input{padding-right:60px}.register-form__fields input:hover,.register-form__fields select:hover{border-color:var(--color-primary-700)}.register-form__fields input:focus,.register-form__fields select:focus{border-color:var(--color-primary-700);box-shadow:none}.register-form__fields input[aria-invalid=true],.register-form__fields select[aria-invalid=true]{border-color:var(--color-error-700);background:#fcf4f1}.register-form__actions{flex-wrap:wrap;align-items:center;gap:18px 28px;padding:32px 0 0;display:flex}.register-form__actions button{gap:16px;min-height:52px;padding:10px 12px 10px 22px}.register-form__actions button span{background:#ffffff29;border-radius:50%;place-items:center;width:30px;height:30px;font-size:1.15rem;font-weight:400;display:grid}.register-form__actions p{color:var(--color-ink-700);margin:0;font-size:.9rem}.register-form__actions a{font-weight:700}@media (width<=900px){.register-intro,.register-form__section{grid-template-columns:1fr;gap:28px}.register-intro{min-height:0}.register-intro__aside{max-width:650px}.register-form__section-intro{max-width:600px}}@media (width<=760px){.register-page{width:min(calc(100% - var(--space-4)), var(--content-width));padding-top:56px}.register-intro{padding-bottom:48px}.register-intro:before{opacity:.125;width:130px;height:190px;top:0;right:-20px}.register-intro h1{font-size:clamp(3rem,12vw,4.4rem)}.register-intro__aside{padding-left:20px}.register-form__section{padding:40px 0}.register-form__fields{grid-template-columns:1fr}}.directory-page{gap:0;padding-top:clamp(48px,6vw,96px)}.directory-intro{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:end;gap:clamp(36px,6vw,88px);min-height:300px;padding:0 0 56px;display:grid;position:relative;overflow:hidden}.directory-intro:before{content:"";filter:grayscale();mix-blend-mode:multiply;opacity:.14;pointer-events:none;background:url(/south-africa-coat-of-arms.webp) 50%/contain no-repeat;width:250px;height:360px;position:absolute;top:-28px;right:8%;-webkit-mask-image:radial-gradient(#000 54%,#0000 86%);mask-image:radial-gradient(#000 54%,#0000 86%)}.directory-intro>*{position:relative}.directory-intro .eyebrow{margin-bottom:30px}.directory-intro h1{text-wrap:balance;max-width:700px;margin:0;font-size:clamp(3.6rem,6vw,6rem);line-height:1}.directory-intro p.directory-intro__aside{border-left:2px solid var(--color-accent-500);max-width:370px;color:var(--color-ink-800);margin:0 0 4px;padding-left:30px;font-size:1.1rem;line-height:1.65}.directory-page .directory-toolbar{grid-template-columns:minmax(0,1.2fr) minmax(220px,.65fr) auto;gap:18px;padding:32px 0}.directory-toolbar label{color:var(--color-ink-900);font-size:.9rem;font-weight:700}.directory-page .directory-toolbar input,.directory-page .directory-toolbar select{border-radius:var(--field-radius);min-height:54px;box-shadow:none;background:#fff;border:1px solid #aebfaf;padding:12px 16px}.directory-page .directory-toolbar input:hover,.directory-page .directory-toolbar select:hover,.directory-page .directory-toolbar input:focus,.directory-page .directory-toolbar select:focus{border-color:var(--color-primary-700);box-shadow:none}.directory-page .directory-toolbar [role=status]{color:var(--color-ink-700);padding-bottom:15px;font-size:.84rem}.directory-page .directory-error{border-bottom:1px solid #cbd5ca;padding:32px 0}.directory-page>.election-list{border-top:0}.directory-page .election-list article{grid-template-columns:42px minmax(0,1fr) minmax(190px,.42fr) 44px;gap:18px;min-height:142px;padding:24px 8px}.election-list__number{color:var(--color-accent-600);align-self:start;padding-top:4px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.78rem;font-weight:700}.directory-page .empty-state{border-top:0;border-bottom:1px solid #cbd5ca;align-content:center;min-height:220px;padding:40px 0;display:grid;position:relative;overflow:hidden}.directory-page .empty-state:before{content:"";filter:grayscale();opacity:.11;pointer-events:none;background:url(/south-africa-coat-of-arms.webp) 50%/contain no-repeat;width:140px;height:210px;position:absolute;top:0;right:3%}.directory-page .empty-state>*{position:relative}.directory-page .empty-state strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:500}@media (width<=900px){.directory-intro{grid-template-columns:1fr;gap:28px;min-height:0}.directory-intro p.directory-intro__aside{max-width:650px}}@media (width<=760px){.directory-page{padding-top:56px}.directory-intro{padding-bottom:48px}.directory-intro:before{opacity:.125;width:130px;height:190px;top:0;right:-20px}.directory-intro h1{font-size:clamp(3rem,12vw,4.4rem)}.directory-intro__aside{padding-left:20px}.directory-page .directory-toolbar{grid-template-columns:1fr}.directory-page .directory-toolbar [role=status]{padding-bottom:0}.directory-page .election-list article{grid-template-columns:32px minmax(0,1fr) 44px;gap:12px}.directory-page .election-list__identity{grid-column:2}.directory-page .election-list__meta{grid-area:2/2}.directory-page .election-list__action{grid-area:1/3/3}}.login-page{width:min(calc(100% - var(--space-6)), var(--content-width));gap:0;min-height:0;padding-top:clamp(48px,6vw,96px)}.login-intro{border-bottom:1px solid #aebdaf;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:end;gap:clamp(36px,6vw,88px);min-height:300px;padding:0 0 56px;display:grid;position:relative;overflow:hidden}.login-intro:before{content:"";filter:grayscale();mix-blend-mode:multiply;opacity:.14;pointer-events:none;background:url(/south-africa-coat-of-arms.webp) 50%/contain no-repeat;width:250px;height:360px;position:absolute;top:-28px;right:8%;-webkit-mask-image:radial-gradient(#000 54%,#0000 86%);mask-image:radial-gradient(#000 54%,#0000 86%)}.login-intro>*{position:relative}.login-intro .eyebrow{margin-bottom:30px}.login-intro h1{text-wrap:balance;max-width:700px;margin:0;font-size:clamp(3.6rem,6vw,6rem);line-height:1}.login-intro__aside{border-left:2px solid var(--color-accent-500);max-width:370px;color:var(--color-ink-800);margin:0 0 4px;padding-left:30px;font-size:1.1rem;line-height:1.65}.login-page>.login-form{box-shadow:none;background:0 0;border:0;border-radius:0;gap:0;padding:0;display:grid}.login-form__section{border-bottom:1px solid #cbd5ca;grid-template-columns:minmax(190px,.62fr) minmax(0,1.38fr);align-items:start;gap:clamp(32px,5vw,72px);padding:56px 0;display:grid}.login-form__section-intro{max-width:300px}.login-form__number{color:var(--color-accent-600);letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:700;display:block}.login-form__section-intro h2{margin:0 0 12px;font-size:clamp(2rem,3vw,3rem);line-height:1.08}.login-form__section-intro p{max-width:260px;color:var(--color-ink-700);margin:0;font-size:.95rem;line-height:1.6}.login-form__fields{gap:24px;width:min(100%,600px);display:grid}.login-form__fields>div:not(.login-form__actions){gap:8px;min-width:0;display:grid}.login-form__fields label{color:var(--color-ink-900);font-size:.9rem;font-weight:700}.login-form__fields input:not([type=radio]):not([type=checkbox]){border-radius:var(--field-radius);min-height:54px;box-shadow:none;background:#fff;border:1px solid #aebfaf;padding:12px 16px}.login-form__fields .password-input input{padding-right:60px}.login-form__fields input:hover,.login-form__fields input:focus{border-color:var(--color-primary-700);box-shadow:none}.login-form__fields input[aria-invalid=true]{border-color:var(--color-error-700);background:#fcf4f1}.login-form__actions{flex-wrap:wrap;align-items:center;gap:18px 28px;padding-top:8px;display:flex}.login-form__actions button{gap:16px;min-height:52px;padding:10px 12px 10px 22px}.login-form__actions button span{background:#ffffff29;border-radius:50%;place-items:center;width:30px;height:30px;font-size:1.15rem;font-weight:400;display:grid}.login-form__actions p{color:var(--color-ink-700);margin:0;font-size:.9rem}.login-form__actions a{font-weight:700}@media (width<=900px){.login-intro,.login-form__section{grid-template-columns:1fr;gap:28px}.login-intro{min-height:0}.login-intro__aside{max-width:650px}.login-form__section-intro{max-width:600px}}@media (width<=760px){.login-page{width:min(calc(100% - var(--space-4)), var(--content-width));padding-top:36px}.login-intro{gap:20px;padding-bottom:32px}.login-intro:before{opacity:.125;width:130px;height:190px;top:0;right:-20px}.login-intro h1{font-size:clamp(3rem,12vw,4.4rem)}.login-intro .eyebrow{margin-bottom:18px}.login-intro__aside{padding-left:20px}.login-form__section{gap:22px;padding:28px 0}.login-form__number{margin-bottom:14px}.login-form__fields{gap:18px}}.app-header{border-top:3px solid var(--color-accent-600);background:#fff;border-bottom:1px solid #d6ddd5}.app-header__inner{width:min(calc(100% - var(--space-6)), var(--content-width));grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,3vw,48px);min-height:86px}.brand{gap:16px;min-height:56px}.brand:before{background:var(--color-accent-600);content:"";flex:none;width:3px;height:38px}.brand__copy{gap:1px}.brand__copy strong{font-size:1.55rem;line-height:1.05}.brand__copy>span{color:var(--color-ink-600);letter-spacing:.15em;text-transform:uppercase;font-size:.63rem;font-weight:750;display:block}.header-menu{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-width:0;display:grid}.primary-nav{gap:clamp(10px,1.4vw,24px)}.nav-link{min-height:86px;color:var(--color-ink-700);border-bottom:3px solid #0000;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;padding:17px 4px 13px;font-size:.875rem;font-weight:700;line-height:1.2}.nav-link__number{color:var(--color-accent-600);letter-spacing:.07em;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:700}.nav-link:hover,.nav-link--active{border-bottom-color:var(--color-primary-700);color:var(--color-ink-950)}.account-nav{border-left:1px solid #d6ddd5;gap:12px;min-height:48px;padding-left:24px}.account-nav .button--quiet{color:var(--color-primary-700)}.account-nav .button--primary{gap:16px}.account-nav .button--primary span{font-size:1.1rem;font-weight:400}.header-menu-toggle{display:none}@media (width<=1100px){.app-header__inner{width:min(calc(100% - var(--space-4)), var(--content-width));grid-template-columns:minmax(0,1fr) auto;gap:0 24px;min-height:72px}.brand{min-height:72px}.header-menu-toggle{min-width:96px;min-height:44px;box-shadow:none;color:var(--color-ink-950);background:#fff;border:1px solid #ccd7ce;border-radius:999px;gap:12px;padding:8px 12px;font-size:.82rem;display:inline-flex}.header-menu-toggle:hover,.header-menu-toggle[aria-expanded=true]{border-color:var(--color-primary-700);background:var(--color-surface-tint);color:var(--color-primary-700)}.header-menu-toggle__icon{gap:5px;width:17px;display:grid}.header-menu-toggle__icon span{background:currentColor;width:17px;height:1.5px;transition:transform .16s}.header-menu-toggle[aria-expanded=true] .header-menu-toggle__icon span:first-child{transform:translateY(3.25px)rotate(45deg)}.header-menu-toggle[aria-expanded=true] .header-menu-toggle__icon span:last-child{transform:translateY(-3.25px)rotate(-45deg)}.header-menu{border-top:1px solid #e0e6df;grid-column:1/-1;grid-template-columns:1fr;gap:20px;max-height:calc(100dvh - 72px);padding:16px 0 24px;display:none;overflow-y:auto}.header-menu--open{display:grid}.primary-nav{order:0;grid-column:auto;gap:0;padding:0;display:grid;overflow:visible}.nav-link{border-bottom:1px solid #e0e6df;flex-direction:row;justify-content:flex-start;align-items:center;gap:20px;min-height:56px;padding:8px 12px;font-size:1rem}.nav-link__number{flex:none;width:20px}.nav-link:hover,.nav-link--active{background:var(--color-surface-tint);border-bottom-color:#e0e6df}.account-nav{border:0;flex-wrap:wrap;justify-content:flex-start;justify-self:stretch;gap:12px;min-height:0;padding:0 12px;display:flex}.account-nav .button,.account-nav .button--quiet{min-height:48px;padding:10px 18px;font-size:.88rem;display:inline-flex}.account-chip__copy{display:grid}}@media (width<=480px){.brand__copy strong{font-size:1.3rem}.brand__copy>span{font-size:.57rem}.account-nav .button{flex:auto}.account-chip{width:100%}}.simulation-notice{border-left:4px solid var(--color-accent,#b5de67);background:#8196731f;padding:1rem}.location-fields{gap:.6rem;min-width:0;padding:1rem;display:grid}.location-fields select{width:100%;min-width:0}.check-label{align-items:flex-start;gap:.75rem;display:flex}.check-label input[type=checkbox]{flex:0 0 1.25rem;width:1.25rem;min-height:1.25rem;margin-top:.15rem}.profile-list,.ballot-list{gap:1.25rem;padding:0;list-style:none;display:grid}.profile-list li,.ballot-list article{overflow-wrap:anywhere}.workflow-page textarea{resize:vertical;width:100%;min-height:6rem}.workflow-page form{gap:.75rem;display:grid}.workflow-page section{margin-block:2rem}@media (width<=600px){.location-fields{padding:.75rem}.workflow-page button{min-height:44px}}
