:root{--ink:#24272c;--muted:#656b72;--paper:#f5f5f3;--line:#dededb;--red:#b4313c;--dark:#25292e;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1180px;margin:auto;padding:0 38px}.top{height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 48px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{font-weight:800;font-size:27px;letter-spacing:-1.2px;white-space:nowrap}.brand span{color:var(--red)}.brand i{display:inline-block;width:7px;height:7px;margin-left:5px;background:var(--red);border-radius:50%}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav form{margin:0}.nav-button{border:1px solid var(--ink);padding:9px 22px;border-radius:5px}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:70px;align-items:center;padding-top:85px;padding-bottom:90px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:var(--red);margin:0 0 20px}h1{font-size:clamp(36px,4.2vw,59px);line-height:1.12;letter-spacing:-2px;margin:0 0 24px;font-weight:750}h2{font-size:34px;line-height:1.2;letter-spacing:-1px;margin:0 0 25px}h3{font-size:20px;line-height:1.35;margin:12px 0}p{margin:0 0 20px}.lead{font-size:18px;color:var(--muted);line-height:1.75}.small,small{font-size:12px;color:var(--muted)}.button{background:var(--red);color:white;border:0;border-radius:5px;padding:14px 21px;display:inline-flex;align-items:center;justify-content:center;gap:25px;font-size:14px;font-weight:650;text-decoration:none;min-height:48px}.button:hover{background:#92232d;text-decoration:none}.hero .small{margin-top:17px}.message-board{background:var(--dark);color:white;padding:27px;border-radius:15px;box-shadow:0 18px 40px #24272c12}.board-top{display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:1px;border-bottom:1px solid #ffffff26;padding-bottom:18px}.board-top>span:last-child{margin-left:auto;color:#bcbfc3;font-size:9px}.live-dot{background:#dc6870;width:6px;height:6px;border-radius:100%}.board-label{color:#bcbfc3;font-size:12px;margin:22px 0 12px}.sms-bubble{background:#f0f0ed;color:#262a2f;padding:19px 21px;border-radius:13px 13px 13px 3px;font-size:14px;line-height:1.7}.sms-bubble.muted{background:#3b4047;color:#efefec}.archive{font-size:10px;color:#bfc1c5;margin:8px 0 22px}.board-bottom{font-size:17px;border-top:1px solid #ffffff26;padding-top:20px;margin-top:18px;color:#c9cbce}.board-bottom strong{color:white}.strip{background:#e7e8e6;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.strip-inner{display:flex;justify-content:space-between;gap:20px;padding-top:21px;padding-bottom:21px;font-size:14px}.strip-inner span{color:var(--muted)}.section{padding-top:70px;padding-bottom:70px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:42px}.steps article{border-top:1px solid #bfc1bf;padding-top:20px}.steps b{color:var(--red);font-size:13px}.steps p{font-size:14px;color:var(--muted)}.calculator-section{background:#e9e9e6;border-block:1px solid var(--line);padding:70px 0}.calculator{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.calculator p{color:var(--muted);max-width:400px}.calculator h2{font-size:42px}.calculator-card{background:var(--white);padding:32px;border:1px solid var(--line);border-radius:9px}.calculator-card>label{font-size:14px;font-weight:600;display:block;margin-bottom:10px}input,select,textarea{width:100%;border:1px solid #c8cbcc;border-radius:4px;background:white;color:var(--ink);padding:11px 12px;min-height:44px}input:focus,textarea:focus,select:focus{outline:2px solid #b4313c;outline-offset:2px}#residents{font-size:30px;font-weight:700;padding:12px 15px;margin-bottom:16px}.calc-row{display:flex;justify-content:space-between;gap:20px;padding:10px 0;font-size:13px}.calc-result{border-block:1px solid var(--line);padding:20px 0;margin:10px 0 12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px}.calc-result>span{width:100%;font-size:12px;color:var(--muted)}.calc-result>strong{font-size:42px;line-height:1.4;letter-spacing:-1px;color:var(--red)}.calc-result small{font-size:13px}.local-section{padding-block:80px}.narrow{max-width:660px}.red-line{width:45px;height:3px;background:var(--red);margin-bottom:26px}footer{padding:40px 48px;background:var(--dark);color:#ddd;display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center}footer p{margin:0;font-size:13px}footer small{margin-left:auto;color:#bcbfc3;max-width:400px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.stats article,.panel-box{background:white;border:1px solid var(--line);border-radius:8px;padding:28px}.stats span{display:block;color:var(--muted);font-size:13px}.stats strong{font-size:40px}.panel-box{margin:25px 0}.panel-box h2{font-size:25px}.login-wrap{max-width:540px;margin:65px auto 90px;padding:0 30px}.login-wrap h1{font-size:40px}.form-stack{display:grid;gap:20px}.form-stack label{display:grid;gap:6px;font-size:14px}.alert{background:#fee7e9;padding:15px;border-left:3px solid var(--red)}.plain{background:none;border:0;color:inherit;padding:0}.filters{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin:25px 0}.filters>label{font-size:13px;display:grid;gap:5px;min-width:200px}.filters .checkbox{display:flex;align-items:center;min-width:auto;padding-bottom:12px}.checkbox input{width:17px;height:17px;min-height:auto}.table-wrap{overflow-x:auto;border:1px solid var(--line);background:white;border-radius:8px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:16px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#eaece9;font-size:11px;text-transform:uppercase;letter-spacing:1px}td small{display:block;margin-top:4px}td a{color:var(--red);font-weight:600}.tag{padding:3px 9px;border-radius:20px;background:#eee;font-size:11px;white-space:nowrap}details{font-size:12px;min-width:160px;margin-top:10px}summary{cursor:pointer;color:var(--red)}blockquote{margin:12px 0;padding-left:12px;border-left:2px solid var(--line);max-width:500px;max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}details form{display:grid;gap:8px}.small-button{background:var(--dark);color:white;border:0;border-radius:4px;padding:7px}.empty{padding:25px;border:1px dashed #bbb}.back{display:inline-block;margin-bottom:20px;color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.note{padding:23px 0;border-bottom:1px solid var(--line)}.note p{white-space:normal}.panel-box a{overflow-wrap:anywhere}@media(max-width:850px){.hero{gap:30px}.wrap{padding-inline:25px}.calculator{gap:35px}.top{padding:0 25px}.steps{gap:22px}footer{padding:30px}.form-grid{grid-template-columns:1fr}footer small{margin-left:0}}@media(max-width:650px){.top{height:auto;min-height:78px;flex-wrap:wrap;padding:17px 22px;gap:15px}.brand{font-size:25px}nav{gap:15px;font-size:12px}.nav-button{padding:6px 12px}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:35px}h1{font-size:41px}.hero h1{font-size:43px}.strip-inner{display:grid;gap:5px}.steps,.calculator,.stats{grid-template-columns:1fr}.section{padding-block:45px}.calculator-section{padding:45px 0}.calculator h2{font-size:36px}.calculator-card{padding:24px}.steps{gap:15px}.stats{gap:12px}.stats article{padding:18px}.stats strong{font-size:32px}.filters{display:grid;grid-template-columns:1fr}.filters>label{min-width:0}.local-section{padding-block:50px}h2{font-size:30px}.message-board{padding:24px}.table-wrap{margin-inline:-8px}.form-grid{gap:15px}footer{display:grid;gap:15px}footer .brand{margin:0}.panel-box{padding:22px}td,th{padding:12px}.login-wrap{margin-top:45px}}

.actions{display:flex;flex-wrap:wrap;gap:12px 22px;margin:20px 0}.actions a{color:var(--red);font-weight:600}.activity-row{display:grid;grid-template-columns:140px 150px 1fr 65px;gap:16px;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.activity-row time{color:var(--muted);font-size:12px}.activity-row b{color:var(--red)}.profile-facts{display:grid;grid-template-columns:180px 1fr;gap:10px}.profile-facts dt{color:var(--muted)}.profile-facts dd{margin:0}.top{height:auto;min-height:90px;padding-block:18px}nav{flex-wrap:wrap;gap:12px 20px}nav a{white-space:nowrap}.stats article>small{display:block}@media(max-width:750px){.activity-row{grid-template-columns:1fr;gap:3px}.profile-facts{grid-template-columns:1fr;gap:3px}.profile-facts dd{margin-bottom:12px}}
/* The SMS composer is the first task on a phone. */
.composer-page{max-width:850px;padding-top:30px;padding-bottom:35px}.composer-heading .eyebrow{margin-bottom:8px}.composer-heading h1{font-size:36px;margin-bottom:22px}.composer-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;gap:20px}.send-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between}.send-mode{display:flex;gap:6px;border:0;padding:0;margin:0;min-width:0;flex:1}.send-mode label{flex:1;position:relative;cursor:pointer}.send-mode input{position:absolute;width:1px;height:1px;opacity:0}.send-mode span{display:block;text-align:center;padding:12px 10px;border:1px solid var(--line);border-radius:7px;font-size:14px;font-weight:650}.send-mode input:checked+span{background:var(--dark);border-color:var(--dark);color:#fff}.send-mode input:focus-visible+span{outline:3px solid var(--red);outline-offset:3px}.topup-link{font-size:14px;font-weight:700;color:var(--red);white-space:nowrap;padding:12px 4px;min-height:44px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sms-editor{margin:0;min-width:0}.editor-title{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:10px}.recipients-count{font-size:13px;color:var(--muted);white-space:nowrap}.sms-metrics{display:flex;flex-wrap:wrap;gap:5px 12px;padding:10px 12px;background:#f0f0ee;border:1px solid var(--line);border-bottom:0;border-radius:7px 7px 0 0;font-size:12px;line-height:1.6}.sms-metrics strong{color:var(--red)}.sms-editor textarea{display:block;width:100%;min-height:170px;border-radius:0 0 7px 7px;font-size:17px;line-height:1.6;padding:14px}.sms-editor .small{margin:9px 0 0;font-size:12px}.budget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.budget-grid article{padding:13px 15px;border-bottom:1px solid var(--line);min-width:0}.budget-grid article:nth-child(odd){border-right:1px solid var(--line)}.budget-grid article:nth-last-child(-n+2){border-bottom:0}.budget-grid span{display:block;font-size:12px;color:var(--muted)}.budget-grid strong{display:block;font-size:21px;margin-top:3px}.composer-cost{font-size:15px;font-weight:650;margin:0}.composer-submit,.send-final{width:100%;min-height:54px;text-align:center;display:flex;align-items:center;justify-content:center;gap:15px;font-size:17px}.draft-save{border:0;background:transparent;color:var(--muted);padding:8px;font-size:14px;min-height:44px}.composer-nav{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:24px;font-size:14px}.composer-nav a{padding:8px 0}.operator-context{border-top:1px solid var(--line);margin-top:20px;padding-top:15px;font-size:13px}.operator-context form{margin-top:12px}.composer-preview{padding:24px;border-radius:12px}.composer-preview .sms-bubble{overflow-wrap:anywhere;white-space:normal}.preview-facts{font-size:14px}.send-final:disabled{opacity:1;background:var(--red);color:#fff;cursor:not-allowed;margin-top:20px}.secondary{background:var(--dark)}[hidden]{display:none!important}
@media(max-width:600px){body:has(.composer-page) .top{height:auto;padding:12px 16px;align-items:flex-start;gap:12px;flex-wrap:wrap}body:has(.composer-page) .top .brand{font-size:24px}body:has(.composer-page) .top nav{gap:6px 14px;font-size:12px;flex-wrap:wrap}body:has(.composer-page) .top nav a,body:has(.composer-page) .top nav button{min-height:32px;display:inline-flex;align-items:center}.composer-page{padding:20px 14px 28px}.composer-heading h1{font-size:29px;margin-bottom:18px}.composer-heading .eyebrow{font-size:10px;letter-spacing:1px}.composer-card{padding:16px;gap:18px}.send-toolbar{gap:7px}.send-mode{gap:4px}.send-mode span{padding:12px 6px;font-size:12px}.topup-link{font-size:12px}.composer-card input,.composer-card textarea{font-size:16px}.composer-card .small{font-size:12px;line-height:1.5;margin:0}.sms-metrics{font-size:11px;gap:4px 10px}.budget-grid article{padding:11px}.budget-grid strong{font-size:20px}.budget-grid span{font-size:11px}.composer-preview{padding:20px 16px}.composer-preview .board-top{font-size:10px;gap:8px}.composer-preview .sms-bubble{font-size:16px}.composer-nav{gap:4px 14px;font-size:13px}}
.top:has(.composer-menu){height:72px;min-height:72px;align-items:center;justify-content:space-between}.composer-menu{position:relative;margin-left:auto;font-size:14px}.composer-menu summary{cursor:pointer;list-style:none;padding:10px 18px;border:1px solid var(--line);border-radius:7px;font-weight:650}.composer-menu summary::-webkit-details-marker{display:none}.composer-menu nav{position:absolute;right:0;top:50px;display:flex;flex-direction:column;align-items:stretch;gap:3px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px #0002;border-radius:10px;padding:14px;width:min(300px,calc(100vw - 32px));z-index:30}.composer-menu nav a,.composer-menu nav button{padding:10px;min-height:44px}.composer-menu nav form button{width:100%;text-align:left}@media(max-width:600px){body:has(.composer-page) .top{height:68px;min-height:68px;flex-wrap:nowrap;align-items:center}body:has(.composer-page) .composer-menu nav{font-size:14px;gap:3px}body:has(.composer-page) .composer-menu nav a,body:has(.composer-page) .composer-menu nav button{min-height:44px}}
.top:has(.composer-menu) .brand{order:2}.top:has(.composer-menu) .composer-menu{order:1;margin-left:0;margin-right:auto}.composer-menu nav{left:0;right:auto}.top nav,.composer-nav{text-transform:lowercase}.schedule-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;width:100%;min-width:0}.schedule-grid label{min-width:0;max-width:100%;display:block}.schedule-grid input{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;appearance:none;-webkit-appearance:none;font-size:16px;padding:12px 8px}.topup-callout{padding:15px;border:1px solid var(--line);border-radius:8px;text-align:center}.topup-callout p{margin:0 0 10px;font-size:14px}.topup-callout .button{min-height:46px}.send-mode{width:100%}@media(max-width:400px){.schedule-grid{grid-template-columns:minmax(0,1fr)}.composer-card{min-width:0;max-width:100%}.composer-menu summary{padding:10px 14px}.top:has(.composer-menu) .brand{font-size:23px}}
.top:has(.panel-menu-bar){height:auto!important;min-height:0!important;padding:0!important;display:flex;flex-direction:column;align-items:stretch!important;gap:0!important}.panel-menu-bar{order:0;width:100%;background:#202226;color:#fff;min-height:46px}.panel-menu-bar .composer-menu{margin:0;position:relative;width:100%}.panel-menu-bar summary{border:0;border-radius:0;color:#fff;padding:11px 20px;min-height:46px;width:100%}.panel-menu-bar .composer-menu nav{top:46px;left:0;background:#202226;border-color:#36383c;color:#fff}.top:has(.panel-menu-bar) .brand{order:1;align-self:flex-start;margin:14px 20px}.recipient-summary{margin:0;padding:12px 14px;background:#f0f0ee;border-radius:7px;font-size:16px}.budget-grid .insufficient{background:#b4313c;color:#fff}.budget-grid .insufficient span,.budget-grid .insufficient strong{color:#fff}.budget-grid #sms-funds a{display:block;height:100%;min-height:44px}.budget-grid #sms-funds strong{font-size:16px;line-height:1.4}
.budget-grid strong{overflow-wrap:anywhere}.budget-grid #sms-funds strong{font-size:16px}
.form-stack label.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}.form-stack label.checkbox input[type=checkbox]{width:20px;height:20px;min-width:20px;flex:none;margin:2px 0 0}.button:disabled{opacity:.48;cursor:not-allowed}
/* Bank-transfer top-ups: readable at narrow mobile widths. */
#payment-qr{display:block;width:280px;max-width:100%;height:auto;align-self:center;image-rendering:pixelated;background:#fff}
#topup-summary{padding:16px;background:#f1f1f1;border-radius:10px;font-weight:700;line-height:1.7}
.composer-page .panel-box input{min-width:0;max-width:100%;box-sizing:border-box}
.composer-page .panel-box{overflow-wrap:anywhere}

.payment-copy-row>div{display:flex;align-items:stretch;gap:8px}.payment-copy-row label{display:block;margin-bottom:8px}.payment-copy-row input{flex:1;width:0;min-width:0}.payment-copy-row button{flex:0 0 auto;min-height:44px;align-self:stretch}.payment-copy-row{min-width:0}
