:root{--color-bg-primary:#0B1220;--color-bg-secondary:#111827;--color-accent-blue:#3B82F6;--color-accent-green:#22C55E;--color-text-primary:#F9FAFB;--color-text-secondary:#9CA3AF;--color-border:#1F2937;--color-surface:#111827;--color-success:#22C55E;--color-warning:#F59E0B;--color-error:#EF4444}[data-theme=light]{--color-bg-primary:#FFFFFF;--color-bg-secondary:#F9FAFB;--color-text-primary:#0B1220;--color-text-secondary:#4B5563;--color-border:#E5E7EB;--color-surface:#FFFFFF}[data-theme=dark]{--color-bg-primary:#0B1220;--color-bg-secondary:#111827;--color-text-primary:#F9FAFB;--color-text-secondary:#9CA3AF;--color-border:#1F2937;--color-surface:#111827}:root{--font-primary:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:24px;--text-2xl:32px;--text-3xl:40px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px}body{background:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-primary);margin:0;padding:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;transition:all .2s ease}.button-primary{background:var(--color-accent-blue);color:white}.button-primary:hover{opacity:.9}.button-secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text-primary)}.button-success{background:var(--color-accent-green);color:white}.input{width:100%;padding:12px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-primary)}.metric{display:flex;flex-direction:column;gap:4px}.metric-value{font-size:var(--text-2xl);font-weight:var(--font-weight-semibold)}.metric-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.plant-badge{background:rgba(34,197,94,.15);color:var(--color-accent-green);padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--text-sm)}.graph-line{stroke:var(--color-accent-blue)}.graph-highlight{stroke:var(--color-accent-green)}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}