:root{--bg-main:#0a0c10;--bg-card:#161b22;--bg-hover:#21262d;--text-main:#c9d1d9;--text-muted:#8b949e;--accent-primary:#58a6ff;--accent-hvac:#3fb950;--accent-gate:#f85149;--accent-cam:#d29922;--border-color:#30363d;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-main);font-family:var(--font-family);-webkit-font-smoothing:antialiased;overflow-x:hidden}.dashboard{grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{background-color:var(--bg-card);border-right:1px solid var(--border-color);flex-direction:column;height:100vh;padding:2rem 1.5rem;display:flex;position:sticky;top:0}.main-content{padding:2rem;overflow-y:auto}.grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;display:grid}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;justify-content:space-between;min-height:220px;padding:1.5rem;transition:all .3s;display:flex;box-shadow:0 4px 6px #0003}.card:hover{border-color:var(--accent-primary);box-shadow:0 8px 30px #0006}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.card-info{margin-bottom:1.5rem}.card-info code{color:var(--accent-primary);margin:.5rem 0;font-size:1.1rem;display:block}.card-info .user-label{color:var(--text-muted);font-size:.8rem}.card-footer{border-top:1px solid var(--border-color);flex-wrap:wrap;gap:.5rem;padding-top:1rem;display:flex}.badge{text-transform:uppercase;border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.badge-hvac{color:var(--accent-hvac);border:1px solid var(--accent-hvac);background:#3fb9501a}.badge-cam{color:var(--accent-cam);border:1px solid var(--accent-cam);background:#d299221a}.badge-gate{color:var(--accent-gate);border:1px solid var(--accent-gate);background:#f851491a}h1,h2,h3{margin-bottom:1rem;font-weight:700}.btn{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1rem;font-weight:600;transition:filter .2s}.btn-primary{background-color:var(--accent-primary);color:#fff}.btn:hover{filter:brightness(1.1)}.btn:active{filter:brightness(.8);transform:scale(.95)}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.input{border:1px solid var(--border-color);color:var(--text-main);background-color:#0003;border-radius:12px;padding:.75rem 1rem;font-family:inherit;font-size:.9rem;transition:border-color .25s,box-shadow .25s,background-color .25s}.input:focus{border-color:var(--accent-primary);background-color:#00000059;outline:none;box-shadow:0 0 0 3px #58a6ff26}.input::placeholder{color:var(--text-muted);opacity:.7}.mobile-header{background-color:var(--bg-card);border-bottom:1px solid var(--border-color);z-index:998;justify-content:space-between;align-items:center;height:60px;padding:0 1.5rem;display:none;position:fixed;top:0;left:0;right:0}.hamburger{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s;display:flex}.hamburger:hover{background-color:var(--bg-hover)}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background:#0009;display:none;position:fixed;inset:0}@media (width<=768px){.dashboard{grid-template-columns:1fr}.mobile-header{display:flex}.sidebar{z-index:1000;width:280px;transition:left .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:-280px;box-shadow:10px 0 30px #0009}.sidebar.open{left:0}.sidebar-overlay.open{display:block}.main-content{padding:5rem 1rem 1rem}.grid{grid-template-columns:1fr;gap:1.2rem}.card{min-height:auto;padding:1.2rem}.card[style*="position: fixed"]{border-radius:0!important;width:100%!important;max-width:100vw!important;height:100%!important;max-height:100vh!important}}.desktop-sticky-header{-webkit-backdrop-filter:blur(12px);z-index:100;background-color:#0a0c10d9;border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem 0;display:flex;position:sticky;top:0}@media (width<=768px){.desktop-sticky-header{-webkit-backdrop-filter:none;background-color:#0000;border-bottom:none;margin-bottom:1.5rem;padding:0;position:static}.btn-desktop-refresh{display:none!important}}
