:root{--font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-brand-primary:#059669;--color-brand-hover:#047857;--color-brand-light:#d1fae5;--color-brand-accent:#84cc16;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#3b82f6;--bg-main:#f8fafc;--bg-card:#fff;--bg-sidebar:#0f172a;--text-main:#1e293b;--text-muted:#64748b;--border-color:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--glass-bg:#ffffffd9;--glass-border:#ffffff4d}[data-theme=dark]{--bg-main:#0b0f19;--bg-card:#151d2a;--bg-sidebar:#070a12;--text-main:#f1f5f9;--text-muted:#94a3b8;--border-color:#1e293b;--glass-bg:#151d2ad9;--glass-border:#ffffff0d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}.app-container{min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow-x:hidden}.page-body{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:1.75rem}.navbar{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:40;justify-content:space-between;align-items:center;height:70px;padding:0 1.75rem;display:flex;position:sticky;top:0}.navbar-brand{color:var(--color-brand-primary);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;display:flex}.navbar-actions{align-items:center;gap:1rem;display:flex}.sidebar{background:var(--bg-sidebar);color:#f8fafc;z-index:50;flex-direction:column;flex-shrink:0;width:260px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-header{color:#fff;border-bottom:1px solid #ffffff1a;align-items:center;gap:.75rem;padding:1.5rem;font-size:1.25rem;font-weight:800;display:flex}.sidebar-nav{flex-direction:column;gap:.35rem;padding:1rem .75rem;display:flex}.nav-link{color:#94a3b8;border-radius:.65rem;align-items:center;gap:.85rem;padding:.85rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover,.nav-link.active{color:#34d399;background:#10b98126}.card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:.85rem;padding:1.5rem;transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.grid-cols-4{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.grid-cols-2{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;display:grid}.metric-card{align-items:center;gap:1.25rem;display:flex}.metric-icon{border-radius:.75rem;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.5rem;display:flex}.metric-val{font-size:1.75rem;font-weight:800;line-height:1.2}.metric-lbl{color:var(--text-muted);font-size:.85rem;font-weight:500}.badge{border-radius:9999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.8rem;font-weight:600;line-height:1;display:inline-flex}.badge-online{color:#047857;background:#d1fae5}.badge-offline{color:#b45309;background:#fef3c7}.badge-danger{color:#b91c1c;background:#fee2e2}.badge-warning{color:#c2410c;background:#ffedd5}.badge-info{color:#1d4ed8;background:#dbeafe}.btn{cursor:pointer;border:none;border-radius:.6rem;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--color-brand-primary);color:#fff}.btn-primary:hover{background:var(--color-brand-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-main);color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--border-color)}.btn-sm{padding:.4rem .85rem;font-size:.8rem}.table-wrapper{border:1px solid var(--border-color);border-radius:.75rem;width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{background:var(--bg-main);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding:.85rem 1rem;font-size:.8rem;font-weight:700}td{border-bottom:1px solid var(--border-color);padding:1rem;font-size:.9rem}tr:last-child td{border-bottom:none}tr:hover td{background:#10b98105}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.form-label{color:var(--text-main);font-size:.85rem;font-weight:600}.form-input,.form-select,.form-textarea{border:1px solid var(--border-color);background:var(--bg-card);width:100%;color:var(--text-main);border-radius:.55rem;padding:.7rem .9rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-brand-primary);outline:none;box-shadow:0 0 0 3px #05966926}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0f172a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);width:90%;max-width:650px;max-height:90vh;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);border-radius:1rem;padding:1.75rem;overflow-y:auto}.hamburger-menu{color:var(--text-main);cursor:pointer;background:0 0;border:none;padding:.5rem;display:none}@media (width<=768px){.hamburger-menu{justify-content:center;align-items:center;display:flex}.sidebar{height:100vh;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:none}.sidebar-backdrop.open{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;background:#0f172a80;display:block;position:fixed;inset:0}.close-sidebar-btn{color:#fff;cursor:pointer;background:0 0;border:none;margin-left:auto;display:block}}@media (width>=769px){.close-sidebar-btn{display:none}.sidebar-backdrop{display:none!important}}
