:root{--color-ink: #111827;--color-text: #374151;--color-muted: #6b7280;--color-surface: #ffffff;--color-surface-strong: #ffffff;--color-border: #d8dee8;--color-border-soft: #e5e7eb;--color-accent: #047857;--color-accent-dark: #065f46;--color-accent-soft: #dff3ea;--color-highlight: #1d4ed8;--color-background: #f6f8fb;--color-background-alt: #eef2f7;--color-danger: #b42318;--color-danger-soft: #fee4e2;--color-warning: #b54708;--color-warning-soft: #fef0c7;--color-success: #067647;--color-success-soft: #dcfae6;--shadow-soft: 0 8px 24px rgba(17, 24, 39, .08);--shadow-panel: 0 1px 2px rgba(17, 24, 39, .04);--radius-xl: 16px;--radius-lg: 12px;--radius-md: 10px;--container-width: 1180px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{overflow-x:hidden;min-height:100vh;margin:0;background:var(--color-background);color:var(--color-text);font-family:Manrope,Segoe UI,sans-serif;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%}#app,.app-shell{min-height:100vh}.shell{width:min(var(--container-width),calc(100vw - 40px));margin:0 auto;padding:24px 0 48px;min-width:0}.topbar{position:sticky;top:0;z-index:20;width:100%;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-panel)}.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(var(--container-width),calc(100vw - 40px));min-height:68px;margin:0 auto;padding:10px 0;min-width:0}.topbar__left{display:flex;align-items:center;gap:28px;min-width:0}.brand{display:inline-flex;align-items:center;gap:14px;min-width:0}.brand__badge{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:var(--color-accent);color:#fff;font-weight:800;letter-spacing:.04em}.brand__text{display:flex;flex-direction:column;gap:2px;min-width:0}.brand__text strong{color:var(--color-ink);font-size:1rem}.brand__text small,.eyebrow,.section-label,.hero__metric span,.summary-card span,.balance-card span,.tariff-card span,.dataset-meta dt{color:var(--color-muted);font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;overflow-wrap:anywhere}.topbar__nav,.topbar__actions{display:flex;align-items:center;gap:12px}.topbar__nav a,.action-link,.action-button,.refresh-button,.submit-button{min-height:40px;padding:9px 14px;border-radius:var(--radius-md);transition:background-color .2s ease,border-color .2s ease}.topbar__nav a.is-active{background:transparent;color:var(--color-accent);font-weight:700;box-shadow:inset 0 -2px 0 var(--color-accent)}.topbar__nav a:hover,.action-link:hover,.action-button:hover,.refresh-button:hover,.submit-button:hover,.primary-link:hover,.secondary-link:hover{border-color:#b7c0cc}.balance-card,.tariff-card,.summary-card,.hero__metric,.info-card,.process-step,.security,.auth-card,.upload-card,.dataset-card,.dashboard__header,.auth-copy{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-panel)}.balance-card,.tariff-card{display:flex;align-items:baseline;gap:6px;min-width:auto;padding:0;border:0;background:transparent;box-shadow:none}.balance-card strong,.tariff-card strong,.summary-card strong,.hero__metric strong{color:var(--color-ink);font-size:1.15rem}.balance-card__loading{min-width:28px}.action-link,.refresh-button{border:1px solid var(--color-border);background:var(--color-surface)}.submit-button,.primary-link{border:none;background:var(--color-accent);color:#fff;cursor:pointer}.action-button{border:0;background:transparent;color:var(--color-ink);cursor:pointer}.submit-button:hover,.primary-link:hover{background:var(--color-accent-dark)}.action-button:disabled,.submit-button:disabled,.refresh-button:disabled{opacity:.7;cursor:wait}.page{display:flex;flex-direction:column;gap:28px}.page--dashboard{gap:24px}.hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:22px;align-items:stretch}.hero__content,.hero__panel,.process__steps,.dashboard__summary,.dataset-grid{display:grid;gap:18px}.hero__content{padding:48px;border-radius:var(--radius-xl);background:linear-gradient(135deg,#ffffffeb,#fffaf0e6),linear-gradient(180deg,#0f9d7a0a,#f7b26714);border:1px solid var(--color-border);box-shadow:var(--shadow-soft)}.hero__content h1,.process h2,.security h2,.auth-copy h1,.dashboard__header h1{margin:0;color:var(--color-ink);line-height:1.04}.hero__content h1{max-width:12ch;font-size:clamp(2.8rem,7vw,5rem)}.hero__lead,.process p,.security li,.auth-copy p,.dashboard__header p,.upload-card p,.analysis-summary,.info-card p,.process-step p{color:var(--color-text);font-size:1.02rem}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.primary-link,.secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:var(--radius-md)}.secondary-link{border:1px solid var(--color-border);background:var(--color-surface)}.hero__panel{grid-template-columns:1fr}.hero__metric,.info-card,.process-step,.summary-card,.dataset-card,.upload-card,.auth-card,.auth-copy,.security,.dashboard__header{border-radius:var(--radius-lg);padding:20px}.hero__metric small{color:var(--color-muted)}.info-grid,.process__steps,.dashboard__summary,.dataset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.info-card h2,.process-step h3,.upload-card h2,.datasets-section h2,.dataset-card h3{margin:0 0 10px;color:var(--color-ink)}.process,.dashboard,.datasets-section,.auth-layout{display:grid;gap:20px}.process,.security{padding:8px 0}.process__steps strong{color:var(--color-accent-dark);font-size:1.8rem}.security{display:grid;gap:16px}.security__list,.segment-list{list-style:none;padding:0;margin:0}.security__list{display:grid;gap:12px}.security__list li{padding:16px 18px;border-radius:var(--radius-md);background:#ffffff94;border:1px solid var(--color-border)}.auth-layout{grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:start}.auth-card,.upload-card{display:grid;gap:18px}.auth-card{gap:20px}.password-field{position:relative}.password-field input{padding-right:56px}.password-field__toggle{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-ink);cursor:pointer}.password-field__toggle:hover{color:var(--color-accent)}.field{display:grid;gap:8px}.field span{color:var(--color-ink);font-weight:700}.field input{min-height:52px;padding:0 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.field select{min-height:52px;padding:0 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink)}.field input:focus,.field select:focus{outline:3px solid rgba(4,120,87,.16);border-color:#0478578f}.field input:-webkit-autofill,.field input:-webkit-autofill:hover,.field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-ink);box-shadow:0 0 0 1000px var(--color-surface) inset;transition:background-color 9999s ease-in-out 0s}.form-error{margin:0;color:var(--color-danger)}.upload-card__hint{margin:0;color:var(--color-muted)}.upload-card__head{display:grid;gap:6px}.upload-card__head p{margin:0;color:var(--color-muted)}.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;color:var(--color-ink);cursor:pointer}.dashboard__header,.datasets-section__head,.dataset-card__top,.dataset-meta,.segment-list li,.upload-card__controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.dashboard__header{align-items:flex-start}.summary-card{min-width:180px}.upload-card__controls{flex-wrap:wrap}.upload-card input[type=file]{flex:1;min-width:240px}.empty-state{display:grid;gap:4px;padding:22px;border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-muted);background:var(--color-surface)}.empty-state strong{color:var(--color-ink)}.status-badge{padding:4px 9px;border-radius:999px;background:var(--color-success-soft);color:var(--color-success);font-size:.86rem;font-weight:700}.status-badge--success{background:var(--color-success-soft);color:var(--color-success)}.status-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.status-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.status-badge--neutral{background:#eef2f7;color:var(--color-text)}.dataset-card{display:grid;gap:18px}.dataset-meta{flex-wrap:wrap}.dataset-meta div{display:grid;gap:6px}.dataset-meta dd{margin:0;color:var(--color-ink);font-weight:700}.segment-list{display:grid;gap:10px}.segment-list li{padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}@media(max-width:980px){.auth-layout,.hero,.info-grid,.process__steps,.dashboard__summary,.dataset-grid,.upload-mode{grid-template-columns:1fr}.topbar__inner{align-items:stretch;flex-direction:column;gap:14px;padding:14px 0}.topbar__left{align-items:stretch;flex-direction:column;gap:12px}.topbar__nav,.topbar__actions,.dashboard__header,.datasets-section__head,.dataset-card__top,.dataset-meta,.segment-list li{flex-direction:column;align-items:stretch}.hero__content{padding:34px 24px}.topbar__actions>*,.topbar__nav a,.action-button,.action-link{width:100%}.topbar__nav a.is-active{box-shadow:none;background:#eef2f7}}.home-intro[data-v-406a2638]{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,.75fr);align-items:center;gap:18px;min-width:0;padding:32px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-panel)}.home-intro__content[data-v-406a2638]{display:grid;gap:18px;min-width:0}.home-intro h1[data-v-406a2638]{max-width:12ch;margin:0;color:var(--color-ink);font-size:clamp(2.25rem,5vw,4rem);line-height:1.08;overflow-wrap:anywhere}.home-intro p[data-v-406a2638]{margin:0;max-width:680px;color:var(--color-text);font-size:1.08rem;line-height:1.65}.home-intro__points[data-v-406a2638]{display:grid;gap:10px;padding:0;margin:0;list-style:none}.home-intro__points li[data-v-406a2638]{position:relative;padding-left:22px;color:var(--color-text)}.home-intro__points li[data-v-406a2638]:before{position:absolute;top:.66em;left:0;width:8px;height:8px;border-radius:999px;background:var(--color-accent);content:""}.home-intro__actions[data-v-406a2638]{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.home-preview[data-v-406a2638]{display:grid;gap:18px;min-width:0;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fbfcfe;box-shadow:var(--shadow-panel)}.home-preview__head[data-v-406a2638],.home-preview__metrics[data-v-406a2638],.home-preview__segments[data-v-406a2638]{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-preview__head span[data-v-406a2638],.home-preview__metrics span[data-v-406a2638]{color:var(--color-muted);font-size:.82rem;text-transform:uppercase}.home-preview__head strong[data-v-406a2638]{padding:6px 10px;border-radius:999px;background:var(--color-success-soft);color:var(--color-success);font-size:.86rem}.home-preview__metrics[data-v-406a2638]{align-items:stretch}.home-preview__metrics div[data-v-406a2638]{display:grid;gap:6px;flex:1;min-width:0;padding:14px;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:#fff}.home-preview__metrics strong[data-v-406a2638]{color:var(--color-ink);font-size:1.12rem}.home-preview__chart[data-v-406a2638]{display:flex;align-items:end;gap:10px;min-height:180px;padding:18px;border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);background:#f8fafc}.home-preview__chart span[data-v-406a2638]{flex:1;min-width:22px;border-radius:6px 6px 2px 2px;background:var(--color-accent)}.home-preview__segments[data-v-406a2638]{flex-wrap:wrap;justify-content:flex-start}.home-preview__segments span[data-v-406a2638]{padding:8px 12px;border-radius:999px;background:#eef2f7;color:var(--color-ink);font-weight:700}@media(max-width:900px){.home-intro[data-v-406a2638]{grid-template-columns:1fr;padding:26px 22px}.home-intro h1[data-v-406a2638]{max-width:none;font-size:2rem;line-height:1.14}.home-preview__metrics[data-v-406a2638]{flex-direction:column}}
