:root{color:#18302d;font-synthesis:none;background:#f4f3ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.primary,.secondary,.danger{border-radius:12px;padding:12px 18px;font-weight:750}.primary{color:#fff;background:#0f766e;border:0}.secondary{color:#0f615a;background:#fff;border:1px solid #b9cbc6}.danger{color:#a1362b;background:#fff6f5;border:1px solid #dd9b93}.auth-shell{background:radial-gradient(circle at top,#d9efea,#f4f3ed 55%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #d9dfdc;border-radius:28px;width:min(100%,430px);padding:40px;box-shadow:0 24px 70px #22443d1a}.brand-mark{color:#fff;background:#0f766e;border-radius:13px;place-items:center;width:42px;height:42px;font-weight:800;display:inline-grid}.eyebrow{color:#0f766e;letter-spacing:.14em;text-transform:uppercase;margin:22px 0 6px;font-size:.75rem;font-weight:800}h1{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,5vw,3.2rem)}.muted{color:#677773}.login-actions{gap:12px;margin:28px 0;display:grid}.login-actions button{color:#fff;background:#0f766e;border:0;border-radius:12px;padding:14px 18px;font-weight:750}.connectivity{align-items:center;gap:6px;font-size:.82rem;font-weight:700;display:inline-flex}.connectivity:before{content:"";background:#2ca66f;border-radius:50%;width:8px;height:8px}.connectivity.offline:before{background:#d87937}.app-shell{grid-template:"top top"72px"nav main"1fr/220px 1fr;min-height:100vh;display:grid}.topbar{background:#fff;border-bottom:1px solid #dfe5e2;grid-area:top;justify-content:space-between;align-items:center;padding:0 28px;display:flex}.brand{color:inherit;align-items:center;gap:12px;font-weight:850;text-decoration:none;display:flex}.session{align-items:center;gap:16px;display:flex}.quiet{color:#0f766e;background:0 0;border:0}.navigation{background:#173d38;flex-direction:column;grid-area:nav;gap:8px;padding:28px 18px;display:flex}.navigation a{color:#dcebe7;border-radius:10px;padding:12px 16px;font-weight:700;text-decoration:none}.navigation a,.navigation button{align-items:center;gap:10px;display:flex}.navigation a>span:first-child,.navigation button>span:first-child{text-align:center;width:22px}.navigation .central-action{color:#fff;background:#0f766e}.navigation button{color:#dcebe7;text-align:left;background:0 0;border:0;border-radius:10px;padding:12px 16px;font-weight:700}.navigation a:first-child,.navigation a:hover{color:#fff;background:#ffffff18}.content{grid-area:main;width:min(100%,1000px);padding:50px clamp(24px,6vw,72px)}.empty-state{max-width:560px;padding-top:8vh}.empty-state .primary{margin-top:20px}.ledger-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.balance-card{background:#fff;border:1px solid #dfe5e2;border-radius:22px;margin-top:32px;padding:30px}.balance-card p{margin:0 0 8px}.balance-card strong{font-size:2.4rem}.balance-card.low,.balance-card.negative{border-width:2px}.balance-card.low{border-color:#c98324}.balance-card.negative{border-color:#b53d31}.balance-warning{color:#9d342a;font-weight:850}.balance-card .primary{margin-top:18px}.recent-card{background:#fff;border:1px solid #dfe5e2;border-radius:18px;margin-top:20px;padding:22px}.recent-card h2{margin-top:0}.recent-card ul{margin:0;padding:0;list-style:none}.recent-card li{border-top:1px solid #e5eae8;justify-content:space-between;padding:12px 0;display:flex}.record-list{gap:8px;max-height:52vh;padding:0;list-style:none;display:grid;overflow-y:auto}.record-list li{border:1px solid #dfe5e2;border-radius:12px;grid-template-columns:1fr auto;gap:8px 16px;padding:14px;display:grid}.record-list span{color:#677773;margin-top:4px;font-size:.84rem;display:block}.record-actions{grid-column:1/-1}.delete-confirmation{background:#fff6f5;border:1px solid #d99b94;border-radius:12px;gap:12px;padding:16px;display:grid}.delete-confirmation label{gap:8px;display:grid}.notification-item,.month-close-card{background:#f8faf9;border:1px solid #dfe5e2;border-radius:12px;margin-top:14px;padding:16px}.notification-item{justify-content:space-between;display:flex}.notification-item span{color:#9a5a21;font-weight:750}.decision-actions{gap:10px;display:flex}.analytics-dialog{width:min(100%,900px)}.period-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;display:grid}.period-form label{gap:6px;display:grid}.analytics-summary{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;display:grid}.analytics-summary span{background:#eef4f1;border-radius:10px;padding:12px}.analytics-summary strong{display:block}.chart{width:100%;height:260px}.analytics-dialog table{border-collapse:collapse;width:100%}.analytics-dialog caption{text-align:left;font-weight:750}.analytics-dialog th,.analytics-dialog td{text-align:left;border-bottom:1px solid #dfe5e2;padding:8px}@media (width<=600px){.period-form,.analytics-summary{grid-template-columns:1fr 1fr}}.dialog-backdrop{z-index:10;background:#112b2788;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:22px;width:min(100%,500px);max-height:calc(100vh - 40px);padding:26px;overflow:auto;box-shadow:0 30px 90px #102a2466}.dialog>header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.dialog h2{margin:0}.form,.form label,.dialog>label{gap:8px;display:grid}.form{gap:18px}input{width:100%;font:inherit;border:1px solid #b9c8c4;border-radius:10px;padding:12px 14px}textarea{width:100%;min-height:110px;font:inherit;border:1px solid #b9c8c4;border-radius:10px;padding:12px}.sync-state{color:#9a5a21;font-weight:750}.expense-page{z-index:8;background:#f8faf8;grid-template-rows:auto auto auto minmax(80px,1fr) auto auto auto;gap:10px;width:min(100%,560px);height:100dvh;margin:auto;padding:14px 18px;display:grid;position:fixed;inset:0;overflow:hidden}.expense-page>header{justify-content:space-between;align-items:center;display:flex}.expense-page h2{margin:0;font-size:1.2rem}.expense-page button{min-height:44px}.amount-field{color:#677773;text-align:center;display:grid}.amount-field input{color:#18302d;text-align:center;background:0 0;border:0;font-size:clamp(2rem,8vw,3rem);font-weight:850}.major-tabs{gap:6px;display:flex;overflow-x:auto}.major-tabs button,.subcategory-grid button{background:#fff;border:1px solid #cbd8d4;border-radius:10px;min-height:44px}.major-tabs button{flex:1 0 auto;padding:8px 14px}.major-tabs button[aria-selected=true],.subcategory-grid button[aria-pressed=true]{color:#0b5e57;background:#dff3ee;border-color:#0f766e;font-weight:750}.subcategory-grid{grid-template-columns:repeat(4,minmax(62px,1fr));gap:8px;min-height:0;display:grid;overflow-y:auto}.date-field{align-items:center;gap:12px;display:flex}.date-field input{flex:1}.field-error{color:#a1362b;margin:0;font-size:.82rem}.keypad{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.keypad button{background:#e8efec;border:0;border-radius:9px;min-height:44px;font-size:1.05rem;font-weight:700}.save-expense{min-height:48px}@media (height<=700px) and (width<=720px){.expense-page{gap:6px;padding-block:8px}}@media (width<=340px),(height<=560px){.expense-page{display:block;overflow-y:auto}.expense-page>*{margin-bottom:10px}}@media (resolution>=2x) and (width>=720px){.expense-page{border-radius:24px;height:calc(100dvh - 80px);position:fixed;inset:40px;box-shadow:0 24px 70px #173d3833}}.qr{width:220px;max-width:100%;margin:0 auto 20px;display:block}.ledger-list{gap:10px;margin-bottom:20px;display:grid}.ledger-list button{color:inherit;text-align:left;background:#f8faf9;border:1px solid #d9e1de;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.ledger-list small,.ledger-list strong{display:block}.ledger-list small{color:#677773;margin-top:4px}.member-list{padding:0;list-style:none}.member-list li{border-bottom:1px solid #e4e9e7;justify-content:space-between;padding:14px 0;display:flex}.member-list span{color:#4f7169}.settings-form{border-bottom:1px solid #dfe5e2;padding-bottom:24px}.check-row{grid-template-columns:20px 1fr;align-items:center}.check-row input{width:auto}.inline-form{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.inline-form label{gap:8px;display:grid}.category-list,.audit-list{gap:8px;padding:0;list-style:none;display:grid}.category-list li{grid-template-columns:minmax(120px,1fr) auto auto;align-items:center;gap:10px;display:grid}.category-list span,.audit-list{color:#677773;font-size:.86rem}.invitation-card .primary{margin-top:22px}.install-guidance{z-index:7;background:#fff;border:1px solid #b9cbc6;border-radius:16px;gap:8px;width:min(320px,100vw - 36px);padding:16px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 14px 40px #173d3833}.install-guidance p{color:#566863;margin:0}@media (width<=720px){.app-shell{grid-template:"top"64px"main"1fr"nav"70px/1fr}.topbar{padding:0 16px}.brand>span:last-child,.session .connectivity{display:none}.navigation{z-index:2;flex-direction:row;justify-content:space-around;padding:10px 4px;position:sticky;bottom:0}.navigation a,.navigation button{flex-direction:column;gap:2px}.navigation .central-action{border:4px solid #f4f3ed;border-radius:50%;min-width:58px;min-height:58px;transform:translateY(-12px)}.navigation a{padding:10px 8px;font-size:.78rem}.navigation button{text-align:center;padding:10px 8px;font-size:.78rem}.content{padding:30px 20px}.auth-card{padding:30px 24px}.dialog-backdrop{align-items:end;padding:0}.dialog{border-radius:24px 24px 0 0;width:100%;max-height:82vh}.install-guidance{bottom:82px}}
