:root{color-scheme:light;--canvas:#f5f5ef;--surface:#ffffff;--surface-alt:#f8f9f5;--ink:#24392e;--text:#303b35;--muted:#626e65;--line:#dce2d9;--line-strong:#b8c4b9;--accent:#286247;--accent-hover:#1e5038;--accent-soft:#eaf1e9;--danger:#a33d33;--danger-soft:#fcf0ed;--focus:#99621d;--radius:12px;--radius-small:7px;--sidebar:216px;--font:"Segoe UI","Microsoft JhengHei","PingFang TC",sans-serif;--figures:"Bahnschrift","Aptos","Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-padding:24px}body{margin:0;padding:0;background:var(--canvas);color:var(--text);font:15px/1.65 var(--font);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,summary,select{touch-action:manipulation}button{cursor:pointer}a{color:var(--accent);text-underline-offset:4px}button,input,select,summary,a{-webkit-tap-highlight-color:transparent}:is(button,input,select,summary,a):focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{background:var(--accent-soft);color:var(--ink)}.skip-link{position:fixed;top:12px;left:16px;z-index:100;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;background:var(--surface)}.skip-link:focus{width:auto;height:auto;padding:12px 18px;border:1px solid var(--ink);clip-path:none}.ui-icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:32px 16px;border-right:1px solid var(--line);background:var(--canvas);display:flex;flex-direction:column;z-index:30}.app-brand{display:flex;gap:12px;align-items:center;padding:0 12px 32px;color:var(--ink)}.brand-mark{width:30px;height:36px;color:var(--accent)}.brand-name{font-weight:700;font-size:20px;letter-spacing:.03em}.brand-caption{display:block;color:var(--muted);font-size:12px;letter-spacing:.08em;margin-top:1px}.nav-tabs{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;background:none}.nav-tab{appearance:none;border:1px solid transparent;border-radius:var(--radius-small);display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 14px;background:transparent;color:var(--muted);font-size:14px;font-weight:500;text-align:left;white-space:normal;transition:background-color .14s,color .14s,border-color .14s}.nav-tab:hover{background:#edf0e9;color:var(--ink)}.nav-tab.active{color:var(--ink);background:#e3e9df;border-color:#d5dfd1;font-weight:700}.nav-label-short{display:none}.sidebar-foot{margin-top:auto;padding:24px 12px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.app-main{margin-left:var(--sidebar);padding:28px 40px 56px;max-width:1440px;min-width:0;min-height:100dvh}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.page-eyebrow{color:var(--muted);font-size:12px;letter-spacing:.08em;margin:0 0 6px}h1{margin:0;color:var(--ink);font-size:28px;line-height:1.3;font-weight:650;letter-spacing:.015em;text-wrap:balance}.page-description{margin:10px 0 0;color:var(--muted);font-size:14px}.purpose-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.purpose-fields [hidden]{display:none}@media(max-width:600px){.purpose-fields{grid-template-columns:1fr}}.page-date{flex-shrink:0;color:var(--muted);font:13px/1.6 var(--figures);padding-top:6px;font-variant-numeric:tabular-nums}.report-month-control{flex:0 0 174px}.report-month-control label{font-size:12px;margin:3px 0}.report-month-control input{padding:7px 10px;min-height:44px}.scope-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.scope-toolbar select{flex:1;min-width:130px;width:auto}.scope-toolbar button{flex-shrink:0}.report-month-control[hidden]{display:none}#projectNameManager>.scope-toolbar input{flex:1;width:auto;min-width:160px}#projectNameManager[aria-busy=true]{opacity:.7;pointer-events:none}.project-name-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:10px 0;min-width:0}.project-name-row[hidden]{display:none}.project-name-row.is-dragging{background:var(--accent-soft);opacity:.7}.project-name-label{flex:1;min-width:0;overflow-wrap:anywhere}.drag-project-handle{cursor:grab;touch-action:none;min-width:44px;min-height:44px;background:var(--surface-alt);color:var(--muted);border:1px solid var(--line);border-radius:6px;font-size:20px}.drag-project-handle:active{cursor:grabbing}.project-name-actions{display:flex;flex-wrap:wrap;gap:6px}.report-month-card{border:1px solid var(--line-strong);border-radius:9px;padding:12px 18px;margin:0 0 16px;background:var(--surface-alt)}.report-month-card>summary{font-weight:650;font-size:17px}.report-month-card[open]>summary{border-bottom:1px solid var(--line);margin-bottom:14px}.month-project-list .session-card:last-child{margin-bottom:0}@media(max-width:600px){.report-month-card{padding:8px 10px}.report-month-card>summary{font-size:15px}.project-name-row{flex-wrap:wrap}.project-name-actions{padding-left:54px;width:100%}}@media(max-width:600px){.report-month-control{flex-basis:142px}}h2{color:var(--ink);font-size:19px;line-height:1.45;margin:0 0 8px;font-weight:650}p{margin:0 0 20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:0 0 20px;box-shadow:none;min-width:0}details{min-width:0}details>summary{position:relative;list-style:none;padding:9px 30px 9px 0;min-height:44px;line-height:1.7;cursor:pointer;color:var(--ink);overflow-wrap:anywhere}details>summary::-webkit-details-marker{display:none}details>summary:after{content:"";position:absolute;right:6px;top:18px;width:7px;height:7px;border-bottom:1.6px solid currentColor;border-right:1.6px solid currentColor;transform:rotate(45deg);transition:transform .15s}details[open]>summary:after{transform:rotate(225deg);top:21px}details:not([open])>:not(summary){display:none!important}details.card{padding:14px 24px}details.card>summary{font-size:16px;font-weight:650;margin:0;padding-top:11px;padding-bottom:11px}details.card[open]>summary{margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:17px}#formFieldsDetails>summary:before,#splitSection>summary:before,#historySection>summary:before{display:inline-block;width:24px;margin-right:10px;color:var(--muted);font:12px var(--figures)}#formFieldsDetails>summary:before{content:"01"}#splitSection>summary:before{content:"02"}#historySection>summary:before{content:"03"}.app-main[data-view=normal] #historySection>summary:before{content:"02"}#formContainer{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);gap:18px;align-items:start}#formContainer>.toolbar{grid-column:1/-1;margin:0}#formFieldsDetails{grid-column:1;grid-row:2}#splitSection{grid-column:2;grid-row:2}#formContainer .card{margin:0}.form-savebar{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:4px 0}#historySection{grid-column:1/-1;margin-top:0!important}.app-main[data-view=normal] #formContainer{grid-template-columns:1fr}.app-main[data-view=normal] #formFieldsDetails{grid-column:1/-1}.form-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;padding:0 0 12px}.form-group{min-width:0;margin:0}.form-group.wide-field{grid-column:1/-1}.card>.form-group{margin-bottom:18px}label{display:block;font-size:13px;font-weight:600;color:var(--text);line-height:1.5;margin:0 0 8px}input,select{width:100%;min-width:0;min-height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-small);padding:10px 12px;color:var(--ink);background:var(--surface);font-size:15px;line-height:1.5;transition:border-color .12s,box-shadow .12s}input:hover,select:hover{border-color:#879b8c}input:focus,select:focus{border-color:var(--accent)}input::placeholder{color:#6e7971;opacity:1}input[type=number],input[type=date],input[type=month]{font-family:var(--figures);font-variant-numeric:tabular-nums}#totalAmount{font-size:24px;font-weight:550;min-height:54px;color:var(--ink)}#subtypeInput{font-size:14px}input[disabled],select[disabled]{background:var(--surface-alt);color:var(--muted);cursor:wait}.btn-small{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-small);background:var(--surface);color:var(--text);font-size:13px;font-weight:550;line-height:1.5;text-align:center;transition:background-color .12s,border-color .12s}.btn-small:hover{background:var(--surface-alt);border-color:#879b8c}.btn-small:active{background:#e9eee5}.btn-danger{color:var(--danger);background:transparent;border-color:#e6c9c2}.btn-danger:hover{color:#8d2d24;background:var(--danger-soft);border-color:#c98f85}.btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;min-width:220px;padding:12px 24px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;font-size:15px;font-weight:650;cursor:pointer;transition:background-color .12s}.btn-submit:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-submit:active{background:#173e2b}button:disabled{cursor:default;opacity:.5}.btn-submit:disabled{background:#69776d;border-color:#69776d;opacity:.75}.toolbar,.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0}.toolbar>input,.toolbar>select{flex:1;min-width:160px}.detail-actions{margin:16px 0 4px;padding-top:12px;border-top:1px solid var(--line)}.toolbar .info{flex:1;text-align:right}.info{color:var(--muted);font-size:13px;line-height:1.7}.warning{color:#a14b20;font-weight:600;font-size:13px}.notice{padding:16px 18px;margin-bottom:20px;background:var(--accent-soft);border:1px solid #cfdccc;border-radius:8px;color:#31533b;font-size:14px;overflow-wrap:anywhere}.notice.error{background:var(--danger-soft);border-color:#e2beb5;color:#903d31}#notice{scroll-margin-top:24px}.split-person-row{display:grid;grid-template-columns:minmax(60px,.8fr) minmax(80px,1fr) auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.split-person-row:last-child{border-bottom:0}.split-person-row .person-warning,.split-person-row .person-note{grid-column:1/-1}.split-person-row .person-warning{min-height:20px}.split-person-row input{font-size:14px}.split-person-row .btn-danger{min-width:44px;padding:8px}.split-person-row .person-note{background:var(--surface-alt)}#splitSummary{display:block;text-align:left;flex-basis:100%;font-family:var(--figures),var(--font);font-variant-numeric:tabular-nums;font-size:13px}#splitMemberPicker{padding:16px;margin:12px 0;background:var(--surface-alt);border:1px solid var(--line);border-radius:8px}#splitMemberPicker .form-group{margin-bottom:12px}.session-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:12px 18px;margin:0 0 14px}.session-card>summary{font-weight:650;font-size:16px}.session-card[open]>summary{border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:16px}.subtype-card{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;padding:8px 16px;margin-top:14px}.subtype-card>summary{color:var(--ink);font-size:14px;font-weight:600}.subtype-card[open]>summary{margin-bottom:12px}.sub-item{background:var(--surface);border:1px solid var(--line);border-left:1px solid var(--line);border-radius:7px;margin:12px 0 4px;padding:10px 14px;font-size:14px}.sub-item>summary{font-weight:500}.history-item{border-bottom:1px solid var(--line);padding:8px 0;margin:0}.history-item:last-child{border-bottom:0}.history-item>summary{font-size:14px}.detail-content{line-height:1.9;color:var(--text);overflow-wrap:anywhere}.detail-content b{font-weight:600}.settle-summary{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6}.settle-summary th,.settle-summary td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:right}.settle-summary thead th{color:var(--muted);font-size:12px;font-weight:600}.settle-summary td{color:var(--ink);font-family:var(--figures),var(--font);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}.settle-summary th:first-child,.settle-summary td:first-child{padding-left:0;text-align:left;font-family:var(--font);white-space:normal;overflow-wrap:anywhere}.settle-summary th:last-child,.settle-summary td:last-child{padding-right:0}.settle-summary tfoot th,.settle-summary tfoot td{border-top:1px solid var(--line-strong);border-bottom:0;font-weight:600;padding-top:16px}.settle-table-scroll{width:100%;max-width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.settle-overview{min-width:520px}.settle-overview td:nth-child(4){color:var(--accent)}.expense-shares.has-notes{min-width:420px}.expense-shares .share-note{text-align:left;font-family:var(--font);white-space:pre-wrap;overflow-wrap:anywhere;max-width:200px;min-width:100px}.table-scroll-hint{display:none}#settleTransferDetails{background:var(--surface)}#settleResultContainer>.notice{border:0;border-left:3px solid var(--accent);border-radius:0;background:var(--surface-alt);margin:24px 0 18px}#settleContainer .card>p,#projectsContainer .card>p{color:var(--muted)!important;font-size:14px!important}@media(min-width:1200px){#settleResultContainer{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.8fr);gap:16px;align-items:start}#settleResultContainer>.notice,#settleResultContainer>.toolbar,#settleExpenseDetails{grid-column:1/-1}#settleResultContainer>.toolbar{margin:0}#settlePeopleDetails,#settleTransferDetails,#settleExpenseDetails{margin-top:0}#settlePeopleDetails{grid-column:1}#settleTransferDetails{grid-column:2}}#settingsContainer .card{padding:28px}#settingsContainer .form-group{padding:20px 0;border-bottom:1px solid var(--line);margin:0}#settingsContainer .form-group:last-child{border-bottom:0;padding-bottom:0}#settingsContainer details.form-group>summary{font-size:16px;font-weight:600;padding:4px 0}#settingsContainer details.form-group[open]>summary{margin-bottom:18px}#settingsContainer hr{display:none}#settingDailyLimit{max-width:200px}#settingSessionList,#settingProjectList,#settingPayerList{margin-top:16px}#settingsContainer [style*="justify-content:space-between"]{gap:12px;min-height:52px;border-bottom:1px solid var(--line);padding:8px 0;font-size:14px!important}#backupResult{overflow-wrap:anywhere}@media(min-width:1600px){.app-main{margin-left:calc(var(--sidebar) + (100vw - 1600px)/2)}}@media(max-width:1099px){.app-sidebar{position:relative;inset:auto;width:100%;padding:20px 28px 0;border-right:0;border-bottom:1px solid var(--line)}.app-brand{padding:0 0 18px}.nav-tabs{flex-direction:row;gap:6px;padding-bottom:12px}.nav-tab{justify-content:center;gap:8px;font-size:13px;padding:10px}.sidebar-foot{display:none}.app-main{margin:0;max-width:1100px;padding:28px}#formContainer{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.form-fields-grid{grid-template-columns:1fr;gap:16px}}@media(max-width:767px){body{font-size:16px;padding-bottom:calc(88px + env(safe-area-inset-bottom))}.app-sidebar{padding:18px 18px 0;border:0;background:var(--canvas)}.app-brand{padding:0;gap:10px}.brand-name{font-size:18px}.brand-mark{width:25px;height:30px}.brand-caption{font-size:12px;margin:0}.nav-tabs{position:fixed;inset:auto 0 0;width:100%;padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:4px;background:var(--surface);border-top:1px solid var(--line-strong);z-index:50}.nav-tab{flex:1;min-width:0;width:auto;min-height:58px;flex-direction:column;gap:2px;padding:6px 3px;border:0;border-radius:7px;font-size:12px}.nav-tab.active{background:var(--accent-soft);color:var(--accent)}.nav-label-full{display:none}.nav-label-short{display:inline}.nav-tab .ui-icon{width:21px;height:21px}.app-main{padding:22px 16px 28px}.page-header{margin-bottom:22px;gap:12px}h1{font-size:25px}.page-eyebrow{display:none}.page-description{font-size:13px;margin-top:7px}.page-date{font-size:12px;padding-top:7px}.card{padding:18px;border-radius:10px}details.card{padding:10px 16px}details.card>summary{font-size:15px}#formContainer{display:block}#formContainer>.toolbar{margin:0 0 14px}#formContainer .card{margin-bottom:16px}.form-fields-grid{gap:18px}input,select{font-size:16px;min-height:48px}#subtypeInput,.split-person-row input{font-size:16px}label{font-size:14px}.btn-small{min-height:44px;padding:10px 12px;font-size:13px}.form-savebar{position:sticky;bottom:calc(78px + env(safe-area-inset-bottom));padding:10px 0;background:var(--canvas);z-index:20}.btn-submit{flex:1;min-width:0;width:100%;min-height:50px}#cancelEditBtn{margin:0!important}#splitSection{padding-bottom:72px}.toolbar{gap:8px}.toolbar .info{text-align:left;flex-basis:100%}.toolbar>input,.toolbar>select{min-width:120px}.detail-actions .btn-small{flex:0 1 auto}.session-card{padding:8px 12px}.session-card>summary{font-size:14px}.subtype-card{padding:6px 12px}.sub-item{padding:8px 10px}.settle-summary{font-size:13px}.settle-summary th,.settle-summary td{padding:12px 8px}.table-scroll-hint{display:block;font-size:12px;color:var(--muted);margin:8px 0}#settingsContainer .card{padding:20px}#settingDailyLimit{max-width:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}[hidden]{display:none!important}.auth-gate{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--canvas)}.auth-card{width:min(100%,460px);padding:36px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.auth-card h1{margin:12px 0 20px}.auth-card button{min-height:48px;padding:10px 16px;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;cursor:pointer}.auth-card .auth-caption{color:var(--muted);font-size:13px;margin:24px 0 0}.account-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 18px;padding:0 0 12px;border-bottom:1px solid var(--line);font-size:13px}.account-bar #accountEmail{overflow-wrap:anywhere}.account-bar button{margin-left:auto}.privacy-caption{color:var(--muted)}.access-editor{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin-bottom:16px}.access-editor>div{flex:1;min-width:180px}.check-label{display:flex;align-items:center;gap:8px;font-weight:400;margin:12px 0}.check-label input{width:20px;height:20px;min-height:20px;flex-shrink:0}.access-row{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.access-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.import-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;margin:12px 0}#privateDataTools input[type=file]{margin:8px 0}@media(max-width:600px){.auth-card{padding:24px}.privacy-caption{display:none}.account-bar{gap:8px;font-size:12px}.access-row{flex-wrap:wrap}}
