@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#202b27;--muted:#84908b;--line:#e9eeeb;--green:#126b4f;--green-dark:#0d503c;--pale:#e9f5ef;--bg:#f6f8f6;--red:#b94e47;--amber:#aa7524}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#10251f;color:#e7f0eb;padding:29px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;color:inherit;text-decoration:none;margin:0 9px 55px}.brand-mark{width:37px;height:37px;border-radius:12px;background:#d9f0e4;color:#126b4f;display:grid;place-items:center;font-weight:800;font-size:21px}.brand strong{font-family:Manrope,sans-serif;font-size:16px;display:block;letter-spacing:-.4px}.brand small{color:#91a59b;font-size:8px;letter-spacing:1.4px;display:block;margin-top:4px}.side-label,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.4px}.side-label{color:#81958b;margin:0 12px 13px}.area-nav{display:grid;gap:6px}.area-button{display:flex;align-items:center;gap:12px;color:#b8c8c0;text-decoration:none;border:0;background:none;text-align:left;width:100%;padding:12px;border-radius:8px;font:500 14px 'DM Sans',sans-serif;cursor:pointer}.area-button:hover{background:#19352a;color:#fff}.area-button.active{background:#214638;color:#fff}.area-icon{width:21px;text-align:center;font-size:16px}.sidebar-bottom{margin-top:auto;color:#96aa9f;font-size:11px;display:flex;align-items:center;gap:9px;padding:10px}.local-dot{width:8px;height:8px;background:#60bd88;border-radius:50%;box-shadow:0 0 0 4px #1d3d2f}.main{margin-left:245px;padding:35px 48px 24px;max-width:1600px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.eyebrow{color:#98a39d}.topbar h1{font:700 30px Manrope,sans-serif;letter-spacing:-1px;margin:5px 0 0}.top-actions{display:flex;align-items:center;gap:17px}.month-picker{display:grid;gap:4px;color:#9aa49f;font-size:9px;font-weight:700;letter-spacing:1px}.month-picker input{border:0;background:transparent;color:#38443e;font:600 13px 'DM Sans',sans-serif;outline:none}.button{height:41px;border-radius:7px;padding:0 16px;border:1px solid transparent;font:600 13px 'DM Sans',sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.15s}.button-primary{background:var(--green);color:white;box-shadow:0 3px 8px #126b4f22}.button-primary:hover{background:var(--green-dark)}.plus{font-size:18px;line-height:1}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:15px;margin-bottom:25px}.summary-card{background:#fff;border:1px solid #edf0ee;border-radius:10px;padding:17px 19px;min-height:117px;box-shadow:0 2px 8px #243c3010}.summary-top{display:flex;justify-content:space-between;align-items:center;color:#75817b;font-size:12px;margin-bottom:12px}.summary-card>strong{display:block;font:700 22px Manrope,sans-serif;letter-spacing:-.5px}.summary-card>small{display:block;margin-top:3px;color:#9aa49f;font-size:10px}.summary-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;font-weight:700}.icon-total{background:#eff2f0;color:#64736b}.icon-paid{background:#e9f5ef;color:#28815d}.icon-pending{background:#fff5e6;color:#be842b}.icon-overdue{background:#fff0ef;color:#c05a53}.accounts-panel{background:white;border:1px solid #e9eeeb;border-radius:10px;box-shadow:0 2px 8px #243c3008;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:21px 23px 17px}.panel-heading h2{font:700 17px Manrope,sans-serif;letter-spacing:-.4px;margin:0 0 4px}.panel-heading p{margin:0;color:#95a099;font-size:11px}.text-button{background:none;border:0;color:#57816c;font:600 11px 'DM Sans',sans-serif;cursor:pointer}.text-button:hover{text-decoration:underline}.filters{display:flex;gap:10px;padding:0 23px 17px}.search-wrap,.filter-select{height:36px;border:1px solid #e7ece9;border-radius:6px;display:flex;align-items:center;background:#fff}.search-wrap{flex:1;max-width:420px;padding:0 10px;gap:8px;color:#89968e}.search-wrap span{font-size:20px;line-height:1}.search-wrap input{border:0;outline:0;width:100%;font:12px 'DM Sans',sans-serif;color:#35423c}.search-wrap input::placeholder{color:#a0aaa4}.filter-select select{height:100%;border:0;background:transparent;padding:0 29px 0 11px;color:#5f6c65;font:11px 'DM Sans',sans-serif;outline:0;cursor:pointer}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}thead{background:#f8faf9}th{color:#98a29d;font-size:9px;letter-spacing:.8px;font-weight:700;padding:12px 16px;border-top:1px solid #f0f2f1;border-bottom:1px solid #edf0ee}th:first-child,td:first-child{padding-left:23px}th:last-child,td:last-child{padding-right:23px}td{padding:14px 16px;border-bottom:1px solid #f0f2f1;color:#65716a;font-size:12px;white-space:nowrap}tbody tr:last-child td{border-bottom:0}.account-name{font-weight:600;color:#35423b;font-size:12px}.account-note{color:#9aa49f;font-size:10px;margin-top:3px;max-width:240px;overflow:hidden;text-overflow:ellipsis}.type-badge{display:inline-flex;align-items:center;gap:6px}.type-dot{width:6px;height:6px;border-radius:50%;background:#8f9d95}.type-fixed .type-dot{background:#458e6e}.type-variable .type-dot{background:#c4933c}.type-once .type-dot{background:#818e87}.recurring-mark{font-size:9px;color:#458e6e;margin-left:3px}.amount{font-weight:600;color:#3b4841}.status-pill{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:600}.status-pill:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.status-paid{background:#eaf5ee;color:#32815d}.status-pending{background:#fff5e6;color:#ad7623}.status-overdue{background:#fff0ef;color:#b44f49}.row-actions{display:flex;justify-content:flex-end;gap:4px}.icon-button{border:0;background:transparent;color:#8b9891;width:28px;height:28px;border-radius:6px;font-size:15px;cursor:pointer;display:grid;place-items:center}.icon-button:hover{background:#f0f5f2;color:#286c50}.icon-button.pay-action{color:#438361}.icon-button.delete-action:hover{background:#fff0ef;color:#b94e47}.table-footer{border-top:1px solid #f0f2f1;padding:12px 23px;display:flex;justify-content:space-between;color:#a0aaa4;font-size:10px}.empty-state{text-align:center;padding:54px 20px 58px}.empty-icon{margin:0 auto 13px;width:48px;height:48px;border-radius:14px;background:#eff6f2;color:#6c9b80;display:grid;place-items:center;font-size:22px}.empty-state strong{font:700 15px Manrope,sans-serif}.empty-state p{color:#929e97;font-size:12px;margin:7px 0 18px}.empty-state[hidden]{display:none}.footer-note{display:flex;align-items:center;gap:7px;color:#a0aaa4;font-size:10px;margin:16px 2px}.lock-icon{font-size:12px}.account-dialog,.confirm-dialog{border:0;border-radius:12px;padding:0;box-shadow:0 20px 70px #0c211b44;color:var(--ink)}dialog::backdrop{background:#10251f88;backdrop-filter:blur(2px)}.account-dialog{width:min(540px,calc(100vw - 30px))}.account-dialog form{padding:27px}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:23px}.dialog-heading h2,.confirm-dialog h2{font:700 21px Manrope,sans-serif;letter-spacing:-.6px;margin:5px 0 0}.close-button{border:0;background:#f3f6f4;color:#748078;border-radius:50%;width:30px;height:30px;font-size:21px;cursor:pointer;line-height:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 13px}.field{display:grid;gap:7px;font-size:11px;font-weight:600;color:#536158}.field-wide{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid #e1e8e3;border-radius:6px;padding:10px 11px;font:12px 'DM Sans',sans-serif;color:#35423b;background:#fff;width:100%;outline:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:#73a98b;box-shadow:0 0 0 3px #78ab8d1e}.field textarea{resize:vertical}.optional{color:#99a39d;font-weight:400}.check-field{display:flex;align-items:center;gap:10px;border:1px solid #e7ece9;background:#fafcfb;border-radius:7px;padding:12px;cursor:pointer}.check-field>input{accent-color:#126b4f;width:15px;height:15px}.check-field span{display:grid;gap:3px}.check-field strong{font-size:11px;color:#47564d}.check-field small{font-size:10px;color:#909d95}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.button-quiet{background:white;border-color:#e3e9e5;color:#607067}.button-quiet:hover{background:#f7f9f8}.button-danger{background:#b94e47;color:#fff}.button-danger:hover{background:#a83f39}.confirm-dialog{width:min(390px,calc(100vw - 30px));padding:27px;text-align:center}.confirm-dialog form{display:flex;flex-direction:column;align-items:center}.confirm-symbol{width:40px;height:40px;border-radius:50%;background:#fff0ef;color:#b94e47;display:grid;place-items:center;font-weight:800;font-size:20px}.confirm-dialog p{color:#839087;font-size:12px;line-height:1.6;margin:9px 0 0}.confirm-dialog .dialog-actions{width:100%}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#17392b;color:white;padding:11px 17px;border-radius:7px;font-size:12px;box-shadow:0 6px 20px #0002;transition:.2s;z-index:5}.toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.sidebar{width:205px}.main{margin-left:205px;padding:30px 25px}.summary-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:700px){.sidebar{position:relative;width:auto;inset:auto;padding:13px 15px;display:block}.brand{margin:0 2px 13px}.brand-mark{width:32px;height:32px}.side-label,.sidebar-bottom{display:none}.area-nav{display:flex;gap:5px}.area-button{justify-content:center;padding:9px 8px;font-size:11px;gap:6px;flex:1}.area-icon{font-size:14px;width:auto}.main{margin:0;padding:22px 15px}.topbar{align-items:flex-start;gap:10px}.topbar h1{font-size:25px}.top-actions{gap:8px;align-items:flex-end;flex-direction:column}.month-picker{display:flex;align-items:center;gap:8px}.button{height:37px;padding:0 11px;font-size:11px}.summary-grid{gap:9px;margin-bottom:16px}.summary-card{padding:13px;min-height:103px}.summary-card>strong{font-size:18px}.summary-top{font-size:11px;margin-bottom:9px}.summary-icon{width:23px;height:23px}.panel-heading{padding:17px 15px 14px}.filters{padding:0 15px 13px;flex-wrap:wrap}.search-wrap{max-width:none;flex-basis:100%}.filter-select{flex:1}.filter-select select{width:100%;padding-right:8px}.table-scroll{margin:0}table{min-width:720px}th:first-child,td:first-child{padding-left:15px}th:last-child,td:last-child{padding-right:15px}.table-footer{padding:11px 15px}.table-footer span:last-child{display:none}.footer-note{font-size:9px}.account-dialog form{padding:21px}.form-grid{gap:13px 10px}}@media(max-width:390px){.area-button{font-size:10px}.area-icon{display:none}.summary-grid{grid-template-columns:1fr 1fr}.topbar h1{font-size:22px}}

.setup-screen{min-height:100vh;padding:24px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 0,#e2f0e8 0,transparent 55%),#f6f8f6}.setup-screen[hidden]{display:none}.setup-card{width:min(440px,100%);padding:34px;background:#fff;border:1px solid #e8eeea;border-radius:14px;box-shadow:0 12px 42px #1f473118}.setup-brand{color:var(--ink);margin:0 0 34px}.setup-card h1{font:700 26px Manrope,sans-serif;letter-spacing:-.8px;margin:8px 0}.setup-description{color:#849089;font-size:13px;line-height:1.6;margin:0 0 22px}.setup-form{display:grid;gap:15px}.setup-form .field input{height:41px}.setup-buttons{display:flex;gap:9px}.setup-buttons>*{flex:1}.setup-error{color:#a33f39;background:#fff2f1;border-radius:6px;padding:10px;margin:0;font-size:12px;line-height:1.5}.invite-button,.signout-button{margin:7px 9px;border:1px solid #355748;border-radius:6px;color:#c4d6cc;background:transparent;padding:9px 10px;text-align:left;font:500 11px 'DM Sans',sans-serif;cursor:pointer}.invite-button:hover,.signout-button:hover{background:#1b3b2f;color:white}.signout-button{margin-top:7px;border-color:transparent;color:#92a89d}.app-shell[hidden]{display:none}
@media(max-width:700px){.invite-button,.signout-button{display:inline-block;margin:8px 3px 0;padding:6px 8px;font-size:10px}.setup-card{padding:25px 21px}}
