:root{--ink: #1b3a5c;--ink-deep: #122b45;--ink-light: #2c5682;--ink-2: #2c4258;--gold: #b99a62;--gold-light: #e8d9b8;--gold-soft: #f3efe3;--bg: #f7f9fb;--surface: #ffffff;--surface-2: #f1f4f8;--border: #e6e9ee;--border-soft: #edf0f4;--divider: #f3f5f8;--text: #101827;--text-2: #4a5768;--muted: #6b7686;--muted-2: #8a94a3;--debit: #c0704a;--debit-tint: #fbede6;--credit: #2e9e6b;--credit-tint: #e7f5ee;--danger: #d9604f;--danger-tint: #fbeae7;--st-settled: #1b3a5c;--st-settled-tint: #eef2f7;--st-pending: #b99a62;--st-pending-tint: #fbf3e2;--st-leave: #8a94a3;--st-leave-tint: #edf0f4;--st-absent: #c0704a;--st-absent-tint: #fbede6;--st-makeup: #2e9e6b;--st-makeup-tint: #e7f5ee;--st-suspend: #7a6ba8;--st-suspend-tint: #f1eef8;--st-dispute: #d9604f;--st-dispute-tint: #fbeae7;--st-scheduled: #c7d6e4;--r-card: 18px;--r-card-sm: 14px;--r-pill: 999px;--shadow-card: 0 1px 2px rgba(16, 24, 39, .04), 0 8px 24px rgba(16, 24, 39, .04);--shadow-raised: 0 2px 6px rgba(16, 24, 39, .06), 0 14px 34px rgba(16, 24, 39, .08);--shadow-balance: 0 10px 22px rgba(27, 58, 92, .22);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--tabbar-h: 56px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:var(--ink);text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4,p{margin:0}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.01em}.money{font-weight:600;white-space:nowrap}.money--sm{font-size:12px;font-weight:500}.money--lg{font-size:19px;letter-spacing:-.4px}.money--debit{color:var(--debit)}.money--credit{color:var(--credit)}.money--plain{color:inherit}#root{min-height:100%}.shell{max-width:480px;margin:0 auto;min-height:100dvh;background:var(--bg);position:relative;display:flex;flex-direction:column}.shell--plain{background:linear-gradient(180deg,#f5f7fa,#f7f9fb 42%)}.page{flex:1;padding:calc(var(--safe-top) + 10px) calc(16px + var(--safe-right)) 0 calc(16px + var(--safe-left));display:flex;flex-direction:column;min-width:0}.page--tabbed{padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 12px)}.page--stack{padding-bottom:calc(var(--safe-bottom) + 28px)}.page-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.page-scroll::-webkit-scrollbar{display:none}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:2px 0 0}.topbar__kicker{font-size:12px;color:var(--muted);letter-spacing:.2px}.topbar__title{font-size:22px;font-weight:600;letter-spacing:-.5px;margin-top:2px;line-height:1.25}.topbar__title--sm{font-size:19px}.avatar{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:600;background:linear-gradient(145deg,#e8d9b8,#c9a86f);box-shadow:0 2px 6px #b99a6252}.avatar--badge{position:relative}.avatar__dot{position:absolute;top:-1px;right:-1px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-pill);background:var(--danger);color:#fff;font-size:10px;font-weight:600;display:grid;place-items:center;border:2px solid var(--bg)}.navback{display:flex;align-items:center;gap:8px;padding:2px 0 4px}.navback__btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;color:var(--text-2);flex:none}.navback__title{font-size:15px;font-weight:600}.navback__id{margin-left:auto;font-size:11px;color:var(--muted);font-family:var(--font-mono)}.switcher{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:6px 10px 6px 11px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-pill);font-size:12px;color:var(--text-2);box-shadow:0 1px 2px #10182708;max-width:100%}.switcher--static{cursor:default}.switcher__icon{color:var(--ink);flex:none}.switcher__name{font-weight:600;color:var(--text)}.switcher__grade{color:var(--muted)}.switcher__action{color:var(--gold);font-weight:600;margin-left:2px}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-card);box-shadow:var(--shadow-card)}.card--pad{padding:14px 15px}.card--flat{box-shadow:none}.balance{position:relative;overflow:hidden;margin-top:12px;border-radius:20px;padding:17px 17px 15px;color:#fff;background:linear-gradient(142deg,#1b3a5c,#2c5682 62%,#3a6a98);box-shadow:var(--shadow-balance)}.balance:after,.balance:before{content:"";position:absolute;border-radius:50%;border:1px solid rgba(232,217,184,.2);pointer-events:none}.balance:after{right:-40px;top:-55px;width:150px;height:150px}.balance:before{right:-15px;top:-30px;width:100px;height:100px;border-color:#e8d9b824}.balance__label{font-size:12px;color:#ffffffa8;letter-spacing:.4px}.balance__value{font-size:34px;font-weight:600;letter-spacing:-1.2px;margin-top:4px;line-height:1.1;display:flex;align-items:baseline;gap:3px}.balance__value small{font-size:16px;font-weight:400;opacity:.82}.balance__divider{height:1px;background:#ffffff29;margin:14px 0 11px}.balance__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.balance__cols span{display:block;font-size:11px;color:#ffffff9e}.balance__cols b{display:block;font-size:13.5px;font-weight:600;margin-top:3px}.balance__note{margin-top:10px;font-size:11px;color:#fff9}.section{margin-top:18px}.section__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.section__title{font-size:13.5px;font-weight:600;letter-spacing:-.1px}.section__aside{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:2px}.link-btn{border:0;background:none;padding:2px 0;font-size:12px;color:var(--ink-light);font-weight:500;display:inline-flex;align-items:center;gap:3px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:11px}.kpi{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-card-sm);padding:11px 12px;box-shadow:0 1px 2px #10182708}.kpi__label{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:5px}.kpi__value{font-size:17px;font-weight:600;margin-top:3px;letter-spacing:-.3px;display:flex;align-items:baseline;gap:3px}.kpi__value em{font-style:normal;font-size:11px;color:var(--muted);font-weight:400}.kpi__sub{font-size:11.5px;color:var(--muted);margin-top:3px}.kpi--center{text-align:center;padding:10px 6px}.kpi--center .kpi__value{justify-content:center;font-size:16px;color:var(--ink)}.kpi--center .kpi__label{justify-content:center;font-size:11px}.sumbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-card-sm);box-shadow:0 1px 2px #10182708}.sumbar__label{font-size:11.5px;color:var(--muted)}.sumbar__value{font-size:16px;font-weight:600;margin-top:2px;letter-spacing:-.3px}.group-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:0 2px 7px}.pending-card{margin-top:11px;border:1px solid #efdcc0;background:linear-gradient(180deg,#fdf8ee,#fbf3e2);border-radius:var(--r-card);padding:12px 13px;display:flex;align-items:center;gap:11px}.pending-card__icon{width:34px;height:34px;border-radius:11px;background:#fff;color:var(--st-pending);display:grid;place-items:center;flex:none;border:1px solid #f0e0c2}.pending-card__body{flex:1;min-width:0}.pending-card__title{font-size:13px;font-weight:600;color:#6b5227}.pending-card__sub{font-size:11.5px;color:#8a7a58;margin-top:2px}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}.quick__item{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;padding:0;font-size:11.5px;color:var(--text-2)}.quick__icon{width:44px;height:44px;border-radius:14px;background:var(--surface);border:1px solid var(--border-soft);display:grid;place-items:center;color:var(--ink);box-shadow:0 1px 2px #1018270a;position:relative}.quick__icon .dot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--danger);border:1.5px solid var(--surface)}.rows{display:flex;flex-direction:column;gap:7px}.row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-card-sm);padding:10px 11px;box-shadow:0 1px 2px #10182708;transition:transform .14s ease,box-shadow .14s ease}button.row:active{transform:scale(.988);box-shadow:none}.row__icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--debit-tint);color:var(--debit)}.row__icon--credit{background:var(--credit-tint);color:var(--credit)}.row__icon--import{background:var(--surface-2);color:var(--muted)}.row__icon--status{background:var(--st-settled-tint);color:var(--st-settled)}.row__body{flex:1;min-width:0}.row__title{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:6px;min-width:0}.row__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row__sub{font-size:11.5px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row__right{text-align:right;flex:none}.row__amount{font-size:14px;font-weight:600;color:var(--debit);white-space:nowrap}.row__amount--credit{color:var(--credit)}.row__amount--zero{color:var(--muted)}.row__balance{font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap}.tag{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:500;padding:1px 5px;border-radius:5px;background:var(--surface-2);color:var(--muted);flex:none;white-space:nowrap}.tag--gold{background:var(--st-pending-tint);color:#8a6c2f}.tag--debit{background:var(--debit-tint);color:var(--debit)}.tag--credit{background:var(--credit-tint);color:var(--credit)}.tag--danger{background:var(--danger-tint);color:var(--danger)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px 3px 5px;border-radius:var(--r-pill);font-size:11px;font-weight:500;white-space:nowrap;border:1px solid transparent}.badge svg{flex:none}.legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:11px;padding:10px 12px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-card-sm)}.legend__title{width:100%;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px}.legend__item{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-2)}.legend__swatch{width:10px;height:10px;border-radius:50%;flex:none}.legend__swatch--hollow{background:transparent!important;border:1.5px solid var(--st-scheduled)}.segmented{display:inline-flex;padding:3px;background:var(--surface-2);border-radius:var(--r-pill);gap:2px}.segmented__btn{border:0;background:none;padding:6px 16px;border-radius:var(--r-pill);font-size:12.5px;color:var(--muted);font-weight:500;transition:background .16s ease,color .16s ease}.segmented__btn[aria-pressed=true]{background:var(--ink);color:#fff;font-weight:600}.chips{display:flex;gap:7px;margin:12px 0 10px;overflow-x:auto;scrollbar-width:none;padding-bottom:1px}.chips::-webkit-scrollbar{display:none}.chip{flex:none;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:12px;padding:6px 13px;border-radius:var(--r-pill);transition:all .15s ease}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.cal-nav{display:flex;align-items:center;gap:4px}.cal-nav__btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-soft);background:var(--surface);display:grid;place-items:center;color:var(--text-2)}.cal-nav__btn:disabled{opacity:.34}.cal-period{font-size:13.5px;font-weight:600;letter-spacing:-.1px}.cal-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:11px 13px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-card-sm)}.cal-summary__label{font-size:11.5px;color:var(--muted)}.cal-summary__value{font-size:15px;font-weight:600;margin-top:2px;letter-spacing:-.3px}.month{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-card);padding:12px 10px 10px;margin-top:11px;box-shadow:0 1px 2px #10182708}.month__weekdays,.month__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.month__weekday{text-align:center;font-size:11px;color:var(--muted);padding:3px 0 5px}.day{position:relative;border:1px solid transparent;background:none;border-radius:10px;min-height:50px;padding:4px 2px 3px;display:flex;flex-direction:column;align-items:center;gap:2px;transition:background .14s ease}.day--out{opacity:.32;pointer-events:none}.day__n{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:500;color:var(--text-2)}.day--today .day__n{background:var(--ink);color:#fff;font-weight:600}.day--selected{background:#eef2f7;border-color:#d8e2ee}.day--abnormal{box-shadow:inset 0 0 0 1px #d9604f8c}.day__pips{display:flex;gap:2px;min-height:5px;align-items:center}.day__pip{width:5px;height:5px;border-radius:50%}.day__pip--hollow{background:transparent!important;border:1.2px solid var(--st-scheduled)}.day__amount{font-size:9.5px;color:var(--muted);line-height:1;font-variant-numeric:tabular-nums}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:11px}.week__col{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:7px 4px;min-height:190px;display:flex;flex-direction:column;gap:4px}.week__col--today{border-color:#cfdcea;background:#fbfcfe}.week__wd{text-align:center;font-size:10.5px;color:var(--muted);border-bottom:1px solid var(--divider);padding-bottom:4px}.week__wd b{display:block;font-size:13px;color:var(--text);font-weight:600;margin-top:1px}.week__block{border:0;border-radius:8px;padding:5px 4px;color:#fff;font-size:9.5px;line-height:1.35;text-align:left;display:flex;flex-direction:column;gap:1px;width:100%}.week__block strong{font-size:10.5px;font-weight:600}.week__block span{opacity:.86;font-size:9px}.week__block--scheduled{background:#fff!important;border:1.5px dashed var(--st-scheduled);color:var(--text-2)!important}.week__empty{font-size:10px;color:#c3cbd6;text-align:center;padding-top:6px}.year{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:11px}.year__month{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:8px 9px 9px}.year__month--current{border-color:#d8c9a8;box-shadow:0 0 0 2px #b99a621a}.year__mhead{display:flex;align-items:baseline;justify-content:space-between;font-size:11px;color:var(--muted)}.year__mhead b{font-size:12px;color:var(--text);font-weight:600}.year__heat{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:6px}.year__cell{height:9px;border-radius:2.5px;background:#f0f3f7}.year__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;font-size:10.5px;color:var(--muted)}.sheet-mask{position:fixed;inset:0;background:#0f1e324d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;animation:fade-in .18s ease}.sheet{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:480px;background:var(--surface);border-radius:20px 20px 0 0;box-shadow:0 -8px 30px #14284629;padding:8px 18px calc(18px + var(--safe-bottom));z-index:61;animation:sheet-up .24s cubic-bezier(.22,.8,.28,1);max-height:82dvh;display:flex;flex-direction:column}.sheet__grab{width:34px;height:4px;border-radius:4px;background:#e1e6ec;margin:0 auto 12px;flex:none}.sheet__title{font-size:15px;font-weight:600;letter-spacing:-.2px}.sheet__body{overflow-y:auto;margin-top:4px}.sheet__scroll{overflow-y:auto;min-height:0}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translate(-50%,14px);opacity:.6}}.steps{margin-top:12px}.step{display:flex;align-items:center;gap:9px;padding:6px 0}.step__dot{width:18px;height:18px;border-radius:50%;background:var(--credit-tint);color:var(--credit);display:grid;place-items:center;flex:none}.step__dot--wait{background:var(--st-pending-tint);color:#a5822f;border:1px dashed var(--st-pending)}.step__dot--todo{background:var(--surface-2);color:var(--muted-2)}.step__text{flex:1;font-size:13px;color:var(--text-2)}.step__text b{color:var(--text)}.step__meta{font-size:11.5px;color:var(--muted)}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:13px;padding:12px 16px;font-size:14.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .13s ease,opacity .13s ease;min-height:46px}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn--gold{background:linear-gradient(135deg,#1b3a5c,#2c5682);border:0;color:#fff}.btn--danger{background:var(--surface);border-color:#eccfc7;color:var(--danger)}.btn--block{width:100%}.btn--sm{min-height:34px;padding:7px 13px;font-size:12.5px;border-radius:10px}.btn-row{display:flex;gap:9px;margin-top:14px}.btn-row .btn{flex:1}.footbar{position:sticky;bottom:0;margin-top:16px;padding:10px 0 calc(10px + var(--safe-bottom));background:linear-gradient(180deg,rgba(247,249,251,0) 0%,var(--bg) 34%);display:flex;gap:9px}.footbar .btn{flex:1}.field{margin-top:14px}.field__label{font-size:12.5px;color:var(--text-2);font-weight:500;display:block;margin-bottom:6px}.field__hint{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.55}.input{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:12px 13px;font-size:15px;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease;min-height:46px}.input:focus{outline:none;border-color:var(--ink-light);box-shadow:0 0 0 3px #2c56821f}.input[aria-invalid=true]{border-color:var(--danger)}textarea.input{min-height:84px;resize:vertical;line-height:1.55}.checkbox{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:var(--text-2)}.checkbox input{width:18px;height:18px;accent-color:var(--ink)}.form-error{margin-top:10px;padding:10px 12px;border-radius:11px;background:var(--danger-tint);color:#a1402f;font-size:12.5px;line-height:1.5;display:flex;gap:7px;align-items:flex-start}.form-error svg{flex:none;margin-top:1px}.a2hs{display:flex;align-items:center;gap:7px;margin-top:10px;height:32px;padding:0 6px 0 9px;background:#f2f6fb;border:1px solid #e1e9f2;border-radius:10px;font-size:11.5px;color:var(--ink-2);text-align:left;width:100%}.a2hs__icon{color:var(--ink);flex:none}.a2hs__text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.a2hs__go{flex:none;border:0;background:var(--ink);color:#fff;border-radius:7px;padding:4px 9px;font-size:11.5px;font-weight:600;line-height:1.3}.a2hs__x{flex:none;border:0;background:none;color:var(--muted);font-size:17px;line-height:1;padding:0 3px 2px}.a2hs__steps{margin-top:10px}.a2hs__step{display:flex;align-items:center;gap:9px;padding:7px 0;font-size:13.5px;color:var(--text-2)}.a2hs__n{width:20px;height:20px;border-radius:50%;background:var(--surface-2);color:var(--ink);font-size:11px;font-weight:600;display:grid;place-items:center;flex:none}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:calc(var(--tabbar-h) + var(--safe-bottom));padding:0 4px var(--safe-bottom);display:flex;align-items:center;justify-content:space-around;background:#ffffffe6;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid #e7eaef;z-index:40}.tabbar__item{flex:1;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;color:#a6afbb;padding:6px 0 4px;min-width:0;position:relative}.tabbar__item[aria-current=page]{color:var(--ink);font-weight:600}.tabbar__dot{position:absolute;top:3px;right:50%;transform:translate(14px);min-width:15px;height:15px;padding:0 4px;border-radius:var(--r-pill);background:var(--danger);color:#fff;font-size:9.5px;font-weight:600;display:grid;place-items:center}.offline{display:flex;align-items:center;gap:7px;margin-top:8px;padding:7px 11px;border-radius:10px;background:#fdf8ee;border:1px solid #efdcc0;color:#7a5b33;font-size:11.5px}.empty{text-align:center;padding:34px 20px;color:var(--muted)}.empty__icon{width:46px;height:46px;margin:0 auto 10px;border-radius:16px;background:var(--surface);border:1px solid var(--border-soft);display:grid;place-items:center;color:var(--muted-2)}.empty__title{font-size:13.5px;color:var(--text-2);font-weight:600}.empty__sub{font-size:12px;margin-top:4px;line-height:1.6}.skeleton{border-radius:10px;background:linear-gradient(90deg,#eef1f5 25%,#f6f8fb 37%,#eef1f5 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.note{display:flex;align-items:flex-start;gap:7px;margin-top:12px;padding:10px 12px;border-radius:12px;background:#eef2f7;color:var(--ink-2);font-size:11.5px;line-height:1.6}.note svg{flex:none;margin-top:1px;color:var(--ink)}.note--muted{background:var(--surface-2);color:var(--muted)}.note--warn{background:#fdf8ee;border:1px solid #efdcc0;color:#7a5b33}.hint{font-size:11.5px;color:var(--muted);line-height:1.6;margin-top:10px}.dl{margin-top:0}.dl__row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--divider);font-size:13px}.dl__row:last-child{border-bottom:0}.dl__row dt{color:var(--muted);flex:none;font-size:12.5px}.dl__row dd{margin:0;font-weight:600;text-align:right;min-width:0}.amount-card{margin-top:11px;border-radius:var(--r-card);background:var(--surface-2);padding:13px;text-align:center}.amount-card__label{font-size:11.5px;color:var(--muted)}.amount-card__value{font-size:28px;font-weight:600;letter-spacing:-1px;color:var(--ink);margin-top:2px;display:flex;align-items:baseline;justify-content:center;gap:3px}.amount-card__value small{font-size:15px;font-weight:400;opacity:.72}.formula{margin-top:7px;font-family:var(--font-mono);font-size:11px;color:var(--muted);line-height:1.7;word-break:break-word}.formula b{color:var(--text-2);font-weight:500}.readonly-flag{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:10.5px;color:var(--muted);background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-pill);padding:3px 9px}.signature{margin-top:11px;border:1px solid var(--border-soft);border-radius:var(--r-card-sm);background:var(--surface);padding:12px}.signature__frame{height:108px;border-radius:10px;border:1px dashed #d8dee7;background:repeating-linear-gradient(180deg,#fff 0 27px,#f4f6f9 28px,#fff 29px);display:grid;place-items:center;overflow:hidden}.signature__frame img{max-width:88%;max-height:84%;object-fit:contain}.signature__meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-top:8px}.progress{height:6px;border-radius:4px;background:var(--surface-2);overflow:hidden;margin-top:9px}.progress__fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#1b3a5c,#b99a62)}.msg{display:flex;gap:10px;padding:12px 13px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-card-sm);text-align:left;width:100%;box-shadow:0 1px 2px #10182708}.msg--unread{border-color:#dfe7f0;background:#fcfdff}.msg__icon{width:30px;height:30px;border-radius:10px;background:var(--surface-2);color:var(--ink);display:grid;place-items:center;flex:none}.msg__body{flex:1;min-width:0}.msg__title{font-size:13px;color:var(--text-2);display:flex;align-items:center;gap:6px}.msg--unread .msg__title{font-weight:600;color:var(--text)}.msg__text{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.55}.msg__time{font-size:10.5px;color:var(--muted-2);margin-top:5px}.msg__unread-dot{width:7px;height:7px;border-radius:50%;background:var(--danger);flex:none;margin-top:5px}.auth{min-height:100dvh;max-width:480px;margin:0 auto;padding:calc(var(--safe-top) + 26px) 22px calc(var(--safe-bottom) + 26px);display:flex;flex-direction:column;background:radial-gradient(120% 60% at 82% -8%,#b99a6229,#f7f9fb00 58%),radial-gradient(90% 46% at 8% 0%,#1b3a5c14,#f7f9fb00 52%),var(--bg)}.auth__brand{display:flex;align-items:center;gap:9px}.auth__mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#1b3a5c,#122b45);display:grid;place-items:center;color:var(--gold-light);flex:none;box-shadow:0 4px 12px #1b3a5c38}.auth__name{font-size:15px;font-weight:600;letter-spacing:.6px}.auth__kicker{font-size:11px;color:var(--muted);letter-spacing:.4px;margin-top:1px}.auth__title{font-size:27px;font-weight:600;letter-spacing:-.8px;margin-top:34px;line-height:1.28}.auth__sub{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.65}.auth__form{margin-top:6px}.auth__foot{margin-top:auto;padding-top:22px;font-size:11.5px;color:var(--muted-2);line-height:1.7;text-align:center}.auth__demo{margin-top:14px;padding:10px 12px;border-radius:11px;background:#b99a621a;border:1px dashed rgba(185,154,98,.45);color:#7a5f2c;font-size:11.5px;line-height:1.6;text-align:left}.auth__demo code{font-family:var(--font-mono);background:#ffffffb3;border-radius:4px;padding:1px 5px}.profile{display:flex;align-items:center;gap:12px;padding:14px}.profile__avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,#e8d9b8,#c9a86f);color:#fff;display:grid;place-items:center;font-size:17px;font-weight:600;flex:none}.profile__name{font-size:16px;font-weight:600;letter-spacing:-.2px}.profile__meta{font-size:12px;color:var(--muted);margin-top:2px}.list-item{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:13px 2px;border-bottom:1px solid var(--divider);text-align:left;font-size:13.5px;color:var(--text)}.list-item:last-child{border-bottom:0}.list-item__value{margin-left:auto;color:var(--muted);font-size:12.5px;display:inline-flex;align-items:center;gap:4px}@media print{.tabbar,.a2hs,.btn-row,.footbar{display:none!important}}@media (min-width: 560px){body{background:#eef1f5}.shell,.auth{box-shadow:0 0 0 1px #1018270d,0 18px 50px #10182714}.tabbar{border-left:1px solid #e7eaef;border-right:1px solid #e7eaef}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
