:root{--primary:#00a3c4;--primary-dark:#00849e;--primary-deep:#006277;--primary-light:#e6f7fb;--primary-100:#c9eef7;--accent:#00c7f0;--ring:#00a3c447;--bg:#f4f7f9;--surface:#fff;--surface-2:#eef3f6;--hover:#f2f7f9;--border:#e2e9ee;--border-strong:#c6d3db;--text:#0b1723;--text-soft:#44586b;--text-faint:#64788a;--ok:#16a34a;--warn:#f59e0b;--err:#ef4444;--off:#94a3b8;--info:#2563eb;--purple:#6d28d9;--color-state-available:#16a34a;--color-state-occupied:#f59e0b;--color-state-fault:#ef4444;--color-state-out-of-service:#94a3b8;--color-state-unreachable:#64748b;--color-state-never-seen:#cbd5e1;--shadow:0 1px 3px #0a1e2d0f,0 8px 24px #0a1e2d14;--radius:10px;--font:var(--font-poppins),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;font-size:14px;line-height:1.45}button{cursor:pointer;font-family:inherit}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#c2d2dc;border-radius:6px}:where(button,select,input,textarea,a):focus-visible{outline:2px solid var(--primary);outline-offset:1px}i.ti{vertical-align:-1px;font-size:15px;line-height:1}.app{grid-template-rows:56px 1fr;grid-template-columns:238px 1fr;height:100vh;display:grid;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:30;grid-column:1/3;align-items:center;gap:14px;padding:0 16px;display:flex}.sidebar{color:#ffffffb3;background:#04111e;flex-direction:column;grid-row:2;display:flex;overflow:auto}.main{grid-row:2;position:relative;overflow:auto}.brand{flex:none;align-items:center;gap:10px;width:212px;display:flex}.brand .logo{color:#04111e;background:linear-gradient(135deg,#00c7f0,#00a3c4);border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;font-weight:800;display:flex;box-shadow:0 2px 6px #00a3c466}.brand b{font-size:14px}.brand small{color:var(--text-faint);font-size:11px;font-weight:500;display:block}.tb-spacer{flex:1}.tenant-select,.search-global{background:var(--bg);border:1px solid var(--border);color:var(--text-soft);border-radius:8px;align-items:center;gap:8px;padding:7px 11px;font-size:13px;display:flex}.tenant-select select{color:var(--text);cursor:pointer;background:0 0;border:none;outline:none;max-width:230px;font-family:inherit;font-size:13px;font-weight:600}.search-global{width:230px;transition:width .18s,border-color .18s;position:relative}.search-global:focus-within{border-color:var(--primary);width:340px;box-shadow:0 0 0 3px var(--primary-light)}.search-global input{background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13px}.sg-kbd{border:1px solid var(--border-strong);color:var(--text-faint);border-radius:4px;flex-shrink:0;padding:1px 6px;font:10.5px ui-monospace,monospace}.avatar{background:var(--primary-100);width:32px;height:32px;color:var(--primary-deep);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.role-badge{text-transform:uppercase;letter-spacing:.4px;background:var(--primary-light);color:var(--primary-dark);border-radius:20px;padding:3px 8px;font-size:10.5px;font-weight:700}.bell{border:1px solid var(--border);background:var(--surface);border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;display:flex;position:relative}.bell:hover{background:var(--bg)}.bell .badge{background:var(--err);color:#fff;border:2px solid #fff;border-radius:9px;justify-content:center;align-items:center;min-width:17px;height:17px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.nav-section{letter-spacing:1px;text-transform:uppercase;color:#00c7f073;padding:14px 12px 4px;font-size:10.5px;font-weight:700}.nav-item{color:#fff9;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:11px;width:calc(100% - 16px);margin:1px 8px;padding:9px 16px;font-size:13.5px;font-weight:500;text-decoration:none;transition:all .12s;display:flex}.nav-item:hover{color:#fff;background:#00a3c41f}.nav-item.active{color:#00c7f0;background:#00a3c42e;font-weight:600;box-shadow:0 2px 8px #00a3c440}.nav-item .ico{text-align:center;width:18px;font-size:15px}.nav-item .count{background:#ffffff24;border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.nav-item.inerte{opacity:.38;cursor:default}.nav-item.inerte:hover{color:#fff9;background:0 0}.sidebar-foot{color:#ffffff47;border-top:1px solid #00a3c41f;margin-top:auto;padding:13px 16px;font-size:11px}.sidebar-foot .dot{background:var(--ok);border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 0 3px #16a34a2e}.btn{background:var(--primary);color:#fff;border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 15px;font-size:13px;font-weight:600;transition:all .12s;display:inline-flex}.btn:hover{background:var(--primary-dark)}.btn.ghost{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.btn.ghost:hover{background:var(--bg)}.btn.danger{background:var(--err)}.btn.danger:hover{background:#c81e1e}.btn.sm{padding:6px 11px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.field label{color:var(--text-soft);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.field input,.field select,.field textarea{border:1px solid var(--border-strong);border-radius:8px;outline:none;width:100%;padding:9px 11px;font-family:inherit;font-size:13.5px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.login{z-index:3000;background:radial-gradient(circle at 20% 20%,#00c7f026,#0000 28%),radial-gradient(circle at 80% 60%,#00c7f01a,#0000 30%),#020406;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-card{background:#fff;border-radius:16px;width:380px;max-width:92vw;padding:30px 30px 26px;box-shadow:0 30px 80px #00000059}.login-card .lg{align-items:center;gap:11px;margin-bottom:20px;display:flex}.login-card .lg .logo{color:#04111e;background:linear-gradient(135deg,#00c7f0,#00a3c4);border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;font-weight:800;display:flex}.login-card .lg small{color:var(--text-faint);font-size:11.5px}.login-card h2{letter-spacing:-.03em;font-size:17px;font-weight:700}.login-card .field{margin-bottom:13px}.login-card .btn{justify-content:center;width:100%;padding:11px}.login-card .hint{color:var(--text-faint);text-align:center;background:var(--bg);border-radius:8px;margin-top:16px;padding:9px;font-size:11.5px}.form-error{color:var(--err);background:#fee2e2;border-radius:7px;margin-bottom:8px;padding:7px 10px;font-size:12.5px}
