
:root{
 --bg:#07111f;--panel:#0d1b2d;--panel2:#101f33;--line:#22334a;
 --text:#edf4ff;--muted:#8fa1ba;--blue:#3295ff;--cyan:#28d7ff;
 --orange:#ff8b2b;--green:#32d583;--red:#ff5f68;--yellow:#f7c948;
}
*{box-sizing:border-box} body{margin:0;background:radial-gradient(circle at 75% 0,#102a48 0,transparent 32%),var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}
a{color:inherit;text-decoration:none}.layout{display:flex;min-height:100vh}
.sidebar{position:fixed;width:270px;height:100vh;padding:22px 14px;border-right:1px solid rgba(145,174,210,.13);background:rgba(7,17,31,.78);backdrop-filter:blur(18px);overflow:auto;z-index:5}
.brand{display:flex;gap:11px;align-items:center;padding:9px 10px 25px}.mark{width:43px;height:43px;border-radius:14px;background:linear-gradient(135deg,var(--blue),#1555b0);display:grid;place-items:center;font-weight:900;box-shadow:0 0 25px #1682ff55}.brand b{font-size:20px;letter-spacing:.4px}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.nav-label{font-size:10px;letter-spacing:1.6px;color:#61728b;margin:18px 10px 8px;font-weight:700}.nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;margin:2px 0;color:#aebcd0;font-size:14px}.nav a:hover,.nav a.active{background:linear-gradient(90deg,#153357aa,#10233e88);color:#fff}.nav a.active{box-shadow:inset 3px 0 var(--blue)}.ico{width:20px;text-align:center}
.main{margin-left:270px;width:calc(100% - 270px);padding:24px 30px 45px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.crumb{color:var(--muted);font-size:13px}.top-actions{display:flex;gap:12px;align-items:center}.iconbtn,.avatar{border:1px solid var(--line);background:#0d1a2b;border-radius:12px;padding:10px 12px}.avatar{border-radius:50%;background:linear-gradient(135deg,var(--orange),#ff5d4d);font-weight:800}
h1{margin:0;font-size:27px}.sub{color:var(--muted);margin-top:7px;font-size:14px}.hero{padding:24px;border:1px solid rgba(70,119,171,.35);border-radius:22px;background:linear-gradient(120deg,rgba(19,48,80,.92),rgba(10,24,42,.85));box-shadow:0 15px 50px #0003}
.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0}.card{background:linear-gradient(145deg,rgba(17,33,54,.92),rgba(10,24,42,.88));border:1px solid var(--line);border-radius:18px;padding:18px}.metric{font-size:28px;font-weight:800;margin:9px 0 4px}.label{color:var(--muted);font-size:12px}.trend{font-size:12px;color:var(--green)}.orange{color:var(--orange)}.blue{color:var(--blue)}.green{color:var(--green)}
.two{grid-template-columns:1.45fr 1fr}.section{padding:20px}.section h3{margin:0 0 16px;font-size:16px}.table{width:100%;border-collapse:collapse}.table th{color:#6f829c;text-align:left;font-size:11px;letter-spacing:.7px;padding:10px;border-bottom:1px solid var(--line)}.table td{padding:13px 10px;border-bottom:1px solid #1b2b40;font-size:13px}.status{display:inline-flex;align-items:center;gap:6px;font-size:11px}.dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 9px #32d583}.warn .dot{background:var(--yellow);box-shadow:0 0 9px #f7c948}.offline .dot{background:var(--red)}
.map{height:250px;border-radius:15px;background:radial-gradient(circle at 30% 35%,#174e81 0 2px,transparent 3px),radial-gradient(circle at 70% 65%,#ff8b2b 0 3px,transparent 4px),linear-gradient(135deg,#0a1728,#0d2944);position:relative;overflow:hidden}.map:before{content:"";position:absolute;inset:20px;background:repeating-linear-gradient(35deg,transparent 0 36px,#24405f33 37px 38px);opacity:.7}.node{position:absolute;padding:7px 10px;border-radius:9px;background:#10243b;border:1px solid #2e5d88;font-size:11px;z-index:2}
.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick a{padding:15px;border:1px solid var(--line);background:#0b192a;border-radius:14px;color:#bdc9da;font-size:13px}.quick a b{display:block;color:#fff;font-size:18px;margin-bottom:7px}
.page-title{margin-bottom:20px}.toolbar{display:flex;justify-content:space-between;gap:10px;margin:15px 0}.search{background:#091625;border:1px solid var(--line);padding:11px 14px;border-radius:11px;color:#9eb0c5;min-width:280px}.btn{border:0;border-radius:11px;padding:11px 15px;background:linear-gradient(135deg,var(--orange),#ff6250);color:white;font-weight:700}.badge{padding:4px 8px;border-radius:20px;background:#12335b;color:#8ec7ff;font-size:11px}
.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,#15345b 0,transparent 45%),#07111f}.loginbox{width:min(480px,92vw);padding:48px;border:1px solid #263b56;border-radius:30px;background:rgba(15,29,47,.85);box-shadow:0 30px 80px #0007;text-align:center}.loginbox h1{font-size:38px;margin:24px 0 7px}.field{width:100%;padding:17px;border-radius:14px;border:1px solid #273a53;background:#081524;color:white;margin-top:14px;font-size:15px}.loginbtn{width:100%;padding:17px;margin-top:20px;border:0;border-radius:14px;background:linear-gradient(90deg,#ff922e,#ff5d4d);color:#fff;font-size:17px;font-weight:800}.demo{display:flex;gap:12px;margin-top:18px}.demo a{flex:1;padding:13px;border:1px solid #2b405a;border-radius:13px;color:#c8d4e3}
@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.sidebar{width:230px}.main{margin-left:230px;width:calc(100% - 230px)}}@media(max-width:700px){.sidebar{display:none}.main{margin-left:0;width:100%;padding:18px}.cards{grid-template-columns:1fr}.topbar{align-items:flex-start}.search{min-width:0;width:100%}.toolbar{flex-direction:column}.loginbox{padding:32px 22px}}

.uhp-logo{display:block;width:110px;height:110px;object-fit:contain;margin:0 auto 18px}
.sidebar-logo{
    width:42px;
    height:42px;
    object-fit:contain;
    flex:0 0 42px;
}
