:root{font-family:Segoe UI,Microsoft YaHei,PingFang SC,sans-serif;color:#202225;background:#edf2ee;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh;background:#edf2ee}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}input,select,textarea{width:100%;min-height:42px;border:1px solid #d8dcd7;border-radius:6px;outline:0;background:#fff;color:#202225;padding:10px 12px}input:focus,select:focus,textarea:focus{border-color:#6b8877;box-shadow:0 0 0 3px #6b887724}textarea{min-height:78px;resize:vertical}label{display:grid;gap:7px;color:#4f5952;font-size:13px;font-weight:650}.brand-mark{display:inline-flex;align-items:center;gap:9px;color:#f7f5ee;font-size:15px;font-weight:800;letter-spacing:0}.eyebrow,.section-kicker{color:#b7c1bb;font-size:10px;font-weight:800;letter-spacing:0}.eyebrow.dark{color:#2e5d4c}.muted{margin:0;color:#727b75;font-size:14px;line-height:1.6}.primary-button,.secondary-button,.text-button,.icon-button,.nav-item,.profile-button,.password-button,.sidebar-create,.back-button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary-button{min-height:40px;padding:9px 15px;border-radius:6px;background:#2e5d4c;color:#fff;font-weight:750}.primary-button:hover{background:#244c3e}.primary-button.full{width:100%;min-height:45px}.secondary-button{min-height:40px;padding:9px 13px;border:1px solid #d7ddd8;border-radius:6px;background:#fff;color:#45534b;font-weight:700}.secondary-button:hover{border-color:#9bad9f;background:#fbfcfb}.secondary-button.danger-outline{color:#9a443b;border-color:#e4c5c0}.text-button{padding:7px 0;background:transparent;color:#2e5d4c;font-weight:750}.icon-button{width:31px;height:31px;flex:0 0 31px;padding:0;border-radius:5px;background:transparent;color:#68756c}.icon-button:hover{background:#eef2ed;color:#2e5d4c}.icon-button.danger:hover{background:#fff0ed;color:#ad4c42}.form-error{padding:9px 11px;border:1px solid #efcdc7;border-radius:5px;background:#fff2ef;color:#9f4339;font-size:12px}.login-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(400px,.9fr)}.login-art{min-height:100dvh;padding:42px 7vw 48px;display:flex;flex-direction:column;justify-content:space-between;background:#26332f;color:#f4f1e8}.art-copy{max-width:650px}.art-copy h1{margin:18px 0;font-size:58px;line-height:1.08;letter-spacing:0}.art-copy h1 em{color:#efb94c;font-style:normal}.art-copy p{max-width:480px;margin:0;color:#cbd5ce;font-size:16px;line-height:1.75}.art-note{display:inline-flex;align-items:center;gap:7px;color:#ccd5ce;font-size:12px}.login-panel{padding:44px;display:grid;place-items:center;background:#f8faf7}.login-panel-inner{width:min(100%,390px)}.login-panel h2{margin:10px 0 7px;font-size:32px;letter-spacing:0}.login-form{margin-top:30px;display:grid;gap:17px}.mobile-brand{display:none}.boot-screen{min-height:100dvh;display:grid;place-items:center;color:#2e5d4c;background:#edf2ee}.app-shell{min-height:100dvh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{height:100dvh;position:sticky;top:0;padding:27px 17px 17px;display:flex;flex-direction:column;overflow-y:auto;background:#26332f;color:#e5ebe5}.sidebar>.brand-mark{padding:0 10px 27px}.ledger-switcher{min-width:0;position:relative;display:grid;grid-template-columns:31px minmax(0,1fr);gap:1px 9px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:#ffffff0a}.ledger-avatar{grid-row:1 / 3;width:31px;height:31px;display:grid;place-items:center;border-radius:6px;background:#efb94c;color:#27332e}.ledger-switcher select{min-width:0;min-height:20px;height:20px;padding:0 20px 0 0;border:0;box-shadow:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:transparent;color:#f3f5f2;font-size:13px;font-weight:750}.ledger-switcher select option{color:#222;background:#fff}.ledger-switcher small{color:#9eaaa2;font-size:10px}.main-nav{margin-top:24px;display:grid;gap:3px}.nav-item{width:100%;justify-content:flex-start;padding:10px 11px;border-radius:6px;background:transparent;color:#afbbb3;font-size:13px;font-weight:650}.nav-item:hover{color:#f1f4f1;background:#ffffff0f}.nav-item.active{color:#fff;background:#31564a}.sidebar-create{width:100%;margin-top:18px;padding:10px 11px;justify-content:flex-start;border:1px dashed rgba(255,255,255,.2);border-radius:6px;background:transparent;color:#d2dbd4;font-size:12px;font-weight:650}.sidebar-create:hover{background:#ffffff0f}.sidebar-bottom{margin-top:auto}.password-button{width:100%;justify-content:flex-start;padding:9px 10px;border:1px solid rgba(255,255,255,.12);border-radius:5px;background:#ffffff08;color:#bfcbc2;font-size:12px}.profile-button{width:100%;justify-content:flex-start;padding:14px 9px 2px;background:transparent;color:#e0e6e1;text-align:left}.profile-button>svg{margin-left:auto;color:#8e9b92}.profile-button span b,.profile-button span small{display:block}.profile-button span b{font-size:12px}.profile-button span small{margin-top:3px;color:#95a299;font-size:10px}.profile-avatar{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:50%;background:#769b86;color:#fff;font-size:12px;font-weight:800}.main-content{min-width:0;min-height:100dvh;padding:34px 43px 54px;background:#edf2ee}.content-grid{width:min(100%,1160px);margin:0 auto}.topbar{width:min(100%,1160px);margin:0 auto;padding-bottom:20px;border-bottom:1px solid #e1e4df;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.topbar h2{margin:7px 0 0;font-size:27px;letter-spacing:0}.top-subtitle{display:block;margin-top:6px;color:#78837b;font-size:12px}.top-actions{display:flex;align-items:center;gap:8px}.detail-topbar{align-items:center}.back-button{padding:4px 0;background:transparent;color:#567062;font-size:12px;font-weight:700}.sync-error{width:min(100%,1160px);margin:0 auto 14px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;border:1px solid #efcdc7;border-radius:6px;background:#fff2ef;color:#9f4339;font-size:12px}.sync-error button{border:0;background:transparent;color:inherit}.loading-state{width:min(100%,1160px);margin:26px auto;display:grid;gap:10px}.loading-state>span{height:74px;border-radius:7px;background:#e3e8e2;animation:pulse 1.2s ease-in-out infinite alternate}.loading-state>span:nth-child(2){width:62%;height:42px}@keyframes pulse{to{opacity:.42}}.standalone-empty{min-height:calc(100dvh - 100px);display:grid;place-content:center;justify-items:center;text-align:center}.standalone-empty>span{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#e2ebe4;color:#426c54}.standalone-empty h2{margin:15px 0 6px;font-size:22px}.standalone-empty p{margin:0 0 20px;color:#758078}.welcome-row{padding:29px 0 24px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.welcome-row h1{margin:0 0 7px;font-size:21px;letter-spacing:0}.welcome-row p{margin:0;color:#778179;font-size:13px}.stats-grid{display:grid;gap:11px}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{min-width:0;min-height:126px;padding:17px 18px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #e1e5e0;border-radius:7px;background:#fff}.stat-card.featured{border-color:#d5e1d7;background:#eef3ee}.stat-label{display:flex;justify-content:space-between;align-items:center;color:#68746b;font-size:11px;font-weight:700}.stat-label svg{color:#5d7e6a}.stat-card>strong{overflow:hidden;color:#26332f;font-size:26px;letter-spacing:0;text-overflow:ellipsis}.stat-card>small{color:#89928b;font-size:10px}.overview-columns{margin-top:11px;display:grid;grid-template-columns:1.05fr .95fr;gap:11px}.family-columns{grid-template-columns:1fr 1fr}.panel{border:1px solid #e1e5e0;border-radius:7px;background:#fff}.padded-panel{min-height:330px;padding:20px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:19px}.panel-heading h3{margin:6px 0 0;font-size:16px;letter-spacing:0}.category-list{display:grid;gap:18px}.category-name{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;color:#535e56;font-size:12px}.category-name b{color:#303a34}.category-dot{width:7px;height:7px;border-radius:50%;background:#dfad43}.category-row:nth-child(2) .category-dot{background:#5f8f76}.category-row:nth-child(3) .category-dot{background:#6685aa}.category-row:nth-child(4) .category-dot{background:#bd7162}.category-row:nth-child(5) .category-dot{background:#84745e}.meter{height:5px;margin:8px 0 0 16px;overflow:hidden;border-radius:4px;background:#edf0ec}.meter span{display:block;height:100%;border-radius:inherit;background:#6b8877}.recent-list{display:grid}.recent-row{min-width:0;min-height:52px;display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:10px;border-top:1px solid #edf0ed}.recent-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:5px;background:#edf3ee;color:#547863}.recent-main{min-width:0}.recent-main b,.recent-main small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.recent-main b{color:#354139;font-size:12px}.recent-main small{margin-top:3px;color:#8a948c;font-size:10px}.recent-row strong{color:#29352e;font-size:12px}.empty-state{min-height:220px;display:grid;place-content:center;justify-items:center;gap:6px;text-align:center;color:#6c786f}.empty-state>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#eff3ef;color:#668370}.empty-state b{font-size:13px}.empty-state small{color:#929c94;font-size:11px}.empty-action{display:flex;justify-content:center;padding:0 0 25px}.list-page,.management-page,.loan-page,.detail-page{padding-top:22px}.list-toolbar{margin-bottom:11px;display:flex;justify-content:space-between;gap:12px}.search-box{width:min(100%,430px);display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid #dce2dc;border-radius:6px;background:#fff;color:#77857c}.search-box input{min-height:40px;padding:8px 0;border:0;box-shadow:none}.select-wrap{min-width:140px;display:flex;align-items:center;gap:5px;padding-left:10px;border:1px solid #dce2dc;border-radius:6px;background:#fff;color:#738078}.select-wrap select{border:0;box-shadow:none}.table-panel{overflow:hidden}.table-summary{min-height:55px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7ebe7;color:#748078;font-size:12px}.table-summary b,.table-summary strong{color:#29342e;font-size:17px}.data-table{overflow-x:auto}.data-head,.data-row{min-width:920px;display:grid;align-items:center;gap:12px;padding:0 18px}.data-head{min-height:39px;border-bottom:1px solid #e4e9e4;background:#fafcfa;color:#7d8980;font-size:10px;font-weight:750}.data-row{min-height:66px;border-bottom:1px solid #edf0ed;color:#4e5a52;font-size:11px}.data-row:last-child{border-bottom:0}.data-row:hover{background:#fafcfa}.data-row strong{color:#28352e;font-size:13px}.expense-data .data-head,.expense-data .data-row{grid-template-columns:90px 90px 100px minmax(180px,1fr) 120px 62px 70px}.installment-data .data-head,.installment-data .data-row{grid-template-columns:70px 100px 120px 120px 100px 120px 100px}.repayment-data .data-head,.repayment-data .data-row{grid-template-columns:90px 90px 105px 105px 85px 110px 75px 40px}.repayment-history-page>.stats-grid,.repayment-history-page>.repayment-filters,.repayment-history-page>.form-error{margin-bottom:12px}.repayment-filters{padding:16px;display:grid;grid-template-columns:minmax(180px,2fr) repeat(3,minmax(130px,1fr));gap:12px;align-items:end}.repayment-filters label{min-width:0}.repayment-filters .history-search{grid-column:span 3}.repayment-history-scroll{overflow-x:auto}.repayment-history-table{width:100%;min-width:1080px;border-collapse:collapse;text-align:left;font-size:12px}.repayment-history-table th{padding:13px 16px;background:#f8fafc;color:#64748b;font-size:11px;white-space:nowrap}.repayment-history-table td{padding:16px;border-top:1px solid #e7ebe7;white-space:nowrap;font-variant-numeric:tabular-nums}.repayment-history-table tr:hover td{background:#fafcfc}.repayment-history-table .history-loan{min-width:180px;max-width:280px;white-space:normal;overflow-wrap:anywhere}.history-loan .text-button{padding:0;text-align:left}.history-loan small{display:block;margin-top:5px;color:#64748b}.repayment-history-table .history-text{min-width:120px;max-width:280px;white-space:normal;overflow-wrap:anywhere}.history-pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:14px 16px;border-top:1px solid #e7ebe7;font-size:12px;color:#64748b}@media (max-width: 1000px){.repayment-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.repayment-filters .history-search{grid-column:span 2}}@media (max-width: 560px){.repayment-filters{grid-template-columns:minmax(0,1fr)}.repayment-filters .history-search{grid-column:auto}}.date-cell{color:#3e594a;font-weight:700}.primary-cell{min-width:0}.primary-cell b,.primary-cell small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.primary-cell b{color:#2f3b34;font-size:12px}.primary-cell small{margin-top:4px;color:#89948c;font-size:10px}.person-tag,.role-badge,.auto-badge,.status-badge,.source-badge{display:inline-flex;width:fit-content;padding:4px 7px;border-radius:4px;background:#eef1ee;color:#68736c;font-size:10px;font-style:normal;font-weight:700}.person-tag.is-self,.auto-badge{background:#e7f1ea;color:#397052}.row-actions{display:flex;justify-content:flex-end;gap:2px}.voucher-link{display:inline-flex;align-items:center;gap:3px;color:#426ea1;text-decoration:none;font-weight:700}.status-badge.auto_paid,.status-badge.paid{background:#e8f2ea;color:#36704e}.status-badge.scheduled{background:#eef1f5;color:#58708c}.status-badge.partial{background:#fff3da;color:#8c681d}.status-badge.unpaid{background:#fff0ed;color:#a1483e}.management-page{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:11px}.member-panel,.account-panel{padding:20px}.inline-member-form{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;align-items:end;gap:9px;padding-bottom:17px;border-bottom:1px solid #e8ebe8}.member-list{display:grid}.member-row{min-height:61px;display:grid;grid-template-columns:32px minmax(0,1fr) auto 31px;align-items:center;gap:9px;border-bottom:1px solid #edf0ed}.member-row>span:nth-child(2){min-width:0}.member-row b,.member-row small{display:block}.member-row b{font-size:12px}.member-row small{margin-top:3px;color:#89938c;font-size:10px}.stack-form{display:grid;gap:13px}.loan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.loan-card{min-width:0;padding:18px;border:1px solid #dce2dc;border-radius:7px;background:#fff;color:inherit;text-align:left}.loan-card:hover{border-color:#99aa9e;box-shadow:0 4px 14px #27392e0f}.loan-card-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px}.loan-card-head b,.loan-card-head small{display:block}.loan-card-head b{font-size:13px}.loan-card-head small{margin-top:4px;color:#808b83;font-size:10px}.loan-kind{width:35px;height:35px;display:grid;place-items:center;border-radius:6px;background:#e8eef5;color:#52739a}.loan-kind.car{background:#edf2ea;color:#587b5e}.loan-kind.business{background:#fff1db;color:#91651e}.loan-kind.personal{background:#f5e9ea;color:#95606a}.loan-balance{margin:23px 0 18px}.loan-balance small,.loan-balance strong{display:block}.loan-balance small{color:#78847c;font-size:10px}.loan-balance strong{margin-top:5px;color:#26332c;font-size:26px}.loan-card-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:13px;border-top:1px solid #e9ece9}.loan-card-meta small,.loan-card-meta b{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.loan-card-meta small{color:#8b958e;font-size:9px}.loan-card-meta b{margin-top:4px;color:#48544c;font-size:10px}.loan-compact-list,.upcoming-list{display:grid}.loan-compact-list button,.upcoming-list button{width:100%;min-width:0;min-height:53px;border:0;border-top:1px solid #edf0ed;background:transparent;color:inherit;text-align:left}.loan-compact-list button{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px}.loan-compact-list .loan-kind{width:30px;height:30px}.loan-compact-list span b,.loan-compact-list span small{display:block}.loan-compact-list span b{font-size:11px}.loan-compact-list span small{margin-top:3px;color:#8a948c;font-size:9px}.loan-compact-list span:last-child{text-align:right}.upcoming-list button{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px}.upcoming-list button>svg{color:#66806f}.upcoming-list b,.upcoming-list small{display:block}.upcoming-list b{font-size:11px}.upcoming-list small{margin-top:3px;color:#8a948c;font-size:9px}.upcoming-list strong{font-size:11px}.detail-page .stats-grid{margin-bottom:11px}.loan-facts{min-height:79px;padding:14px 17px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.loan-facts span{min-width:0;padding-right:10px;border-right:1px solid #e8ebe8}.loan-facts span:last-child{border-right:0}.loan-facts small,.loan-facts b{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.loan-facts small{color:#89938c;font-size:9px}.loan-facts b{margin-top:6px;color:#36423a;font-size:11px}.segmented{width:fit-content;margin:16px 0 10px;display:inline-flex;padding:3px;border:1px solid #d8ded8;border-radius:6px;background:#e5e9e4}.segmented button{min-width:92px;padding:7px 12px;border:0;border-radius:4px;background:transparent;color:#6c776f;font-size:11px;font-weight:700}.segmented button.active{background:#fff;color:#2b5944;box-shadow:0 1px 3px #2331281a}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;padding:22px;display:grid;place-items:center;background:#1b231e85}.modal{width:min(100%,560px);max-height:calc(100dvh - 44px);overflow-y:auto;border-radius:8px;background:#fbfcfa;box-shadow:0 20px 64px #14201938}.modal.wide{width:min(100%,700px)}.modal-header{position:sticky;top:0;z-index:2;padding:20px 23px 16px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e4e8e4;background:#fbfcfa}.modal-header h3{margin:6px 0 0;font-size:19px;letter-spacing:0}.modal-form{padding:20px 23px 23px;display:grid;gap:15px}.form-grid{display:grid;gap:11px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:3px}.type-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px}.type-choice button{min-height:98px;padding:13px;display:grid;justify-items:start;gap:5px;border:1px solid #dce2dc;border-radius:7px;background:#fff;color:#5a675e;text-align:left}.type-choice button.selected{border-color:#6b8877;background:#eaf2ec;color:#2e5d4c;box-shadow:0 0 0 2px #6b88771a}.type-choice b{color:#303b34;font-size:12px}.type-choice small{color:#828d85;font-size:10px}.locked-value{min-height:42px;display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border:1px solid #e0e5df;border-radius:6px;background:#f0f3ef;color:#69766d;font-weight:500}.check-row{grid-template-columns:18px minmax(0,1fr);align-items:start;padding:11px;border:1px solid #dce2dc;border-radius:6px;background:#fff}.check-row input{width:16px;min-height:16px;margin:2px 0 0;accent-color:#2e5d4c}.check-row b,.check-row small{display:block}.check-row b{color:#3c4941;font-size:12px}.check-row small{margin-top:3px;color:#879189;font-size:10px;font-weight:400}.phase-options{display:flex;flex-wrap:wrap;gap:6px;margin-top:-4px}.phase-chip{padding:6px 9px;border:1px solid #d9dfda;border-radius:5px;background:#fff;color:#67736b;font-size:11px}.phase-chip.selected{border-color:#6f8f7b;background:#eaf2ec;color:#326147}.voucher-field{display:grid;gap:7px}.field-label{color:#4f5952;font-size:13px;font-weight:650}.voucher-input{display:none}.voucher-upload{min-height:61px;padding:10px 11px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px dashed #c2cbc3;border-radius:6px;background:#f7f9f7;color:#65806f}.voucher-upload.has-file{border-style:solid;border-color:#9db1a2;background:#f0f5f1}.voucher-upload span{min-width:0}.voucher-upload b,.voucher-upload small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.voucher-upload b{color:#455149;font-size:11px}.voucher-upload small{margin-top:3px;color:#849087;font-size:9px}.voucher-upload>div{display:flex;gap:7px}.voucher-upload button{padding:3px;display:inline-flex;align-items:center;gap:3px;border:0;background:transparent;color:#416d54;font-size:10px;font-weight:700}.voucher-upload button.danger-text{color:#a44940}.repayment-total{min-height:55px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;border-radius:6px;background:#eef3ee;color:#526058;font-size:11px}.repayment-total strong{color:#244c39;font-size:20px}@media (max-width: 1050px){.stats-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.management-page{grid-template-columns:1fr}.loan-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.loan-facts span:nth-child(3){border-right:0}}@media (max-width: 820px){.login-shell{grid-template-columns:1fr}.login-art{display:none}.login-panel{min-height:100dvh;padding:28px 20px}.mobile-brand{margin-bottom:46px;display:inline-flex;align-items:center;gap:8px;color:#2e5d4c;font-weight:800}.app-shell{grid-template-columns:1fr}.sidebar{height:auto;min-height:62px;position:relative;padding:11px 13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;overflow:visible}.sidebar>.brand-mark{padding:0}.ledger-switcher{padding:6px 8px;border:0;background:transparent}.ledger-avatar{width:28px;height:28px}.ledger-switcher small{display:none}.main-nav{position:fixed;left:0;right:0;bottom:0;z-index:12;height:57px;margin:0;padding:5px 10px;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));background:#26332f}.nav-item{justify-content:center;flex-direction:column;gap:2px;padding:4px;font-size:9px}.nav-item svg{width:17px}.sidebar-create,.password-button,.profile-button span:not(.profile-avatar),.profile-button>svg{display:none}.sidebar-bottom{margin:0}.profile-button{padding:0}.main-content{min-height:calc(100dvh - 62px);padding:23px 16px 78px}.topbar{align-items:flex-start}.topbar h2{font-size:22px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.top-actions .secondary-button{padding-inline:9px}.overview-columns,.family-columns,.loan-grid{grid-template-columns:1fr}.welcome-row{align-items:flex-start;flex-direction:column}.loan-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-facts span:nth-child(2n){border-right:0}}@media (max-width: 560px){.stats-grid.three,.stats-grid.four{grid-template-columns:1fr 1fr}.stat-card{min-height:112px;padding:14px}.stat-card>strong{font-size:20px}.list-toolbar{flex-direction:column}.search-box{width:100%}.inline-member-form,.form-grid.two,.form-grid.three,.type-choice{grid-template-columns:1fr}.loan-card-meta{grid-template-columns:1fr 1fr}.modal-backdrop{padding:9px}.modal{max-height:calc(100dvh - 18px)}.modal-header,.modal-form{padding-left:17px;padding-right:17px}.top-actions .secondary-button.danger-outline{font-size:0;width:40px;padding:0}.voucher-upload{grid-template-columns:25px minmax(0,1fr)}.voucher-upload>div{grid-column:1 / -1;justify-content:flex-end}}:root{background:#f3f5f7}body,.login-shell{background:#f3f5f7}.login-art,.sidebar{background:#1f2937}.login-panel{background:#f8fafc}.main-content{background:#f3f5f7}.primary-button{background:#2563eb}.primary-button:hover{background:#1d4ed8}.secondary-button{border-color:#cfd6df;color:#334155}.secondary-button:hover{border-color:#94a3b8;background:#f8fafc}.text-button,.back-button{color:#2563eb}.nav-item.active{background:#334155}.ledger-avatar{background:#2563eb;color:#fff}.profile-avatar{background:#64748b}.stat-card.featured{background:#eaf1ff;border-color:#cbdafc}.panel,.stat-card,.loan-card{border-color:#d9dee6}.meter span,.category-dot{background:#2563eb}.category-row:nth-child(2) .category-dot{background:#0f766e}.category-row:nth-child(3) .category-dot{background:#64748b}.category-row:nth-child(4) .category-dot{background:#d97706}.category-row:nth-child(5) .category-dot{background:#7c3aed}.recent-icon{color:#2563eb;background:#eaf1ff}.person-tag.is-self,.auto-badge{background:#eaf1ff;color:#1d4ed8}.expense-data .data-row>strong{color:#1d4ed8}.date-cell{color:#334155}.data-head{color:#64748b;background:#f8fafc;border-bottom-color:#cbd5e1}.data-row:hover{background:#f8fafc}.search-box,.select-wrap,.filters select,input,select,textarea{border-color:#cfd6df}input:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.password-button{border-color:#e2e8f02e}.art-copy h1 em{color:#93c5fd}.art-note{color:#cbd5e1}.type-choice button.selected{border-color:#2563eb;background:#eaf1ff;color:#1d4ed8;box-shadow:0 0 0 2px #2563eb1a}.check-row input{accent-color:#2563eb}.repayment-total{background:#eaf1ff;color:#475569}.repayment-total strong,.segmented button.active{color:#1d4ed8}.loan-card:hover{border-color:#94a3b8}@media (max-width: 820px){.main-nav{background:#1f2937}}
