@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Sarabun:wght@400;500;600;700&display=swap";:root{--color-primary: #4f46e5;--color-primary-light: #6366f1;--color-primary-dark: #4338ca;--color-primary-soft: rgba(79, 70, 229, .12);--color-accent: #06b6d4;--color-accent-soft: rgba(6, 182, 212, .12);--color-secondary: #64748b;--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .12);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .12);--color-danger: #ef4444;--color-danger-bg: rgba(239, 68, 68, .12);--color-bg: #f1f5f9;--color-bg-elevated: #f8fafc;--color-surface: #ffffff;--color-surface-hover: #f1f5f9;--color-text-main: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-header-bg: rgba(255, 255, 255, .85);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .06), 0 1px 2px -1px rgb(0 0 0 / .06);--shadow-md: 0 4px 12px -2px rgb(0 0 0 / .08), 0 2px 6px -2px rgb(0 0 0 / .04);--shadow-lg: 0 12px 24px -4px rgb(0 0 0 / .12), 0 4px 8px -4px rgb(0 0 0 / .08);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .875rem;--radius-xl: 1.125rem;font-family:Inter,Sarabun,system-ui,-apple-system,sans-serif;scroll-behavior:smooth;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh;background-color:var(--color-bg);color:var(--color-text-main);overflow-x:hidden}#root{width:100%}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:box-shadow .2s ease,border-color .2s ease}.card-interactive:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.bg-success-soft{background-color:var(--color-success-bg)}.bg-danger-soft{background-color:var(--color-danger-bg)}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.flex-col{display:flex;flex-direction:column}.tabular-nums{font-variant-numeric:tabular-nums}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 .875rem}@media(min-width:640px){.container{padding:0 1.5rem}}@media(min-width:1024px){.container{padding:0 2rem}}.kpi-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media(min-width:560px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}}.grid-2col{display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:960px){.grid-2col{grid-template-columns:repeat(2,minmax(0,1fr))}}.grid-3col{display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:768px){.grid-3col{grid-template-columns:repeat(3,minmax(0,1fr))}}.desktop-tabs{display:none}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--color-header-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--color-border);padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom,0px));justify-content:space-around}.main-content-area{flex:1;padding-top:1.25rem;padding-bottom:5.5rem}@media(min-width:860px){.desktop-tabs{display:flex;align-items:center;gap:.35rem}.mobile-bottom-nav{display:none}.main-content-area{padding-top:1.75rem;padding-bottom:3rem}}button{border-radius:var(--radius-md);border:1px solid transparent;padding:.55em 1.1em;font-size:.875rem;font-weight:600;font-family:inherit;background-color:var(--color-primary);color:#fff;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}button:hover{background-color:var(--color-primary-dark)}button:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:var(--color-surface);color:var(--color-text-main);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-surface-hover);border-color:var(--color-secondary)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border:none}.btn-ghost:hover{background-color:var(--color-surface-hover);color:var(--color-text-main)}.pill-toggle-group{display:inline-flex;background:var(--color-bg);padding:3px;border-radius:8px;border:1px solid var(--color-border);gap:2px}.pill-toggle-btn{background:transparent;color:var(--color-text-secondary);padding:5px 12px;font-size:.8rem;font-weight:600;border-radius:6px;border:none}.pill-toggle-btn:hover{background:var(--color-surface-hover);color:var(--color-text-main)}.pill-toggle-btn.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}.data-table th{padding:.85rem 1rem;background:var(--color-bg-elevated);color:var(--color-text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table td{padding:.85rem 1rem;border-bottom:1px solid var(--color-border);font-variant-numeric:tabular-nums;white-space:nowrap}.data-table tbody tr{transition:background-color .15s ease}.data-table tbody tr:hover{background-color:var(--color-surface-hover)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.25)}}.sync-dot-active{animation:pulse-dot 2s infinite ease-in-out}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;letter-spacing:-.015em}p{margin:0}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}
