:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#eef2f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-height:100%}body{background:radial-gradient(circle at 0 0,#16775324,#0000 32rem),linear-gradient(135deg,#f8faf9 0%,#eef3f4 48%,#e7edf1 100%);min-width:320px;min-height:100%;margin:0}button,input,select{font:inherit}.app-shell{width:min(1120px,100%);margin:0 auto;padding:2rem}.expenses-shell,.settings-shell{width:min(1260px,100%);padding-top:0}.app-topbar{border-bottom:1px solid #94a3b842;justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;margin-bottom:1.5rem;display:flex}.brand-lockup,.topbar-actions,.page-heading,.metric-card,.compact-heading,.inline-heading,.due-item,.due-total{align-items:center;display:flex}.brand-lockup{color:#0f2937;gap:.5rem;font-size:1.35rem;font-weight:900}.brand-mark,.user-avatar,.page-icon,.metric-icon,.section-icon,.default-logo{flex:none;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.brand-mark{color:#fff;background:#147a4f;border-radius:5px;width:1.6rem;height:1.6rem;font-size:.65rem}.brand-mark svg,.page-icon svg,.metric-icon svg,.section-icon svg,.default-logo svg,.icon-only-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.2rem;height:1.2rem}.topbar-actions{flex-wrap:nowrap;justify-content:flex-end;gap:.75rem}.topbar-select{min-width:min(18rem,100%)}.topbar-select select{min-height:2.25rem;padding:.375rem 2rem .375rem .75rem}.user-avatar{color:#147a4f;background:#b9ead1;border-radius:999px;width:2.25rem;height:2.25rem}.topbar-user{color:#172033;font-weight:700}.icon-button{color:#172033;background:#fff;border:1px solid #d7dee8;width:150px;height:2.25rem;padding:.4rem .75rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page-header{margin-bottom:1.5rem}.page-header-row{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.account-actions{color:#4b5563;align-items:center;gap:.75rem;font-size:.875rem;font-weight:700;display:flex}.hero-panel>.account-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;justify-self:end}.auth-shell{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:min(440px,100%);padding:1.5rem}.auth-panel h1{font-size:2rem}.auth-form{gap:1rem;margin-top:1rem;display:grid}.eyebrow{color:#276749;letter-spacing:0;text-transform:uppercase;margin:0 0 .75rem;font-size:.875rem;font-weight:700}h1,h2,p{margin-top:0}h1{color:#111827;margin-bottom:.75rem;font-size:clamp(2rem,4vw,2.8rem);line-height:1.05}h2{color:#111827;margin-bottom:0;font-size:1.25rem;line-height:1.2}.page-header p:not(.eyebrow){color:#465467;max-width:560px;font-size:1.125rem;line-height:1.6}.page-heading{gap:1rem;margin:1.25rem 0 1.75rem}.settings-heading{margin-top:2rem}.page-heading p,.compact-heading p,.inline-heading p{color:#42526a;margin:0}.page-heading h1{margin-bottom:.35rem}.page-icon{color:#147a4f;background:#e6f4eb;border-radius:18px;width:3.9rem;height:3.9rem;font-size:1.2rem}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-bottom:1.25rem;display:grid}.metric-card{background:#ffffffe0;border:1px solid #94a3b83d;border-radius:8px;gap:1.25rem;min-height:7.5rem;padding:1.2rem;box-shadow:0 18px 42px #0f172a14}.metric-card>div{gap:.25rem;min-width:0;display:grid}.metric-icon{color:#147a4f;background:#e8f6ec;border-radius:999px;width:3.5rem;height:3.5rem}.metric-label{color:#526173;font-size:.92rem}.metric-card strong{overflow-wrap:anywhere;color:#0f172a;font-size:1.35rem;line-height:1.15}.metric-card span:last-child{color:#42526a;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.hero-panel{background:linear-gradient(135deg,#ffffffeb,#ffffffa8),linear-gradient(135deg,#27674926,#1c4ed81a);border:1px solid #ffffffb8;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(14rem,18rem);align-items:end;gap:1.5rem;padding:clamp(1.5rem,5vw,3rem);display:grid;overflow:hidden;box-shadow:0 24px 70px #0f172a1f}.hero-summary{background:#ffffffc7;border:1px solid #1720331a;border-radius:8px;justify-self:end;gap:.25rem;width:100%;padding:1rem;display:grid;box-shadow:0 12px 30px #0f172a14}.hero-summary-label,.section-kicker{color:#64748b;letter-spacing:0;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:800}.hero-summary strong{color:#111827;font-size:3rem;line-height:1}.hero-summary span:last-child{color:#465467;font-size:.95rem}.workspace-grid{--workspace-panel-height:34rem;grid-template-columns:minmax(22rem,.92fr) minmax(26rem,1.08fr);align-items:stretch;gap:1.25rem;margin-bottom:1.25rem;display:grid}.workspace-grid>.panel{height:var(--workspace-panel-height)}.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;border:1px solid #94a3b847;border-radius:8px;margin-bottom:0;padding:1.2rem;box-shadow:0 18px 45px #0f172a14}.due-panel,.form-panel,.list-panel{min-width:0}.due-panel{flex-direction:column;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.compact-heading{align-items:flex-start;gap:.75rem}.inline-heading{margin-bottom:0}.section-icon{color:#147a4f;background:#e8f6ec;border-radius:7px;width:2rem;height:2rem}.pill{color:#276749;background:#effaf3;border:1px solid #27674929;border-radius:999px;align-items:center;min-height:2rem;padding:.25rem .75rem;font-size:.875rem;font-weight:700;display:inline-flex}.pill-success{color:#276749;background:#effaf3;border-color:#27674929}.pill-warning{color:#92400e;background:#fffbeb;border-color:#b4530929}.pill-xs{text-transform:uppercase;min-height:1.25rem;padding:.125rem .5rem;font-size:.65rem}.due-date-cell{align-items:center;gap:.5rem;display:flex}.summary-grid{flex:1;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:1fr;gap:1rem;display:grid}.due-list{scrollbar-color:#b8d9c6 transparent;scrollbar-width:thin;gap:0;min-height:0;padding-right:.35rem;display:grid;overflow-y:auto}.due-item{border-bottom:1px solid #e5eaf0;grid-template-columns:4.25rem 2rem minmax(0,1fr) auto;gap:1rem;min-height:4.25rem;padding:.75rem 0;display:grid}.due-item time{color:#147a4f;border-right:1px solid #d8e0e8;justify-items:center;padding-right:1rem;display:grid}.due-item time strong{font-size:.95rem}.due-item time span,.due-item div span{color:#526173;font-size:.8rem}.due-item div{gap:.2rem;min-width:0;display:grid}.due-item div strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.due-item>strong{color:#0f172a;align-self:center}.due-total{color:#147a4f;background:#eaf6ed;border-radius:7px;flex:none;justify-content:space-between;gap:1rem;margin-top:.75rem;padding:.9rem 1rem;font-weight:800}.summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-content:center;gap:.5rem;min-height:7rem;padding:1rem;display:grid}.summary-card-primary{background:#f1faf5;border-color:#2767492e}.summary-label{color:#526173;font-size:.875rem;font-weight:700}.summary-value{color:#111827;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.expense-form{gap:1rem;display:grid}.form-wide-field{margin-bottom:1rem}.settings-panel{width:min(1100px,100%);margin:0 auto 1.25rem;padding:1.6rem}.member-form{grid-template-columns:minmax(16rem,1fr) auto;align-items:end;gap:1rem;margin-bottom:1rem;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.name-field{position:relative}.logo-picker{align-self:end;gap:.625rem;display:grid}.selected-logo,.expense-name-cell{align-items:center;gap:.625rem;display:flex}.selected-logo{color:#344256;min-height:2.75rem;font-size:.875rem;font-weight:700}.selected-logo img,.expense-logo,.default-logo{object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:6px;width:2rem;height:2rem}.default-logo{color:#147a4f;background:#edf8f2;font-size:.85rem}.logo-dropdown{z-index:20;background:#fff;border:1px solid #d7dee8;border-radius:8px;gap:.35rem;width:min(24rem,92vw);max-height:18rem;padding:.45rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0;overflow-y:auto;box-shadow:0 20px 48px #0f172a2e}.logo-option{color:#111827;text-align:left;background:#fff;border:1px solid #0000;border-radius:6px;align-items:center;gap:.5rem;width:100%;min-height:2.75rem;padding:.45rem .55rem;display:flex}.logo-option.selected{box-shadow:none;background:#effaf3;border-color:#276749}.custom-flex-box{justifyContent:space-between;gap:1rem;display:flex}@media (width<=840px){.custom-flex-box{flex-direction:column}}@media (width<=640px){.custom-flex-box{flex-direction:column;gap:16px}}.logo-option img{object-fit:contain;flex:none;width:1.75rem;height:1.75rem}.logo-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.no-logo-option{color:#344256}.form-actions,.table-actions{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.form-actions button[type=submit]{width:100%}.table-actions{justify-content:flex-end;align-items:center;position:relative}.table-filters{background:#fbfcfc;border:1px solid #dfe7ef;border-radius:8px;justify-content:space-between;align-items:end;gap:.75rem;margin-bottom:1rem;padding:.9rem;display:flex}.table-filters label{min-width:0}.subtotal-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;gap:.25rem;min-width:0;min-height:2.75rem;padding:.5rem .75rem;display:grid}.subtotal-box strong{color:#111827;font-size:1.125rem}.subtotal-error{color:#b91c1c;font-size:.75rem;font-weight:700}.status-select{width:auto;min-width:7rem}.status-select select{color:#173f2c;background:#effaf3;border-color:#27674929;border-radius:999px;min-height:2.25rem;padding:.35rem 2rem .35rem .9rem;font-size:.875rem;font-weight:800}label{color:#344256;gap:.375rem;font-size:.875rem;font-weight:700;display:grid}input,select{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;min-height:2.75rem;padding:.625rem .75rem;transition:border-color .14s,box-shadow .14s,transform .14s}input::placeholder{color:#94a3b8}input:focus,select:focus{border-color:#276749;outline:0;box-shadow:0 0 0 4px #27674924}input[aria-invalid=true],select[aria-invalid=true]{border-color:#dc2626}small{color:#b91c1c;font-weight:600}button{color:#fff;cursor:pointer;background:#276749;border:0;border-radius:6px;width:fit-content;min-height:2.75rem;padding:.625rem 1rem;font-weight:700;transition:background .14s,transform .14s,box-shadow .14s}button:hover:not(:disabled){background:#22543d;transform:translateY(-1px);box-shadow:0 10px 20px #27674938}button:disabled{cursor:not-allowed;opacity:.65}.secondary-button{color:#111827;background:#fff;border:1px solid #d1d5db}.danger-button{background:#b91c1c}.danger-button:hover:not(:disabled){background:#991b1b;box-shadow:0 10px 20px #b91c1c33}.table-action{min-height:2.25rem;padding:.45rem .75rem}.icon-only-button{color:#475569;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:2rem;min-height:2rem;padding:0;display:inline-flex}.icon-only-button:hover:not(:disabled){box-shadow:none;color:#147a4f;background:#eef7f2;transform:none}.action-menu{z-index:30;background:#fff;border:1px solid #dfe7ef;border-radius:8px;min-width:12rem;padding:.45rem;position:absolute;bottom:calc(100% + .4rem);right:0;box-shadow:0 18px 45px #0f172a29}.menu-danger-button,.menu-button{border-radius:6px;min-height:2.25rem;padding:.45rem .75rem}.menu-danger-button{color:#b91c1c;text-align:left;background:#fff7f7;border:1px solid #b91c1c29;width:100%}.menu-danger-button:hover:not(:disabled){box-shadow:none;color:#991b1b;background:#fee2e2;transform:none}.delete-confirmation{color:#344256;gap:.65rem;font-size:.875rem;font-weight:700;display:grid}.delete-confirmation>div{justify-content:flex-end;gap:.5rem;display:flex}.loading-dot{background:currentColor;border-radius:999px;width:.45rem;height:.45rem}.muted-text{color:#64748b}.link-button{color:#2563eb;background:0 0;min-height:auto;margin-top:1rem;padding:0}.state-message{color:#526173;margin:0}.state-message.success{color:#047857;font-weight:700}.state-message.error{color:#b91c1c;font-weight:700}.table-wrap{background:#fff;border-top:1px solid #e2e8f0;overflow-x:auto}.framed-table{border:1px solid #dfe7ef;border-radius:8px}table{border-collapse:collapse;width:100%}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #e2e8f0;padding:.85rem .75rem}th{color:#526173;letter-spacing:.02em;text-transform:uppercase;background:#fbfcfc;font-size:.75rem;font-weight:900}td{color:#111827}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfb}.expense-name-cell>span{gap:.15rem;display:grid}.expense-name-cell small{color:#526173;font-size:.78rem;font-weight:500}.ledger-footer{color:#526173;justify-content:center;align-items:center;gap:2rem;min-height:3.25rem;font-size:.9rem;display:flex}.ledger-footer strong{color:#147a4f}.ledger-footer strong span{color:#526173;font-weight:500}.role-pill{text-transform:none}@media (width<=860px){.hero-panel,.workspace-grid,.metric-grid{grid-template-columns:1fr}.workspace-grid>.panel{height:auto}.due-panel{height:22rem}.hero-summary{justify-self:stretch}}@media (width<=640px){.app-shell{padding:1rem}.section-heading{flex-direction:column;align-items:flex-start}.app-topbar,.topbar-actions,.page-heading,.metric-card{flex-direction:column;align-items:stretch}.topbar-actions{flex-wrap:wrap}.page-header-row,.account-actions{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.member-form,.table-filters{grid-template-columns:1fr;display:grid}.table-actions{justify-content:flex-end}button{width:100%}.icon-button{width:auto}.icon-only-button{width:2rem}.due-item{grid-template-columns:3.4rem 2rem minmax(0,1fr)}.due-item>strong{grid-column:2/-1;justify-self:start}.table-wrap{background:0 0;border:0}table,thead,tbody,tr,th,td{display:block}thead{display:none}tr{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.75rem;overflow:hidden}td{white-space:normal;justify-content:space-between;align-items:center;gap:1rem;min-height:3rem;display:flex}td:before{color:#526173;content:attr(data-label);text-transform:uppercase;flex:none;font-size:.75rem;font-weight:800}}
