@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@500;600;650;700;750;800&display=swap");:root{--green:#006b4c;--green-dark:#004c38;--ink:#152c26;--muted:#687b74;--border:#dfe8e3;--bg:#f5f8f6;--blue:#2362bf;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:DM Sans,Arial,sans-serif;font-size:15px;color:var(--ink);line-height:1.5}button,input,select,textarea{font:inherit}a,button,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--border);background:white;color:var(--ink);border-radius:9px;min-height:44px;padding:10px 15px;font-weight:600;display:inline-flex;gap:8px;align-items:center;justify-content:center;transition:background .15s,border-color .15s,transform .15s}button:hover{background:#eef5f1;border-color:#b1cbbb}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible{outline:3px solid #60b79b;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #7dbda6;outline-offset:1px;border-color:var(--green)}input,select,textarea{width:100%;min-height:48px;border:1px solid #cedbd3;border-radius:9px;background:white;color:var(--ink);padding:11px 13px;min-width:0}input::placeholder{color:#8b9992}.brand,h1,h2,h3{font-family:Manrope,DM Sans,sans-serif}h1,h2,h3,p{margin:0}h1{font-size:31px;line-height:1.3;letter-spacing:-1.1px}h1,h2{font-weight:800}h2{font-size:19px;letter-spacing:-.4px}h3{font-size:17px}p,small{color:var(--muted)}small{font-size:12px}a{color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;padding:30px 20px;display:flex;flex-direction:column;background:var(--green-dark);color:#edf8f2;z-index:40}.brand{gap:10px;font-size:23px;text-decoration:none;font-weight:800;letter-spacing:-.6px;white-space:nowrap}.brand,.brand-mark{display:flex;align-items:center}.brand-mark{justify-content:center;border:1px solid #78a794;border-radius:9px;width:39px;height:43px}.brand small{display:block;font-family:DM Sans,sans-serif;font-size:7px;color:#a8cabc;letter-spacing:1.4px;margin-top:3px}.nav-caption{font-size:10px;letter-spacing:1.8px;color:#8bb7a4;margin:43px 12px 13px;font-weight:700}.sidebar nav{display:grid;gap:8px}.sidebar nav button{min-height:51px;border:0;justify-content:flex-start;text-align:left;background:transparent;color:#c5ddd0;font-size:13px;padding:12px 13px;gap:12px;border-radius:9px;font-weight:500}.sidebar nav button:hover{background:#ffffff0c}.sidebar nav button.active{background:#e2f3e8;color:var(--green-dark);font-weight:700}.active-dot{width:6px;height:6px;border-radius:50%;background:var(--green);margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:30px}.secure-note{border:1px solid #376e58;background:#0d5741;padding:13px 10px;display:flex;align-items:center;gap:8px;border-radius:10px;font-size:11px}.secure-note small{display:block;font-size:9px;color:#9dc5b2;margin-top:3px}.sidebar-bottom>a{display:flex;align-items:center;gap:8px;text-decoration:none;color:#adcbbb;font-size:12px;padding:18px 10px 0}.main-shell{margin-left:250px}.topbar{height:76px;justify-content:space-between;border-bottom:1px solid var(--border);background:#ffffff;padding:0 35px}.breadcrumb,.topbar{display:flex;align-items:center}.breadcrumb{gap:12px;font-size:12px}.breadcrumb>span{color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:9px}.online-dot{width:6px;height:6px;border-radius:50%;background:#41a16c}.saved-label{font-size:11px;color:var(--muted)}.avatar{width:34px;height:34px;border-radius:50%;background:#e7efe9;display:grid;place-items:center;margin-left:5px;font-size:13px;font-weight:700}.icon-button{padding:8px;min-height:38px;min-width:38px;border-color:transparent;background:transparent}.mobile-brand{display:none}.main-shell main{max-width:1440px;margin:auto;padding:32px 35px 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.7px;color:#6f8a7d;margin-bottom:7px}.page-heading p{font-size:13px;margin-top:8px}.date-pill{background:white;border:1px solid var(--border);border-radius:10px;font-size:13px;font-weight:600;padding:10px 15px;white-space:nowrap}.date-pill small{display:block;text-align:right;font-size:10px;font-weight:400}.info-strip{display:flex;align-items:center;gap:10px;padding:12px 15px;background:#eaf3f8;border:1px solid #d4e7ed;border-radius:9px;color:#375f70;font-size:12px;margin-bottom:22px}.info-strip>svg{flex-shrink:0}.strip-tag{margin-left:auto;white-space:nowrap;background:white;border:1px solid #cbdfe5;padding:3px 8px;border-radius:5px;font-size:10px;font-weight:700}.stats{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:15px;margin-bottom:25px}.stat{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:20px 18px;min-width:0;text-align:left;display:block}.stat>span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:var(--muted)}.stat strong{display:block;font-size:25px;letter-spacing:-.7px;margin-top:15px;font-family:Manrope,sans-serif}.stat strong small{font-size:11px;letter-spacing:0;font-weight:500}.stat p{font-size:10px;margin-top:12px;display:flex;align-items:center;gap:4px}.hero-stat{background:#e6f2ea;border-color:#cfe4d6}.hero-stat>span{color:#36705a}.hero-stat .money{margin-top:12px;color:var(--green)}.money>span{display:block;font-family:Manrope,sans-serif;font-size:27px;font-weight:800;letter-spacing:-.7px}.money small{font-size:12px;font-weight:500;color:inherit}.money .secondary-money{font-size:13px;letter-spacing:0;margin-top:3px;font-weight:600;color:#5b7f6d}.hero-stat button{font-size:10px;min-height:25px;background:transparent;border:0;padding:0;color:var(--green);margin-top:10px}.pending-stat strong{font-weight:700}.pending-stat>span svg{color:#b88a38}.pending-stat p{color:#876c38}.setup-card{background:#fffef7;border:1px solid #e9e5ce;border-radius:var(--radius);padding:22px;display:flex;align-items:center;justify-content:space-between;gap:25px}.setup-card p{font-size:12px;max-width:470px;margin-top:7px}.setup-actions{display:flex;gap:8px;flex-wrap:wrap}.setup-actions button{font-size:11px;white-space:nowrap}.setup-actions button>span{background:#edf3ea;color:var(--green);height:22px;width:22px;border-radius:50%;display:grid;place-items:center}.panel{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:23px;margin-bottom:23px;box-shadow:0 2px 3px #19332602}.panel>p{font-size:13px;margin:8px 0 18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.section-heading>span{color:var(--muted);font-size:11px}.section-heading p{font-size:11px;margin-top:4px}.actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.action{display:flex;align-items:center;justify-content:flex-start;min-height:65px;background:var(--green);border:1px solid var(--green);color:white;border-radius:10px;padding:17px 18px;font-size:14px;gap:11px}.action:hover{background:var(--green-dark);border-color:var(--green-dark)}.action>svg:last-child{margin-left:auto;opacity:.7}.action.secondary{background:#f4f8f5;color:var(--green-dark);border-color:#d8e7de}.action.secondary:hover{background:#e6f1e9}.transfer-link{width:100%;margin-top:15px;border:0;border-top:1px solid #eef2ef;border-radius:0;color:var(--green);background:white;font-size:12px;padding:15px 0 0;min-height:36px}.transfer-link>svg:last-child{margin-left:5px}.text-button{border:0;background:transparent;color:var(--green);font-size:12px;padding:5px 8px;min-height:36px}.table-wrap{overflow:auto;max-width:100%;scrollbar-width:thin}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{background:#f2f7f4;color:#6a7c72;text-align:left;font-size:10px;letter-spacing:.4px;font-weight:600;padding:12px 13px;border-bottom:1px solid var(--border)}th:first-child{border-radius:7px 0 0 0}th:last-child{border-radius:0 7px 0 0}td{padding:13px;border-bottom:1px solid #eef2ef}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfb}td>small{display:block;font-size:10px;margin-top:3px}td strong{font-size:12px}td .inline{display:inline}td>button{font-size:11px}.badge{display:inline-flex;padding:4px 9px;border-radius:6px;line-height:1.3;font-size:10px;font-weight:600}.badge.paid{background:#e5f4e9;color:#227548}.badge.partial{background:#fff3d4;color:#94731e}.badge.unpaid{background:#fceceb;color:#ac514c}.type-tag{display:inline-block;background:#f0f4f2;border:1px solid #e2eae5;color:#526e60;border-radius:5px;padding:3px 7px;font-size:10px;text-transform:capitalize}.type-tag.buy{background:#eaf3ff;border-color:#deebfb;color:#4674b1}.type-tag.sell{background:#e8f5ed;border-color:#dceee2;color:#27764f}.profit{color:#16754f}.loss{color:#bc4444}.dues-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dues-grid>button{justify-content:flex-start;align-items:center;gap:15px;padding:20px;border-radius:var(--radius);background:white;text-align:left}.dues-grid>button>svg{margin-left:auto;color:#7a9285;width:18px}.dues-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:12px;background:#eaf5ee;color:#40805d}.dues-icon.amber{background:#fcf2df;color:#a78942}.dues-grid b{font-size:12px}.dues-grid button div div{font-size:15px;margin-top:5px}.dues-grid .secondary-money{display:block;font-size:11px;color:var(--muted);margin-top:2px}.dues-grid small,.page-footer{font-size:10px}.page-footer{display:flex;align-items:center;gap:7px;color:#8b9d93;padding:30px 0 5px}.page-footer>span{margin-left:7px}.page-footer .footer-right{margin-left:auto}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px}.toolbar input{width:auto}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:var(--green-dark);border-color:var(--green-dark)}.primary.blue{background:#2269ad;border-color:#2269ad}.filters{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.filters>input,.filters>select{width:auto;font-size:12px}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:9px;background:white;padding:0 12px;flex:1;min-width:200px}.search svg{color:#82988b}.search input{border:0;padding-left:0;font-size:13px}.search:focus-within{outline:2px solid #a7ccba}.search input:focus{outline:none}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.person-card{display:block;text-align:left;border-radius:var(--radius);padding:22px;min-width:0}.person-title{display:flex;gap:12px;align-items:center}.person-title>svg{margin-left:auto}.person-title h2{font-size:16px}.person-title p{font-size:11px;font-weight:400}.person-avatar{width:40px;height:40px;border-radius:50%;background:#eaf3ee;display:grid;place-items:center;color:var(--green);font-size:19px;flex-shrink:0}.person-dues{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--border);margin-top:20px;padding-top:15px}.person-dues>div>small{display:block;font-weight:400;font-size:10px;margin-bottom:4px}.person-dues span{font-size:13px;display:block}.person-dues span small{font-size:9px}.person-dues .secondary-money{font-size:10px;color:var(--muted)}.ledger-dues{margin-bottom:20px}.ledger-dues>div{background:#edf7f0;padding:16px;border-radius:10px}.ledger-dues>div>b,.ledger-dues>div>span{display:block}.ledger-dues>div>span{font-size:22px}.ledger-dues>div>.secondary-money{font-size:14px}.account-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:23px}.account-card{display:block;border-radius:var(--radius);padding:23px;text-align:left}.account-card>div:first-child{display:flex;align-items:center;gap:10px}.account-card>div:first-child>svg:last-child{margin-left:auto}.account-card.selected{border-color:var(--green);background:#f0f8f3}.account-balances{display:grid;grid-template-columns:1fr 1fr;margin-top:24px;gap:12px}.account-balances small{display:block;font-size:9px;letter-spacing:1px}.account-balances strong{font-family:Manrope;font-size:25px;margin-top:4px;display:block}.report-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.report-grid .panel{min-width:0}.segments{display:inline-flex;background:#e9efeb;padding:4px;border-radius:9px;gap:3px}.segments button{border:0;background:transparent;min-width:85px;min-height:38px;font-size:13px}.segments .selected{background:white;color:var(--green);box-shadow:0 1px 4px #12362315}.report-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:center;gap:10px;padding:14px 4px;border-bottom:1px solid #e9efeb;font-size:13px}.report-row>b,.report-row>strong{text-align:right}.report-row.heading{color:var(--muted);font-size:11px;padding-top:0}.report-row.total{background:var(--green);color:white;padding:18px 12px;border-radius:9px;margin-top:12px}.report-row.total>b{text-align:left}.report-row.total>strong{font-size:19px;white-space:nowrap}.help{font-size:12px;color:var(--muted);line-height:1.6;margin:14px 0}.green{color:var(--green)}.conversion-total{background:#eff6f1;border-radius:9px;padding:12px;font-size:13px}.conversion-total small{display:block;margin-top:4px;font-size:10px}.cash-flow{margin-top:20px}.cash-flow>b{font-size:11px;letter-spacing:1px;background:#eaf2ee;padding:4px 8px;border-radius:5px}dl{margin:12px 0 20px}dl>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 0;font-size:13px}dt{color:var(--muted)}dd{margin:0;font-weight:600}.closing{border-top:1px solid var(--border);margin-top:5px;padding-top:10px}.closing dt{color:var(--ink);font-weight:700}.backup-panel{display:flex;align-items:flex-start;gap:22px}.backup-panel p{font-size:13px;max-width:620px;margin:10px 0 20px}.backup-icon{background:#e9f5ed;width:65px;height:65px;display:grid;place-items:center;border-radius:15px;color:var(--green);flex-shrink:0}.empty{padding:38px 20px;text-align:center;color:var(--muted);width:100%}.empty>div{display:grid;place-items:center;margin:0 auto 12px;width:55px;height:55px;border-radius:15px;background:#eff5f1;color:#84a28d}.empty h3{font-size:15px;color:#50695a}.empty p{font-size:12px;max-width:400px;margin:7px auto 0}.loading{padding:80px;text-align:center;color:var(--muted)}.mobile-nav{display:none}.modal-backdrop{position:fixed;inset:0;background:#102e2366;backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:22px;overflow-y:auto}.modal{background:#fff;width:590px;max-width:100%;max-height:calc(100dvh - 44px);overflow-y:auto;border-radius:20px;padding:27px;box-shadow:0 25px 100px #00251433}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.modal-header h2{font-size:23px}.field{display:block;margin-bottom:17px;min-width:0}.field>span{display:block;font-weight:600;margin-bottom:7px}.field select,.field>span{font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-summary{background:#e9f5ed;border:1px solid #d2e7d9;border-radius:12px;padding:17px;margin:0 0 20px;color:var(--green)}.form-summary>span{display:block;font-size:12px}.form-summary strong{display:block;font-size:25px;margin-top:2px}.form-summary small{display:block;margin-top:5px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:18px;border-top:1px solid var(--border);margin-top:20px}.modal-actions button{min-height:48px}.error{padding:14px;border:1px solid #edc4bf;background:#fff2f0;color:#ae3e37;border-radius:10px;margin-bottom:18px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.error button{margin-left:10px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:var(--green-dark);color:white;padding:14px 22px;box-shadow:0 5px 30px #00251230;border-radius:12px;z-index:200;font-size:13px;max-width:90vw}.review-card{text-align:center;padding:25px;background:#f3f8f4;border-radius:14px}.review-card>svg{color:var(--green)}.review-card h3,.review-card>svg{margin-bottom:15px}.review-card p{font-size:14px;margin:10px 0}.receipt-brand{display:flex;align-items:center;gap:9px;color:var(--green);font-weight:700;font-size:17px;margin-bottom:25px}.receipt-brand .badge{margin-left:auto}.receipt h3{font-size:24px}.receipt>p{font-size:12px;margin-top:7px}.receipt-amount{font-size:38px;font-family:Manrope;font-weight:800;margin:20px 0 0}.receipt-amount small{font-size:18px}.receipt dl{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0;margin-top:20px}.menu-backdrop{display:none}@media(min-width:1600px){.main-shell main{padding-top:45px}.stats{gap:22px}.stat{padding:25px}.action{min-height:74px}.panel{padding:26px}}@media(max-width:1250px){.sidebar{width:220px;padding:26px 15px}.main-shell{margin-left:220px}.brand{font-size:20px}.sidebar nav button{font-size:12px}.main-shell main{padding:25px}.topbar{padding:0 25px}.stats{grid-template-columns:repeat(2,1fr)}.stat strong{font-size:27px}.setup-card{display:block}.setup-actions{margin-top:18px}.actions-grid{gap:10px}.action{font-size:12px;padding:15px 12px}.people-grid{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr}.report-row.total>strong{font-size:23px}}@media(max-width:850px){.sidebar{display:none;z-index:90;width:260px}.sidebar.open{display:flex}.menu-backdrop{display:block;position:fixed;inset:0;background:#09241c66;z-index:80;border:0;border-radius:0}.main-shell{margin-left:0}.topbar{height:67px;padding:0 17px;position:sticky;top:0;z-index:50}.mobile-brand{display:flex;align-items:center;gap:9px;color:var(--green-dark);font-size:18px}.mobile-brand>.icon-button{margin-left:-7px}.breadcrumb{display:none}.topbar-right{gap:5px}.avatar{display:none}.saved-label{font-size:10px}.main-shell main{padding:23px 20px 90px}.page-heading{margin-bottom:20px}.page-heading h1{font-size:27px}.page-heading .eyebrow{font-size:8px}.page-heading p{font-size:12px}.date-pill{display:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dce7df;z-index:60;padding:8px 10px max(8px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{border:0;background:transparent;flex-direction:column;font-size:10px;padding:7px 16px;gap:4px;color:#6d8174;min-width:65px}.mobile-nav button.active{color:var(--green);background:#eaf4ed}.toast{bottom:90px}.page-footer .footer-right{display:none}.page-footer>span{font-size:9px}.stat p{font-size:10px}.dues-grid{gap:12px}.dues-grid>button{padding:15px;gap:10px}.dues-icon{width:34px;height:34px}.dues-icon svg{width:20px}.dues-grid>button>svg{display:none}.dues-grid b{font-size:11px}}@media(max-width:550px){body{font-size:15px}.main-shell main{padding:20px 15px 90px}.topbar{padding:0 13px}.saved-label{display:none}.stats{gap:10px;grid-template-columns:1fr 1fr}.hero-stat{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;column-gap:20px;padding:20px}.hero-stat>span{width:100%}.hero-stat .money{flex:1}.hero-stat .money>span{font-size:32px}.hero-stat .money>.secondary-money{font-size:14px}.hero-stat button{font-size:11px;margin-top:20px}.stat{padding:16px 14px;border-radius:12px}.stat>span{font-size:11px}.stat strong{font-size:25px;margin-top:12px;overflow-wrap:anywhere}.stat strong small{font-size:10px}.pending-stat{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 15px}.pending-stat>span{flex:1}.pending-stat strong{font-size:19px;margin:0}.pending-stat p{display:none}.info-strip{font-size:11px;padding:12px;align-items:flex-start;line-height:1.6;margin-bottom:17px}.strip-tag{display:none}.setup-card{padding:18px}.setup-card h2{font-size:18px}.setup-actions{gap:7px}.setup-actions button{padding:9px;flex:1;font-size:10px}.setup-actions button>span{display:none}.panel{padding:17px;border-radius:14px;margin-bottom:18px}.section-heading{margin-bottom:16px}.section-heading h2{font-size:17px}.section-heading>span{display:none}.section-heading .text-button{white-space:nowrap;font-size:11px}.actions-grid{grid-template-columns:1fr 1fr;gap:10px}.action{min-height:75px;padding:13px 10px;gap:7px;font-size:13px;flex-direction:column;justify-content:center;text-align:center}.action>svg:last-child{display:none}.transfer-link{font-size:12px;min-height:47px}.dues-grid{grid-template-columns:1fr;gap:10px}.dues-grid>button{padding:17px}.dues-grid>button>svg{display:block}.dues-grid b{font-size:13px}.dues-grid>button>div{flex:1}.dues-grid button div div{display:flex;justify-content:space-between;align-items:center;gap:10px}.dues-grid .secondary-money{font-size:11px}.toolbar{gap:8px}.toolbar button{font-size:12px;padding:10px 12px;flex-grow:1}.toolbar>.search,.toolbar>input{width:100%}.filters>*{flex:1;min-width:130px}.filters .search{flex-basis:100%}.filters>button{font-size:12px}.account-grid,.people-grid{grid-template-columns:1fr}.person-title h2{font-size:18px}.person-card{padding:20px}.person-dues span{font-size:17px}.person-dues .secondary-money{font-size:12px}.account-balances strong{font-size:27px}.report-row{font-size:12px;gap:7px;grid-template-columns:1.2fr 1fr 1fr}.report-row.total>strong{font-size:17px}.report-row.total{padding:16px 8px}.backup-panel{display:block}.backup-icon{margin-bottom:18px}.page-footer{font-size:9px}.page-footer>span{font-size:8px}.form-grid{grid-template-columns:1fr;gap:0}.modal-backdrop{padding:10px}.modal{padding:21px 19px;border-radius:17px;max-height:calc(100dvh - 20px)}.modal-header h2{font-size:23px}.modal-header{margin-bottom:20px}.field>span{font-size:14px}.field input,.field select{font-size:16px;min-height:52px}.modal-actions{position:sticky;bottom:-21px;background:white;padding:14px 0 21px;margin-bottom:-21px}.modal-actions .primary{flex:1}.review-card{padding:20px 15px}.empty{padding:30px 10px}.table-wrap{margin:0 -4px}th{font-size:10px;padding:11px 9px}td{padding:12px 9px}.report-grid{gap:0}.cash-flow dl>div{font-size:14px}}@media print{body{background:white}.menu-backdrop,.mobile-nav,.modal-actions,.modal-header>.icon-button,.page-footer,.sidebar,.text-button,.toast,.toolbar,.topbar{display:none!important}.main-shell{margin:0}.main-shell main{padding:0}.panel{box-shadow:none;break-inside:avoid}.modal-backdrop{position:absolute;display:block;background:white;backdrop-filter:none;padding:0;overflow:visible}.modal{max-height:none;overflow:visible;box-shadow:none;width:100%;border-radius:0;padding:20px}.app-shell:has(.modal-backdrop)>.main-shell{display:none}.modal-header{border-bottom:1px solid #ccc;padding-bottom:20px}.stats{grid-template-columns:repeat(2,1fr)}.report-grid{display:block}.report-row.total{color:black;border:1px solid #aaa;background:#eee}}.date-field{position:relative}.date-field>span{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.date-trigger{width:100%;justify-content:flex-start;min-height:50px;padding:12px 14px;font-weight:500}.date-trigger>svg{color:var(--green)}.date-trigger-hint{margin-left:auto;color:var(--muted);font-size:11px}.date-trigger.placeholder{color:var(--muted)}.calendar-popover{position:relative;margin-top:9px;width:100%;max-width:360px;background:white;border:1px solid #c6dace;box-shadow:0 8px 30px #123b2318;border-radius:14px;overflow:hidden;z-index:20}.calendar-hero{background:var(--green);color:white;text-align:center;padding:17px 35px 15px;position:relative}.calendar-hero span{font-size:11px;display:block;color:#d2e8da}.calendar-hero strong{display:block;font-size:18px;margin-top:5px;font-weight:600}.calendar-hero b{display:block;font-family:Manrope,Arial,sans-serif;font-size:44px;line-height:1.3;font-weight:700}.calendar-hero small{font-size:15px;display:block;color:#d9eade;margin-top:1px}.calendar-close{position:absolute;right:8px;top:8px;min-height:32px;min-width:32px;padding:5px;background:transparent;color:white;border:0}.calendar-close:hover{background:#ffffff22}.calendar-body{padding:11px 14px 8px}.calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:12px}.calendar-navigation>button{border:0;min-width:36px;min-height:38px;padding:7px}.calendar-navigation>div{display:flex;justify-content:center;gap:2px;min-width:0}.calendar-navigation select{border:0;background:transparent;font-size:13px;font-weight:600;min-height:40px;padding:5px 2px;width:auto;max-width:120px}.calendar-days,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.calendar-weekdays span{font-size:11px;color:#819387;font-weight:600;padding:5px 0 8px}.calendar-days button{border:0;min-width:0;min-height:39px;aspect-ratio:1;padding:3px;font-weight:500;font-size:13px;border-radius:8px;background:#f5f8f6}.calendar-days button:hover{background:#e1efe6}.calendar-days button.today{box-shadow:inset 0 0 0 1px #9cbda9}.calendar-days button.selected,.calendar-months button.selected{background:var(--green);color:white;font-weight:700}.calendar-days button:disabled{background:#fafbfa;color:#b8c3bc;opacity:.8}.calendar-footer{display:flex;justify-content:flex-end;border-top:1px solid #e8efea;margin-top:10px;padding-top:5px;gap:8px}.calendar-footer button{border:0;color:var(--green);font-size:12px;min-height:36px;padding:8px 12px}.calendar-months{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:6px 0 10px}.calendar-months button{font-size:13px;min-height:45px}.filters>.date-field,.toolbar>.date-field{margin:0;min-width:220px;flex:0 1 250px}.filters>.date-field>span,.toolbar>.date-field>span{font-size:10px;margin-bottom:4px}.filters>.date-field .calendar-popover,.toolbar>.date-field .calendar-popover{position:absolute;min-width:310px;top:100%;left:0}.previous-rate{margin:-9px 0 17px;padding:3px 0;font-size:11px}@media(max-width:550px){.date-field>span{font-size:14px}.date-trigger{font-size:16px;min-height:52px}.calendar-days button{font-size:14px;min-height:39px}.calendar-navigation select{font-size:14px!important;min-height:40px!important}.calendar-popover{max-width:none}.filters>.date-field,.toolbar>.date-field{flex-basis:100%;width:100%;min-width:0}.filters>.date-field .calendar-popover,.toolbar>.date-field .calendar-popover{position:relative;min-width:0;top:auto}.calendar-footer button{flex-grow:0}.calendar-navigation>button{flex-grow:0;min-width:35px;padding:5px}.calendar-months button{flex-grow:0}.calendar-hero{padding-top:14px}.calendar-hero b{font-size:40px}}.guest-notice{display:flex;align-items:center;gap:9px;border:1px solid #cfdfd4;background:#eaf4ed;color:#35664d;font-size:11px;padding:10px 13px;border-radius:9px;margin-bottom:20px}.guest-notice svg{flex-shrink:0}.access-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:25px;background:#f4f8f5}.access-card{max-width:470px;width:100%;background:white;padding:40px 32px;border:1px solid #dbe7df;border-radius:22px;text-align:center;box-shadow:0 12px 50px #163b2410}.access-logo{width:64px;height:64px;border-radius:17px;background:#006b4c;color:white;display:grid;place-items:center;margin:0 auto 24px}.access-card h1{font-size:26px;margin:10px 0 16px}.access-card>p{font-size:14px;line-height:1.7}.access-help{display:flex;align-items:center;gap:9px;text-align:left;color:#5b7767;font-size:12px;border-top:1px solid #e5eee8;padding-top:18px;margin-top:22px}.access-help svg{flex-shrink:0}@media(max-width:550px){.guest-notice{font-size:10px}.access-card{padding:30px 22px}}.automatic-currency input{background:#edf6f0;border-color:#cfe0d5;color:#18583c;font-weight:600}.automatic-currency input::placeholder{font-size:12px;font-weight:400;color:#71887a}.currency-pair-help{font-size:11px;color:#648170;margin:-5px 0 18px;line-height:1.5}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;margin-bottom:24px}.quick-actions>.action{min-height:64px}.quick-actions>.action:first-child{background:var(--green);color:white}.quick-actions>.action span{flex:1}.transaction-choices{display:grid;gap:16px}.transaction-choices button{display:flex;flex-direction:column;min-height:90px;font-size:19px}.transaction-choices small{color:inherit;font-weight:400}.step-fields{border:0;padding:0;margin:0;min-width:0}.step-fields[hidden]{display:none!important}.form-steps{display:flex;list-style:none;padding:0;margin:4px 0 28px;gap:8px;counter-reset:step}.form-steps li{flex:1;font-size:13px;border-bottom:3px solid var(--border);padding:8px 0;color:var(--muted)}.form-steps li.current{color:var(--green);border-color:var(--green);font-weight:700}.payment-choice{border:0;padding:0;margin:0 0 12px}.payment-choice legend{font-size:17px;font-weight:700;margin-bottom:12px}.payment-choice .segments{display:flex;width:100%;gap:8px;background:none}.payment-choice button{flex:1;min-height:54px;border:1px solid var(--border)}.payment-choice button.selected{background:var(--green);color:white}.profit-explainer{background:#edf6f0;border-radius:10px;padding:16px;margin:16px 0;line-height:1.7}.profit-explainer small{display:block;margin-top:8px;font-size:13px}.closing-record,.count-row{padding:18px 0;border-bottom:1px solid var(--border)}.count-row .field{margin-bottom:4px}.count-row p{font-size:14px}.allocation-row{display:flex;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--border)}.stat strong{overflow-wrap:normal;word-break:normal;font-variant-numeric:tabular-nums}.receipt .segments{margin-bottom:20px}.receipt .segments button[aria-pressed=true]{background:var(--green);color:white}.currency-pair-help,.help{font-size:14px;color:#4f685b}.previous-rate{font-size:14px;min-height:44px}.hero-stat p{font-size:13px}.modal .form-summary{margin:16px 0}.closing-record p{margin:8px 0}@media(max-width:800px){.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions>.action:first-child{grid-column:1/-1}.quick-actions>.action{padding:14px;gap:8px}.quick-actions>button:last-child{grid-column:1/-1}.stats{grid-template-columns:1fr!important}.stat strong{font-size:clamp(21px,6vw,30px);white-space:nowrap}.stat{min-width:0}.form-steps li{font-size:12px}.form-steps{gap:10px}.modal-header h2{font-size:24px}.modal .field>span{font-size:16px}.modal-actions button{min-height:52px}.guest-notice{font-size:12px}.page-heading{margin-bottom:18px}}@media print{.form-steps,.no-print,.private-detail,.quick-actions,.receipt .toolbar{display:none!important}}.day-summary{padding:14px;background:#edf6f0;border-radius:10px;margin-bottom:20px}.day-summary summary{font-weight:700;cursor:pointer;min-height:44px;display:flex;align-items:center}.day-summary p{margin-top:12px}.day-summary>span{display:block}.login-shell{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-intro{background:#004c38;color:white;padding:48px 60px;display:flex;flex-direction:column;justify-content:space-between;gap:50px}.login-brand{display:inline-flex;align-items:center;gap:10px;font-size:25px;font-weight:800;text-decoration:none}.login-brand svg{width:30px;height:30px}.login-intro .eyebrow{color:#a5d5b9}.login-intro h1{font-size:clamp(32px,4vw,54px);margin:15px 0 24px;letter-spacing:-1.8px}.login-intro p{color:#cde6d8;font-size:18px;line-height:1.8}.login-intro small{color:#b7d8c6}.login-benefits{display:grid;gap:16px;margin-top:35px;color:#d9ede2;font-size:15px}.login-form-wrap{display:flex;justify-content:center;align-items:center;padding:45px 30px;background:#f7faf8}.login-card{width:100%;max-width:430px}.login-card h2{font-size:30px;letter-spacing:-1px;margin:20px 0 10px}.login-card>p{font-size:16px;margin-bottom:28px}.login-icon{width:52px;height:52px;background:#e0eee5;color:var(--green);display:grid;place-items:center;border-radius:14px}.login-icon svg{width:27px;height:27px}.login-card .field span{font-size:16px}.login-card input{font-size:17px;min-height:54px}.password-input{display:flex;border:1px solid #cedbd3;border-radius:9px;background:white}.password-input input{border:0;min-width:0}.password-input button{border:0;min-width:48px;background:transparent}.login-link,.login-submit{width:100%;min-height:54px;font-size:17px;margin:6px 0 14px}.login-link{display:flex;justify-content:center;align-items:center;text-decoration:none;border-radius:9px;gap:10px}.login-help{width:100%;font-size:14px}.login-footer{display:flex;gap:7px;align-items:center;justify-content:center;border-top:1px solid var(--border);margin-top:28px;padding-top:20px;color:var(--muted);font-size:13px}.mfa-setup img{display:block;max-width:100%;margin:15px auto}.mfa-setup p{margin:16px 0 10px}.mfa-setup code{overflow-wrap:anywhere}.backup-codes{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;background:white;border:1px solid var(--border);border-radius:8px;font-size:13px}.admin-shell{min-height:100vh}.admin-top{display:flex;align-items:center;justify-content:space-between;padding:24px 40px;background:#004c38;color:white}.admin-top>a:last-child{display:flex;align-items:center;gap:7px}.admin-top small{font-size:10px;border:1px solid #73aa8e;padding:4px 8px;border-radius:4px}.admin-main{max-width:1200px;margin:auto;padding:40px 30px}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.admin-heading p{margin-top:8px}.admin-notice{display:flex;align-items:center;gap:12px;padding:18px;background:#e8f3ed;border-radius:12px;margin-bottom:25px;color:#245a40}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.admin-stats button{display:flex;align-items:flex-start;flex-direction:column;padding:18px}.admin-stats button[aria-pressed=true]{border-color:var(--green);background:#e9f5ee}.admin-stats strong{font-size:28px}.admin-stats span{text-transform:capitalize;color:var(--muted)}.admin-users{display:grid;grid-template-columns:1fr 1fr;gap:18px}.user-card h2{margin-top:15px}.user-card p{margin:8px 0}.user-card .toolbar{margin-top:20px}.invite-result input{margin:18px 0}.invite-result button{margin-right:8px}.success-note{color:var(--green);padding:12px 0}.access-buttons{display:flex;gap:10px;margin:22px 0}.audit-row{padding:10px;border-bottom:1px solid var(--border);font-size:14px}.admin-main .modal h2{margin-bottom:12px}.admin-main .modal>p{margin-bottom:22px}.business-banner{display:flex;align-items:center;gap:10px;background:#e5f2e9;padding:14px 18px;border-radius:12px;margin-bottom:20px;color:#14573a}.business-banner span{margin-left:auto;font-size:12px;color:var(--muted)}@media(max-width:800px){.login-shell{grid-template-columns:1fr}.login-intro{padding:22px 24px;gap:0}.login-intro>div,.login-intro>small{display:none}.login-form-wrap{padding:32px 24px;align-items:flex-start}.login-card h2{font-size:28px}.admin-top{padding:18px}.admin-top .login-brand{font-size:20px}.admin-main{padding:25px 16px}.admin-heading{flex-direction:column;align-items:stretch}.admin-heading h1{font-size:27px}.admin-stats{grid-template-columns:1fr 1fr;gap:10px}.admin-users{grid-template-columns:1fr}.admin-main .filters{flex-wrap:wrap}.admin-main .search{width:100%}.admin-main .modal{padding:24px 20px}.business-banner{flex-wrap:wrap}.business-banner span{margin-left:0;width:100%;padding-left:30px}.access-buttons{flex-direction:column}}.person-search{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--muted)}.person-search input{min-height:46px;font-size:15px}.inline-person{border:1px solid #b5d8c2;border-radius:12px;padding:16px;margin-bottom:20px;background:#f2f8f4}.inline-person p{font-size:13px;margin-top:10px}.review-dues{padding:12px;background:#e7f2eb;border-radius:8px;margin-top:14px}.saved-label{display:inline!important}@media(max-width:550px){.saved-label{font-size:10px;max-width:72px;line-height:1.3}}.quick-help summary{cursor:pointer;font-weight:700;font-size:16px;min-height:44px;align-content:center}.quick-help p{margin:14px 0}.setup-card{margin-bottom:24px}