:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body,#root{width:100%;margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#fff;color:#111827}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:none;box-shadow:none}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.rcPage{width:100%;min-height:100%}.rcContainer{margin:0 auto;padding:24px 16px}@media(min-width:640px){.rcContainer{padding:36px 24px}}.rcHeader{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;justify-content:space-between}.rcTitle{margin:0;font-size:30px;letter-spacing:-.02em;color:#0f172a}.rcSubtitle{margin:6px 0 0;color:#64748b;font-size:16px}.rcChips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid rgba(15,23,42,.08);box-shadow:0 1px 2px #0f172a0f}.chipDark{background:#0f172a;color:#fff;border-color:transparent}.chipLight{background:#fff;color:#334155}.chipWarn{background:#fffbeb;color:#92400e;border-color:#fbbf2459}.panel{margin-top:18px;background:#ffffffd9;border:1px solid rgba(15,23,42,.08);border-radius:16px;overflow:hidden;box-shadow:0 8px 22px #0f172a0f}.panelTable{display:none}.panelCards{display:block;padding:14px}@media(min-width:768px){.panelTable{display:block}.panelCards{display:none}}.rcTable{width:100%;border-collapse:collapse;border-spacing:0;table-layout:fixed}.rcTable thead th{text-align:center;font-size:18px;letter-spacing:.06em;text-transform:uppercase;color:#64748b;background:#f8fafc;padding:14px 16px;border-bottom:1px solid rgba(15,23,42,.08)}.rcTable tbody td{padding:14px 16px;color:#0f172a;font-size:18px;align-items:center}.rcTable tbody tr{transition:background .18s ease;border-bottom:1px solid rgba(15,23,42,.06)}.rcTable tbody tr:hover{background:#0f172a05}.center{text-align:center}.assetCell{display:flex;align-items:center;gap:12px}.assetIcon{width:50px;height:50px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#e2e8f0,#f8fafc);border:1px solid rgba(15,23,42,.08);font-weight:700;color:#334155}.assetName{font-size:20;font-weight:700;color:#0f172a}.assetMeta{font-size:18px;color:#94a3b8;margin-top:2px}.statusPill{position:relative;display:inline-flex;align-items:center;gap:8px;padding:7px 20px;border-radius:999px;font-size:20px;font-weight:700;border:1px solid transparent;overflow:hidden}.statusCell{text-align:center;vertical-align:middle}.statusCell>span{display:inline-flex;align-items:center}.statusStack{display:inline-flex;flex-direction:column;align-items:center;gap:8px}.miniBar{width:160px;height:10px;border-radius:999px;background:#0f172a1a;overflow:hidden}.miniFill{height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .15s ease}.miniText{font-size:12px;font-weight:700;color:#64748b}.statusMid{background:#3b82f61f;color:#1d4ed8;border-color:#3b82f638}.dotMid{background:#3b82f6}.levelCell{vertical-align:middle}.levelWrap{display:flex;flex-direction:column;gap:8px}.levelTop{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.levelPct{font-weight:800;color:#0f172a}.levelTarget{font-size:12px;color:#64748b}.levelBar{height:10px;border-radius:999px;background:#0f172a14;overflow:hidden}.levelFill{height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .15s ease}.levelSlider{width:100%}.actionCell{display:flex;justify-content:center;align-items:center}.btnStop{color:#0f172a;background:linear-gradient(180deg,#fbbf24,#f59e0b)}.statusOpen{background:#10b9811a;color:#047857;border-color:#10b9812e}.statusClosed{background:#f43f5e1a;color:#be123c;border-color:#f43f5e2e}.statusStop{background:#ecb658;color:#fda205;border-color:#fcc3072e}.statusDot{width:8px;height:8px;border-radius:999px}.dotOpen{background:#10b981}.dotClosed{background:#f43f5e}.dotStop{background:#f09a18}.dotPulse{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.65}}.statusShimmer:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmer 1.2s infinite}@keyframes shimmer{to{transform:translate(100%)}}.btn{border:0;border-radius:12px;padding:10px 14px;font-size:25px;font-weight:700;cursor:pointer;transition:transform .12s ease,filter .12s ease,opacity .12s ease;box-shadow:0 8px 18px #0f172a14;text-align:center}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btnOpen{color:#fff;background:linear-gradient(180deg,#16a34a,#15803d)}.btnClose{color:#fff;background:linear-gradient(180deg,#ef4444,#be123c)}.btn:hover:not(:disabled){filter:brightness(1.03)}.card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:14px;box-shadow:0 8px 20px #0f172a0f;margin-bottom:12px}.cardTop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.cardTitle{font-weight:800;color:#0f172a;font-size:16px}.cardMeta{margin-top:4px;font-size:12px;color:#94a3b8}.cardActions{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.hint{margin-top:10px;font-size:12px;color:#64748b}.panelControls{margin-bottom:12px}.rcTopRow{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:10px}.toggleGroup{display:flex;align-items:center;gap:10px}.toggleLabel{font-weight:600;opacity:.85}.toggleBtn{border:1px solid rgba(255,255,255,.15);padding:8px 12px;border-radius:10px;font-weight:700;min-width:70px}.toggleOn{opacity:1}.toggleOff{opacity:.8}.wsIndicator{margin-left:auto;display:flex;align-items:center;gap:8px;opacity:.9}.wsDot{width:10px;height:10px;border-radius:999px;display:inline-block}.wsDotOn{background:#22c55e}.wsDotOff{background:#ef4444}.wsText{font-weight:700}.wsMsg{opacity:.8}.miniPos{opacity:.85;margin-left:6px}.rcToggleBox{display:flex;flex-direction:"row";gap:25px;height:100%;width:auto}.cpPage{min-height:100%;display:flex;flex-direction:column;align-items:center;background:linear-gradient(180deg,#f8fafc,#fff 60%,#f8fafc);padding-top:20px}.cpContainer{width:100%;max-width:480px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:40px 32px;box-shadow:0 10px 25px #0f172a14}.cpTitle{margin:0;font-size:26px;font-weight:800;color:#0f172a}.cpSubtitle{margin:8px 0 28px;font-size:14px;color:#64748b}.cpForm{display:flex;flex-direction:column;gap:20px}.cpField{display:flex;flex-direction:column;gap:6px}.cpField label{font-size:14px;font-weight:600;color:#334155}.cpField input{padding:12px 14px;border-radius:10px;border:1px solid rgba(15,23,42,.15);font-size:14px;transition:border .2s ease,box-shadow .2s ease}.cpField input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.cpButton{margin-top:10px;padding:14px;border-radius:12px;border:none;font-size:16px;font-weight:700;cursor:pointer;background:linear-gradient(180deg,#2563eb,#1d4ed8);color:#fff;transition:transform .12s ease,filter .12s ease}.cpButton:hover{filter:brightness(1.05)}.cpButton:active{transform:scale(.98)}.cpError{margin-top:10px;color:#c62828;font-size:16px;font-weight:600;text-align:left}.cpSuccess{margin-top:10px;color:#2e7d32;font-size:16px;font-weight:600;text-align:left}.umPage{width:100%}.umContainer{max-width:1200px;margin:0 auto;padding:24px 16px}@media(min-width:640px){.umContainer{padding:36px 24px}}.umHeader{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px}.umTitle{margin:0;font-size:30px;letter-spacing:-.02em;color:#0f172a;font-weight:800}.umSubtitle{margin:6px 0 0;color:#64748b;font-size:16px}.umHeaderRight{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.umSearch{width:320px;max-width:80vw;padding:10px 12px;border-radius:12px;border:1px solid rgba(15,23,42,.15);background:#fff;font-size:14px;color:#000}.umSearch:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.umCard{margin-top:18px;background:#ffffffeb;border:1px solid rgba(15,23,42,.08);border-radius:16px;overflow:hidden;box-shadow:0 8px 22px #0f172a0f}.umCardWide{padding:0}.umTableWrap{overflow:auto}.umTable{width:100%;border-collapse:collapse;border-spacing:0}.umTable thead th{text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#64748b;background:#f8fafc;padding:14px 16px;border-bottom:1px solid rgba(15,23,42,.08)}.umTable tbody td{padding:14px 16px;vertical-align:middle;color:#0f172a}.umTable tbody tr{border-bottom:1px solid rgba(15,23,42,.06)}.umTable tbody tr:hover{background:#0f172a05}.umCenter{text-align:center}.umMuted{color:#64748b}.umUserCell{display:flex;align-items:center;gap:12px}.umAvatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#e2e8f0,#f8fafc);border:1px solid rgba(15,23,42,.08);font-weight:900;color:#334155;flex:0 0 auto}.umUsername{font-weight:900}.umMeta{font-size:12px;color:#94a3b8;margin-top:2px}.umPill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid transparent}.umRole-user{background:#3b82f624;color:#1d4ed8;border-color:#3b82f638}.umRole-admin{background:#10b9811f;color:#047857;border-color:#10b98133}.umRole-superadmin{background:#f59e0b29;color:#92400e;border-color:#f59e0b40}.umEmpty{text-align:center;padding:18px;color:#64748b}.umBtn{border:0;border-radius:14px;padding:10px 14px;font-size:14px;font-weight:800;cursor:pointer;transition:transform .12s ease,filter .12s ease,opacity .12s ease;box-shadow:0 8px 18px #0f172a14}.umBtn:active{transform:scale(.98)}.umBtn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.umBtnPrimary{background:linear-gradient(180deg,#2563eb,#1d4ed8);color:#fff}.umBtnDanger{background:linear-gradient(180deg,#ef4444,#be123c);color:#fff}.umBtnGhost{background:#fff;color:#0f172a;border:1px solid rgba(15,23,42,.14);box-shadow:none;margin-right:10px}.umBtnGhost:hover{background:#0f172a08}.umModalOverlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:18px;z-index:9999}.umModal{width:100%;max-width:720px;background:#fff;border-radius:16px;border:1px solid rgba(15,23,42,.1);box-shadow:0 16px 40px #0f172a40;overflow:hidden}.umModalHeader{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(15,23,42,.08);background:#f8fafc}.umModalTitle{margin:0;font-size:18px;font-weight:900;color:#0f172a}.umIconBtn{border:0;background:transparent;cursor:pointer;font-size:18px;padding:6px 10px;border-radius:10px}.umIconBtn:hover{background:#0f172a0f}.umModalBody{padding:16px 18px 6px;display:flex;flex-direction:column;gap:14px}.umField{display:flex;flex-direction:column;gap:6px}.umFieldRow{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:640px){.umFieldRow{grid-template-columns:1fr 1fr}}.umField label{font-size:13px;font-weight:800;color:#334155}.umField input,.umField select{padding:11px 12px;border-radius:12px;border:1px solid rgba(15,23,42,.15);font-size:14px;background:#fff;color:#0f172a}.umField input::placeholder{color:#94a3b8}.umField input:focus,.umField select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.umModalFooter{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid rgba(15,23,42,.08);background:#fff}.umFormError{flex:1;min-width:0;text-align:left;color:#c62828;font-size:16px;font-weight:500;padding:8px 0}.umPager{position:relative;display:flex;align-items:center;justify-content:center;margin-top:8px;margin-bottom:8px}.umPagerCenter{display:flex;align-items:center;gap:16px}.umPagerRight{position:absolute;right:16px;display:flex;align-items:center}.umPager select{height:36px;padding:4px 8px;border-radius:6px;border:1px solid #ccc;font-size:16px}
