:root{--tide: #0a3a35;--tide-2: #1b7a68;--tide-deep: #062824;--gold: #e2b84a;--gold-soft: #f3d27a;--mist: #e6f0ee;--paper: #f5f9f7;--ink: #12201d;--muted: #5a6e69;--line: #d2e0dc;--income: #1a7a4c;--expense: #b42318;--unrecv: #c45c26;--balance: #1d4f91;--settle: #6b4c9a;--shadow: 0 12px 32px rgba(6, 40, 36, .07);--shadow-sm: 0 4px 14px rgba(6, 40, 36, .05);--radius: 16px;--font-display: "Noto Serif SC", "Songti SC", serif;--font-body: "Noto Sans SC", "PingFang SC", sans-serif;--sidebar: 236px;--topbar-h: 56px;--bottom-h: 64px;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background-color:var(--paper);background-image:radial-gradient(900px 420px at 8% -8%,rgba(27,122,104,.14),transparent 58%),radial-gradient(700px 360px at 96% 8%,rgba(226,184,74,.08),transparent 50%),linear-gradient(180deg,#eef6f3 0%,var(--paper) 42%,#f2f6f4 100%);background-attachment:fixed}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.num{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.center-screen{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);flex-shrink:0;background:radial-gradient(380px 200px at 12% -8%,rgba(243,210,122,.16),transparent 55%),linear-gradient(175deg,#08322d,#0c4039 46%,#072925);color:#e8f3f1;display:flex;flex-direction:column;padding:22px 14px 16px;position:fixed;left:0;top:0;bottom:0;height:100vh;height:100dvh;z-index:30;gap:14px;border-right:1px solid rgba(255,255,255,.04)}.brand{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:4px 6px 2px}.brand-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#ffffff24,#ffffff0a);border:1px solid rgba(243,210,122,.28);color:var(--gold-soft);box-shadow:inset 0 1px #ffffff1f}.brand-copy{min-width:0}.brand-title{font-family:var(--font-display);font-weight:700;font-size:1.32rem;letter-spacing:.08em;line-height:1.15;color:#fff}.brand-sub{margin-top:5px;color:#e8f3f194;font-size:.74rem;letter-spacing:.2em;text-indent:.08em}.sidebar-close{display:none!important;color:#fff}.side-cta{display:flex;align-items:center;justify-content:center;gap:8px;margin:2px 4px 4px;padding:12px 14px;border-radius:12px;background:linear-gradient(180deg,#f7d15a,#e4b02a);color:#1a1a1a;font-weight:700;box-shadow:0 10px 22px #00000038;transition:transform .2s var(--ease),filter .2s var(--ease)}.side-cta:hover{filter:brightness(1.04);transform:translateY(-1px)}.nav{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;overflow:auto;padding:2px 0}.nav-group{display:grid;gap:4px}.nav-label{padding:0 12px 6px;font-size:.72rem;letter-spacing:.14em;color:#e8f3f16b;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:11px;color:#e8f3f1c7;font-size:.94rem;transition:background .18s var(--ease),color .18s var(--ease)}.nav-item:hover{background:#ffffff12;color:#fff}.nav-item.active{background:#ffffff1f;color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--gold)}.nav-ico{display:grid;place-items:center;width:22px;opacity:.9}.nav-text{min-width:0}.sidebar-foot{padding-top:12px;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:8px}.user-chip{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 4px}.user-name{font-size:.86rem;font-weight:600;color:#ffffffe6}.user-date{font-size:.72rem;color:#e8f3f173;white-space:nowrap}.side-logout{display:inline-flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;color:#e8f3f1b3;padding:8px 10px;border-radius:10px;cursor:pointer;font:inherit}.side-logout:hover{background:#ffffff0f;color:#fff}.main{flex:1;min-width:0;margin-left:var(--sidebar);width:calc(100% - var(--sidebar));padding:24px 22px 40px;overflow-x:visible}html,body{overflow-x:hidden}.topbar,.bottom-nav,.more-sheet,.more-backdrop,.nav-backdrop{display:none}.page{width:100%;max-width:none;margin:0;animation:rise .45s var(--ease) both}.entry-page,.login-related{max-width:720px;margin:0 auto}@keyframes rise{0%{opacity:0}to{opacity:1}}.page-hero{margin-bottom:20px;position:relative}.page-hero-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}.eyebrow{margin:0 0 6px;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tide-2);font-weight:650}.page-hero h1,.entry-page h1,.login-card h1{margin:0;font-family:var(--font-display);font-size:clamp(1.65rem,2.5vw,2.2rem);letter-spacing:.03em;line-height:1.2}.lede{margin:8px 0 0;color:var(--muted);max-width:42rem;line-height:1.6}.muted{color:var(--muted)}.error{background:#fef3f2;color:var(--expense);border:1px solid #f9d4cf;border-radius:10px;padding:10px 12px;margin:10px 0}.notice{color:var(--tide-2)}.panel{background:#ffffffe0;border:1px solid rgba(210,224,220,.95);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-start;padding:18px 20px 12px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#ffffffb3,#f7fbf959)}.panel-head h2{margin:0;font-size:1.12rem;font-family:var(--font-display);letter-spacing:.02em}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.search,select,input,textarea{border:1px solid var(--line);border-radius:11px;padding:9px 11px;background:#fff;color:var(--ink);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.search:focus,select:focus,input:focus,textarea:focus{outline:none;border-color:#1b7a688c;box-shadow:0 0 0 3px #1b7a681f}.search{min-width:180px}.seg{display:inline-flex;background:var(--mist);border-radius:999px;padding:3px}.seg button{border:0;background:transparent;padding:7px 12px;border-radius:999px;cursor:pointer;color:var(--muted);transition:background .15s var(--ease),color .15s var(--ease)}.seg button.active{background:#fff;color:var(--tide);font-weight:600;box-shadow:0 1px 4px #0000000f}.btn{border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:var(--ink);transition:border-color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease)}.btn:hover{border-color:#b9cbc6}.btn.primary{background:linear-gradient(180deg,#14564e,var(--tide));border-color:var(--tide);color:#fff;font-weight:600;box-shadow:0 8px 18px #0a3a3538}.btn.primary:hover{background:linear-gradient(180deg,#176257,#0f4f48);transform:translateY(-1px)}.btn.ghost{border-color:transparent;background:transparent}.btn.small{padding:6px 10px;font-size:.86rem}.btn.danger{color:var(--expense);border-color:#f0c7c2}.btn.block{width:100%;justify-content:center}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.entry-cta{white-space:nowrap}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat-strip.stats-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-strip.stats-5{grid-template-columns:repeat(5,minmax(0,1fr))}.stat-strip.stats-6{grid-template-columns:repeat(6,minmax(0,1fr))}.stat-strip.stats-7{grid-template-columns:repeat(7,minmax(0,1fr))}.cards.stats-month{grid-template-columns:repeat(4,minmax(0,1fr))}.cards.stats-month.stats-month-6{grid-template-columns:repeat(6,minmax(0,1fr))}.stat-tile{background:linear-gradient(180deg,#fff,#f7fbf9);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:grid;gap:6px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.stat-tile:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:999px;background:var(--tide-2);opacity:.55}.stat-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.stat-tile span{color:var(--muted);font-size:.84rem}.stat-tile strong{font-size:1.28rem;font-weight:700;letter-spacing:-.01em}.stat-tile em{font-style:normal;font-size:.75rem;color:var(--muted)}.stat-tile.tone-in:before{background:var(--income)}.stat-tile.tone-recv:before{background:var(--tide-2)}.stat-tile.tone-out:before{background:var(--expense)}.stat-tile.tone-bal:before{background:var(--balance)}.stat-tile.tone-due:before{background:var(--unrecv)}.stat-tile.tone-prev:before{background:#4a5f75}.stat-tile.tone-profit:before{background:#2f6b5a}.stat-tile.tone-in strong{color:var(--income)}.stat-tile.tone-recv strong{color:var(--tide-2)}.stat-tile.tone-out strong{color:var(--expense)}.stat-tile.tone-bal strong{color:var(--balance)}.stat-tile.tone-due strong{color:var(--unrecv)}.stat-tile.tone-prev strong{color:#4a5f75}.stat-tile.tone-profit strong{color:#2f6b5a}.stat-tile.hot{border-color:#f0c9a8;background:linear-gradient(180deg,#fff7f0,#fff)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.stat,.finance-card{background:linear-gradient(180deg,#fff,#f8fbfa);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow-sm)}.stat-n{font-size:1.4rem;font-weight:700}.stat-l{color:var(--muted);font-size:.84rem;margin-top:4px}.ledger{padding:8px 10px 14px}.ledger-row{border:1px solid var(--line);border-radius:14px;margin:8px 0;background:#fff;overflow:hidden;border-left:5px solid var(--tide-2);transition:transform .15s ease,box-shadow .15s ease}.ledger-row.kind-catch{border-left-color:var(--income)}.ledger-row.kind-expense{border-left-color:var(--expense)}.ledger-row.kind-settle{border-left-color:var(--settle)}.ledger-row.open{box-shadow:var(--shadow)}.ledger-main{width:100%;border:0;background:transparent;display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:12px 14px;text-align:left;cursor:pointer}.ledger-day{width:56px;height:56px;border-radius:14px;background:var(--mist);display:grid;place-content:center;text-align:center}.ledger-day .d{font-size:1.25rem;font-weight:700;line-height:1;color:var(--tide)}.ledger-day .m{font-size:.72rem;color:var(--muted)}.ledger-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ledger-title strong{font-size:1rem}.ledger-sub{margin-top:4px;font-size:.84rem}.ledger-money{text-align:right}.ledger-bal{margin-top:4px;font-size:.8rem}.tag{font-size:.72rem;padding:2px 7px;border-radius:999px;font-weight:600}.tag.catch{background:#e5f6ec;color:var(--income)}.tag.expense{background:#fdecea;color:var(--expense)}.tag.settle{background:#f1eaf8;color:var(--settle)}.ledger-detail{border-top:1px dashed var(--line);padding:12px 14px 14px;background:#fbfdfc;animation:rise .2s ease both}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px;font-size:.88rem}.detail-grid span{display:block;color:var(--muted);font-size:.75rem;margin-bottom:2px}.detail-grid .full{grid-column:1 / -1}.ledger-ops{display:flex;gap:8px;margin-top:12px}.amt-income{color:var(--income);font-weight:600}.amt-expense{color:var(--expense);font-weight:600}.amt-unreceived{color:var(--unrecv);font-weight:600}.amt-balance{color:var(--balance);font-weight:600}.entry-page .entry-panel{padding:18px 20px 22px}.entry-form{display:flex;flex-direction:column;min-height:0}.entry-form-body{display:flex;flex-direction:column;gap:14px;min-width:0}.mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mode-tabs button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 6px;cursor:pointer;font-weight:600;color:var(--muted);font-size:.9rem;white-space:nowrap}.mode-tabs button.active{background:var(--tide);color:#fff;border-color:var(--tide)}.mode-tab-short{display:none}.mode-tab-long{display:inline}.entry-section{border:1px solid var(--line);border-radius:12px;padding:12px 14px 14px;background:#fbfdfe;min-width:0}.entry-section-title{margin:0 0 10px;font-size:.78rem;font-weight:700;letter-spacing:.06em;color:var(--tide-2);text-transform:none}.entry-grid,.entry-date,.entry-money,.form-grid{display:grid;gap:12px;min-width:0}.entry-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-date,.entry-money{grid-template-columns:repeat(3,minmax(0,1fr))}.entry-grid label,.entry-date label,.entry-money label,.form-grid label,.login-card label,.entry-grid .field,.form-grid .field{display:grid;gap:6px;font-size:.86rem;color:var(--muted);font-weight:500;min-width:0}.entry-grid .field-label,.form-grid .field-label{color:var(--muted)}.entry-grid label.full,.form-grid label.full,.entry-grid .field.full,.form-grid .field.full{grid-column:1 / -1}.entry-grid input,.entry-grid select,.entry-grid textarea,.entry-date input,.entry-money input,.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;max-width:100%}.entry-hint{margin:0;color:var(--muted);font-size:.84rem;grid-column:1 / -1}.entry-hint.full{grid-column:1 / -1}.suggest{position:relative;width:100%;min-width:0}.suggest-field{display:grid;grid-template-columns:1fr auto;gap:0;align-items:stretch}.suggest-field input{width:100%;min-width:0;border-radius:10px 0 0 10px;border-right:0}.suggest-toggle{border:1px solid var(--line);border-radius:0 10px 10px 0;background:#fff;min-width:44px;padding:0 10px;cursor:pointer;color:var(--ink);font-size:.85rem}.suggest.is-open .suggest-toggle{border-color:var(--tide);color:var(--tide)}.suggest-list{list-style:none;margin:8px 0 0;padding:6px;max-height:min(280px,45vh);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 28px #0a1e1c1f}.suggest-list-portal{position:fixed;z-index:220;margin:0;box-shadow:0 16px 40px #0a1e1c38}.suggest-list li{margin:0}.suggest-list button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:14px 12px;border-radius:8px;font:inherit;color:var(--ink);cursor:pointer;touch-action:pan-y;user-select:none;-webkit-user-select:none}.suggest-list button:active,.suggest-list button:hover{background:var(--mist)}.suggest-list button.is-active{background:#0c3f3a14;color:var(--tide);font-weight:700}.suggest-empty,.suggest-more,.suggest-tip{padding:12px;color:var(--muted);font-size:.86rem}.suggest-tip{text-align:center;font-size:.78rem;padding-top:4px;padding-bottom:8px}.entry-actions,.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1e1c7a;display:grid;place-items:center;z-index:50;padding:24px;overflow:auto}.modal,.modal-sheet{width:min(720px,100%);max-height:min(88vh,820px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:16px;padding:0;box-shadow:0 24px 60px #0a1e1c47;animation:rise .22s ease both}.modal.wide{width:min(920px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);flex-shrink:0;background:#fff}.modal-head h2{margin:0;font-family:var(--font-display);font-size:1.2rem}.modal .entry-form{flex:1;min-height:0;display:flex;flex-direction:column}.modal .entry-form-body{flex:1;min-height:0;overflow:auto;padding:14px 18px 8px;-webkit-overflow-scrolling:touch}.modal .entry-actions,.modal .modal-actions{margin:0;padding:12px 18px 16px;border-top:1px solid var(--line);background:#fff}.modal-body{flex:1;min-height:0;overflow:auto;padding:14px 18px 8px;-webkit-overflow-scrolling:touch}.modal-body h3{margin:12px 0 8px;font-size:.95rem;color:var(--tide)}.modal-body h3:first-child{margin-top:0}.fab{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;border:0;background:var(--tide);color:#fff;box-shadow:0 12px 28px #0c3f3a59;display:grid;place-items:center;cursor:pointer;z-index:45;font-size:1.7rem;line-height:1}.fab:hover{filter:brightness(1.05)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden;background:radial-gradient(700px 380px at 85% 12%,rgba(243,210,122,.22),transparent 55%),radial-gradient(900px 500px at 10% 90%,rgba(27,122,104,.35),transparent 60%),linear-gradient(155deg,#062824,#0c4039 48%,#0a322e)}.login-page:before{content:"";position:absolute;inset:auto -10% -20% -10%;height:46%;background:repeating-linear-gradient(-12deg,transparent 0 14px,rgba(255,255,255,.03) 14px 15px);pointer-events:none;opacity:.7}.login-card{width:min(420px,100%);background:#fffffff5;border-radius:22px;padding:32px 28px 28px;box-shadow:0 24px 60px #00000047;display:grid;gap:12px;position:relative;border:1px solid rgba(255,255,255,.55);animation:rise .5s var(--ease) both}.login-mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#e8f4f0,#d8ebe5);color:var(--tide);border:1px solid rgba(12,63,58,.08)}.login-card h1{font-family:var(--font-display);font-size:1.6rem;letter-spacing:.04em}.login-card .muted{margin-top:-2px;margin-bottom:4px}.login-card .btn.primary{margin-top:6px;min-height:46px}.backup-page{max-width:920px}.backup-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr) auto;gap:18px;align-items:end;margin-bottom:16px;padding:20px 22px;border-radius:20px;border:1px solid rgba(210,224,220,.95);background:radial-gradient(520px 180px at 0% 0%,rgba(27,122,104,.14),transparent 60%),radial-gradient(360px 160px at 100% 0%,rgba(226,184,74,.12),transparent 55%),linear-gradient(165deg,#f7fcfa,#fff 55%,#f3f8f6);box-shadow:var(--shadow-sm)}.backup-hero-copy .eyebrow{margin-bottom:6px}.backup-hero-copy h1{margin:0 0 8px;font-family:var(--font-display);font-size:clamp(1.6rem,2.4vw,2rem);letter-spacing:.02em;color:var(--tide-deep)}.backup-hero-copy .lede{margin:0;max-width:34ch;color:var(--muted);font-size:.92rem;line-height:1.5}.backup-hero-balance{display:grid;gap:4px;justify-items:start;padding:12px 14px;border-radius:14px;background:#ffffffb8;border:1px solid rgba(210,224,220,.9)}.backup-hero-balance span{font-size:.72rem;letter-spacing:.08em;color:var(--muted)}.backup-hero-balance strong{font-size:1.45rem;font-weight:700;color:var(--balance);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.backup-hero-balance em{font-style:normal;font-size:.78rem;color:var(--muted)}.backup-hero-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.backup-flash{margin:0 0 14px;padding:12px 14px;border-radius:12px;font-size:.92rem;line-height:1.45}.backup-flash.ok{background:#e8f6ef;color:#0c3f3a;border:1px solid #c6e6d4}.backup-page .error.backup-flash{margin-bottom:14px}.backup-vault{margin-bottom:14px;border-radius:20px;border:1px solid rgba(210,224,220,.95);background:#ffffffe6;box-shadow:var(--shadow-sm);overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.backup-vault-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-end;padding:18px 20px 14px;border-bottom:1px solid rgba(10,58,53,.08);background:linear-gradient(180deg,rgba(10,58,53,.04),transparent 70%),#fbfefd}.backup-vault-head h2{margin:0 0 4px;font-family:var(--font-display);font-size:1.15rem;color:var(--tide-deep)}.backup-vault-head p{margin:0;color:var(--muted);font-size:.86rem}.backup-capacity{min-width:180px;display:grid;gap:8px}.backup-capacity-meta{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.backup-capacity-meta span{font-size:.72rem;letter-spacing:.08em;color:var(--muted)}.backup-capacity-meta strong{font-size:1.15rem;color:var(--tide);font-variant-numeric:tabular-nums}.backup-capacity-meta i{font-style:normal;color:var(--muted);font-weight:500;font-size:.9rem}.backup-capacity-track{height:6px;border-radius:999px;background:#0a3a3514;overflow:hidden}.backup-capacity-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--tide-2),var(--gold));transition:width .35s var(--ease)}.backup-capacity-dots{display:flex;gap:5px}.backup-capacity-dots span{flex:1;height:4px;border-radius:999px;background:#0a3a351a}.backup-capacity-dots span.on{background:var(--tide-2)}.backup-timeline{padding:8px 12px 16px}.backup-timeline ul{list-style:none;margin:0;padding:0}.backup-empty-state{display:grid;gap:12px;justify-items:start;padding:28px 16px}.backup-empty-state p{margin:0;color:var(--muted)}.backup-slot{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;min-height:72px}.backup-slot-rail{position:relative;display:flex;justify-content:center;padding-top:22px}.backup-slot-dot{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--tide-2);box-shadow:0 0 0 4px #1b7a681f;z-index:1}.backup-slot.tone-pre .backup-slot-dot{border-color:var(--unrecv);box-shadow:0 0 0 4px #c45c261f}.backup-slot.tone-dl .backup-slot-dot{border-color:var(--balance);box-shadow:0 0 0 4px #1d4f911f}.backup-slot.is-empty .backup-slot-dot{border-style:dashed;border-color:#b7c9c3;box-shadow:none;background:#f4f8f6}.backup-slot-line{position:absolute;top:34px;bottom:-8px;width:2px;background:linear-gradient(180deg,#1b7a6847,#1b7a680f)}.backup-slot.is-empty .backup-slot-line{background:linear-gradient(180deg,#0a3a351f,#0a3a350a)}.backup-slot-body{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin:6px 0;padding:12px 14px;border-radius:14px;border:1px solid transparent;background:transparent;transition:background .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease)}.backup-slot:not(.is-empty) .backup-slot-body{background:linear-gradient(180deg,#fbfdfe,#fff);border-color:var(--line)}.backup-slot:not(.is-empty):hover .backup-slot-body{border-color:#c5d8d2;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.backup-slot.is-picked .backup-slot-body{border-color:var(--tide-2);background:linear-gradient(180deg,#eaf7f2,#fff);box-shadow:inset 3px 0 0 var(--tide-2),var(--shadow-sm)}.backup-slot.is-empty .backup-slot-body{border:1px dashed #c9d8d3;background:#f7fbf98c}.backup-slot-main{min-width:0;flex:1;display:grid;gap:4px}.backup-slot-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.backup-slot-title strong{font-size:.98rem;color:var(--tide-deep)}.backup-slot.is-empty .backup-slot-title strong{color:var(--muted);font-weight:500}.backup-tag{display:inline-flex;padding:1px 8px;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.02em}.backup-tag.tag-online{background:#1b7a681f;color:var(--tide-2)}.backup-tag.tag-pre{background:#c45c261f;color:var(--unrecv)}.backup-tag.tag-dl{background:#1d4f911a;color:var(--balance)}.backup-tag.tag-pick{background:var(--tide);color:#fff}.backup-slot-meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}.backup-slot-ops{display:flex;gap:8px;flex-shrink:0}.backup-slot-ops .btn.small{min-width:64px;justify-content:center}.backup-confirm{margin:0 14px 16px;padding:14px 16px;border-radius:16px;border:1px solid rgba(196,92,38,.28);background:linear-gradient(180deg,#fff8f2,#fff);display:grid;gap:12px;animation:rise .28s var(--ease) both}.backup-confirm-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.backup-confirm-head .k{display:block;font-size:.72rem;letter-spacing:.06em;color:var(--unrecv);margin-bottom:2px}.backup-confirm-head strong{display:block;font-size:1.05rem;color:var(--tide-deep)}.backup-confirm-head em{display:block;margin-top:2px;font-style:normal;color:var(--muted);font-size:.82rem}.backup-confirm-acks{display:grid;gap:8px}.backup-upload{margin-bottom:12px;border-radius:16px;border:1px solid var(--line);background:#ffffffc7;overflow:hidden}.backup-upload>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:600;color:var(--tide-deep);-webkit-user-select:none;user-select:none}.backup-upload>summary::-webkit-details-marker{display:none}.backup-upload>summary span{display:inline-flex;align-items:center;gap:8px}.backup-upload>summary em{font-style:normal;font-weight:500;color:var(--muted);font-size:.82rem}.backup-upload[open]>summary{border-bottom:1px solid rgba(10,58,53,.08);background:#f7fbfa}.backup-actions{padding:14px 16px 16px;display:grid;gap:12px}.backup-actions .btn.block,.backup-actions label.btn.block{width:100%;justify-content:center;min-height:46px}.backup-actions label.btn.block{cursor:pointer}.backup-actions label.btn.is-disabled{opacity:.55;pointer-events:none}.backup-hint,.backup-foot{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}.backup-foot{padding:4px 2px 20px}.backup-preview{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;display:grid;gap:10px}.backup-preview-stats{list-style:none;margin:0;padding:0;display:grid;gap:8px}.backup-preview-stats li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(10,58,53,.08);font-size:.9rem}.backup-preview-stats li:last-child{border-bottom:0}.backup-preview-stats span{color:var(--muted)}.backup-preview-stats strong{text-align:right;font-weight:600;color:var(--ink);word-break:break-all}.backup-check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ink)}.backup-check input{margin-top:3px;width:18px;height:18px;flex-shrink:0}.backup-preview-ops{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.btn.danger{background:#fff;color:var(--expense);border-color:#f0c7c2}.btn.danger:disabled{opacity:.5}.table-wrap{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 280px);-webkit-overflow-scrolling:touch;background:linear-gradient(90deg,#fff 70%,#fff0) 0 0 / 28px 100% local,linear-gradient(270deg,#fff 70%,#fff0) 100% 0 / 28px 100% local,linear-gradient(90deg,rgba(12,63,58,.08),transparent 40%) 0 0 / 14px 100% scroll,linear-gradient(270deg,rgba(12,63,58,.08),transparent 40%) 100% 0 / 14px 100% scroll,#fff;background-repeat:no-repeat;border-top:1px solid var(--line)}.data-table,.finance-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums;color:var(--ink)}.data-table th,.data-table td,.finance-table th,.finance-table td{padding:10px 12px;border-bottom:1px solid #e4eeeb;text-align:left;vertical-align:middle;box-sizing:border-box}.data-table thead th,.finance-table thead th{position:sticky;top:0;z-index:3;height:42px;padding:0 12px;color:#35564f;font-weight:600;font-size:12px;letter-spacing:.04em;white-space:nowrap;background:linear-gradient(180deg,#f5faf8,#e8f2ef);border-bottom:2px solid rgba(26,107,92,.28);box-shadow:0 1px #ffffffb3 inset}.data-table tbody tr:nth-child(2n) td,.finance-table tbody tr:nth-child(2n) td{background:#f7fbfa}.data-table tbody tr:hover td,.finance-table tbody tr:hover td{background:#eef6f3}.finance-table tbody tr.finance-row-click{cursor:pointer}.finance-table tbody tr.finance-row-click:focus-visible{outline:2px solid var(--tide-2);outline-offset:-2px}.finance-table tbody tr.finance-row-click.is-open td,.finance-table tbody tr.finance-row-click.is-open .pin-l,.finance-table tbody tr.finance-row-click.is-open .pin-r{background:#dff0ea!important}.finance-expand-row td{padding:0!important;background:var(--mist)!important;border-bottom:1px solid var(--tide-2)!important}.finance-expand-body{padding:12px 18px 14px;border-left:3px solid var(--tide-2);background:linear-gradient(90deg,rgba(10,58,53,.04),transparent 40%),var(--mist);animation:finance-expand-in .16s var(--ease)}.finance-expand-title{margin:0 0 8px;font-size:.78rem;font-weight:600;letter-spacing:.08em;color:var(--tide)}@keyframes finance-expand-in{0%{opacity:.25}to{opacity:1}}.finance-expand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid rgba(10,58,53,.12)}.finance-expand-field{display:grid;gap:4px;padding:10px 12px 10px 0;border-bottom:1px solid rgba(10,58,53,.1);border-right:1px solid rgba(10,58,53,.08);min-width:0}.finance-expand-field:nth-child(4n){border-right:0;padding-right:0}.finance-expand-k{color:var(--muted);font-size:.72rem;font-weight:500;letter-spacing:.04em}.finance-expand-v{font-size:.92rem;color:var(--ink);word-break:break-word;line-height:1.35;font-variant-numeric:tabular-nums}.desktop-table{display:block}.flow-list{display:grid;gap:10px;padding:12px 14px 18px}.mobile-cards,.flow-list.mobile-cards{display:none}.flow-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 14px 12px;box-shadow:var(--shadow-sm)}.flow-card.has-unrecv{border-color:#f0c9a8;background:linear-gradient(180deg,#fff7f0,#fff)}.flow-card.is-internal{border-style:dashed;background:#f7faf9}.flow-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.flow-card-name{font-size:1.05rem;color:var(--tide-deep)}.flow-card-date{color:var(--muted);font-size:.86rem;font-variant-numeric:tabular-nums;white-space:nowrap}.flow-card-mid{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.flow-card-meta{color:var(--muted);font-size:.84rem}.flow-card-amounts{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:10px;font-size:.95rem}.unrecv-pill{display:inline-flex;align-items:center;gap:4px;background:#fff1e6;color:var(--unrecv);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600}.flow-card-note{margin:8px 0 0;color:#5c6f6b;font-size:.84rem;line-height:1.4}.flow-card-balance{margin-top:6px;font-size:.8rem}.flow-card-ops{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}.flow-card.is-clickable{cursor:pointer}.flow-card.is-expanded{border-color:var(--tide-2);background:#eef6f3}.flow-card-expand{margin-top:8px}.flow-card-expand .finance-expand-body{border-radius:12px;border:1px solid rgba(10,58,53,.14);border-left-width:3px}@media(max-width:1100px){.finance-expand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-expand-field:nth-child(4n){border-right:1px solid rgba(10,58,53,.08);padding-right:12px}.finance-expand-field:nth-child(2n){border-right:0;padding-right:0}}.data-table th.num,.data-table td.num,.finance-table th.num,.finance-table td.num{text-align:right}.data-table .col-muted,.finance-table .col-muted{color:#7a8f89;font-weight:400}.data-table td.note,.finance-table td.note{max-width:220px;color:#6d817b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table td.ops,.finance-table td.ops{white-space:nowrap;overflow:visible}.data-table td.ops .btn,.finance-table td.ops .btn{padding:5px 10px;font-size:12px;border-radius:8px;background:#f4f8f7}.data-table td.ops .btn+.btn,.finance-table td.ops .btn+.btn{margin-left:6px}.data-table td.ops .btn.danger,.finance-table td.ops .btn.danger{background:#fff5f4;border-color:#f0c7c2}.cell-unrecv{background:#fff6ef!important}.amt.is-zero,.amt.is-empty{color:#9aaba6!important;font-weight:450!important}.badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;border-radius:999px;background:#e7f2ef;color:var(--tide-2);font-size:.75rem;font-weight:600;vertical-align:middle}.finance-table{--pin-y: 52px;--pin-m: 40px;--pin-d: 40px;--pin-c: 148px;--pin-left-end: calc(var(--pin-y) + var(--pin-m) + var(--pin-d) + var(--pin-c));width:max-content;min-width:100%;table-layout:fixed}.finance-table.finance-table--ymd{--pin-y: 0px;--pin-left-end: calc(var(--pin-m) + var(--pin-d) + var(--pin-c))}.finance-table th,.finance-table td{height:42px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-table col.col-year{width:var(--pin-y)}.finance-table col.col-month{width:var(--pin-m)}.finance-table col.col-day{width:var(--pin-d)}.finance-table col.col-customer{width:var(--pin-c)}.finance-table col.col-address{width:80px}.finance-table col.col-project{width:104px}.finance-table col.col-price{width:72px}.finance-table col.col-weight{width:76px}.finance-table col.col-note{width:128px}.finance-table col.col-fuel,.finance-table col.col-meal{width:68px}.finance-table col.col-money{width:92px}.finance-table col.col-ops{width:120px}.finance-table .pin-l,.finance-table .pin-r{position:sticky;background:#fff}.finance-table thead .pin-l,.finance-table thead .pin-r{z-index:6;background:linear-gradient(180deg,#f5faf8,#e8f2ef)}.finance-table tbody .pin-l,.finance-table tbody .pin-r{z-index:2}.finance-table tbody tr:nth-child(2n) .pin-l,.finance-table tbody tr:nth-child(2n) .pin-r{background:#f7fbfa}.finance-table tbody tr:hover .pin-l,.finance-table tbody tr:hover .pin-r{background:#eef6f3}.finance-table .pin-year{left:0;width:var(--pin-y);min-width:var(--pin-y);max-width:var(--pin-y)}.finance-table .pin-month{left:var(--pin-y);width:var(--pin-m);min-width:var(--pin-m);max-width:var(--pin-m)}.finance-table .pin-day{left:calc(var(--pin-y) + var(--pin-m));width:var(--pin-d);min-width:var(--pin-d);max-width:var(--pin-d)}.finance-table .pin-customer{left:calc(var(--pin-y) + var(--pin-m) + var(--pin-d));width:var(--pin-c);min-width:var(--pin-c);max-width:var(--pin-c);font-weight:600;color:#17332e;box-shadow:8px 0 12px -8px #0c3f3a2e}.finance-table .pin-r{right:0;box-shadow:-8px 0 12px -8px #0c3f3a2e}.customers-table{table-layout:fixed;width:100%;min-width:980px}.customers-table col.col-idx{width:48px}.customers-table col.col-info{width:240px}.customers-table col.col-farm{width:168px}.customers-table col.col-svc{width:64px}.customers-table col.col-money{width:108px}.customers-table col.col-ops{width:168px}.customers-table th,.customers-table td{white-space:normal;height:auto;padding:14px 12px;vertical-align:middle;overflow:hidden}.customers-table tbody tr.has-unrecv td{background:#fff8f2}.customers-table tbody tr.has-unrecv:nth-child(2n) td{background:#fff4eb}.customers-table tbody tr.has-unrecv:hover td{background:#ffefe3!important}.customers-table th:nth-child(1),.customers-table td:nth-child(1){position:sticky;left:0;z-index:2;width:48px;min-width:48px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem;background:#fff}.customers-table th:nth-child(2),.customers-table td:nth-child(2){position:sticky;left:48px;z-index:2;width:240px;min-width:240px;max-width:240px;background:#fff;box-shadow:8px 0 12px -8px #0c3f3a24}.customers-table thead th:nth-child(1),.customers-table thead th:nth-child(2){z-index:6;background:linear-gradient(180deg,#f5faf8,#e8f2ef)}.customers-table tbody tr:nth-child(2n) td:nth-child(1),.customers-table tbody tr:nth-child(2n) td:nth-child(2){background:#f7fbfa}.customers-table tbody tr:hover td:nth-child(1),.customers-table tbody tr:hover td:nth-child(2){background:#eef6f3}.customers-table tbody tr.has-unrecv td:nth-child(1),.customers-table tbody tr.has-unrecv td:nth-child(2){background:#fff8f2}.customers-table tbody tr.has-unrecv:nth-child(2n) td:nth-child(1),.customers-table tbody tr.has-unrecv:nth-child(2n) td:nth-child(2){background:#fff4eb}.customers-table tbody tr.has-unrecv:hover td:nth-child(1),.customers-table tbody tr.has-unrecv:hover td:nth-child(2){background:#ffefe3}.customers-table td.ops{vertical-align:middle}.customers-table .ops-row{display:flex;flex-wrap:nowrap;gap:6px}.customers-table .ops-row .btn{flex:0 0 auto;padding:6px 8px}.cust-idx{opacity:.7}.cust-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--muted);font-size:.8rem;line-height:1.35}.cust-addr{margin-top:2px}.cust-area{margin-top:6px;color:var(--tide);font-size:.8rem;font-weight:600}.cust-name{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}.cust-name strong{font-size:1rem;color:var(--tide-deep);font-weight:700}.cust-name .tag{display:inline-flex;padding:1px 7px;border-radius:4px;background:#e2b84a2e;color:#8a6a18;font-size:.7rem;font-weight:600}.tags{display:flex;flex-wrap:wrap;gap:6px}.pill{display:inline-flex;padding:2px 8px;border-radius:999px;background:#eef4f2;color:#3d5550;font-size:.72rem;font-weight:600;letter-spacing:.02em}.pill-own{background:#1b7a681f;color:var(--tide-2)}.pill-mode{background:#1d4f911a;color:var(--balance)}.pill-area{background:#0a3a3514;color:var(--tide)}.customer-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow-sm);min-width:0;overflow:hidden}.customer-card.has-unrecv{border-color:#c45c2659;background:linear-gradient(180deg,#fff8f2,#fff 55%);box-shadow:inset 3px 0 0 var(--unrecv)}.customer-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.customer-card-main{min-width:0;flex:1}.customer-card-name{font-size:1.05rem;color:var(--tide-deep);display:flex;flex-wrap:wrap;align-items:center;gap:6px}.customer-card-sub{color:var(--muted);font-size:.82rem;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-unrecv-badge{flex-shrink:0;font-size:.84rem;font-weight:700;color:var(--unrecv);background:#fff1e8;border-radius:8px;padding:5px 10px}.customer-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.customer-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:12px;border-top:1px solid rgba(10,58,53,.1);border-bottom:1px solid rgba(10,58,53,.1)}.customer-card-stats div{background:transparent;border-radius:0;padding:10px 8px;min-width:0;border-right:1px solid rgba(10,58,53,.08)}.customer-card-stats div:last-child{border-right:0}.customer-card-stats .k{color:var(--muted);font-size:.7rem;letter-spacing:.04em}.customer-card-stats .v{font-weight:700;margin-top:3px;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-card-ops{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:8px;margin-top:12px}.customer-card-ops .btn{width:100%;justify-content:center;min-height:40px}.customers-page .customers-summary{margin-bottom:14px}.customers-page .customers-summary .stat-tile em{color:var(--muted);font-style:normal;font-size:.72rem}.customers-page .customer-flow-list{padding:4px 0 8px}.customers-page .customer-flow-list .flow-card{border-radius:12px;box-shadow:none;background:linear-gradient(180deg,#fbfdfe,#fff)}.customers-page .customer-flow-list .flow-card-top strong{color:var(--tide-deep);font-size:.95rem}.customers-page .customers-unrecv-on{background:#fff1e8;border-color:#f0c9a8;color:var(--unrecv)}.customers-page .customers-filters{display:grid;gap:12px;align-items:start}.customers-page .customers-filter-bar{display:grid;gap:10px;width:100%}.customers-page .customers-filter-selects{display:grid;grid-template-columns:1fr 1fr;gap:8px}.customers-page .customers-filter-selects select{width:100%;min-width:0;border-radius:10px;border:1px solid var(--line);background:#fff;padding:8px 10px}.customers-page .pager{border-top:1px solid var(--line);margin-top:0;padding:12px 16px;background:#f7fbfa}.customer-flow-list{display:flex;flex-direction:column;gap:10px}@media(max-width:960px){.customers-page .page-hero-row>.toolbar.hero-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%}.customers-page .page-hero-row>.toolbar.hero-actions .btn{flex:1 1 auto;justify-content:center;min-height:40px}.customers-page .customers-summary.stat-strip,.customers-page .customers-summary.stat-strip.stats-4{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;padding:0;overflow:visible}.customers-page .customers-summary .stat-tile{min-width:0}.customers-page .customers-filter-selects select{min-height:42px}}@media(min-width:961px){.customers-page .customers-filters{grid-template-columns:auto minmax(0,1fr);align-items:center}.customers-page .customers-filter-bar{grid-template-columns:minmax(0,1fr) auto;align-items:center}.customers-page .customers-filter-selects{grid-template-columns:140px 140px}}.project-tag{display:inline-block;max-width:100%;padding:3px 9px;border-radius:6px;background:#e8f2ef;color:#1f5a4f;font-size:12px;font-weight:550;line-height:1.25;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.project-tag.purple{background:#f1eaf8;color:var(--settle)}@media(max-width:960px){.shell{flex-direction:column;padding-bottom:calc(var(--bottom-h) + 20px + env(safe-area-inset-bottom,0px))}.sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);transform:translate(-105%);transition:transform .22s ease;z-index:40;height:100%}.shell.nav-open .sidebar{transform:none}.sidebar-close{display:inline-flex!important}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:35}.nav-backdrop[hidden]{display:none!important}.topbar{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:20;height:var(--topbar-h);padding:0 12px;background:#f7faf9f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar-menu{width:40px;height:40px;border:0;background:transparent;display:grid;gap:5px;place-content:center}.topbar-menu span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px}.topbar-brand{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:700;flex:1}.topbar-entry{display:none}.main{margin-left:0;width:100%;padding:14px 14px 28px;overflow-x:visible}.page-hero{margin-bottom:10px}.page-hero h1{font-size:1.4rem}.page-hero .lede{display:none}.page-hero .eyebrow{margin-bottom:2px}.finance-page .entry-cta{display:none}.page-hero-row>.toolbar.hero-actions,.page-hero-row>.toolbar{display:none}.page-hero-row{flex-direction:column;align-items:stretch;gap:8px}.panel-head{padding:14px 14px 10px;gap:10px}.panel-head .toolbar,.toolbar.wrap{width:100%;display:grid;grid-template-columns:1fr;gap:8px}.finance-page .panel-head .toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.finance-page .panel-head .toolbar .month-select-wrap{grid-column:auto;width:100%}.finance-page .panel-head .toolbar .search-row{grid-column:1 / -1;width:100%}.finance-page .panel-head .toolbar .search{min-width:0;width:100%}.finance-page .panel-head .toolbar .seg{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);width:100%;border-radius:12px}.finance-page .panel-head .toolbar .seg button{width:100%;text-align:center}.monthly-page .panel-head{display:grid;gap:10px}.monthly-page .panel-head .toolbar{grid-template-columns:1fr}.monthly-page .panel-head .toolbar .seg{display:grid;grid-template-columns:repeat(4,1fr);width:100%;border-radius:12px}.monthly-page .panel-head .toolbar .seg button{width:100%;text-align:center;padding:8px 4px;white-space:nowrap}.monthly-page .panel-head .toolbar>.btn{width:100%;justify-content:center}.search{min-width:0;width:100%}.toolbar select{width:100%}body:has(.modal-backdrop),body.modal-open{overflow:hidden}body:has(.modal-backdrop) .bottom-nav,body:has(.modal-backdrop) .more-sheet,body:has(.modal-backdrop) .more-backdrop,body:has(.modal-backdrop) .fab,body.modal-open .bottom-nav,body.modal-open .more-sheet,body.modal-open .more-backdrop,body.modal-open .fab{display:none!important}.stat-strip,.stat-strip.stats-5,.stat-strip.stats-6,.stat-strip.stats-7,.cards,.cards.stats-month{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -14px 14px;padding:2px 14px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.stat-strip::-webkit-scrollbar,.cards::-webkit-scrollbar{display:none}.stat-tile,.cards .finance-card,.cards .stat{flex:0 0 44%;min-width:148px;max-width:190px;scroll-snap-align:start}.stat-tile strong,.card-value,.stat-n{font-size:1.05rem;white-space:nowrap}.stat-tile span,.stat-tile em{font-size:.75rem}.fab{display:grid;right:16px;bottom:calc(var(--bottom-h) + 18px + env(safe-area-inset-bottom,0px))}.finance-page .fab{display:none}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--bottom-h) + env(safe-area-inset-bottom,0px));padding:6px 0 env(safe-area-inset-bottom,0px);background:#fffffff7;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bn-item{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;color:var(--muted);font-size:.68rem;padding:0;text-decoration:none}.bn-item.active{color:var(--tide);font-weight:700}.bn-ico{display:grid;place-items:center;width:28px;height:28px;color:inherit}.bn-label{line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bn-item.bn-primary{color:var(--tide);font-weight:700}.bn-item.bn-primary .bn-ico{width:40px;height:40px;border-radius:50%;background:var(--tide);color:#fff;box-shadow:0 6px 14px #0c3f3a47}.bn-item.bn-primary .bn-label{color:var(--tide)}.bn-item.bn-primary.active .bn-ico{background:#0f4f48}.more-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1e1c47;z-index:31}.more-sheet{display:grid;gap:4px;position:fixed;left:12px;right:12px;bottom:calc(var(--bottom-h) + 12px + env(safe-area-inset-bottom,0px));background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px;z-index:32;box-shadow:var(--shadow)}.more-link{display:flex;align-items:center;gap:10px;padding:14px 12px;border-radius:12px;border:0;background:transparent;text-align:left;width:100%;font-size:.95rem;color:var(--ink)}.more-link:active{background:var(--mist)}.desktop-table{display:none!important}.flow-list.mobile-cards{display:grid}.backup-hero{grid-template-columns:1fr;align-items:stretch;gap:14px;padding:16px}.backup-hero-actions .btn{flex:1 1 auto;justify-content:center;min-height:42px}.backup-vault-head{align-items:stretch}.backup-capacity{width:100%;min-width:0}.backup-slot-body{padding:12px}.backup-slot-ops{width:100%}.backup-slot-ops .btn.small{flex:1}.detail-grid{grid-template-columns:repeat(2,1fr)}.entry-grid,.form-grid{grid-template-columns:1fr}.entry-date{grid-template-columns:repeat(3,minmax(0,1fr))}.entry-money{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.entry-money label{font-size:.8rem}.entry-section{padding:10px 12px 12px}.mode-tabs button{padding:10px 4px;font-size:.88rem}.mode-tab-short{display:inline}.mode-tab-long{display:none}.flow-list.mobile-cards{padding-bottom:8px}.panel .flow-list.mobile-cards{margin-bottom:4px}.entry-page .entry-actions{position:static;background:transparent;padding:14px 0 6px;margin:8px 0 0;border-top:1px solid var(--line);z-index:auto}.entry-page .panel.entry-panel{padding:14px 14px 18px}.entry-page{padding-bottom:12px}.month-grid{padding:0 12px 12px;gap:10px}.month-card{width:260px;min-width:260px}.monthly-range-stats{padding:0 14px 14px}.customer-card-ops{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:8px}.flow-card-ops{display:grid;grid-template-columns:1fr 1fr;gap:8px}.flow-card-ops .btn{justify-content:center;min-height:42px;width:100%}.modal-head{gap:8px;align-items:flex-start}.modal-head h2{flex:1;min-width:0;font-size:1.05rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-head .toolbar{flex-shrink:0;gap:6px}.modal-head .toolbar .btn.primary{padding:8px 10px;font-size:.82rem}.pager{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;padding:12px 14px 16px;font-size:.86rem}.pager span{text-align:center;width:100%;order:-1}.fab{width:52px;height:52px;font-size:1.6rem;line-height:1}.log-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}.log-card-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.log-action{font-size:1rem}.log-time{font-size:.75rem;color:var(--muted);white-space:nowrap}.log-card-meta{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}.log-card-detail{margin:8px 0 0;font-size:.9rem;color:var(--ink);word-break:break-word;line-height:1.4}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;padding:0;overflow:hidden;z-index:100}.modal,.modal-sheet{width:100%;max-height:min(92dvh,calc(100vh - 8px));border-radius:16px 16px 0 0;margin:0;flex-shrink:0}.modal .entry-actions,.modal .modal-actions{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));background:#fff;position:relative;z-index:2}}.cards.three{grid-template-columns:repeat(3,1fr)}.month-grid{display:flex;flex-wrap:nowrap;gap:12px;padding:0 16px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.month-card{flex:0 0 auto;width:280px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f7fbf9);border-radius:14px;padding:14px 16px;text-align:left;cursor:pointer;display:block;min-width:280px;max-width:none;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.month-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.month-card.active{border-color:var(--tide);box-shadow:0 0 0 2px #0c3f3a1f,var(--shadow-sm);background:#f3faf8}.month-top{display:flex;justify-content:space-between;margin-bottom:10px;gap:8px;align-items:baseline}.month-top strong{font-size:1.02rem}.month-top span{color:var(--muted);font-size:.8rem;white-space:nowrap}.month-stats{display:grid;grid-template-columns:1fr;gap:7px;font-size:.88rem;color:var(--muted)}.month-stats .ms{display:flex;justify-content:space-between;gap:12px;align-items:baseline;min-width:0}.month-stats .ms:last-child:nth-child(odd){grid-column:auto}.month-stats .ms em{font-style:normal;color:var(--muted);flex-shrink:0}.month-stats .ms b{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.monthly-page .monthly-selected-stats{display:none}.ms-page .ms-pulse{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.ms-pulse-item{background:linear-gradient(180deg,#fff,#f7fbf9);border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-sm);display:grid;gap:4px}.ms-pulse-item span{color:var(--muted);font-size:.84rem}.ms-pulse-item strong{font-size:1.45rem;font-weight:750;letter-spacing:-.02em;color:var(--ink)}.ms-pulse-item em{font-style:normal;font-size:.75rem;color:var(--muted)}.ms-pulse-item.focus{background:linear-gradient(145deg,#0f4a43,#1b7a68);border-color:transparent;color:#e8f6f2}.ms-pulse-item.focus span,.ms-pulse-item.focus em{color:#e8f6f2c7}.ms-pulse-item.focus strong{color:#fff}.ms-pulse-item.warn strong{color:var(--unrecv)}.ms-rail{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;margin-bottom:4px;scrollbar-width:thin}.ms-chip{flex:0 0 auto;display:grid;gap:2px;min-width:88px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;text-align:left;cursor:pointer;color:var(--ink);font:inherit;transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease)}.ms-chip b{font-size:.92rem}.ms-chip span{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}.ms-chip:hover{border-color:#a8c4bd}.ms-chip.active{background:#f0faf6;border-color:var(--tide-2);box-shadow:0 0 0 2px #1b7a6829}.ms-chip.active span{color:var(--tide);font-weight:600}.ms-spotlight{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(0,1.6fr) auto;gap:18px;align-items:center;margin-bottom:14px;padding:20px 22px;border-radius:18px;border:1px solid var(--line);background:radial-gradient(520px 180px at 0% 0%,rgba(27,122,104,.1),transparent 60%),linear-gradient(180deg,#fff,#f6faf8);box-shadow:var(--shadow-sm)}.ms-spot-label{margin:0 0 6px;color:var(--muted);font-size:.88rem}.ms-spot-balance{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.35rem);font-weight:700;letter-spacing:-.02em;color:var(--tide);line-height:1.1}.ms-spot-hint{margin:6px 0 0;color:var(--muted);font-size:.8rem}.ms-spot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}.ms-spot-grid>div{min-width:0}.ms-spot-grid em{display:block;font-style:normal;color:var(--muted);font-size:.74rem;margin-bottom:2px}.ms-spot-grid b{font-size:.98rem;color:var(--ink);white-space:nowrap}.ms-spot-grid .hot b{color:var(--unrecv)}.ms-spot-actions{justify-self:end}.ms-chart-panel .panel-head{align-items:center}.ms-chart-wrap{padding:0 10px 14px;overflow-x:auto}.ms-chart{display:block;width:100%;min-width:560px;height:auto}.ms-grid{stroke:#e3eeea;stroke-width:1}.ms-zero{stroke:#9bb0aa;stroke-dasharray:4 4;stroke-width:1}.ms-axis{fill:#6a7f79;font-size:11px}.ms-axis-r{fill:#5b7aa8}.ms-bar-in{fill:var(--income);opacity:.88}.ms-bar-out{fill:var(--expense);opacity:.82}.ms-g.active .ms-bar-in,.ms-g.active .ms-bar-out{opacity:1}.ms-balance-line{stroke:var(--balance);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.ms-dot{fill:var(--balance);stroke:#fff;stroke-width:2}.ms-dot.active{fill:var(--tide);r:6}.ms-xlabel{fill:#6a7f79;font-size:11px}.ms-xlabel.active{fill:var(--tide);font-weight:700}.ms-legend{display:flex;gap:12px;align-items:center}.ms-leg{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:#3d5550}.ms-leg:before{content:"";width:12px;height:12px;border-radius:3px}.ms-leg.in:before{background:var(--income)}.ms-leg.out:before{background:var(--expense)}.ms-leg.bal:before{width:14px;height:3px;border-radius:2px;background:var(--balance)}@media(max-width:960px){.ms-page .ms-pulse{grid-template-columns:1fr}.ms-spotlight{grid-template-columns:1fr;gap:14px}.ms-spot-actions{justify-self:stretch}.ms-spot-actions .btn{width:100%;justify-content:center;min-height:44px}.ms-spot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ms-chart{min-width:480px}}.month-select-wrap{position:relative;min-width:0;flex:1}.month-select-face{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;padding:9px 30px 9px 11px;font-weight:600;color:var(--ink);background:#fff;pointer-events:none;min-height:44px;box-sizing:border-box}.month-select-wrap select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;border:0;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none}.month-select-face:after{content:"";position:absolute;right:12px;top:50%;width:10px;height:10px;margin-top:-2px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translateY(-50%) rotate(45deg);opacity:.55;pointer-events:none}.month-select-wrap .month-select-face{position:relative}.search-row{display:flex;gap:8px;align-items:center;min-width:0;flex:1}.search-row .search{flex:1;min-width:0}.card-label{margin:0;color:var(--muted);font-size:.84rem}.card-value{margin:6px 0 0;font-size:1.25rem;font-weight:700}@media(max-width:960px){.cards.three{grid-template-columns:1fr}.mode-tab-short{display:inline}.mode-tab-long{display:none}}
