:root{--charcoal:#04100c;--mint:#00ffc2;--ink:#10201a;--muted:#5b6f66;--line:#e2e9e5;--bg:#f7faf8}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body), sans-serif}h1,h2,h3,.display{font-family:var(--font-display), sans-serif}a{color:inherit;text-decoration:none}.nav{background:var(--charcoal);color:#fff;align-items:center;gap:28px;height:60px;padding:0 28px;display:flex}.nav .brand{color:var(--mint);font-family:var(--font-display);letter-spacing:.5px;font-size:19px}.nav a.item{color:#cfe0d8;border-bottom:2px solid #0000;padding:4px 2px;font-size:14px}.nav a.item:hover{color:var(--mint);border-color:var(--mint)}.nav-public{justify-content:center}.nav-spacer{flex:1}.business-switcher,.nav-logout{align-items:center;gap:8px;display:flex}.business-switcher select{color:#fff;background:#0b1e17;border-color:#29463b;max-width:190px}.nav-button{background:0 0;border:1px solid #29463b;padding:7px 10px}.role-pill{color:#a9c4b8;text-transform:uppercase;letter-spacing:.7px;border:1px solid #29463b;border-radius:999px;padding:4px 8px;font-size:11px}.wrap{max-width:1080px;margin:0 auto;padding:32px 24px 80px}.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:24px 0 36px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px}.card .label{text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-size:12px}.card .value{font-family:var(--font-display);margin-top:6px;font-size:28px}.card.dark{background:var(--charcoal);color:#fff;border:none}.card.dark .value{color:var(--mint)}table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;overflow:hidden}th{text-align:left;text-transform:uppercase;letter-spacing:1px;color:var(--muted);border-bottom:1px solid var(--line);background:#fcfefd;padding:12px 16px;font-size:12px}td{border-bottom:1px solid var(--line);padding:12px 16px;font-size:14px}tr:last-child td{border-bottom:none}.num{text-align:right;font-variant-numeric:tabular-nums}.badge{border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge.paid{color:#0a7a45;background:#d8f7e7}.badge.sent,.badge.partial{color:#1a5fb4;background:#e3f0ff}.badge.overdue{color:#b3261e;background:#ffe3e0}.badge.draft{color:#555;background:#eee}form.inline{align-items:center;gap:8px;display:flex}input,select,textarea{border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;padding:8px 10px;font-size:14px}textarea{resize:vertical}button{background:var(--charcoal);color:var(--mint);font-family:var(--font-display);cursor:pointer;border:none;border-radius:8px;padding:9px 16px;font-size:14px}button:hover{opacity:.9}.section-title{margin:32px 0 12px;font-size:18px}.login-box{border:1px solid var(--line);background:#fff;border-radius:14px;max-width:380px;margin:12vh auto;padding:36px}.login-box h1{margin-bottom:4px;font-size:22px}.login-box .sub{color:var(--muted);margin-bottom:20px;font-size:14px}.login-box form{gap:12px;display:grid}.error{color:#b3261e;margin-top:10px;font-size:13px}.success{color:#0a7a45;margin-top:10px;font-size:13px}.login-link{color:var(--muted);margin-top:14px;font-size:13px;display:inline-block}.helper{color:var(--muted);margin:8px 0 20px;font-size:14px;line-height:1.5}.narrow{max-width:720px}.business-list{gap:12px;margin-top:20px;display:grid}.business-choice{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.business-choice div{gap:4px;display:grid}.business-choice span{color:var(--muted);text-transform:uppercase;font-size:12px}.settings-tabs{gap:6px;margin-bottom:22px;display:flex}.settings-tabs a{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:8px 12px;font-size:13px}.settings-tabs a.active{background:var(--charcoal);border-color:var(--charcoal);color:var(--mint)}.read-only-row{background:var(--bg);border-radius:8px;grid-template-columns:auto 1fr;gap:5px 16px;padding:12px;font-size:13px;display:grid}.read-only-row span{color:var(--muted)}.member-form{display:contents}.member-status{color:var(--muted)}.add-member-form{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:720px;padding:16px}.grid-form{border:1px solid var(--line);background:#fff;border-radius:12px;gap:12px;max-width:640px;padding:24px;display:grid}.grid-form label{color:var(--muted);gap:4px;font-size:13px;display:grid}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.settings-section{margin-top:36px}.settings-section h2{margin-bottom:4px;font-size:20px}.grid-form h3{margin-top:8px;font-size:15px}.grid-form h3:first-child{margin-top:0}.field-note{color:var(--muted);font-size:12px;line-height:1.5}.grid-form .checkbox-row{color:var(--ink);align-items:center;gap:8px;display:flex}.checkbox-row input{width:auto}.table-scroll{overflow-x:auto}.invoice-link{color:#08735b;text-underline-offset:3px;font-weight:700;text-decoration:underline}.detail-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.detail-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.back-link{color:var(--muted);margin-bottom:8px;font-size:13px;display:inline-block}.button-link{background:var(--charcoal);color:var(--mint);font-family:var(--font-display);border-radius:8px;padding:9px 16px;font-size:14px;display:inline-block}.button-link.secondary{color:var(--ink);border:1px solid var(--line);background:#fff}.notice{border-radius:8px;margin:14px 0;padding:12px 14px}.notice.success{background:#d8f7e7}.notice.error{background:#ffe3e0}.invoice-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.card .value.small{font-size:20px}.delivery-panel{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:28px;padding:24px;display:grid}.delivery-panel h2{margin-bottom:18px}.delivery-facts{gap:10px;display:grid}.delivery-facts div{grid-template-columns:130px 1fr;gap:12px;display:grid}.delivery-facts dt{color:var(--muted);font-size:13px}.delivery-facts dd{overflow-wrap:anywhere}.delivery-actions{gap:14px;display:grid}.grid-form.compact{padding:16px}.reminder-form{border:1px solid var(--line);border-radius:12px;gap:12px;padding:16px;display:grid}.badge.failed{color:#b3261e;background:#ffe3e0}.badge.pending{color:#725600;background:#fff2cc}.badge.active{color:#0a7a45;background:#d8f7e7}.badge.paused{color:#725600;background:#fff2cc}.recurring-form{max-width:720px}.recurring-line{border:1px solid var(--line);border-radius:10px;gap:12px;padding:14px;display:grid}.recurring-line label{color:var(--muted);gap:4px;font-size:13px;display:grid}.state-form{margin-top:14px}.bank-import h2,.bank-queue h2{margin-bottom:12px;font-size:20px}.bank-import-form{grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr) auto;align-items:end;gap:12px;display:grid}.bank-import-form label,.categorise-form label,.exclude-form label{color:var(--muted);gap:5px;font-size:13px;display:grid}.bank-import-form .field-note{grid-column:1/-1}.bank-queue{margin-top:34px}.queue-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px;display:flex}.bank-filters{flex-wrap:wrap;gap:6px;display:flex}.bank-filters a{border:1px solid var(--line);color:var(--muted);text-transform:capitalize;background:#fff;border-radius:7px;padding:7px 10px;font-size:12px}.bank-filters a.active{background:var(--charcoal);color:var(--mint);border-color:var(--charcoal)}.reconciliation-list{gap:12px;display:grid}.reconciliation-row{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px}.reconciliation-row>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.reconciliation-row>header div:first-child{gap:3px;display:grid}.reconciliation-row>header span{color:var(--muted);font-size:12px}.bank-amount{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:22px}.bank-amount.deposit{color:#08735b}.bank-amount.withdrawal{color:#9c382f}.bank-description{margin-top:10px}.reconciliation-actions{gap:12px;margin-top:16px;display:grid}.suggestion-panel,.categorise-panel,.exclude-panel{border-top:1px solid var(--line);padding-top:12px}.suggestion-panel h3{margin-bottom:8px;font-size:14px}.suggestion{background:var(--bg);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding:10px;display:flex}.suggestion>div{gap:3px;display:grid}.suggestion span{color:var(--muted);font-size:12px}.categorise-panel summary,.exclude-panel summary{cursor:pointer;color:#08735b;font-size:13px;font-weight:700}.categorise-form{grid-template-columns:1.2fr 1fr 1.4fr auto;align-items:end;gap:10px;margin-top:12px;display:grid}.exclude-form{grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:12px;display:grid}.button-danger{color:#fff;background:#8f2d25}.reconciled-fact{color:var(--muted);align-items:center;gap:10px;margin-top:14px;font-size:13px;display:flex}.empty-state{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#fff;border-radius:12px;padding:30px}.receipt-row,.receipt-upload{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.report-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.report-card h2{font-size:18px}.report-filters{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:end;gap:10px;margin:18px 0;padding:14px;display:flex}.report-filters label{color:var(--muted);gap:4px;font-size:13px;display:grid}.report-tabs{flex-wrap:wrap}@media print{.nav,.report-tabs,.report-filters,.detail-actions,.button-link{display:none!important}.wrap{max-width:none;padding:0}}@media (max-width:760px){.invoice-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-panel{grid-template-columns:1fr}.detail-heading{flex-direction:column;align-items:stretch}.bank-import-form,.categorise-form,.exclude-form{grid-template-columns:1fr}.queue-heading,.suggestion{flex-direction:column;align-items:stretch}}
@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../media/cf9d54c4342bfde9-s.2luydo5uehvh-.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c26308a965d8ee8a-s.1q1056bo3qtcm.woff2)format("woff2");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:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d03928121523449c-s.3lswex48iwfpe.woff2)format("woff2");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:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1ccf8ef962b3f693-s.p.0gwn7w9k-i020.woff2)format("woff2");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:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../media/664b8486c44baa2d-s.02rcwld1m-ji4.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c5ac7bd8b2d9fce6-s.17ncvpysp7y4m.woff2)format("woff2");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:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8457265da2739722-s.23gs_p123xcz8.woff2)format("woff2");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:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../media/dc0c65e819e3bb6c-s.p.1d4mg4yt567i3.woff2)format("woff2");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:Chakra Petch Fallback;src:local(Arial);ascent-override:96.77%;descent-override:30.05%;line-gap-override:0.0%;size-adjust:102.51%}.chakra_petch_afc5f33e-module__cXbEHa__className{font-family:Chakra Petch,Chakra Petch Fallback;font-style:normal}.chakra_petch_afc5f33e-module__cXbEHa__variable{--font-display:"Chakra Petch", "Chakra Petch Fallback"}
@font-face{font-family:"Exo 2";font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/f2e849d3553a0a52-s.3cx2yude7_-4j.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Exo 2";font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9cd5979df91f9479-s.0xfoyxlx1-tli.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Exo 2";font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/55fc17560cd417ba-s.2ake2acbwht_3.woff2)format("woff2");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:"Exo 2";font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/0d6fcb3e6b55e2a0-s.0q1uuwl_6kyai.woff2)format("woff2");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:"Exo 2";font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a626ed2fbe2db1bf-s.p.342nhdmq3f7um.woff2)format("woff2");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:"Exo 2 Fallback";src:local(Arial);ascent-override:97.88%;descent-override:19.69%;line-gap-override:0.0%;size-adjust:102.06%}.exo_2_305f5f2b-module__2xj2GW__className{font-family:"Exo 2","Exo 2 Fallback";font-style:normal}.exo_2_305f5f2b-module__2xj2GW__variable{--font-body:"Exo 2", "Exo 2 Fallback"}
