.section-panel[data-v-b4a7a7e1]{padding:16px}@media(max-width:720px){.section-panel[data-v-b4a7a7e1]{padding:12px}}.state-notice[data-v-6b98d88b]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 20px;text-align:center;border-radius:var(--r-lg, 18px);min-height:100px}.state-loading[data-v-6b98d88b]{background:var(--surface, #EFE9E3);border:1px solid var(--border)}.state-empty[data-v-6b98d88b]{background:#f9f8f680;border:1px dashed var(--border);color:var(--text-secondary)}.state-error[data-v-6b98d88b]{background:#c46a520a;border:1px solid rgba(196,106,82,.25)}.state-indicator[data-v-6b98d88b]{width:8px;height:8px;border-radius:50%;margin-bottom:2px}.state-loading .state-indicator[data-v-6b98d88b]{background:var(--accent);animation:pulse-6b98d88b 1.5s ease-in-out infinite}.state-empty .state-indicator[data-v-6b98d88b]{display:none}.state-error .state-indicator[data-v-6b98d88b]{background:var(--error, #c46a52)}.state-title[data-v-6b98d88b]{font-size:14px;font-weight:580}.state-message[data-v-6b98d88b]{font-size:12px;color:var(--text-tertiary);max-width:300px;line-height:1.5}.state-error .state-title[data-v-6b98d88b]{color:var(--error, #c46a52)}@keyframes pulse-6b98d88b{0%,to{opacity:.4}50%{opacity:1}}.stats-grid[data-v-aceca565]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat-card[data-v-aceca565]{display:grid;gap:10px;padding:20px;border-radius:24px;background:#ffffff8f;border:1px solid rgba(255,255,255,.7)}.stat-label[data-v-aceca565],.field-label[data-v-aceca565]{color:var(--text-tertiary);font-size:12px}.stat-value[data-v-aceca565]{font-size:30px;line-height:1.08;font-weight:560;letter-spacing:-.03em;color:#203047}.stat-detail[data-v-aceca565]{color:var(--text-secondary);font-size:13px}.table-button[data-v-aceca565]{min-height:38px;padding:0 16px}.modal-overlay[data-v-aceca565]{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:#121d2e2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-card[data-v-aceca565]{width:min(520px,100%);padding:24px}.modal-header[data-v-aceca565]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modal-title[data-v-aceca565]{margin:0;font-size:24px;font-weight:560;letter-spacing:-.04em}.modal-subtitle[data-v-aceca565]{margin:8px 0 0;color:var(--text-secondary);font-size:14px}.modal-close[data-v-aceca565]{min-height:38px;padding:0 14px}.field[data-v-aceca565]{display:grid;gap:10px;margin-top:24px}.field-input[data-v-aceca565]{width:100%;min-height:48px;padding:0 16px;border-radius:18px;border:1px solid var(--line-strong);background:#ffffffb8;color:var(--text-primary)}.modal-actions[data-v-aceca565]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}@media(max-width:960px){.stats-grid[data-v-aceca565]{grid-template-columns:1fr}}.tab-row[data-v-6bdee051]{display:flex;flex-wrap:wrap;gap:10px}.tab-button[data-v-6bdee051]{min-height:42px;padding:0 16px;border:1px solid rgba(255,255,255,.68);border-radius:999px;background:#fff9;color:var(--text-secondary);cursor:pointer}.tab-button-active[data-v-6bdee051]{color:#183557;background:#e7f1ffeb;border-color:#507cd042;box-shadow:var(--shadow-sm)}.stats-grid[data-v-6bdee051]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat-card[data-v-6bdee051]{display:grid;gap:10px;padding:20px;border-radius:24px;background:#ffffff8f;border:1px solid rgba(255,255,255,.7)}.stat-label[data-v-6bdee051],.field-label[data-v-6bdee051]{color:var(--text-tertiary);font-size:12px}.stat-value[data-v-6bdee051]{font-size:30px;line-height:1.08;font-weight:560;letter-spacing:-.03em;color:#203047}.stat-detail[data-v-6bdee051]{color:var(--text-secondary);font-size:13px}.modal-overlay[data-v-6bdee051]{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:#121d2e2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-card[data-v-6bdee051]{width:min(560px,100%);padding:24px}.modal-header[data-v-6bdee051]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modal-title[data-v-6bdee051]{margin:0;font-size:24px;font-weight:560;letter-spacing:-.04em}.modal-subtitle[data-v-6bdee051]{margin:8px 0 0;color:var(--text-secondary);font-size:14px}.modal-close[data-v-6bdee051]{min-height:38px;padding:0 14px}.form-grid[data-v-6bdee051]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.field[data-v-6bdee051]{display:grid;gap:10px}.field-input[data-v-6bdee051]{width:100%;min-height:48px;padding:0 16px;border-radius:18px;border:1px solid var(--line-strong);background:#ffffffb8;color:var(--text-primary)}.modal-actions[data-v-6bdee051]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}@media(max-width:960px){.stats-grid[data-v-6bdee051],.form-grid[data-v-6bdee051]{grid-template-columns:1fr}}.expenses-shell[data-v-8b6727e1]{display:flex;flex-direction:column;gap:14px}:root{--color-p1: #F9F8F6;--color-p2: #EFE9E3;--color-p3: #D9CFC7;--color-p4: #C9B59C;--color-p4-dark: color-mix(in srgb, var(--color-p4) 85%, #000);--t-primary: #2c241a;--t-secondary: #6b5f53;--t-tertiary: #9b9086;--shadow-xs: 0 1px 4px rgba(44,36,26,.04);--shadow-sm: 0 3px 10px rgba(44,36,26,.05);--shadow-md: 0 6px 18px rgba(44,36,26,.06);--shadow-lg: 0 10px 28px rgba(44,36,26,.07);--shadow-xl: 0 16px 40px rgba(44,36,26,.08);--r-xs: 8px;--r-sm: 12px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--bg: var(--color-p1);--surface: var(--color-p2);--surface-strong: #fff;--surface-soft: var(--color-p2);--border: var(--color-p3);--border-light: color-mix(in srgb, var(--color-p3) 50%, transparent);--border-subtle: color-mix(in srgb, var(--color-p3) 35%, transparent);--accent: var(--color-p4);--accent-dark: var(--color-p4-dark);--accent-soft: color-mix(in srgb, var(--color-p4) 20%, transparent);--accent-glow: color-mix(in srgb, var(--color-p4) 30%, transparent);--line: var(--border);--line-strong: color-mix(in srgb, var(--color-p3) 70%, transparent);--success: #5a8a62;--error: #c46a52;--text-primary: var(--t-primary);--text-secondary: var(--t-secondary);--text-tertiary: var(--t-tertiary);--radius-xl: var(--r-xl);--radius-lg: var(--r-lg);--radius-md: var(--r-md);--radius-sm: var(--r-sm);--shadow-xl-old: var(--shadow-xl);--shadow-lg-old: var(--shadow-lg);--shadow-sm-old: var(--shadow-sm)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-height:100vh;font-family:SF Pro Display,SF Pro Text,PingFang SC,Hiragino Sans GB,Segoe UI,Helvetica Neue,sans-serif;line-height:1.48;font-weight:400;background:var(--bg);color:var(--text-primary);letter-spacing:.002em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--accent-soft)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.page-shell{display:grid;gap:14px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-title{display:inline-flex;align-items:center;width:fit-content;margin:0;padding:6px 10px;font-size:clamp(22px,2vw,28px);font-weight:600;letter-spacing:-.04em;color:#1f1a12;line-height:1.08;background:color-mix(in srgb,var(--surface) 72%,transparent);border-radius:7px}.page-subtitle{margin:6px 4px 0;max-width:760px;font-size:12.5px;color:var(--text-tertiary);line-height:1.55}.panel{padding:16px;background:var(--surface-strong);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);border-radius:var(--r-lg)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.panel-title{display:inline-flex;align-items:center;width:fit-content;margin:0;padding:3px 8px;font-size:15px;font-weight:600;letter-spacing:-.02em;color:#1f1a12;background:color-mix(in srgb,var(--surface) 68%,transparent);border-radius:6px}.panel>.panel-title{margin-bottom:12px}.panel-header .panel-title{margin-bottom:0}.panel-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary)}:where(.route-title,.modal-title,.login-brand-name){display:inline-flex;align-items:center;width:fit-content;padding:5px 9px;color:var(--text-primary);background:color-mix(in srgb,var(--surface) 68%,transparent);border-radius:7px}:where(.state-title){display:inline-flex;align-items:center;width:fit-content;padding:3px 7px;background:color-mix(in srgb,var(--surface) 62%,transparent);border-radius:5px}.chip{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:520;cursor:pointer;color:var(--text-secondary);border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow-xs);transition:all .14s ease}.chip:hover{border-color:var(--accent);color:var(--text-primary)}.chip--active{background:var(--accent-soft);border-color:var(--accent);color:var(--text-primary);font-weight:580}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{padding:10px 12px;text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background .12s ease}.table tbody tr:hover{background:var(--surface)}.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 18px;border:none;border-radius:999px;font-size:13px;font-weight:560;cursor:pointer;transition:all .16s ease;white-space:nowrap}.button-primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px var(--accent-glow)}.button-primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px var(--accent-glow)}.button-primary:active{transform:scale(.975)}.button-secondary{background:var(--surface-strong);color:var(--text-primary);border:1px solid var(--border);box-shadow:var(--shadow-xs)}.button-secondary:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.button-secondary:active{transform:scale(.975)}:is(.summary-value,.metric-value,.metric-number,.vehicle-range,.vehicle-battery,.stat-value,.meta-value,.note-value,.drive-cost-value){font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;letter-spacing:-.004em;font-kerning:none}:is(.summary-value,.metric-value,.metric-number,.vehicle-range){font-family:SF Pro Display,SF Pro Text,PingFang SC,sans-serif;font-weight:600}.metric-summary{display:grid;grid-template-columns:repeat(var(--metric-columns, 4),minmax(0,1fr));background:var(--surface-strong);border:1px solid var(--border-subtle);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.metric-summary-item{min-width:0;text-align:center;padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:2px;border-right:1px solid var(--border-subtle)}.metric-summary-item:last-child{border-right:none}.metric-summary-value{font-size:26px;font-weight:620;letter-spacing:-.035em;color:#1f1a12;line-height:1.05;overflow-wrap:anywhere}.metric-summary-unit{font-size:13px;color:var(--text-tertiary)}.metric-summary-label{font-size:11px;color:var(--text-tertiary);margin-top:2px;overflow-wrap:anywhere}.metric-summary-detail{font-size:11px;color:var(--text-secondary);margin-top:1px;overflow-wrap:anywhere}.metric-summary-detail.good{color:#5a8a62}.metric-summary-detail.warn{color:#c46a52}@media(max-width:900px){.metric-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-summary-item{border-bottom:1px solid var(--border-subtle);padding:12px 8px}.metric-summary-value{font-size:22px}}.segment-tabs{display:flex;gap:4px;overflow-x:auto;padding:2px;background:var(--bg);border-radius:999px;width:fit-content}.segment-tab{flex-shrink:0;padding:6px 16px;border-radius:999px;font-size:12px;font-weight:520;cursor:pointer;color:var(--text-secondary);background:transparent;border:none;transition:all .14s ease;white-space:nowrap}.segment-tab:hover{color:var(--text-primary)}.segment-tab-active{background:var(--surface-strong);color:var(--text-primary);font-weight:580;box-shadow:0 1px 4px #2c241a0f}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll .table{min-width:600px}@media(max-width:1080px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.page-header{flex-direction:column}.page-title{padding:5px 9px;border-radius:7px}.stat-grid{grid-template-columns:minmax(0,1fr)}.panel{border-radius:16px;padding:12px}}
