
    :root{
      color-scheme:light;
      --ink:#26343d;--muted:#68757e;--faint:#8a959c;--line:#dce3e5;
      --canvas:#f5f7f7;--surface:#fff;--blue:#326d8d;--blue-soft:#e8f2f6;
      --green:#176449;--green-soft:#dff2e9;--amber:#8b5b13;--amber-soft:#fff0d5;
      --red:#9a3c3c;--red-soft:#fbe4e4;--violet:#594f8e;--violet-soft:#ece9f8;
      --gray-soft:#edf1f2;--nav-h:66px;--header-h:56px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);
      --font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;
    }
    *{box-sizing:border-box}html{background:#e8edef}body{margin:0;min-height:100dvh;background:#e8edef;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
    button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px}
    .app{width:min(480px,100%);min-height:100dvh;margin:0 auto;background:var(--canvas);position:relative;box-shadow:0 0 0 1px rgba(22,40,51,.05),0 20px 60px rgba(22,40,51,.13);overflow-x:hidden}
    .topbar{position:fixed;top:0;left:50%;z-index:70;transform:translateX(-50%);width:min(480px,100vw);height:calc(var(--header-h) + var(--safe-t));padding:var(--safe-t) 8px 0;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center}
    .top-icon{width:40px;height:40px;border:0;border-radius:11px;background:transparent;color:#586771;display:grid;place-items:center;font-size:17px}.top-icon:active{background:#edf2f4}.top-title{min-width:0;text-align:center;line-height:1.1}.top-title strong{display:block;font-size:14px;font-weight:900}.top-title small{display:block;max-width:100%;margin-top:3px;color:var(--muted);font-size:8px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-shortcut{position:relative;color:var(--blue)}.trip-shortcut::after{content:"";position:absolute;right:7px;top:7px;width:6px;height:6px;border-radius:50%;background:#67a88d;border:2px solid #fff}.save-state,.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
    .screen{display:none;min-height:100dvh;padding:calc(var(--header-h) + var(--safe-t) + 10px) 10px calc(var(--nav-h) + 18px + var(--safe-b))}.screen.active{display:block}
    .screen-head{display:none}
    .card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px rgba(27,44,55,.025)}
    .bottom-nav{position:fixed;left:50%;bottom:0;z-index:60;transform:translateX(-50%);width:min(480px,100vw);height:calc(var(--nav-h) + var(--safe-b));padding:5px 7px var(--safe-b);display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
    .nav-btn{position:relative;border:0;border-radius:11px;background:transparent;color:#75818a;display:grid;place-items:center;align-content:center;gap:1px;font-size:9px;font-weight:800}.nav-btn i{font-size:19px;line-height:1}.nav-btn.active{color:var(--blue);background:var(--blue-soft)}
    .nav-badge{position:absolute;top:2px;right:13px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:8px;font-weight:900}
    .mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;margin-bottom:8px;border-radius:13px;background:#e8edef}
    .mode-btn{height:47px;border:0;border-radius:10px;background:transparent;color:#69767f;font-size:12px;font-weight:900;line-height:1.2}.mode-btn small{display:block;margin-top:2px;font-size:9px;font-weight:700;opacity:.78}.mode-btn.active{background:#fff;color:#2d3c45;box-shadow:0 1px 4px rgba(26,43,53,.12)}
    .entry-card{overflow:hidden}.entry-grid{padding:11px;display:grid;grid-template-columns:minmax(0,1fr) 136px;gap:8px}.entry-grid>label{min-width:0}.date-field{min-width:0}.date-control{min-width:0;width:100%;padding:0 5px;font-size:14px;letter-spacing:-.15px;-webkit-appearance:none;appearance:none}.date-control::-webkit-date-and-time-value{text-align:left;margin:0}.date-control::-webkit-calendar-picker-indicator{margin:0;padding:2px;width:17px;height:17px}.span-2{grid-column:1/-1}
    .label{display:flex;align-items:center;gap:4px;margin:0 0 5px;color:#52616a;font-size:10px;font-weight:900}.req::after{content:"必須";padding:1px 4px;border-radius:99px;background:var(--red-soft);color:var(--red);font-size:7px}
    .control{width:100%;height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 10px;color:var(--ink);outline:0}.control:focus{border-color:#88adbf;box-shadow:0 0 0 3px rgba(50,109,141,.09)}.control[disabled]{background:#edf1f2;color:#59666e;border-color:#d9e0e2;opacity:1;-webkit-text-fill-color:#59666e}
    .payment-block{grid-column:1/-1;display:grid;grid-template-columns:128px 94px minmax(0,1fr);gap:7px;padding:10px;border:1px solid #d8e4e8;border-radius:13px;background:#f9fbfb}.payment-future{min-width:0}
    .amount-field{position:relative}.amount-field input{width:100%;height:53px;border:0;border-bottom:2px solid #c7d3d7;background:transparent;padding:0 44px 0 3px;text-align:right;font-size:29px;font-weight:900;font-variant-numeric:tabular-nums;color:#22313a;outline:0}.amount-field input:focus{border-color:var(--blue)}.amount-field input:disabled{background:#edf1f2;border:1px solid #d8e0e2;border-radius:10px;padding-right:44px}.currency-inline{position:absolute;right:3px;bottom:11px;max-width:42px;border:0;background:transparent;color:#52616a;font-size:12px;font-weight:900;outline:0}.amount-field.disabled .currency-inline{right:4px}
    .payer-btn{height:53px;border:1px solid #b8d0db;border-radius:11px;background:var(--blue-soft);color:var(--blue);padding:0 6px;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.payer-btn.pending{border-color:#dfc697;background:var(--amber-soft);color:var(--amber)}
    .payment-note{grid-column:1/-1;margin-top:-1px;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.payment-note strong{margin-left:6px;color:#48565f;font-size:10px}.payment-note.pending{color:var(--amber)}
    .member-section{padding:0 11px 11px}.chip-wrap{display:flex;flex-wrap:wrap;gap:6px}.member-chip{min-height:34px;border:1px solid var(--line);border-radius:99px;background:#fff;padding:0 10px;color:#596770;font-size:11px;font-weight:900}.member-chip.active{border-color:#9bc9b5;background:var(--green-soft);color:var(--green)}.self-tag{display:inline-block;margin-left:4px;padding:1px 4px;border-radius:99px;background:#dceaf1;color:#2c6684;font-size:7px;vertical-align:1px}
    .split-preview{margin:0 11px 11px;padding:8px 10px;border-radius:11px;background:#f6faf8;border:1px solid #dce9e3;display:flex;align-items:center;color:#52685d;font-size:10px}.split-preview strong{margin-left:8px;color:#254f3d;font-size:12px}
    .detail-toggle{width:calc(100% - 22px);height:38px;margin:0 11px 11px;border:1px dashed #abb9c0;border-radius:11px;background:#fbfcfc;color:#53636d;font-size:11px;font-weight:900}.detail-panel{display:none;margin:0 11px 11px;padding:9px;border:1px solid #ddd9ef;border-radius:12px;background:#faf9fe}.detail-panel.open{display:block}.helper{margin:0 0 8px;color:#6a6879;font-size:9px;line-height:1.55}
    .line-list{display:grid;gap:7px}.line-row{padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff}.line-row.payer-own{background:#eef1f2;border-color:#d8dfe1}.line-row.payer-own .control{background:#e5e9ea;border-color:#d4dcde;color:#58656d}.line-main{display:grid;grid-template-columns:89px minmax(0,1fr) 78px 29px;gap:5px}.line-main .control{height:35px;padding:0 7px;font-size:11px}.remove{width:29px;height:35px;border:0;border-radius:8px;background:#f0f3f4;color:#6e7a82;font-size:17px}.line-meta{margin-top:6px;display:flex;gap:5px;align-items:center;flex-wrap:wrap}.mini-chip{height:27px;border:1px solid var(--line);border-radius:99px;background:#fff;padding:0 8px;color:#66737c;font-size:8px;font-weight:900}.mini-chip.active{background:var(--green-soft);border-color:#a3cbb9;color:var(--green)}
    .add-line{width:100%;height:35px;border:1px dashed #aebac0;border-radius:10px;background:#fff;color:#56656e;font-size:10px;font-weight:900}.advance-total{display:flex;align-items:center;margin:0 11px 10px;padding:8px 10px;border-radius:11px;background:#f3f6f7;border:1px solid var(--line);color:#59666e;font-size:10px}.advance-total strong{margin-left:10px;color:#2b3a43;font-size:18px;font-variant-numeric:tabular-nums}
    .draft-state{display:none;margin:0 11px 10px;padding:8px 10px;border-radius:11px;background:var(--amber-soft);color:#714c16;font-size:9px;line-height:1.5}.draft-state.show{display:block}.draft-state strong{display:block;font-size:10px}
    .entry-actions{position:sticky;bottom:calc(var(--nav-h) + 7px + var(--safe-b));z-index:30;margin-top:9px;padding:6px;border:1px solid rgba(216,225,228,.96);border-radius:15px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 9px 24px rgba(25,42,52,.12)}.entry-action-row{display:grid;grid-template-columns:minmax(0,1fr) 106px;gap:6px}
    .primary-btn{width:100%;height:48px;border:0;border-radius:11px;background:#2f6e8d;color:#fff;font-size:13px;font-weight:900}.primary-btn small{display:block;margin-top:2px;font-size:8px;font-weight:700;opacity:.85}.primary-btn.pending{background:#9a6a21}.quick-save-btn{height:48px;border:1px solid #c8d1d5;border-radius:11px;background:#f4f6f6;color:#4e5e67;font-size:10px;font-weight:900;line-height:1.15}.quick-save-btn small{display:block;margin-top:3px;color:#78848b;font-size:7px}
    .record-toolbar{display:flex;align-items:center;gap:5px;margin-bottom:7px;overflow-x:auto;scrollbar-width:none}.record-toolbar::-webkit-scrollbar{display:none}.filter-btn{height:31px;flex:none;border:1px solid var(--line);border-radius:99px;background:#fff;padding:0 10px;color:#68757d;font-size:9px;font-weight:900}.filter-btn.active{background:var(--blue-soft);border-color:#afcbd8;color:var(--blue)}.toolbar-check{margin-left:auto;flex:none;display:flex;align-items:center;gap:4px;color:#66737b;font-size:9px;white-space:nowrap}.toolbar-check input{accent-color:var(--blue)}
    .record-list{display:grid;gap:6px}.record-card{width:100%;min-height:72px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:7px 8px;text-align:left;color:var(--ink)}.record-card.settled{background:#eef1f2;color:#68747b}.record-top{display:grid;grid-template-columns:auto minmax(54px,1fr) auto auto;gap:5px;align-items:center}.status-badge,.type-badge,.payer-badge,.person-badge{display:inline-flex;align-items:center;width:max-content;height:20px;border-radius:6px;padding:0 6px;font-size:8px;font-weight:900;white-space:nowrap}.status-open{background:var(--red-soft);color:var(--red)}.status-partial{background:var(--amber-soft);color:var(--amber)}.status-settled{background:var(--green-soft);color:var(--green)}.status-draft{background:var(--violet-soft);color:var(--violet)}.record-title{min-width:0;font-size:11px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-title.empty{color:#8a959c;font-weight:800}.record-time{color:#758189;font-size:8px;white-space:nowrap}.record-payment{display:inline-flex;align-items:center;gap:5px;justify-self:end;min-width:0}.record-amount{min-width:50px;text-align:right;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.record-bottom{display:flex;align-items:center;gap:6px;margin-top:5px;min-width:0}.payer-badge{background:#e8f2f6;color:#326d8d}.payer-badge.pending{background:var(--amber-soft);color:var(--amber)}.type-badge{background:#f0eef9;color:#5c518e}.record-remaining{color:#68757d;font-size:8px;white-space:nowrap}.record-remaining strong{display:inline-block;min-width:54px;text-align:right;color:#9a3c3c;font-size:9px;font-variant-numeric:tabular-nums}.record-members{display:flex;align-items:flex-start;gap:4px;margin-top:4px;min-width:0}.record-members-label{flex:none;padding-top:4px;color:#7a858c;font-size:7px;font-weight:900}.record-members-list{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0}.person-badge{height:18px;padding:0 5px;background:#f1f4f5;color:#5e6b73;font-size:7px}.person-badge .self-tag,.payer-badge .self-tag,.payer-btn .self-tag{margin-left:3px}
    .summary-card{padding:10px;margin-bottom:8px}.summary-head{display:flex;align-items:center;margin-bottom:7px}.summary-head strong{font-size:12px}.summary-head span{margin-left:auto;color:var(--muted);font-size:8px}.currency-summary{display:grid;grid-template-columns:max-content minmax(74px,max-content);justify-content:start;gap:5px 10px}.currency-summary span{color:#67747c;font-size:10px}.currency-summary b{text-align:right;font-size:12px;font-variant-numeric:tabular-nums}
    .settle-card{padding:10px;margin-bottom:8px}.step-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:900}.step-no{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:9px}.step-help{margin:5px 0 8px;color:#6b777e;font-size:9px;line-height:1.45}.scope-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.scope-btn{min-height:41px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#65727b;font-size:9px;font-weight:900;line-height:1.25}.scope-btn.active{background:var(--violet-soft);border-color:#bbb3df;color:var(--violet)}
    .select-actions{display:flex;align-items:center;gap:5px;margin-bottom:6px}.small-btn{height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 8px;color:#63717a;font-size:8px;font-weight:900}.select-count{margin-left:auto;color:#66737b;font-size:8px}.settle-list{display:grid;gap:5px}.settle-row{min-height:45px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:5px;align-items:center;padding:6px;border:1px solid var(--line);border-radius:10px;background:#fff}.settle-row.settled{background:#eef1f2}.settle-row input{accent-color:var(--blue)}.settle-copy strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settle-copy small{display:block;margin-top:2px;color:#748087;font-size:8px}.settle-money{min-width:66px;text-align:right;font-size:10px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.transfer-list{display:grid;gap:6px}.transfer{padding:8px 9px;border:1px solid #d7e6df;border-radius:10px;background:#f7faf8}.transfer-main{display:grid;grid-template-columns:max-content minmax(70px,max-content);justify-content:start;align-items:center;gap:10px;font-size:11px;font-weight:900}.transfer-main b{text-align:right;color:#22513c;font-size:13px}.transfer small{display:block;margin-top:3px;color:#69776f;font-size:8px}.settle-primary{width:100%;height:43px;margin-top:8px;border:0;border-radius:10px;background:#2f6e8d;color:#fff;font-size:11px;font-weight:900}
    .trip-list{display:grid;gap:7px}.trip-card{padding:10px}.trip-card.active-trip{border-color:#a9cbd8;background:#fbfdfe}.trip-card-head{display:flex;align-items:start;gap:7px}.trip-card-head div{min-width:0;flex:1}.trip-card-head strong{display:block;font-size:12px}.trip-card-head small{display:block;margin-top:3px;color:#6f7b83;font-size:8px}.trip-id{padding:2px 5px;border-radius:5px;background:#edf1f2;color:#607079;font-size:7px;font-weight:900}.trip-stats{display:flex;gap:8px;margin-top:8px;color:#617079;font-size:8px}.trip-actions{display:flex;gap:5px;margin-top:8px}.trip-actions button{height:29px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 8px;color:#607079;font-size:8px;font-weight:900}.trip-actions .danger{color:var(--red)}.trip-actions button:disabled{opacity:.4;cursor:not-allowed}.new-trip{width:100%;height:40px;margin-bottom:8px;border:1px dashed #9db5c0;border-radius:11px;background:#fafdfe;color:var(--blue);font-size:10px;font-weight:900}
    .setting-section{padding:10px;margin-top:8px}.setting-title{margin-bottom:8px;font-size:12px;font-weight:900}.pill-list{display:flex;flex-wrap:wrap;gap:6px}.currency-pill{height:30px;border:1px solid var(--line);border-radius:99px;background:#fff;padding:0 9px;color:#5e6d76;font-size:9px;font-weight:900}.currency-pill.default{background:var(--blue-soft);border-color:#b5d0dc;color:var(--blue)}.setting-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid #edf0f1}.setting-row:first-of-type{border-top:0}.setting-row div{min-width:0;flex:1}.setting-row strong{display:block;font-size:10px}.setting-row span{display:block;margin-top:2px;color:#718087;font-size:8px}.setting-row button{height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 8px;color:#607079;font-size:8px;font-weight:900}
    .sheet-backdrop{position:fixed;inset:0;z-index:100;background:rgba(22,34,42,.34);display:none;align-items:flex-end;justify-content:center}.sheet-backdrop.open{display:flex}.sheet{width:min(480px,100%);max-height:82dvh;overflow:auto;padding:7px 12px calc(14px + var(--safe-b));border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -15px 40px rgba(25,40,50,.2)}.sheet-handle{width:38px;height:4px;margin:0 auto 8px;border-radius:99px;background:#d8dfe1}.sheet-head{display:flex;align-items:center;margin-bottom:8px}.sheet-head h2{margin:0;font-size:16px}.sheet-head button{margin-left:auto;width:32px;height:32px;border:0;border-radius:50%;background:#eef2f3;color:#68757d;font-size:18px}.payer-list{display:grid;gap:6px}.payer-option{height:44px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 10px;text-align:left;color:#34434c;font-size:11px;font-weight:900}.payer-option.active{background:var(--blue-soft);border-color:#abc8d6;color:var(--blue)}.payer-option.pending{background:var(--amber-soft);border-color:#e0c798;color:var(--amber)}
    .detail-grid{display:grid;grid-template-columns:auto 1fr;gap:7px 10px;padding:9px;border-radius:11px;background:#f7f9f9;font-size:9px}.detail-grid dt{color:#718087}.detail-grid dd{margin:0;color:#34434c;font-weight:800}.detail-obligations{margin-top:8px;display:grid;gap:5px}.obligation{display:grid;grid-template-columns:minmax(0,max-content) minmax(70px,max-content);justify-content:start;align-items:center;gap:10px;padding:7px 8px;border:1px solid var(--line);border-radius:9px;font-size:9px}.obligation b{text-align:right;font-size:10px;font-variant-numeric:tabular-nums}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.detail-actions button{height:39px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#607079;font-size:9px;font-weight:900}.detail-actions .primary{border:0;background:#2f6e8d;color:#fff}
    .toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + 17px + var(--safe-b));z-index:150;transform:translate(-50%,12px);max-width:calc(100vw - 28px);padding:9px 13px;border-radius:10px;background:#26343d;color:#fff;font-size:10px;font-weight:800;opacity:0;pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:translate(-50%,0)}

    .menu-list{display:grid;gap:6px}.menu-trip{padding:10px;border:1px solid var(--line);border-radius:11px;background:#f7f9f9}.menu-trip strong{display:block;font-size:12px}.menu-trip small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.menu-action{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 11px;color:#43525c;display:flex;align-items:center;gap:9px;text-align:left;font-size:10px;font-weight:900}.menu-action i{width:17px;text-align:center;color:var(--blue)}
    .editor-form{display:grid;gap:10px}.editor-dates{display:grid;grid-template-columns:1fr 1fr;gap:7px}.editor-label{display:block}.editor-label>span{display:block;margin-bottom:5px;color:#52616a;font-size:9px;font-weight:900}.editor-pills{display:flex;flex-wrap:wrap;gap:6px}.editor-pill{height:32px;border:1px solid var(--line);border-radius:99px;background:#fff;padding:0 10px;color:#627079;font-size:9px;font-weight:900}.editor-pill.active{border-color:#a9c7d5;background:var(--blue-soft);color:var(--blue)}.editor-pill.locked{opacity:.65}.editor-members{display:grid;gap:6px}.editor-member{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.editor-member .control{height:38px}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#69767e}.icon-button:disabled{opacity:.35}.editor-hint{margin:0;color:#748087;font-size:8px;line-height:1.5}.editor-save{width:100%;height:44px;border:0;border-radius:10px;background:#2f6e8d;color:#fff;font-size:11px;font-weight:900}.editor-add{height:36px;border:1px dashed #aebac0;border-radius:10px;background:#fff;color:#56656e;font-size:9px;font-weight:900}.sheet-wide{max-height:90dvh}.edit-summary{display:grid;grid-template-columns:max-content max-content;justify-content:start;gap:5px 10px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#f7f9f9;font-size:9px}.edit-summary span{color:#728087}.edit-summary b{font-weight:900}.edit-summary b.amount{text-align:right;font-variant-numeric:tabular-nums}.money-value{text-align:right!important;font-variant-numeric:tabular-nums}.fa-fw{width:1.25em;text-align:center}
    @media(max-width:370px){.entry-grid{grid-template-columns:minmax(0,1fr) 126px}.payment-block{grid-template-columns:122px 90px minmax(0,1fr)}.record-top{grid-template-columns:auto minmax(44px,1fr) auto}.record-time{display:none}.record-payment{grid-column:auto}.line-main{grid-template-columns:82px minmax(0,1fr) 70px 28px}.nav-badge{right:8px}}
    @media(min-width:481px){.topbar,.bottom-nav{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
  
/* Functional implementation additions */
.empty-state{padding:18px;text-align:center;color:#748087;font-size:10px}.empty-state.compact{padding:12px;border:1px dashed var(--line);border-radius:10px}
.money-input{font-variant-numeric:tabular-nums;text-align:right}.line-hint{color:#748087;font-size:8px;font-weight:800}
.record-toolbar{display:flex;align-items:center;gap:5px;margin-bottom:8px;overflow-x:auto;scrollbar-width:none}.record-toolbar::-webkit-scrollbar{display:none}.filter-btn{flex:none;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 8px;color:#66737b;font-size:8px;font-weight:900}.filter-btn.active{border-color:#a9c7d5;background:var(--blue-soft);color:var(--blue)}.toolbar-check{margin-left:auto;display:flex;align-items:center;gap:4px;white-space:nowrap;color:#65727a;font-size:8px;font-weight:900}.toolbar-check input{accent-color:var(--blue)}
.record-list{display:grid;gap:6px}.record-card{width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left}.record-card.settled{background:#eef1f2;color:#647079}.record-top{display:grid;grid-template-columns:auto minmax(54px,1fr) auto auto;align-items:center;gap:5px}.record-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900}.record-title.empty{color:#8a959c;font-style:italic}.record-time{color:#758088;font-size:8px;white-space:nowrap}.record-payment{display:flex;align-items:center;gap:5px}.record-amount{min-width:58px;text-align:right;white-space:nowrap;font-size:11px;font-weight:900;font-variant-numeric:tabular-nums}.payer-badge,.person-badge,.type-badge,.status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:99px;white-space:nowrap;font-weight:900}.payer-badge{height:20px;padding:0 6px;background:var(--blue-soft);color:var(--blue);font-size:7px}.payer-badge.pending{background:var(--amber-soft);color:var(--amber)}.type-badge{height:19px;padding:0 6px;background:var(--violet-soft);color:var(--violet);font-size:7px}.status-badge{height:20px;padding:0 7px;font-size:7px}.status-open{background:var(--red-soft);color:var(--red)}.status-partial{background:var(--amber-soft);color:var(--amber)}.status-settled{background:var(--green-soft);color:var(--green)}.status-draft{background:#eadff1;color:#704b7b}.record-bottom{display:flex;align-items:center;gap:6px;margin-top:5px}.record-remaining{color:#6a757c;font-size:8px}.record-remaining strong{display:inline-block;min-width:54px;text-align:right;color:#9a3c3c;font-size:9px;font-variant-numeric:tabular-nums}.record-members{display:flex;align-items:flex-start;gap:4px;margin-top:4px;min-width:0}.record-members-label{flex:none;padding-top:4px;color:#7a858c;font-size:7px;font-weight:900}.record-members-list{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0}.person-badge{height:18px;padding:0 5px;background:#f1f4f5;color:#5e6b73;font-size:7px}
.outstanding-detail{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:3px 8px;margin-top:2px}.outstanding-detail small{color:#66747b;font-size:8px}
.detail-subtitle{margin:10px 0 5px;color:#52616a;font-size:10px}.obligation{position:relative;grid-template-columns:minmax(0,1fr) max-content}.obligation-action{grid-column:1/-1;height:28px;border:1px solid #e1c3c3;border-radius:8px;background:#fff6f6;color:var(--red);font-size:8px;font-weight:900}.audit-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font-size:8px}.audit-row span{min-width:0;flex:1}.audit-row b{white-space:nowrap}.detail-actions{grid-template-columns:1fr 1fr 1fr}.detail-actions .danger{color:var(--red);border-color:#e7cccc}.detail-actions button:disabled{opacity:.38;cursor:not-allowed}
.mode-switch.compact{margin-bottom:10px}.danger-note{padding:9px 10px;margin-bottom:9px;border:1px solid #e4c3c3;border-radius:11px;background:var(--red-soft);color:#7d3434;font-size:9px;line-height:1.5}.danger-note strong{display:block;margin-bottom:2px;font-size:10px}.edit-title-date{grid-template-columns:minmax(0,1fr) 132px}.edit-payment-grid{display:grid;grid-template-columns:minmax(0,1fr) 124px;gap:7px}.edit-amount-wrap{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:6px}.confirm-row{display:flex;align-items:flex-start;gap:7px;padding:9px;border:1px solid #d7e6df;border-radius:10px;background:#f5faf7;color:#496357;font-size:9px;line-height:1.45}.confirm-row.warning{border-color:#ead7ad;background:var(--amber-soft);color:#704b15}.confirm-row.danger{border-color:#e4c3c3;background:var(--red-soft);color:#7d3434}.confirm-row input{margin-top:2px;accent-color:var(--blue)}.edit-diff,.confirm-summary{display:grid;gap:6px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#f7f9f9}.confirm-summary>div,.edit-diff>div{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px;align-items:start;font-size:9px}.confirm-summary span,.edit-diff span{color:#718087}.confirm-summary b,.edit-diff b{text-align:right;font-variant-numeric:tabular-nums}.confirm-summary p{margin:0;color:#65727a;font-size:8px;line-height:1.5}.textarea-control{height:auto!important;min-height:74px;padding:9px!important;resize:vertical}.danger-primary{width:100%;height:43px;margin-top:9px;border:0;border-radius:10px;background:#9a3c3c;color:#fff;font-size:11px;font-weight:900}
.history-list{display:grid;gap:8px}.history-card{padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.history-card.reversed{background:#eef1f2;color:#68757d}.history-head{display:flex;align-items:flex-start;gap:8px}.history-head>div{min-width:0;flex:1}.history-head strong{display:block;font-size:11px}.history-head small{display:block;margin-top:2px;color:#748087;font-size:8px}.history-body{display:grid;gap:4px;margin-top:8px}.history-body>div{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:8px;font-size:9px}.history-body b{text-align:right;font-variant-numeric:tabular-nums}.history-body p{margin:2px 0 0;color:#6f7c83;font-size:8px;line-height:1.45}.history-reverse{width:100%;height:32px;margin-top:8px;border:1px solid #e2c4c4;border-radius:8px;background:#fff;color:var(--red);font-size:8px;font-weight:900}.history-reverse:disabled{opacity:.4}
.member-name-wrap{position:relative}.member-name-wrap .self-tag{position:absolute;right:8px;top:12px}.member-name-wrap .control:has(+ .self-tag){padding-right:48px}
.setting-row button:disabled,.trip-actions button:disabled{opacity:.4}.trip-actions .switch{color:var(--blue)}
@media(max-width:370px){.edit-title-date{grid-template-columns:minmax(0,1fr) 122px}.edit-payment-grid{grid-template-columns:minmax(0,1fr) 112px}.edit-amount-wrap{grid-template-columns:minmax(0,1fr) 82px}.detail-actions{grid-template-columns:1fr 1fr}.detail-actions .danger{grid-column:1/-1}.record-top{grid-template-columns:auto minmax(50px,1fr) auto}.record-time{display:none}.record-payment{grid-column:2/-1;justify-content:flex-end}}
/* Monetary values stay right-aligned within their local information block. */
.split-preview strong,.advance-total strong{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums}
