:root{font-family:Inter,Arial,system-ui,-apple-system,sans-serif;color:#10112b;background:#fcfcfe;font-synthesis:none;--navy:#242653;--ink:#10112b;--muted:#767887;--red:#dc2637;--line:#ebebf1;--soft:#f2f2f7}
*{box-sizing:border-box}body{margin:0}main{max-width:780px;margin:auto;padding:40px 24px 128px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{border:0;min-height:48px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;background:var(--navy);color:#fff;font-weight:700;cursor:pointer;transition:background .15s,box-shadow .15s}button:hover{background:#31346d}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #7883d2;outline-offset:3px}a{color:#3246a2;text-underline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:25px;line-height:1.25;margin-bottom:7px;letter-spacing:-.7px}h2{font-size:24px;letter-spacing:-.65px;line-height:1.2;margin-bottom:22px}h3{font-size:17px;margin:28px 0 16px}p{line-height:1.55}.muted{color:var(--muted);font-size:14px}.hidden{display:none!important}.full-width{width:100%}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.site-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:30px}.brand{min-width:0}.company{font-size:30px;font-weight:850;letter-spacing:-1.1px;line-height:1.12;margin:0 0 6px;color:#07082c}.brand-caption{font-size:16px;line-height:1.4;margin:0;color:#84848e}.logout{background:transparent;color:var(--muted);min-height:40px;font-size:12px;padding:9px 0 9px 10px;gap:5px;flex-shrink:0}.logout .icon{width:17px;height:17px}.logout:hover{background:transparent;color:var(--navy)}
.balance{border-radius:19px;background:var(--navy);color:white;padding:27px 29px 25px;box-shadow:0 6px 20px #2426530a}.balance-heading{display:flex;align-items:center;justify-content:space-between;color:#e5e5f2;font-size:20px;font-weight:500}.balance-heading .icon{width:33px;height:33px;opacity:.55;stroke-width:1.6}.balance>strong{font-size:clamp(37px,8vw,64px);line-height:1.15;letter-spacing:-2px;display:block;margin:17px 0 25px;font-weight:750;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.balance-totals{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff36;padding-top:20px;gap:22px}.balance-totals>div+div{border-left:1px solid #ffffff36;padding-left:24px}.balance-totals span{font-size:16px;color:#d7d7e8;display:block;margin-bottom:5px}.balance-totals b{font-size:25px;letter-spacing:-.6px;line-height:1.25;display:block;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.quick-actions button{min-height:64px;font-size:24px;border-radius:13px;gap:14px}.quick-actions .icon{width:29px;height:29px;stroke-width:3}.expense-action{background:var(--red)}.expense-action:hover{background:#c91f30}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:13px 0 24px}.pill{font-size:12px;color:var(--muted)}.text-button{background:transparent;color:var(--muted);min-height:36px;font-weight:500;font-size:12px;padding:8px 0 8px 12px;gap:5px}.text-button .icon{width:15px;height:15px}.text-button:hover{background:transparent;color:var(--navy)}
.main-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,780px);display:flex;padding:9px 20px calc(12px + env(safe-area-inset-bottom));background:#fff;border:1px solid #f2f2f7;border-bottom:0;border-radius:23px 23px 0 0;box-shadow:0 -5px 30px #24265306;gap:8px}.main-nav button{position:relative;flex:1;min-width:0;background:transparent;color:#8b8c99;display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:500;min-height:65px;padding:8px 2px 12px;border-radius:0}.main-nav button .icon{height:25px;width:25px;stroke-width:1.9}.main-nav button.active{color:#171a50;font-weight:700}.main-nav button.active:after{content:"";position:absolute;bottom:0;width:34px;height:4px;border-radius:8px;background:var(--red)}.main-nav button:hover{color:var(--navy)}
.history-section h2{margin:0 0 19px}.txn{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 17px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:11px}.txn-icon{width:48px;height:52px;border-radius:11px;background:var(--soft);display:flex;align-items:center;justify-content:center;color:var(--navy)}.txn-icon .icon{width:29px;height:29px;stroke-width:1.9}.txn-info{min-width:0}.txn-category{font-size:17px;line-height:1.25;font-weight:750;margin:0 0 5px;overflow-wrap:anywhere}.txn-description{color:#6b6d7d;font-size:13px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 7px}.txn-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#8a8a96;font-size:12px;line-height:1.4}.txn-meta .icon{width:13px;height:15px;stroke-width:1.7}.receipt-link{color:#318356;text-decoration:none;white-space:nowrap}.receipt-link:hover{text-decoration:underline}.receipt-link:before{content:"·";margin-right:6px;color:#aaa}.money{font-size:21px;font-weight:750;letter-spacing:-.6px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.income{color:#253e9f}.expense{color:#d71f35}.empty-state{padding:28px 20px;text-align:center;border:1px dashed #dcdde9;border-radius:14px;line-height:1.6}.secondary{background:var(--soft);color:var(--navy)}.secondary:hover{background:#e9e9f3}
.card{background:white;border:1px solid var(--line);border-radius:18px;padding:27px;margin:0 0 18px;box-shadow:0 4px 16px #24265303}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:23px}.section-heading h2{margin:0}.heading-icon{width:43px;height:43px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--soft);color:var(--navy);border-radius:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid>div{min-width:0}label{display:block;color:#39394e;font-size:13px;font-weight:650;margin-bottom:7px}input,select,textarea{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #dddde7;border-radius:10px;padding:13px 12px;margin:0 0 21px;background:#fff;color:var(--ink);font-size:16px;line-height:1.4}input:focus,select:focus,textarea:focus{outline:none;border-color:#555993;box-shadow:0 0 0 3px #2426530a}input::placeholder,textarea::placeholder{color:#a0a0af}textarea{resize:vertical;min-height:90px}input:read-only{background:#f6f6fa;color:#656578}input[type=file]{font-size:13px;padding:12px;background:#fafafd;line-height:1.7}input::file-selector-button{border:0;border-radius:6px;background:#e9e9f2;color:var(--navy);padding:8px 9px;margin-right:10px;font-weight:600}input[type=date],input[type=month]{min-height:50px}.auth-card{max-width:500px;margin:38px auto}.auth-card .muted{margin-bottom:24px}.auth-card #inviteHint{margin:17px 0 0;font-size:12px}.invitation-box{padding:16px;background:#f7f7fb;border-radius:12px;margin-top:22px}#inviteLink{font-size:12px}.access-note{margin:22px 0 0;font-size:12px}.member-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.member-row span{overflow-wrap:anywhere;min-width:0;flex:1}.member-row button{font-size:12px;min-height:36px;padding:9px 12px}.report-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:17px 0;margin:0;font-size:15px;color:#747585}.report-line b{font-size:22px;color:var(--ink);letter-spacing:-.5px;overflow-wrap:anywhere;text-align:right}.report-line.total{border:0;background:var(--soft);padding:17px 14px;border-radius:11px;margin:14px 0;color:var(--navy)}.report-line.total b{color:var(--navy)}.report-count{font-size:12px;color:var(--muted);margin:16px 0 23px}#notice{font-size:13px;color:var(--navy);background:#ededf6;border-left:3px solid var(--navy);border-radius:8px;padding:13px 15px;margin:0 0 20px}#notice:empty{display:none}
@media(max-width:600px){main{padding:27px 16px 112px}.site-header{margin-bottom:25px;gap:8px}.company{font-size:25px;letter-spacing:-1px}h1{font-size:22px;margin-bottom:6px}.brand-caption{font-size:13px}.logout{padding-top:1px;min-height:32px}.logout span{display:none}.logout .icon{width:19px;height:19px}.balance{padding:22px 21px 21px;border-radius:16px}.balance-heading{font-size:17px}.balance-heading .icon{width:28px;height:28px}.balance>strong{font-size:clamp(30px,10.2vw,57px);letter-spacing:-1.7px;margin:16px 0 22px}.balance-totals{padding-top:17px;gap:16px}.balance-totals>div+div{padding-left:18px}.balance-totals span{font-size:14px}.balance-totals b{font-size:21px;letter-spacing:-.6px}.quick-actions{gap:10px;margin-top:12px}.quick-actions button{font-size:21px;min-height:57px;gap:10px;padding:12px}.quick-actions .icon{width:25px;height:25px}.toolbar{margin:11px 0 21px}.pill,.text-button{font-size:11px}h2{font-size:21px}.txn{grid-template-columns:42px minmax(0,1fr) auto;gap:10px;padding:14px 12px;border-radius:13px}.txn-icon{width:42px;height:48px}.txn-icon .icon{width:26px;height:26px}.txn-category{font-size:15px}.txn-description{font-size:12px}.txn-meta{font-size:11px;gap:4px}.money{font-size:18px;letter-spacing:-.6px}.card{padding:21px 17px;border-radius:16px}.section-heading{gap:10px}.heading-icon{height:37px;width:37px}.main-nav{padding-left:12px;padding-right:12px;gap:3px}.main-nav button{font-size:12px;min-height:62px}.auth-card{margin-top:30px}.report-line b{font-size:19px}}
@media(max-width:360px){main{padding-left:12px;padding-right:12px}.company{font-size:23px}.brand-caption{font-size:12px}.balance-totals b{font-size:18px}.txn{grid-template-columns:36px minmax(0,1fr);gap:8px}.txn-icon{width:36px;grid-row:1/3}.txn .money{grid-column:2;text-align:left;margin-top:0}.form-grid{grid-template-columns:1fr;gap:0}.quick-actions button{font-size:19px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.site-header{position:relative;display:block}.brand-lockup{display:flex;align-items:center;gap:19px}.brand-logo{display:block;width:108px;height:auto;aspect-ratio:726/730;object-fit:contain;flex-shrink:0}.site-header .logout{position:absolute;top:-14px;right:0}.brand-lockup .company{font-size:28px}.brand-lockup .brand-caption{font-size:14px}
@media(max-width:600px){.brand-lockup{gap:13px}.brand-logo{width:84px}.brand-lockup .company{font-size:22px;letter-spacing:-.8px;white-space:nowrap}.brand-lockup h1{font-size:20px;margin-bottom:6px}.brand-lockup .brand-caption{font-size:12px;line-height:1.35}}
@media(max-width:360px){.brand-lockup{gap:10px}.brand-logo{width:72px}.brand-lockup .company{font-size:19px;letter-spacing:-.7px}.brand-lockup h1{font-size:18px}.brand-lockup .brand-caption{font-size:11px}}
