:root{--bg: #070a10;--surface: #101724;--surface-2: #151f30;--surface-3: #0c111b;--border: #253044;--text: #edf2f7;--muted: #96a3b8;--red: #e11d48;--green: #22c55e;--yellow: #f59e0b;--blue: #38bdf8;--violet: #8b5cf6}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(225,29,72,.14),transparent 31rem),linear-gradient(135deg,#070a10,#111827 56%,#080b12);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:280px;height:100vh;padding:24px;background:#090d15eb;border-right:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}.sidebar-collapsed .sidebar{width:92px;padding:24px 16px}.sidebar-collapsed .brand{justify-content:center}.sidebar-collapsed .brand>div:not(.brand-mark),.sidebar-collapsed .collapse-label,.sidebar-collapsed .nav-label{display:none}.sidebar-collapsed .collapse-btn,.sidebar-collapsed .sidebar nav button{justify-content:center;padding:10px}.sidebar-collapsed .sidebar nav{padding-right:0;scrollbar-width:none}.sidebar-collapsed .sidebar nav::-webkit-scrollbar{width:0}.sidebar-collapsed .main{width:calc(100% - 92px);margin-left:92px}.collapse-btn{width:100%;min-height:34px;margin-bottom:16px;border:1px solid var(--border);border-radius:9px;background:#0a0f1b;color:var(--muted);font-size:12px;font-weight:800}.collapse-icon{display:inline-grid;width:16px;place-items:center}.brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.brand-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--red),#7f1d1d);box-shadow:0 0 28px #e11d4857;font-weight:900}.brand strong,.brand span{display:block}.brand span{margin-top:3px;color:var(--muted);font-size:12px}.sidebar nav{display:grid;gap:6px;min-height:0;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.45) transparent}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-track{background:transparent}.sidebar nav::-webkit-scrollbar-thumb{border-radius:999px;background:#94a3b873}.sidebar button{display:flex;align-items:center;gap:11px;width:100%;min-height:42px;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--muted);text-align:left}.sidebar button:hover,.sidebar button.active{background:linear-gradient(90deg,#e11d4840,#ffffff0a);color:#fff}.nav-dot{flex:0 0 auto;width:7px;height:7px;border-radius:999px;background:currentColor}.nav-icon{display:inline-grid;flex:0 0 auto;width:24px;height:24px;place-items:center;border:1px solid rgba(148,163,184,.22);border-radius:7px;background:#ffffff09;color:currentColor;font-size:9px;font-weight:900;letter-spacing:0}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{width:calc(100% - 280px);margin-left:280px;padding:28px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.eyebrow{margin:0 0 8px;color:var(--red);font-size:12px;font-weight:800;text-transform:uppercase}.topbar h1{margin:0;font-size:clamp(26px,4vw,38px);letter-spacing:0}.topbar span{display:block;margin-top:6px;color:var(--muted)}.user-context{font-size:12px}.connection-card{min-width:260px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#101724d6}.connection-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.connection-head .link-btn{min-height:30px;padding:5px 10px;border-color:#e11d4859;color:#fecdd3}.connection-card strong,.connection-card span,.connection-card em{display:block}.connection-card span{margin:5px 0;color:var(--muted);font-size:13px}.connection-card em{color:var(--green);font-size:12px;font-style:normal;font-weight:800}.mini-refresh{width:100%;min-height:34px;margin-top:10px;border:1px solid var(--border);border-radius:9px;background:#0a0f1b;color:var(--blue);font-weight:800}.live-status,.live-event{font-size:12px!important}.live-status.online{color:var(--green)!important}.live-status.offline{color:var(--yellow)!important}.notification-center{position:relative;margin-left:auto}.notification-trigger{min-height:42px;padding:9px 13px;border:1px solid var(--border);border-radius:10px;background:#101724e0;color:var(--text);font-weight:800}.notification-trigger strong{display:inline-grid;min-width:22px;height:22px;margin-left:8px;place-items:center;border-radius:999px;background:#e11d4838;color:#fda4af;font-size:12px}.notification-popover{position:absolute;z-index:30;top:calc(100% + 10px);right:0;width:min(420px,calc(100vw - 36px));padding:14px;border:1px solid var(--border);border-radius:14px;background:#090d15fa;box-shadow:0 24px 60px #0000006b}.notification-popover header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.notification-popover h3{margin:0}.notification-list{display:grid;max-height:420px;overflow-y:auto;gap:9px}.notification-item{display:grid;gap:4px;padding:11px;border:1px solid var(--border);border-radius:10px;background:#0a0f1b}.notification-item span{color:var(--muted);font-size:13px}.notification-item.danger,.notification-item.critical,.notification-item.error{border-color:#e11d485c}.notification-item.warning{border-color:#f59e0b5c}.source-banner,.table-notice{display:grid;gap:7px;margin-bottom:16px;padding:12px 14px;border:1px solid rgba(245,158,11,.32);border-radius:12px;background:#f59e0b17;color:#f8d38a;font-size:13px}.source-banner strong{color:#fde68a}.source-banner span{color:#f8d38a}.table-notice{margin:0;border-width:0 0 1px;border-radius:0}.table-notice.warning{color:#fda4af;background:#e11d4817;border-color:#e11d4847}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metrics-grid.compact{margin-bottom:16px}.metric-card,.panel,.table-panel,.modal{border:1px solid var(--border);background:linear-gradient(180deg,#111827f0,#0a0f19f5);box-shadow:0 18px 44px #00000045}.metric-card{min-height:132px;padding:18px;border-radius:14px}.metric-card span,.metric-card small,.muted{color:var(--muted)}.metric-card strong{display:block;margin-top:10px;font-size:30px;line-height:1}.metric-card small{display:block;margin-top:9px;font-size:12px}.green{color:var(--green)}.yellow{color:var(--yellow)}.blue{color:var(--blue)}.red{color:var(--red)}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:16px;margin-top:16px}.panel{min-width:0;padding:18px;border-radius:14px}.panel h3{margin:0 0 16px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title-row h3{margin:0}.panel-counter{display:inline-grid;min-width:28px;height:28px;place-items:center;border-radius:999px;background:#e11d4829;color:var(--red);font-weight:900}.health-panel{display:grid;gap:12px}.score-ring{--score: 72%;display:grid;width:160px;height:160px;place-items:center;justify-self:center;border-radius:999px;background:radial-gradient(circle,#111827 0 58%,transparent 59%),conic-gradient(var(--green) var(--score),rgba(255,255,255,.08) 0)}.health-panel.atencao .score-ring{background:radial-gradient(circle,#111827 0 58%,transparent 59%),conic-gradient(var(--yellow) var(--score),rgba(255,255,255,.08) 0)}.health-panel.critico .score-ring{background:radial-gradient(circle,#111827 0 58%,transparent 59%),conic-gradient(var(--red) var(--score),rgba(255,255,255,.08) 0)}.score-ring strong,.score-ring span{grid-area:1 / 1}.score-ring strong{transform:translateY(-10px);font-size:42px}.score-ring span{transform:translateY(25px);color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.health-row{display:grid;grid-template-columns:180px 1fr 44px;align-items:center;gap:12px;padding:12px 0;color:var(--muted)}.health-row div{height:9px;overflow:hidden;border-radius:999px;background:#090e18}.health-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red),var(--violet),var(--blue))}.bar-chart{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:78px 1fr 48px;align-items:center;gap:10px;color:var(--muted);font-size:13px}.bar-row div{height:10px;overflow:hidden;border-radius:999px;background:#090e18}.bar-row i{display:block;height:100%;border-radius:inherit;background:var(--blue)}.bar-row i.green{background:var(--green)}.bar-row i.yellow{background:var(--yellow)}.bar-row i.blue{background:var(--blue)}.mini-trend{width:100%;height:120px;margin-bottom:12px;overflow:visible}.mini-trend polyline{fill:none;stroke:var(--blue);stroke-width:3;vector-effect:non-scaling-stroke}.activity{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06);color:var(--muted)}.alerts-list,.version-stack{display:grid;gap:10px}.alert-item,.version-row{display:grid;gap:5px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#0a0f1bb8}.alert-item span{color:var(--muted);font-size:13px;line-height:1.4}.alert-item.danger{border-color:#e11d4852;background:#e11d4814}.alert-item.warning{border-color:#f59e0b52;background:#f59e0b14}.version-row{grid-template-columns:1fr auto auto;align-items:center}.version-row strong{color:var(--muted);font-size:13px}.empty-copy{margin:0;color:var(--muted)}.table-panel{overflow:hidden;border-radius:14px}.table-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border-bottom:1px solid var(--border)}.table-head h3{margin:0}.table-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.search-input{display:flex}.search-input span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}input,select,textarea{min-height:40px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:#0a0f1b;color:#fff}textarea{resize:vertical}.btn,.link-btn,.icon-btn{min-height:40px;border-radius:10px;font-weight:800}.btn{border:0;padding:9px 14px;background:linear-gradient(135deg,var(--red),#991b1b);color:#fff}.btn.secondary{border:1px solid var(--border);background:#111827}.btn.danger{background:linear-gradient(135deg,#e11d48,#7f1d1d)}.btn.safe{background:linear-gradient(135deg,#22c55e,#15803d)}.link-btn{border:1px solid var(--border);padding:7px 11px;background:#101724;color:var(--blue)}.row-actions{display:flex;flex-wrap:wrap;gap:7px}.icon-btn{width:40px;border:1px solid var(--border);background:#101724;color:var(--muted)}.table-scroll{overflow-x:auto}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;color:var(--muted);border-top:1px solid var(--border)}.table-pagination div{display:flex;gap:8px}.link-btn:disabled{cursor:not-allowed;opacity:.45}.btn-soon{display:inline-flex;align-items:center;gap:8px;cursor:not-allowed;opacity:.72;background:#1a2233!important;border:1px solid var(--border)!important;color:var(--muted)!important}.soon-badge{display:inline-block;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--yellow);background:#f59e0b1f;border:1px solid rgba(245,158,11,.28)}.nav-soon-tag{margin-left:auto;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);background:#ffffff08}.ui-stage-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #ffffff0f}.panel-kicker{display:inline-block;padding:3px 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.panel-kicker--violet{color:#c4b5fd;background:#8b5cf61f;border:1px solid rgba(139,92,246,.28)}.panel-kicker--red{color:#fca5a5;background:#e11d481f;border:1px solid rgba(225,29,72,.28)}.panel-kicker--blue{color:#7dd3fc;background:#38bdf81f;border:1px solid rgba(56,189,248,.28)}.section-heading-row{display:flex;align-items:center;gap:8px}.ui-empty-icon{width:44px;height:44px;margin:0 auto 12px;border-radius:50%;border:2px solid rgba(34,197,94,.35);background:#22c55e1a;position:relative}.ui-empty-icon:after{content:"";position:absolute;left:14px;top:10px;width:10px;height:18px;border:solid var(--green);border-width:0 3px 3px 0;transform:rotate(45deg)}.ui-denied-icon{width:52px;height:52px;margin:0 auto 16px;border-radius:50%;border:2px solid rgba(225,29,72,.35);background:#e11d4814;position:relative}.ui-denied-icon:before,.ui-denied-icon:after{content:"";position:absolute;top:50%;left:50%;width:24px;height:3px;background:#f87171;border-radius:2px}.ui-denied-icon:before{transform:translate(-50%,-50%) rotate(45deg)}.ui-denied-icon:after{transform:translate(-50%,-50%) rotate(-45deg)}.quarantine-error-title{display:flex;align-items:center;gap:8px}.quarantine-error-title:before{content:"!";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:13px;font-weight:900;color:#fecaca;background:#e11d4833;border:1px solid rgba(225,29,72,.35)}.btn-action-sm{padding:3px 8px!important;font-size:11px!important;min-height:28px!important}table{width:100%;min-width:860px;border-collapse:collapse}th,td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px;text-align:left;vertical-align:middle}th{color:var(--muted);font-weight:700}td code{color:var(--muted);font-size:12px}.badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.badge.ready,.badge.bootstrap_ready,.badge.approved{background:#22c55e26;color:#15803d}.badge.connecting,.badge.starting,.badge.reconnecting,.badge.qr{background:#3b82f626;color:#1d4ed8}.badge.auth_failure{background:#ef444426;color:#b91c1c}.device-op-badges{display:flex;flex-direction:column;gap:4px;min-width:140px}.device-op-badges.compact{flex-direction:row;flex-wrap:wrap;gap:6px;min-width:0}.device-op-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.device-op-label{font-size:11px;color:var(--text-muted, #64748b);min-width:58px}.device-op-hint{font-size:11px;color:var(--text-muted, #64748b)}.device-op-hint.warn{color:#b45309}.device-op-error .device-op-hint{color:#b91c1c;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge.active,.badge.authorized,.badge.saudavel,.badge.healthy,.badge.ok,.badge.online,.badge.synced,.badge.current,.badge.info,.badge.done,.badge.resolved,.badge.complete,.badge.enabled,.badge.executed,.badge.ready{background:#22c55e24;color:var(--green)}.badge.trial,.badge.inactive,.badge.atencao,.badge.pending,.badge.warn,.badge.warning,.badge.degraded,.badge.unstable,.badge.suspended,.badge.legacy,.badge.requested,.badge.queued,.badge.running,.badge.open,.badge.investigating,.badge.idle,.badge.partial,.badge.provisioning{background:#f59e0b24;color:var(--yellow)}.badge.skipped,.badge.throttled,.badge.disabled,.badge.archived,.badge.sem_dados,.badge.unknown{background:#94a3b824;color:var(--muted)}.badge.blocked,.badge.critico,.badge.critical,.badge.expired,.badge.offline,.badge.canceled,.badge.cancelled,.badge.revoked,.badge.partial_failure,.badge.unauthorized,.badge.error,.badge.down,.badge.failed,.badge.unavailable{background:#e11d4824;color:var(--red)}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.service-card{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#0a0f1bb8}.service-card span,.timeline-meta{color:var(--muted);font-size:12px}.timeline-list{display:grid;gap:10px}.timeline-item{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#0a0f1bb8}.timeline-dot{width:10px;height:10px;margin-top:6px;border-radius:999px;background:var(--blue);box-shadow:0 0 0 5px #38bdf81f}.timeline-item.danger .timeline-dot,.timeline-item.critical .timeline-dot,.timeline-item.error .timeline-dot{background:var(--red);box-shadow:0 0 0 5px #e11d481f}.timeline-item.warning .timeline-dot,.timeline-item.warn .timeline-dot{background:var(--yellow);box-shadow:0 0 0 5px #f59e0b1f}.timeline-body{display:grid;gap:4px}.stack-box{max-height:180px;overflow:auto;padding:12px;border:1px solid var(--border);border-radius:10px;background:#080c16;color:var(--muted);white-space:pre-wrap}.empty-state{padding:34px;color:var(--muted);text-align:center}.state-box{margin:0;padding:14px 16px;color:var(--muted)}.table-panel>.state-box{border-bottom:1px solid var(--border)}.error-state{color:#fda4af;background:#e11d4817}.loading-state{color:#bae6fd;background:#38bdf814;position:relative;overflow:hidden}.loading-state:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:skeletonSweep 1.4s infinite}.empty-state-box{border:1px dashed var(--border);border-radius:12px;background:#ffffff05}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:#00000094}.modal{width:min(760px,100%);max-height:calc(100vh - 40px);overflow:hidden;border-radius:14px}.modal.small{width:min(460px,100%)}.modal.wide{width:min(1120px,100%)}.modal.large{width:min(920px,100%)}.modal.large .modal-body{max-height:calc(100vh - 180px)}.btn-emphasis{box-shadow:0 0 0 1px #22c55e59,0 10px 24px #22c55e2e}.modal header,.modal footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--border)}.modal footer{justify-content:flex-end;border-top:1px solid var(--border);border-bottom:0}.modal h3{margin:0}.modal-body{padding:16px;overflow-y:auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{display:grid;gap:7px;color:var(--muted);font-size:13px}.form-grid label input,.form-grid label select,.form-grid label textarea{width:100%}.full-field{grid-column:1 / -1}.inline-field-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.inline-field-action .btn{white-space:nowrap;min-height:40px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.check-row{display:flex!important;align-items:center;gap:9px!important;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:#0a0f1b}.check-row input{width:16px!important;min-height:16px}.field-error{color:#fda4af}.confirm-copy{margin:0;color:var(--muted);line-height:1.5}.toast-host{position:fixed;right:18px;bottom:18px;z-index:40;display:grid;gap:10px;width:min(360px,calc(100vw - 36px))}.toast{display:grid;gap:4px;padding:13px 14px;border:1px solid rgba(34,197,94,.34);border-radius:12px;background:#0f172af5;color:var(--text);text-align:left;box-shadow:0 18px 44px #00000057}.toast span{color:var(--muted);font-size:13px}.toast.error{border-color:#e11d486b}.toast.warning{border-color:#f59e0b6b}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-item{padding:12px;border:1px solid var(--border);border-radius:10px;background:#0a0f1bb8}.detail-item span{display:block;margin-bottom:6px;color:var(--muted);font-size:12px}.detail-item strong{word-break:break-word}.table-row-danger{background:#e11d4814}.op-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(135deg,#101724eb,#0c111bf0)}.op-toolbar div{display:grid;gap:4px}.op-toolbar span,.op-summary-card small,.op-detail-block h4,.op-device-list span{color:var(--muted)}.op-critical-pulse{display:inline-flex!important;grid-auto-flow:column;align-items:center;gap:9px;padding:8px 11px;border:1px solid rgba(225,29,72,.34);border-radius:999px;background:#e11d481f;color:#fda4af;font-size:12px;font-weight:900}.op-critical-pulse i{width:9px;height:9px;border-radius:999px;background:var(--red);box-shadow:0 0 #e11d486b;animation:opPulse 1.3s infinite}.op-cards-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:16px}.op-summary-card{display:grid;min-height:126px;gap:8px;padding:14px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#111827f0,#0a0f19f5);color:var(--text);text-align:left}.op-summary-card span{display:inline-grid;width:38px;height:30px;place-items:center;border-radius:9px;background:#ffffff0f;font-size:10px;font-weight:900;letter-spacing:0}.op-summary-card strong{align-self:end;font-size:30px;line-height:1}.op-summary-card.success strong{color:var(--green)}.op-summary-card.warn strong{color:var(--yellow)}.op-summary-card.danger strong{color:var(--red)}.op-summary-card.info strong{color:var(--blue)}.op-summary-card.muted strong{color:var(--muted)}.op-summary-card.active,.op-summary-card:hover{border-color:#38bdf870;box-shadow:0 0 0 1px #38bdf81f,0 18px 44px #0000003d}.op-check{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:#0a0f1b;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.op-check input{width:16px;min-height:16px;padding:0}.op-row-link{border:0;padding:0;background:transparent;color:#bae6fd;font-weight:900;text-align:left}.op-actions{min-width:360px}.op-actions .link-btn{min-height:30px;padding:5px 8px;font-size:11px}.op-health-score{position:relative;display:grid;width:82px;height:28px;align-items:center;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:#080c16}.op-health-score span{position:absolute;inset:0 auto 0 0;border-radius:inherit;opacity:.22}.op-health-score strong{position:relative;padding-left:10px;font-size:12px}.op-health-score.ok span{background:var(--green)}.op-health-score.warn span{background:var(--yellow)}.op-health-score.bad span{background:var(--red)}.op-detail-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.op-detail-block{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#0a0f1bb8}.op-detail-block h4{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.op-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.op-key-grid div{display:grid;gap:4px;min-width:0}.op-key-grid span{color:var(--muted);font-size:11px}.op-key-grid strong{min-width:0;overflow-wrap:anywhere}.op-device-list{display:grid;gap:8px}.op-device-list>div{display:grid;grid-template-columns:1.2fr .8fr 1fr .7fr auto;align-items:center;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:#ffffff06}@keyframes opPulse{70%{box-shadow:0 0 0 9px #e11d4800}to{box-shadow:0 0 #e11d4800}}.error-boundary{display:grid;min-height:100vh;place-items:center;padding:24px}.error-boundary section{max-width:560px;padding:24px;border:1px solid var(--border);border-radius:14px;background:#101724f0}.login-shell{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(225,29,72,.12),transparent 34%),radial-gradient(circle at top right,rgba(56,189,248,.1),transparent 32%),var(--bg)}.login-panel{width:min(440px,100%);padding:28px;border:1px solid var(--border);border-radius:14px;background:#101724f5;box-shadow:0 24px 80px #0000005c}.login-brand{margin-bottom:24px}.login-panel h1{margin:0 0 8px;font-size:26px}.login-panel p,.login-panel small{color:var(--muted)}.login-form{display:grid;gap:14px;margin:24px 0 16px}.login-form label{display:grid;gap:8px}.form-alert{padding:11px 12px;border:1px solid rgba(225,29,72,.42);border-radius:10px;color:#fecdd3;background:#e11d481f;font-size:13px}@keyframes skeletonSweep{to{transform:translate(100%)}}.versions-page{display:grid;gap:16px}.version-component-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.version-component-card{padding:16px;border-radius:14px;border:1px solid var(--border);background:linear-gradient(180deg,#111827eb,#0a0f19f5)}.version-component-card.is-empty{opacity:.72}.version-component-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px}.version-component-card h4{margin:0;font-size:15px}.version-component-count{font-size:11px;color:var(--muted);white-space:nowrap}.version-component-latest{display:grid;gap:6px;font-size:13px;color:var(--muted)}.version-component-latest strong{color:#f8fafc;font-size:22px}.version-component-latest code{font-size:11px;color:#94a3b8}.versions-panel-subtitle{margin:4px 0 0;font-size:13px;color:var(--muted)}.version-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.version-filter-tabs button{padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:#0f172aa6;color:var(--muted);cursor:pointer}.version-filter-tabs button.is-active{color:#fff;border-color:#e11d4873;background:#e11d4829}.version-list{display:grid;gap:10px}.version-row{padding:14px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:#0f172a73}.version-row.is-inactive{opacity:.72}.version-row-main{display:grid;gap:8px}.version-row-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.version-row-title strong{font-size:18px}.version-tag{padding:2px 8px;border-radius:999px;background:#94a3b81f;font-size:11px;color:#cbd5e1}.version-row-meta{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:12px;color:var(--muted)}.version-row-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.version-detail-panel{margin-top:12px;padding-top:12px;border-top:1px solid rgba(148,163,184,.16)}.version-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;font-size:12px}.version-detail-grid span{display:block;color:var(--muted);margin-bottom:4px}.version-detail-grid code,.version-detail-grid p{margin:0;word-break:break-all}.version-publish-form{display:grid;gap:18px}.version-form-section{padding:14px;border-radius:12px;border:1px solid rgba(148,163,184,.16);background:#0f172a59}.version-form-section.is-muted{opacity:.72}.version-form-section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.version-form-section-head h4{margin:0 0 4px}.version-form-section-head p{margin:0;font-size:12px;color:var(--muted)}.version-form-section-head-toggle{justify-content:space-between}.version-step{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#e11d482e;color:#fecdd3;font-size:12px;font-weight:800;flex-shrink:0}.version-save-hint{margin:0}.release-upload-panel{padding:14px;border-radius:10px;border:1px dashed rgba(148,163,184,.28);background:#02061759}.release-upload-panel-disabled{border-style:solid}.release-upload-panel-disabled p{margin:0;font-size:13px;color:var(--muted)}.release-upload-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.release-upload-input-hidden{display:none}.release-upload-file-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.release-upload-file-info{display:grid;gap:2px;min-width:0;font-size:13px}.release-upload-file-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.release-upload-file-info span,.release-upload-placeholder{color:var(--muted);font-size:12px}.release-upload-submit{white-space:nowrap}.release-upload-progress{margin-top:12px;font-size:12px}.release-upload-progress-bar{height:6px;margin-top:6px;border-radius:4px;background:#1e293b;overflow:hidden}.release-upload-progress-bar>div{height:100%;background:#3b82f6;transition:width .2s ease}.release-upload-progress.is-upload .release-upload-progress-bar>div{background:#22c55e}.release-upload-success{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:8px;border:1px solid rgba(34,197,94,.35);background:#22c55e14;font-size:13px}.release-upload-advanced-hint{margin-top:.75rem;font-size:.85rem;color:var(--muted, #64748b)}.release-upload-replace-hint{margin:.5rem 0 0;font-size:.85rem;color:#b45309}.release-upload-replace{background:#b45309;border-color:#b45309}.release-upload-signed{font-size:.8rem;color:#15803d;font-weight:600}.release-replace-banner{margin-bottom:1rem;background:#fffbeb;border-color:#fcd34d}.release-replace-banner p{margin:.35rem 0 0;font-size:.9rem}margin: 10px 0 0; font-size: 12px; color: var(--muted); } @media (max-width: 1100px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.op-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:840px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto;max-height:none;overflow:visible}.sidebar nav{max-height:50vh}.sidebar-collapsed .sidebar{width:100%}.sidebar-collapsed .main{width:100%;margin-left:0}.sidebar-collapsed .brand{justify-content:flex-start}.sidebar-collapsed .brand>div:not(.brand-mark),.sidebar-collapsed .collapse-label,.sidebar-collapsed .nav-label{display:inline}.sidebar-collapsed .collapse-btn,.sidebar-collapsed .sidebar nav button{justify-content:flex-start;padding:10px 12px}.main{width:100%;margin-left:0;padding:18px}.topbar,.table-head{display:grid}.connection-card{min-width:0}.metrics-grid,.form-grid,.op-cards-grid,.op-detail-layout,.op-key-grid,.release-upload-file-row,.version-detail-grid,.health-row{grid-template-columns:1fr}.op-toolbar{display:grid}.op-device-list>div{grid-template-columns:1fr}}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.section-title{margin:0 0 4px;font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.02em}.section-sub{margin:0;color:var(--muted);font-size:13px}.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.dashboard-content{display:flex;flex-direction:column;gap:28px}.dashboard-section{display:flex;flex-direction:column;gap:12px}.subsection-title{margin:0;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.metric-card strong.success{color:var(--green)}.metric-card strong.warn{color:var(--yellow)}.metric-card strong.info{color:var(--blue)}.metric-card strong.error{color:var(--red)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.5;text-transform:uppercase;letter-spacing:.04em}.badge-info{background:#38bdf81f;color:var(--blue)}.badge-success{background:#22c55e1f;color:var(--green)}.badge-warn{background:#f59e0b1f;color:var(--yellow)}.badge-error{background:#e11d481f;color:var(--red)}.brand-sub{display:block;margin-top:3px;max-width:160px;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.btn-sm{min-height:32px!important;padding:6px 12px!important;font-size:12px!important}.btn-ghost{border:1px solid transparent!important;background:transparent!important;color:var(--muted)!important}.btn-ghost:hover{border-color:var(--border)!important;color:var(--text)!important}.text-muted{color:var(--muted)}.text-sm{font-size:12px}.activity-list{display:flex;flex-direction:column;gap:8px}.activity-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:#10172499;font-size:13px}.activity-msg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-ts{flex-shrink:0}.activity-badge{flex-shrink:0;display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:#94a3b81f;color:var(--muted)}.activity-badge--error,.activity-badge--erro{background:#e11d4826;color:var(--red)}.activity-badge--warn,.activity-badge--aviso{background:#f59e0b26;color:var(--yellow)}.activity-badge--info{background:#38bdf826;color:var(--blue)}.activity-badge--success,.activity-badge--ok{background:#22c55e26;color:var(--green)}@media(max-width:900px){.section-header{flex-direction:column;gap:12px}.header-actions{width:100%;justify-content:flex-end}}.op-events{margin:16px 0;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff05;padding:14px 16px}.op-events>header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.op-events>header h3{font-size:15px;font-weight:700;margin:0}.op-events-count{font-size:12px;font-weight:700;background:#ef44442e;color:#fca5a5;border-radius:999px;padding:2px 10px}.op-events-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.op-event{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:#ffffff08;border-left:3px solid rgba(245,158,11,.7)}.op-event.critical{border-left-color:#ef4444e6}.op-event-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:#f59e0b;box-shadow:0 0 8px currentColor}.op-event-dot.critical{background:#ef4444}.op-event-body{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.op-event-body strong{font-size:13px}.op-event-type{font-size:12px;color:#cbd5e1;text-transform:capitalize}.op-event-action{font-size:11px;color:#94a3b8}.op-event-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:0 0 auto}.op-event-meta time{font-size:11px;color:#94a3b8}.op-version-cell{display:flex;flex-direction:column;gap:4px}.op-ver-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 8px;border-radius:999px;white-space:nowrap}.op-ver-badge.ok{background:#10b98129;color:#6ee7b7}.op-ver-badge.warn{background:#f59e0b29;color:#fcd34d}.op-ver-badge.danger{background:#ef44442e;color:#fca5a5}.op-ver-badge.muted{background:#94a3b824;color:#94a3b8}.op-version-detail{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.op-reason-list,.op-reco-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.op-reason-list li{color:#fcd34d;font-size:13px}.op-reco-list li{color:#cbd5e1;font-size:13px}
