:root{color:#17212b;background:#f2f4f3;font-family:Manrope,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #17212b;--navy-soft: #243140;--paper: #ffffff;--canvas: #f2f4f3;--canvas-strong: #e8ecea;--line: #d9dfdc;--muted: #6a746f;--teal: #2a7f72;--teal-strong: #20675d;--teal-soft: #e6f2ef;--coral: #c85d46;--coral-soft: #fbece8;--gold: #b17a22;--gold-soft: #faf2de;--green: #27764b;--green-soft: #e8f3ec;--radius: 8px;--sidebar-width: 244px;--topbar-height: 72px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),var(--canvas);background-size:100% 32px}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(42,127,114,.22);outline-offset:2px}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:var(--navy);color:#f8faf9;padding:22px 16px;display:flex;flex-direction:column;z-index:40}.brand-block{min-height:52px;padding:0 8px;display:flex;align-items:center;gap:12px}.brand-block strong{display:block;font-size:18px;line-height:1.2}.brand-block span{display:block;color:#9dacb8;font-size:11px;margin-top:3px}.brand-mark{width:38px;height:38px;border-radius:var(--radius);display:grid;place-items:center;background:var(--teal);color:#fff;flex:0 0 auto}.brand-mark.large{width:54px;height:54px}.side-nav{display:grid;gap:5px;margin-top:34px}.side-nav button{width:100%;min-height:46px;border:0;border-radius:var(--radius);background:transparent;color:#aebac4;padding:0 13px;display:flex;align-items:center;gap:12px;text-align:left;transition:background .15s ease,color .15s ease,transform .15s ease}.side-nav button:hover{color:#fff;background:#ffffff0f}.side-nav button.active{color:#fff;background:var(--teal);font-weight:700}.side-nav button:active{transform:scale(.98)}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:18px 4px 0;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:9px}.sidebar-user .avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f0dcae;color:#6a4b16;font-weight:800}.sidebar-user strong,.sidebar-user span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{font-size:12px}.sidebar-user span{margin-top:3px;color:#90a0ad;font-size:10px}.sidebar .icon-button{color:#aebac4}.main-area{grid-column:2;min-width:0}.topbar{height:var(--topbar-height);position:sticky;top:0;z-index:20;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#ffffffe8;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-title span,.topbar-title strong{display:block}.topbar-title span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.topbar-title strong{margin-top:3px;font-size:16px}.month-control{height:40px;padding:0 3px;display:flex;align-items:center;gap:2px;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius)}.month-label{width:150px;color:var(--navy);text-align:center;font-size:12px;font-weight:700}.icon-button{width:36px;height:36px;border:0;border-radius:var(--radius);display:inline-grid;place-items:center;background:transparent;color:var(--muted)}.icon-button:hover{background:var(--canvas-strong);color:var(--navy)}.mobile-menu-button,.bottom-nav,.menu-backdrop{display:none}.workspace{width:min(1240px,100%);margin:0 auto;padding:34px 30px 54px;transition:opacity .15s ease}.workspace.is-loading{opacity:.62;pointer-events:none}.page-stack{display:grid;gap:24px}.page-enter{animation:page-enter .24s ease both}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-heading{min-height:64px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.eyebrow{display:block;color:var(--teal-strong);font-size:11px;font-weight:900;text-transform:uppercase}.page-heading h1{margin:5px 0 0;max-width:720px;font-size:clamp(26px,3vw,38px);line-height:1.08;letter-spacing:0}.heading-actions{display:flex;align-items:center;gap:9px}.primary-button,.secondary-button,.danger-button{min-height:42px;border-radius:var(--radius);padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.primary-button{background:var(--teal);color:#fff}.primary-button:hover{background:var(--teal-strong);box-shadow:0 9px 24px #2a7f7233;transform:translateY(-1px)}.secondary-button{background:var(--paper);color:var(--navy);border-color:var(--line)}.secondary-button:hover{border-color:#bac5bf;transform:translateY(-1px)}.danger-button{background:var(--coral-soft);color:var(--coral);border-color:#f2c8be}.wide{width:100%}.balance-strip{min-height:152px;background:var(--navy);color:#fff;border-radius:var(--radius);display:grid;grid-template-columns:1.35fr repeat(3,1fr);overflow:hidden;box-shadow:0 18px 42px #17212b29}.balance-strip>div{min-width:0;padding:25px 24px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid rgba(255,255,255,.11)}.balance-strip>div:first-child{border-left:0;background:var(--teal)}.balance-strip span{color:#b6c1c9;font-size:12px;font-weight:700}.balance-strip>div:first-child span,.balance-strip>div:first-child small{color:#d3ece7}.balance-strip strong{display:block;margin-top:8px;font-size:clamp(22px,2.5vw,34px);line-height:1;overflow-wrap:anywhere}.balance-strip>div:not(:first-child) strong{font-size:clamp(20px,2vw,27px)}.balance-strip small{margin-top:8px;color:#8e9ca7;font-size:11px}.negative{color:#f0a28f!important}.income-text{color:var(--green)!important}.balance-strip .income-text{color:#8cd2a8!important}.dashboard-columns,.members-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.members-layout{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr)}.section-block{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.section-title{min-height:68px;padding:15px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted)}.section-title h2{margin:0;color:var(--navy);font-size:16px}.section-title span{display:block;margin-top:3px;font-size:11px}.item-list{display:grid}.list-row{min-height:72px;padding:10px 15px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid #e8ecea;transition:background .12s ease}.list-row:last-child{border-bottom:0}.list-row:hover{background:#f8faf9}.list-row.completed .row-content strong,.list-row.completed .row-content span{opacity:.58}.check-button{width:31px;height:31px;padding:0;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#fff;color:#9aa49f}.check-button.checked{background:var(--green);border-color:var(--green);color:#fff}.row-content{min-width:0;border:0;background:transparent;padding:4px 0;text-align:left}.row-content strong,.row-content span{display:block}.row-content strong{color:var(--navy);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.row-content span{margin-top:5px;color:var(--muted);font-size:11px}.date-badge{padding:5px 8px;border-radius:var(--radius);background:var(--gold-soft);color:var(--gold);font-size:10px;font-weight:800;white-space:nowrap}.row-amount{max-width:140px;color:var(--coral);font-size:13px;text-align:right;overflow-wrap:anywhere}.empty-state{min-height:190px;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#96a09b}.empty-state strong{margin-top:12px;color:#53605a;font-size:14px}.empty-state span{margin-top:5px;max-width:290px;font-size:12px;line-height:1.5}.segmented-control{width:fit-content;min-height:40px;padding:3px;display:flex;background:var(--canvas-strong);border-radius:var(--radius)}.segmented-control button{min-width:92px;min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;font-weight:800}.segmented-control button.active{background:#fff;color:var(--navy);box-shadow:0 3px 10px #17212b14}.full-list .list-row{min-height:78px;padding-left:20px;padding-right:20px}.finance-summary{min-height:104px;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.finance-summary>div{padding:20px 22px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.finance-summary>div:first-child{border-left:0}.finance-summary span{color:var(--muted);font-size:11px;font-weight:700}.finance-summary strong{margin-top:7px;font-size:clamp(19px,2.4vw,28px);overflow-wrap:anywhere}.timeline{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.timeline-day{min-height:94px;display:grid;grid-template-columns:110px minmax(0,1fr);border-bottom:1px solid var(--line)}.timeline-day:last-child{border-bottom:0}.timeline-date{padding:18px;display:flex;flex-direction:column;justify-content:flex-start;background:#f7f9f8;border-right:1px solid var(--line)}.timeline-date strong{font-size:18px}.timeline-date span{margin-top:4px;color:var(--muted);font-size:11px}.timeline-events{padding:10px 18px;display:grid}.timeline-event{min-height:62px;display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:10px;border-bottom:1px solid #edf0ef}.timeline-event:last-child{border-bottom:0}.event-dot{width:8px;height:8px;border-radius:50%;background:var(--teal)}.timeline-event.expense .event-dot{background:var(--coral)}.timeline-event.income .event-dot{background:var(--green)}.timeline-event strong,.timeline-event span{display:block}.timeline-event strong{font-size:13px}.timeline-event span{margin-top:4px;color:var(--muted);font-size:11px}.member-list{display:grid}.member-row{min-height:64px;padding:14px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #e8ecea}.member-row:last-child{border-bottom:0}.member-color{width:30px;height:30px;border-radius:50%}.member-row strong{font-size:13px}.simple-form{padding:18px;display:grid;gap:14px}.simple-form label,.modal-form label,.login-panel label{color:#47534d;font-size:12px;font-weight:800}.simple-form input,.modal-form input,.modal-form select,.modal-form textarea,.login-panel input{width:100%;min-height:43px;margin-top:7px;border:1px solid #cbd3cf;border-radius:var(--radius);background:#fff;padding:9px 11px;color:var(--navy)}.modal-form textarea{min-height:86px;resize:vertical}.simple-form input[type=color]{width:64px;padding:4px}.modal-backdrop{position:fixed;inset:0;z-index:70;padding:22px;display:grid;place-items:center;background:#0c13198f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .15s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{width:min(620px,100%);max-height:calc(100vh - 44px);overflow:auto;background:#fff;border-radius:var(--radius);box-shadow:0 28px 80px #0c131947;animation:modal-enter .18s ease both}@keyframes modal-enter{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.modal>header{min-height:62px;padding:0 16px 0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal h2{margin:0;font-size:18px}.modal-form{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.field-wide,.type-selector,.modal-actions{grid-column:1 / -1}.type-selector{padding:3px;display:grid;grid-template-columns:1fr 1fr;background:var(--canvas-strong);border-radius:var(--radius)}.type-selector button{min-height:39px;border:0;border-radius:6px;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800}.type-selector button.active{background:var(--coral-soft);color:var(--coral);box-shadow:0 3px 10px #17212b12}.type-selector button.active.income{background:var(--green-soft);color:var(--green)}.modal-actions{padding-top:5px;display:grid;grid-template-columns:auto 1fr auto auto;gap:8px}.form-error{padding:11px 12px;border:1px solid #efc2b9;border-radius:var(--radius);background:var(--coral-soft);color:#9b402e;font-size:12px;line-height:1.45}.toast{position:fixed;right:22px;bottom:22px;z-index:90;max-width:min(360px,calc(100vw - 44px));padding:13px 16px;border-radius:var(--radius);background:var(--navy);color:#fff;box-shadow:0 15px 40px #17212b40;font-size:13px;font-weight:700;animation:toast-enter .18s ease both}@keyframes toast-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(390px,.7fr);background:var(--navy)}.login-brand{min-height:100vh;padding:clamp(36px,8vw,112px);display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(115deg,#2a7f72bf,#17212b2e 58%),repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 1px,transparent 28px),var(--navy)}.login-brand>div:last-child{max-width:720px}.login-brand span{color:#b8e2d9;font-size:12px;font-weight:900}.login-brand h1{margin:15px 0 0;max-width:690px;font-size:clamp(42px,6.8vw,82px);line-height:.98;letter-spacing:0}.login-brand p{max-width:540px;margin:22px 0 0;color:#bac5cc;font-size:17px;line-height:1.55}.login-panel{min-height:100vh;padding:42px;display:grid;place-items:center;background:#f7f8f7}.login-panel form{width:min(390px,100%);display:grid;gap:18px}.login-panel h2{margin:6px 0 0;font-size:32px}.login-panel input{min-height:49px;background:#fff}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--navy);color:#fff}.loading-screen strong{font-size:20px}@media(max-width:920px){:root{--topbar-height: 62px}.app-shell{display:block}.main-area{min-height:100vh;padding-bottom:70px}.sidebar{transform:translate(-100%);transition:transform .18s ease}.sidebar.mobile-open{transform:translate(0)}.menu-backdrop{display:block;position:fixed;inset:0;z-index:35;border:0;background:#0c131975}.mobile-menu-button{display:inline-grid}.topbar{padding:0 14px}.topbar-title{flex:1}.month-label{width:126px}.workspace{padding:24px 16px 34px}.bottom-nav{height:66px;position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);background:#fffffff5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav button{border:0;background:transparent;color:#7d8782;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.bottom-nav button.active{color:var(--teal)}.bottom-nav span{font-size:9px;font-weight:800}.balance-strip{grid-template-columns:1fr 1fr}.balance-strip>div:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.11)}.balance-strip>div:nth-child(4){border-top:1px solid rgba(255,255,255,.11)}.dashboard-columns,.members-layout,.login-page{grid-template-columns:1fr}.login-brand{min-height:43vh;padding:34px 24px}.login-brand h1{font-size:clamp(38px,12vw,64px)}.login-panel{min-height:57vh;padding:34px 24px}}@media(max-width:600px){.topbar-title span{display:none}.topbar-title strong{margin-top:0;font-size:13px}.month-control{height:38px}.month-label{width:82px;font-size:10px;line-height:1.15}.month-control .icon-button{width:30px}.page-heading{align-items:stretch;flex-direction:column}.heading-actions{display:grid;grid-template-columns:1fr 1fr}.heading-actions>button,.page-heading>button{width:100%}.balance-strip{grid-template-columns:1fr 1fr}.balance-strip>div{min-height:116px;padding:18px 15px}.balance-strip strong,.balance-strip>div:not(:first-child) strong{font-size:20px}.finance-summary{grid-template-columns:1fr}.finance-summary>div{min-height:82px;border-left:0;border-top:1px solid var(--line)}.finance-summary>div:first-child{border-top:0}.segmented-control{width:100%}.segmented-control button{min-width:0;flex:1}.list-row{grid-template-columns:34px minmax(0,1fr)}.date-badge,.row-amount{grid-column:2;justify-self:start;max-width:100%;margin-top:-5px;text-align:left}.timeline-day{grid-template-columns:72px minmax(0,1fr)}.timeline-date{padding:14px 10px}.timeline-events{padding:8px 12px}.modal-backdrop{padding:0;align-items:end}.modal{width:100%;max-height:94vh;border-radius:var(--radius) var(--radius) 0 0}.modal-form{grid-template-columns:1fr}.field-wide,.type-selector,.modal-actions{grid-column:1}.modal-actions{grid-template-columns:1fr 1fr}.modal-actions>span{display:none}.modal-actions .danger-button{grid-column:1 / -1;order:3}.login-brand{min-height:38vh}.login-brand p{font-size:14px}.login-panel{min-height:62vh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.finance-page{gap:24px}.finance-heading{align-items:end}.finance-heading p{margin:7px 0 0;color:var(--muted);font-size:12px}.finance-save-status{min-height:34px;padding:0 10px;display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius);color:var(--green);font-size:12px;font-weight:800}.finance-save-status.saving{color:var(--gold)}.finance-save-status.saving svg,.finance-new-actions button:disabled svg{animation:spin .8s linear infinite}.finance-save-status.error{color:var(--coral);background:var(--coral-soft)}.finance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.finance-search{width:min(330px,100%);height:42px;padding:0 11px;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted)}.finance-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #2a7f721f}.finance-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--navy);font-size:12px}.finance-search button{width:26px;height:26px;padding:0;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--muted)}.finance-search button:hover{background:var(--canvas-strong);color:var(--navy)}.finance-sheet{--finance-columns: 44px minmax(125px, 1.3fr) minmax(92px, .58fr) minmax(90px, .62fr) minmax(98px, .66fr) minmax(112px, .7fr) minmax(132px, .82fr) minmax(90px, .58fr) 44px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.finance-sheet-header,.finance-sheet-row{min-width:830px;display:grid;grid-template-columns:var(--finance-columns)}.finance-sheet-header{min-height:45px;align-items:center;background:#f8faf9;border-bottom:1px solid var(--line);color:#59645f;font-size:10px;font-weight:800;letter-spacing:.025em;text-transform:uppercase}.finance-sheet-header span{padding:0 12px}.finance-sheet-header .align-right{text-align:right}.finance-sheet-row{min-height:58px;position:relative;align-items:stretch;border-bottom:1px solid #e8ecea;transition:background .12s ease}.finance-sheet-row:hover,.finance-sheet-row:focus-within{background:#fbfcfc}.finance-sheet-row.is-paid{background:#fbfdfc}.finance-sheet-row.is-paid .finance-description-cell input{color:#78837e}.finance-cell{min-width:0;padding:8px 5px;display:flex;align-items:center;border-right:1px solid #edf0ef}.finance-cell:last-child{border-right:0}.finance-cell input,.finance-cell select{width:100%;min-width:0;height:38px;padding:0 8px;border:1px solid transparent;border-radius:6px;outline:0;background:transparent;color:var(--navy);font-size:12px;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.finance-cell input:hover,.finance-cell select:hover{border-color:#dfe5e2;background:#fff}.finance-cell input:focus,.finance-cell select:focus{position:relative;z-index:2;border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px #2a7f7221}.finance-description-cell input{font-weight:700}.finance-type-cell select{width:100%;padding-right:4px;padding-left:5px;font-size:10px;font-weight:800}.finance-type-cell select.expense{background:var(--coral-soft);color:var(--coral)}.finance-type-cell select.income{background:var(--green-soft);color:var(--green)}.finance-status-cell{justify-content:center;gap:8px}.sheet-status{width:23px;height:23px;padding:0;flex:0 0 auto;display:grid;place-items:center;border:1px solid #9da8a3;border-radius:6px;background:#fff;color:#fff}button.sheet-status:hover{border-color:var(--teal);background:var(--teal-soft)}.sheet-status.checked{border-color:var(--teal);background:var(--teal)}.status-copy{display:none}.finance-date-control{width:100%;min-width:0;position:relative;display:grid;grid-template-columns:minmax(0,1fr) 25px;align-items:center;gap:2px}.finance-date-control input{grid-column:1;grid-row:1;padding-right:3px}.finance-date-control.is-empty input:not(:focus){color:transparent}.finance-date-control.is-empty{grid-template-columns:minmax(0,1fr)}.no-due-date-copy{grid-column:1;grid-row:1;padding-left:8px;overflow:hidden;color:var(--muted);font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.finance-date-control:focus-within .no-due-date-copy{display:none}.finance-clear-date{width:25px;height:30px;padding:0;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--muted)}.finance-clear-date:hover:not(:disabled){background:var(--canvas-strong);color:var(--teal-strong)}.finance-member-cell{position:relative}.finance-member-cell .member-color{width:8px;height:8px;position:absolute;left:13px;z-index:1;border-radius:50%;pointer-events:none}.finance-member-cell select{padding-left:24px;font-size:10px}.finance-amount-cell{gap:2px;color:var(--muted);font-size:10px;font-weight:800}.finance-amount-cell input{padding-left:3px;text-align:right;font-variant-numeric:tabular-nums}.finance-actions-cell{justify-content:center;gap:4px}.row-delete-button,.row-confirm-button,.row-cancel-button{width:30px;height:30px;padding:0;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--muted)}.row-delete-button{opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.finance-sheet-row:hover .row-delete-button,.finance-sheet-row:focus-within .row-delete-button,.row-delete-button:focus-visible{opacity:1}.row-delete-button:hover,.row-cancel-button:hover{background:var(--coral-soft);color:var(--coral)}.row-confirm-button{background:var(--teal);color:#fff}.row-confirm-button:hover{background:var(--teal-strong)}.finance-new-row{background:#f8fcfb;box-shadow:inset 3px 0 0 var(--teal)}.finance-new-row input::placeholder{color:#9aa49f;font-weight:500}.finance-add-row{width:calc(100% - 12px);min-width:818px;min-height:46px;margin:6px;padding:0 15px;display:flex;align-items:center;gap:9px;border:1px dashed #b8c5bf;border-radius:6px;background:transparent;color:var(--teal-strong);font-size:12px;font-weight:800;text-align:left}.finance-add-row:hover{border-color:var(--teal);background:var(--teal-soft)}.finance-empty-row{min-width:830px;min-height:116px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center}.finance-empty-row strong{color:var(--navy);font-size:13px}.finance-empty-row span{margin-top:5px;font-size:11px}.undo-toast{min-height:50px;position:fixed;right:24px;bottom:24px;z-index:80;padding:8px 9px 8px 16px;display:flex;align-items:center;gap:18px;border-radius:var(--radius);background:var(--navy);box-shadow:0 14px 34px #17212b40;color:#fff;font-size:12px;animation:toast-in .18s ease both}.undo-toast button{height:34px;padding:0 11px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:6px;background:#ffffff1f;color:#fff;font-size:11px;font-weight:800}.undo-toast button:hover{background:var(--teal)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:920px){.finance-sheet{overflow:visible;border:0;background:transparent}.finance-sheet-header{display:none}.finance-sheet-body{display:grid;gap:10px}.finance-sheet-row{min-width:0;min-height:0;padding:44px 11px 12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px 9px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.finance-sheet-row:hover,.finance-sheet-row:focus-within,.finance-sheet-row.is-paid{background:#fff}.finance-cell{min-height:54px;padding:2px;align-items:stretch;flex-direction:column;justify-content:center;border:0}.finance-cell:before{content:attr(data-label);min-height:14px;padding-left:7px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.finance-description-cell,.finance-amount-cell{grid-column:1 / -1}.finance-description-cell{order:1}.finance-type-cell{order:2}.finance-category-cell{order:3}.finance-center-cell{order:4}.finance-date-cell{order:5}.finance-member-cell{order:6}.finance-amount-cell{order:7;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:14px 38px;align-items:center;padding-left:8px}.finance-amount-cell:before{position:static;grid-column:1 / -1;grid-row:1;align-self:center;padding-left:0}.finance-amount-cell>span{height:auto;grid-column:1;grid-row:2;display:flex;align-items:center}.finance-amount-cell input{grid-column:2;grid-row:2;text-align:left}.finance-status-cell{min-height:32px;position:absolute;top:8px;left:11px;z-index:2;padding:0;flex-direction:row;align-items:center;justify-content:flex-start}.finance-status-cell:before{display:none}.status-copy{display:inline;color:var(--muted);font-size:10px;font-weight:800}.finance-actions-cell{width:auto;min-height:32px;position:absolute;top:8px;right:9px;z-index:3;flex-direction:row}.row-delete-button{opacity:1}.finance-member-cell .member-color{top:31px}.finance-new-row{box-shadow:inset 3px 0 0 var(--teal)}.finance-add-row{width:100%;min-width:0;min-height:52px;margin:0;justify-content:center;background:#fff}.finance-empty-row{min-width:0;min-height:110px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.undo-toast{right:14px;bottom:80px;left:14px;justify-content:space-between}}.cost-centers-page .page-heading p{margin:7px 0 0;color:var(--muted);font-size:12px}.cost-center-create{min-height:94px;padding:17px 18px;display:grid;grid-template-columns:minmax(220px,1fr) 180px auto;align-items:end;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.cost-center-create label,.cost-center-row label{min-width:0;color:#55615b;font-size:10px;font-weight:800;text-transform:uppercase}.cost-center-create input,.cost-center-create select,.cost-center-row input,.cost-center-row select{width:100%;height:42px;margin-top:6px;padding:0 11px;border:1px solid #cbd3cf;border-radius:6px;outline:0;background:#fff;color:var(--navy);font-size:12px;font-weight:600;text-transform:none}.cost-center-create input:focus,.cost-center-create select:focus,.cost-center-row input:focus,.cost-center-row select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #2a7f721f}.cost-center-groups{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:18px}.cost-center-group,.inactive-centers{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.cost-center-group>header{min-height:76px;padding:15px 17px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.cost-center-group-icon,.cost-center-icon{display:grid;place-items:center;border-radius:7px}.cost-center-group-icon{width:36px;height:36px;flex:0 0 auto}.cost-center-group.income .cost-center-group-icon,.cost-center-icon.income{background:var(--green-soft);color:var(--green)}.cost-center-group.expense .cost-center-group-icon,.cost-center-icon.expense{background:var(--coral-soft);color:var(--coral)}.cost-center-group h2,.inactive-centers h2{margin:0;font-size:15px}.cost-center-group p,.inactive-centers p{margin:4px 0 0;color:var(--muted);font-size:11px}.cost-center-list{display:grid}.cost-center-row{min-height:72px;padding:9px 10px;display:grid;grid-template-columns:34px minmax(110px,1fr) 105px auto 34px;align-items:center;gap:8px;border-bottom:1px solid #e8ecea}.cost-center-row:last-child{border-bottom:0}.cost-center-icon{width:32px;height:32px}.cost-center-row label>span{display:none}.cost-center-row input,.cost-center-row select{height:38px;margin-top:0;border-color:transparent;background:transparent}.cost-center-row input{font-weight:800}.cost-center-row:hover input,.cost-center-row:hover select{border-color:#dfe5e2;background:#fff}.cost-center-count{color:var(--muted);font-size:9px;white-space:nowrap}.center-delete-button,.center-restore-button{min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:6px}.center-delete-button{width:32px;opacity:0;background:transparent;color:var(--muted)}.cost-center-row:hover .center-delete-button,.center-delete-button:focus-visible{opacity:1}.center-delete-button:hover{background:var(--coral-soft);color:var(--coral)}.center-restore-button{padding:0 10px;background:var(--teal-soft);color:var(--teal-strong);font-size:10px;font-weight:800}.cost-center-empty{min-height:86px;display:grid;place-items:center;color:var(--muted);font-size:11px}.inactive-centers>div:first-child{padding:15px 18px;border-bottom:1px solid var(--line)}.cost-center-row.inactive{grid-template-columns:34px minmax(110px,1fr) 105px auto auto;background:#f8faf9}.cost-center-row.inactive input,.cost-center-row.inactive select{color:#89938e}@media(max-width:1100px){.cost-center-groups{grid-template-columns:1fr}}@media(max-width:600px){.cost-center-create{padding:14px;grid-template-columns:1fr 1fr}.cost-center-create label:first-child{grid-column:1 / -1}.cost-center-create .primary-button{height:42px}.cost-center-row,.cost-center-row.inactive{min-height:130px;padding:42px 10px 10px;position:relative;grid-template-columns:minmax(0,1fr) minmax(100px,.7fr);align-items:end}.cost-center-icon{position:absolute;top:10px;left:12px}.cost-center-row label>span{display:block;margin:0 0 4px 7px}.cost-center-count{grid-column:1;align-self:center;padding-left:7px}.center-delete-button,.center-restore-button{position:absolute;top:10px;right:10px}.center-delete-button{opacity:1}}@media(max-width:600px){.finance-page{gap:18px}.finance-heading{align-items:stretch;gap:8px}.finance-save-status{align-self:flex-start;padding-left:0}.finance-page .finance-summary{grid-template-columns:1fr 1fr}.finance-page .finance-summary>div{min-height:82px;padding:15px}.finance-page .finance-summary>div:nth-child(2){border-top:0;border-left:1px solid var(--line)}.finance-page .finance-summary>div:nth-child(3){grid-column:1 / -1;border-top:1px solid var(--line)}.finance-page .finance-summary strong{font-size:18px}.finance-toolbar{align-items:stretch;flex-direction:column;gap:10px}.finance-search{width:100%}}
