:root{--bg: #0a0f1a;--card: #111827;--card-hover: #1a2332;--border: #1e293b;--primary: #0ea5e9;--accent: #f59e0b;--gold: #f59e0b;--green: #10b981;--red: #ef4444;--blue: #3b82f6;--purple: #8b5cf6;--cyan: #06b6d4;--text: #f1f5f9;--text-dim: #94a3b8;--text-muted: #64748b}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text)}.mono{font-family:JetBrains Mono,monospace}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;z-index:100}.sidebar-header{padding:20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}.sidebar-brand{font-size:1.2rem;font-weight:800;color:var(--text)}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;color:var(--text-dim);text-decoration:none;font-size:.88rem;font-weight:500;transition:all .15s;border:none;background:none;cursor:pointer}.sidebar-link:hover{background:var(--card-hover);color:var(--text)}.sidebar-link--active{background:#0ea5e91a;color:var(--primary);font-weight:600}.sidebar-footer{padding:12px 8px;border-top:1px solid var(--border)}.sidebar-overlay{display:none}.main-content{flex:1;margin-left:220px;min-width:0}.topbar{display:none}.page-body{padding:24px;max-width:1200px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px}.page-title{color:var(--text);font-size:1.4rem;font-weight:700;margin-bottom:4px}.page-subtitle{color:var(--text-muted);font-size:.88rem;margin-bottom:20px}.form-input{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.9rem;font-family:inherit;outline:none}.form-input:focus{border-color:var(--primary)}.form-group{margin-bottom:12px}.form-label{display:block;font-size:.82rem;color:var(--text-dim);margin-bottom:4px;font-weight:500}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;border:none;transition:all .15s;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-dim)}.btn-outline:hover{border-color:var(--text-muted);color:var(--text)}.btn-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer}.btn-icon.danger{color:var(--red);border-color:#ef44444d}.kpi-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.kpi-card .kpi-label{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.kpi-card .kpi-value{font-size:1.3rem;font-weight:700}.kpi-green{border-left:3px solid var(--green)}.kpi-blue{border-left:3px solid var(--blue)}.kpi-gold{border-left:3px solid var(--gold)}.kpi-purple{border-left:3px solid var(--purple)}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}thead th{font-size:.78rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}tbody td{padding:10px 12px;border-bottom:1px solid var(--border);font-size:.88rem;color:var(--text-dim)}tbody tr:hover{background:var(--card-hover)}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.tool-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;cursor:pointer;transition:all .2s}.tool-card:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:0 8px 30px #0ea5e91a}.tool-card-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.tool-card-name{font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:6px}.tool-card-desc{font-size:.82rem;color:var(--text-muted);line-height:1.5}.product-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px}.profit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.profit-item{display:flex;flex-direction:column;gap:4px}.profit-label{font-size:.78rem;color:var(--text-muted)}.profit-value{font-size:1rem;font-weight:600}.alert{padding:10px 14px;border-radius:8px;border:1px solid;font-size:.85rem}.alert-warning{border-color:#f59e0b4d;background:#f59e0b14;color:var(--gold)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-gold{color:var(--gold)}.text-muted{color:var(--text-muted)}.empty-state{text-align:center;padding:60px 20px}.loading-center{display:flex;align-items:center;justify-content:center;min-height:300px}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}.hamburger-btn{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:8px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@media(max-width:900px){.sidebar{transform:translate(-100%);transition:transform .2s}.sidebar--open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.main-content{margin-left:0}.topbar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--card)}.topbar-title{font-weight:700;color:var(--text)}.hamburger-btn{display:block}.kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.kpi-grid-4,.tools-grid,.profit-grid{grid-template-columns:1fr}.page-body{padding:16px}}.recharts-cartesian-grid rect{fill:none!important}
