@import"https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #F7F2E7;--surface: #EAE1D3;--surface-2: #DDD4C6;--fg: #1E1B18;--fg-muted: #6B6259;--accent: #D94F2B;--accent-light: #F0D5CD;--border: #CBC0B4;--border-light: #DDD4C6;--success: #2D6A4F;--warning: #B5850A;--info: #1B4F72;--font-display: "Syne", system-ui, sans-serif;--font-body: "EB Garamond", Georgia, serif;--font-mono: "JetBrains Mono", monospace;--radius: 8px;--radius-lg: 14px;--shadow: 0 2px 12px rgba(30,27,24,.08);--shadow-lg: 0 8px 32px rgba(30,27,24,.12)}html,body,#root{height:100%;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--fg-muted)}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--fg)}.btn{font-family:var(--font-display);font-size:14px;font-weight:600;padding:10px 20px;border-radius:var(--radius);border:none;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#c04422;transform:translateY(-1px);box-shadow:var(--shadow)}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:transparent;color:var(--fg-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface);color:var(--fg)}.btn-sm{padding:6px 14px;font-size:13px}.card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow)}.card-sm{padding:16px;border-radius:var(--radius)}.badge{font-family:var(--font-display);font-size:11px;font-weight:600;padding:3px 10px;border-radius:100px;letter-spacing:.04em;text-transform:uppercase}.badge-success{background:#d1fae5;color:var(--success)}.badge-warning{background:#fef3c7;color:var(--warning)}.badge-info{background:#dbeafe;color:var(--info)}.badge-alert{background:#fee2e2;color:#991b1b}.trend-up{color:var(--success)}.trend-down{color:#dc2626}.trend-stable{color:var(--fg-muted)}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);background:var(--surface);transition:all .2s ease;cursor:pointer}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent);background:var(--accent-light)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-spin{animation:spin 1s linear infinite}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-pulse{animation:pulse 2s ease infinite}.progress-bar{height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.insight-card{border-radius:var(--radius);padding:14px 16px;border-left:3px solid}.insight-success{background:#f0fdf4;border-color:var(--success)}.insight-warning{background:#fffbeb;border-color:var(--warning)}.insight-info{background:#eff6ff;border-color:var(--info)}.insight-alert{background:#fef2f2;border-color:#dc2626}.divider{height:1px;background:var(--border-light);margin:24px 0}.data-mono{font-family:var(--font-mono);font-size:13px}
