:root{--bg-primary:#0f1117;--bg-secondary:#161822;--bg-card:#1c1f2e;--bg-hover:#252840;--border:#ffffff0f;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--accent:#ec4899;--accent-hover:#f472b6;--accent-glow:#ec489926;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#06b6d4;--sidebar-width:260px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}a{color:inherit;text-decoration:none}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);z-index:50;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:24px 20px;display:flex}.sidebar-brand h1{letter-spacing:-.5px;text-transform:uppercase;font-size:18px;font-style:italic;font-weight:900}.sidebar-brand h1 span{color:var(--accent)}.sidebar-brand .badge{text-transform:uppercase;letter-spacing:1px;background:var(--accent-glow);color:var(--accent);border:1px solid #ec489933;border-radius:20px;padding:3px 8px;font-size:9px;font-weight:800}.sidebar-nav{flex:1;padding:12px 10px;overflow-y:auto}.sidebar-nav a{color:var(--text-secondary);border-radius:10px;align-items:center;gap:12px;margin-bottom:2px;padding:10px 14px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.sidebar-nav a:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav a.active{color:var(--accent);background:linear-gradient(135deg,#ec48991f,#a855f714);border:1px solid #ec489926}.sidebar-section{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);padding:16px 14px 6px;font-size:10px;font-weight:800}.main-content{margin-left:var(--sidebar-width);min-height:100vh;padding:28px 32px}.page-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.page-header h2{letter-spacing:-.5px;font-size:24px;font-weight:800}.page-header .subtitle{color:var(--text-secondary);margin-top:4px;font-size:13px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px}.kpi-card .label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.kpi-card .value{letter-spacing:-1px;font-size:28px;font-weight:900}.kpi-card .change{margin-top:4px;font-size:11px;font-weight:700}.kpi-card .change.up{color:var(--success)}.kpi-card .change.down{color:var(--danger)}.machines-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.machine-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:16px;padding:20px;transition:all .2s}.machine-card:hover{border-color:#ec489933;transform:translateY(-2px);box-shadow:0 8px 30px #0000004d}.machine-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.machine-name{letter-spacing:-.3px;font-size:16px;font-weight:800}.machine-location{color:var(--text-secondary);margin-top:2px;font-size:12px}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.status-badge.online{color:var(--success);background:#10b9811a;border:1px solid #10b98133}.status-badge.offline{color:var(--danger);background:#ef44441a;border:1px solid #ef444433}.status-badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.status-badge.online .dot{animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.machine-stats{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:12px;padding-top:16px;display:grid}.machine-stat .val{font-size:18px;font-weight:800}.machine-stat .lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead th{text-align:left;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);border-bottom:1px solid var(--border);padding:10px 14px;font-size:10px;font-weight:800}tbody td{border-bottom:1px solid var(--border);padding:12px 14px}tbody tr:hover{background:var(--bg-hover)}.btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent), #a855f7);color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 20px #ec48994d}.btn-outline{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.form-group{margin-bottom:16px}.form-group label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.form-input{border:1px solid var(--border);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s}.form-input:focus{border-color:var(--accent)}.login-page{background:radial-gradient(ellipse at top, #1a1530 0%, var(--bg-primary) 60%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:24px;width:400px;padding:40px;box-shadow:0 20px 60px #00000080}.login-card h1{text-align:center;text-transform:uppercase;margin-bottom:8px;font-size:28px;font-style:italic;font-weight:900}.login-card h1 span{color:var(--accent)}.login-card .subtitle{text-align:center;color:var(--text-secondary);margin-bottom:32px;font-size:13px}.login-card .btn{justify-content:center;width:100%;margin-top:8px;padding:12px;font-size:14px}@media (width<=768px){.sidebar{display:none}.main-content{margin-left:0;padding:16px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.machines-grid{grid-template-columns:1fr}}
