:root{--surface:#fff;--primary-light:rgba(29,74,96,.09);--accent-light:rgba(26,107,84,.14);--shadow:0 12px 42px rgba(43,47,54,.055)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,Manrope,system-ui,-apple-system,Segoe UI,sans-serif}button,input{font:inherit}.shell{display:grid;grid-template-columns:290px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--border);padding:28px 22px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}.brand b{letter-spacing:.5px}.brand span{display:block;margin-top:2px}.mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;color:white;font-weight:900}.tenant-card{background:linear-gradient(135deg,var(--primary),#143A4C);color:white;border-radius:20px;padding:18px;margin-bottom:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}.tenant-card:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-44px;top:-44px;background:rgba(26,107,84,.18)}.tenant-card small,.tenant-card span{display:block;color:rgba(255,255,255,.66);font-size:12px;position:relative}.tenant-card strong{display:block;margin:6px 0 4px;font-size:16px;position:relative}nav{display:grid;grid-gap:6px;gap:6px}nav button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border-radius:12px;color:var(--muted);font-weight:750;text-decoration:none;border:0;background:transparent;cursor:pointer;text-align:left}nav button span{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:11px;color:var(--muted)}nav button.active,nav button:hover{background:var(--primary-light);color:var(--primary)}nav button.active span{background:white;color:var(--primary)}.content{padding:28px 36px 42px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:18px}.topbar h1{margin:0;font-size:28px;letter-spacing:-.8px}.topbar p{margin:4px 0 0}.top-actions{display:flex;gap:10px}.button,.ghost{display:inline-flex;align-items:center;background:var(--primary);color:white;padding:11px 16px;border-radius:12px;text-decoration:none;font-weight:850;border:1px solid var(--primary);cursor:pointer}.ghost{background:white;color:var(--primary);border-color:var(--border)}.button:hover,.ghost:hover{transform:translateY(-1px)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.toolbar input{width:min(560px,100%);background:white;border:1px solid var(--border);border-radius:14px;padding:13px 16px;outline:none;color:var(--text);box-shadow:0 8px 24px rgba(43,47,54,.03)}.toolbar input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(29,74,96,.1)}.toolbar span{color:var(--muted);font-size:12px}.hero-card{background:linear-gradient(135deg,#fff,#f0f5f3);border:1px solid var(--border);border-radius:28px;padding:30px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);margin-bottom:18px;gap:20px;position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(26,107,84,.12);right:-130px;top:-130px}.hero-card>*{position:relative}.hero-card h2{font-size:34px;margin:6px 0;letter-spacing:-1px}.hero-card p{color:var(--muted);margin:0;max-width:650px}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:1.1px}.score-card{text-align:center;background:white;border:1px solid var(--border);border-radius:24px;padding:18px 20px;min-width:160px;box-shadow:0 10px 30px rgba(43,47,54,.04)}.score-card small{color:var(--muted);font-weight:750}.ring{--score:0%;width:108px;height:108px;margin:auto auto 10px;background:conic-gradient(var(--accent) var(--score),#e8ecef 0);place-items:center}.ring,.ring span{border-radius:50%;display:grid}.ring span{background:white;width:78px;height:78px;place-items:center;font-weight:950;font-size:24px;box-shadow:inset 0 0 0 1px var(--border)}.kpis{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:14px;gap:14px;margin-bottom:18px}.kpi{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(43,47,54,.04);min-width:0}.kpi span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.8px}.kpi strong{display:block;font-size:34px;margin-top:8px;letter-spacing:-1px}.kpi strong.compact{font-size:21px;white-space:nowrap}.grid-main{display:grid;grid-template-columns:1.65fr .92fr;grid-gap:18px;gap:18px;margin-bottom:18px}.detail-grid{align-items:start}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-bottom:18px}.panel{background:#fff;border:1px solid var(--border);border-radius:24px;padding:22px;box-shadow:0 8px 24px rgba(43,47,54,.04);min-width:0}.sticky-panel{position:-webkit-sticky;position:sticky;top:24px}.panel-head{display:flex;justify-content:space-between;margin-bottom:18px;gap:12px}.panel h3{margin:0;font-size:20px;letter-spacing:-.3px}.panel h4{margin:18px 0 10px}.muted,.panel p{color:var(--muted)}.mini-table,.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}td,th{padding:13px;border-bottom:1px solid var(--border);vertical-align:middle}td small{display:block;color:var(--muted);margin-top:3px}.clickable{cursor:pointer}.clickable.selected,.clickable:hover{background:#fbfcfb}.selected td:first-child{box-shadow:inset 4px 0 0 var(--accent)}.badge{display:inline-block;padding:5px 9px;border-radius:9px;font-size:12px;font-weight:900;background:#eef2f5;color:var(--primary);white-space:nowrap}.badge.protected{background:var(--accent-light);color:var(--accent)}.badge.syncing{background:var(--primary-light);color:var(--primary)}.badge.critical,.badge.disconnected,.badge.stopped{background:rgba(163,58,58,.13);color:var(--red)}.badge.warning{background:rgba(149,91,24,.14);color:var(--orange)}.badge.archived{background:#EEF2F7;color:#64748B}.pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.ok-pill{background:var(--accent-light);color:var(--accent)}.danger-pill{background:rgba(163,58,58,.13);color:var(--red)}.progress{min-width:110px}.progress>div{height:7px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent));margin-bottom:4px}.progress span{font-size:11px;color:var(--muted);font-weight:800}.priority-list{display:grid;grid-gap:12px;gap:12px}.priority{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border);border-radius:16px;padding:14px;background:#fbfcfb}.priority .pvalue{width:44px;min-width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-weight:950;background:var(--primary-light);color:var(--primary)}.priority.warn .pvalue,.priority.warning .pvalue{background:rgba(149,91,24,.14);color:var(--orange)}.priority.critical .pvalue,.priority.danger .pvalue,.priority.error .pvalue{background:rgba(163,58,58,.13);color:var(--red)}.priority.ok .pvalue{background:var(--accent-light);color:var(--accent)}.priority b{display:block}.priority p{font-size:12px;margin:3px 0 0}.operations-map{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.map-card{text-align:left;background:#fbfcfb;border:1px solid var(--border);border-radius:20px;padding:18px;cursor:pointer;transition:transform .15s,border-color .15s}.map-card:hover{transform:translateY(-2px);border-color:rgba(29,74,96,.35)}.map-card span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}.map-card strong{display:block;font-size:30px;letter-spacing:-1px;margin:6px 0}.map-card p{font-size:12px;line-height:1.45;min-height:36px}.map-card b:last-child{font-size:12px;color:var(--primary)}.disk-grid,.license-grid,.server-grid,.server-list{display:grid;grid-gap:12px;gap:12px}.server-grid{grid-template-columns:repeat(2,1fr)}.disk-grid{grid-template-columns:repeat(3,1fr)}.license-grid{grid-template-columns:repeat(2,1fr)}.disk-card,.license-card,.server-card{border:1px solid var(--border);border-radius:18px;padding:16px;background:#fbfcfb}.server-title{display:flex;justify-content:space-between;gap:10px}.disk-card b,.disk-card span,.license-card b,.license-card span,.server-card b,.server-card span{display:block}.disk-card span,.license-card span,.server-card span{color:var(--muted);font-size:12px;margin-top:3px}.disk-meta,.server-meta{display:flex;justify-content:space-between;margin:12px 0 8px}.disk-card small{display:block;color:var(--muted);font-size:11px;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.license-card{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.license-card p{margin:10px 0 0;font-size:12px}.license-status{text-align:right}.logs{display:grid;grid-gap:12px;gap:12px}.log-row{display:flex;gap:10px;border-bottom:1px solid var(--border);padding-bottom:12px}.log-row:last-child{border-bottom:none}.dot{width:10px;height:10px;border-radius:50%;background:var(--primary);margin-top:5px;flex:0 0 auto}.dot.critical,.dot.error{background:var(--red)}.dot.warning{background:var(--orange)}.dot.info,.dot.information{background:var(--accent)}.log-row b{font-size:13px}.log-row p{font-size:12px;line-height:1.45;margin:4px 0;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-logs .log-row p{-webkit-line-clamp:1}.log-row small{color:var(--muted);font-size:11px}.detail-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:16px 0}.detail-item{border:1px solid var(--border);border-radius:14px;padding:12px;background:#fbfcfb}.detail-item span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}.detail-item b{display:block;margin-top:4px;font-size:13px;word-break:break-word}.mini-chart{margin:14px 0 18px;border:1px solid var(--border);border-radius:18px;padding:14px;background:linear-gradient(180deg,#fff,#fbfcfb)}.chart-head{display:flex;justify-content:space-between;color:var(--text);margin-bottom:8px}.chart-head span{color:var(--muted);font-size:12px;font-weight:800}.mini-chart svg{width:100%;height:110px;color:var(--accent);background:linear-gradient(180deg,#f7faf8,#fff);border-radius:12px}.chart-empty{border:1px dashed var(--border);border-radius:16px;padding:16px;color:var(--muted);font-size:13px}.report-layout{display:grid;grid-gap:18px;gap:18px}.report-cover{background:linear-gradient(135deg,#fff,#eef4f1);border:1px solid var(--border);border-radius:30px;padding:34px;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:24px;align-items:center}.report-cover h2{font-size:38px;margin:8px 0}.report-cover p{max-width:680px;color:var(--muted)}.report-score{width:160px;height:160px;border-radius:34px;background:white;border:1px solid var(--border);display:grid;place-items:center;text-align:center}.report-score span{font-size:40px;font-weight:950;color:var(--accent)}.report-score b{font-size:12px;color:var(--muted);margin-top:-42px}.report-list{margin:0;padding-left:18px}.report-list li{padding:7px 0}.table-note{font-size:12px}.loading-screen{min-height:100vh;display:grid;place-items:center;background:var(--bg);font-weight:900}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:var(--surface)}.login-visual{color:white;padding:54px 64px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-visual:before{width:520px;height:520px;background:rgba(26,107,84,.18);right:-160px;top:-150px}.login-visual:after,.login-visual:before{content:"";position:absolute;border-radius:50%}.login-visual:after{width:360px;height:360px;background:rgba(255,255,255,.06);left:-90px;bottom:-110px}.login-brand,.login-copy,.login-stats{position:relative;z-index:1}.login-brand .mark{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22)}.login-brand span{color:rgba(255,255,255,.66)}.login-copy h1{font-size:54px;line-height:1.02;letter-spacing:-2px;margin:12px 0 18px;color:white}.login-copy p{color:rgba(255,255,255,.68);font-size:17px;line-height:1.75;max-width:560px}.login-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.login-stats div{border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:18px}.login-stats strong{display:block;font-size:28px}.login-stats span{color:rgba(255,255,255,.62);font-size:12px}.login-panel{display:grid;place-items:center;padding:42px;background:linear-gradient(180deg,#fff,#f9fbfa)}.login-box{width:min(430px,100%);background:white;border:1px solid var(--border);border-radius:26px;padding:34px;box-shadow:var(--shadow);display:grid;grid-gap:16px;gap:16px}.login-box h2{font-size:32px;letter-spacing:-.8px;margin:6px 0}.login-box p{color:var(--muted);line-height:1.6}.login-box label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.7px;color:var(--text);display:grid;grid-gap:8px;gap:8px}.login-box input{width:100%;border:1px solid var(--border);background:var(--bg);border-radius:14px;padding:14px 16px;color:var(--text);outline:none}.login-box input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(29,74,96,.11);background:white}.login-error{background:rgba(163,58,58,.12);border:1px solid rgba(163,58,58,.22);color:var(--red);padding:12px 14px;border-radius:14px;font-size:13px;font-weight:800}.login-button{justify-content:center;border:none;cursor:pointer;font-size:15px}.logout{margin-top:22px;width:100%;border:1px solid var(--border);background:white;color:var(--muted);border-radius:12px;padding:12px 14px;font-weight:850;cursor:pointer}.logout:hover{color:var(--red);border-color:rgba(163,58,58,.35)}.login-box code{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:1px 5px;color:var(--primary)}@media(max-width:1350px){.kpis{grid-template-columns:repeat(4,1fr)}.disk-grid,.operations-map{grid-template-columns:repeat(2,1fr)}}@media(max-width:1100px){.grid-2,.grid-main,.license-grid,.server-grid{grid-template-columns:1fr}.sticky-panel{position:static}.toolbar{align-items:flex-start;flex-direction:column}.kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{display:none}.content{padding:20px}.hero-card,.report-cover,.topbar{align-items:flex-start;flex-direction:column}.kpis{grid-template-columns:repeat(2,1fr)}.disk-grid,.login-shell,.operations-map{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}}.detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.detail-header h3{margin:4px 0 2px}.detail-header small{display:block;color:var(--muted);font-size:11px;word-break:break-all}.subpanel{border-top:1px solid var(--border);padding-top:16px;margin-top:16px}.endpoint-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}.endpoint-card{border:1px solid var(--border);background:#fbfcfb;border-radius:18px;padding:16px}.endpoint-card>span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}.endpoint-card>b{display:block;margin-top:4px}.endpoint-card>small{display:block;color:var(--muted);font-size:12px;margin-top:2px;word-break:break-all}.endpoint-kpis{grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.disk-line,.endpoint-kpis{display:grid;margin-top:12px}.disk-line{border-top:1px solid var(--border);padding-top:12px;grid-template-columns:1fr minmax(100px,140px);grid-gap:12px;gap:12px;align-items:center}.disk-line b{display:block;font-size:12px}.disk-line small{color:var(--muted);font-size:11px}.mini-list{display:grid;grid-gap:10px;gap:10px}.mini-row{border:1px solid var(--border);background:#fbfcfb;border-radius:14px;padding:12px}.mini-row b{display:block}.mini-row span{display:block;color:var(--muted);font-size:12px;margin-top:3px}@media(max-width:1100px){.disk-line,.endpoint-kpis{grid-template-columns:1fr}}.endpoint-conn{font-size:12px;font-weight:800;margin:6px 0 10px;padding:5px 8px;border-radius:8px;background:var(--bg)}.alerts-list{display:flex;flex-direction:column;gap:10px}.alert-row{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff}.alert-row>span{font-size:10px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;padding:5px 8px;border-radius:999px;background:var(--secondary);color:var(--primary);min-width:70px;text-align:center}.alert-row.warning>span{background:rgba(149,91,24,.14);color:var(--orange)}.alert-row.critical>span,.alert-row.error>span{background:rgba(163,58,58,.14);color:var(--red)}.alert-row p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.sla-bars{display:flex;flex-direction:column;gap:14px}.sla-bar{padding:14px;border:1px solid var(--border);border-radius:16px;background:#fff}.sla-bar>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.sla-bar span{color:var(--muted);font-size:12px}.report-actions{margin-top:16px}.report-score.cumple{background:rgba(26,107,84,.14)}.report-score.observacion{background:rgba(149,91,24,.12)}.report-score.incumple{background:rgba(163,58,58,.12)}.report-period-bar{background:#fff;border:1px solid var(--border);border-radius:20px;padding:16px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}.report-period-label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap}.report-presets{display:flex;flex-wrap:wrap;gap:6px}.report-preset-btn{border:1px solid var(--border);background:#fff;color:var(--muted);border-radius:999px;padding:6px 13px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .12s}.report-preset-btn:hover{border-color:var(--primary);color:var(--primary)}.report-preset-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.report-custom-dates{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.report-custom-dates label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.report-custom-dates input[type=date]{border:1px solid var(--border);border-radius:10px;padding:7px 10px;font-size:13px;color:var(--text);background:#fff;outline:none;cursor:pointer}.report-custom-dates input[type=date]:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(29,74,96,.1)}.report-period-active{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}.report-period-active b{color:var(--primary)}.button.secondary{background:#14B8A6;color:#fff;border-color:#14B8A6}.compact-actions{margin-top:10px;gap:8px;flex-wrap:wrap}.report-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.build-chip{margin:10px 0 6px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;background:rgba(255,255,255,.55)}.admin-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.admin-layout .span-2{grid-column:1/-1}.admin-form{display:grid;grid-gap:12px;gap:12px}.admin-form label{display:grid;grid-gap:7px;gap:7px;font-size:13px;color:var(--muted)}.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 13px;background:#fff;color:var(--text);font:inherit;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.admin-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(29,74,96,.1)}.admin-form textarea{resize:vertical;min-height:80px}.inline-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.soft-panel{background:#F8FAFC!important;border-color:#E9EDF2!important;box-shadow:none!important}.mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px;margin:12px 0}.mini-card{border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:#fff;display:grid;grid-gap:5px;gap:5px}.mini-card b{display:block;font-size:13px}.mini-card small{color:var(--muted);font-size:12px;line-height:1.4}.mini-card span{display:inline-flex}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.button.small,.ghost.small{padding:7px 10px;font-size:12px;border-radius:10px}.edit-row td{background:#f8fafc;padding:14px}.inline-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;align-items:end}.inline-edit-grid label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.inline-edit-grid input,.inline-edit-grid select{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 11px;background:#fff;color:var(--text);font:inherit}.inline-edit-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.danger-text{color:#b42318}.secret-box{display:grid;grid-gap:8px;gap:8px;border:1px solid #fde68a;background:#fffbeb;border-radius:16px;padding:14px;margin-bottom:14px}.secret-box code{word-break:break-all;white-space:normal}.codebox{width:100%;min-height:260px;border:1px solid var(--border);border-radius:16px;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;background:#0f172a;color:#e5e7eb;resize:vertical}.codebox.short{min-height:150px}@media (max-width:1100px){.admin-layout{grid-template-columns:1fr}.admin-layout .span-2{grid-column:auto}}.tenant-select{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:12px;padding:10px 12px;font-weight:800;min-width:190px;outline:none}.viewing-chip{color:var(--muted);font-weight:850}.brand-chip,.viewing-chip{display:inline-flex;align-items:center;border:1px solid var(--border);background:#fff;border-radius:999px;padding:9px 12px;font-size:12px;white-space:nowrap}.brand-chip{--brand-color:var(--primary);border-left:5px solid var(--brand-color);color:var(--text);font-weight:900;box-shadow:0 8px 22px rgba(43,47,54,.035)}.refresh-control{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:#fff;border-radius:999px;padding:6px 9px 6px 12px;color:var(--muted);font-size:12px;font-weight:500;white-space:nowrap}.refresh-control select{border:0;background:transparent;color:var(--text);font-weight:500;outline:none}@media(max-width:900px){.top-actions{flex-wrap:wrap}.tenant-select,.viewing-chip{width:100%}}.checkbox-line{display:flex!important;align-items:center;gap:10px;flex-direction:row!important;font-size:13px;color:var(--muted)}.checkbox-line input{width:auto!important}.pill-stack{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.server-card small{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.35}.action-stack{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:140px}.action-stack .ghost.small{width:100%;text-align:left;justify-content:flex-start}.branding-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:12px;gap:12px;margin:12px 0 16px}.branding-preview{border:1px solid #e6ebf1;border-left:5px solid #1d4a60;border-radius:18px;background:#FFFFFF;padding:14px;display:flex;flex-direction:column;gap:5px}.branding-preview h4{margin:0;color:#334155;font-size:18px}.branding-preview b{color:#0F172A}.branding-preview small{color:#64748B}.muted-preview{border-left-color:#CBD5E1;background:#F8FAFC}.mfa-setup-card{display:grid;grid-template-columns:172px 1fr;grid-gap:0;gap:0;border:1px solid var(--border);border-radius:20px;overflow:hidden;margin-top:18px;background:#fff}.mfa-qr-box{display:flex;align-items:center;justify-content:center;padding:22px;background:#f8fafc;border-right:1px solid var(--border)}.mfa-qr-box img{width:140px;height:140px;display:block}.mfa-setup-info{padding:20px;display:flex;flex-direction:column;gap:10px}.mfa-setup-info b{font-size:13px;color:var(--ink)}.mfa-setup-info>small{color:var(--muted);font-size:12px;line-height:1.5}.mfa-setup-info label{display:grid;grid-gap:5px;gap:5px;font-size:11px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.mfa-setup-info input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;width:100%;border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:#f8fafc;color:var(--ink);outline:none}.mfa-setup-info input:focus{border-color:var(--primary);background:#fff}@media(max-width:760px){.mfa-setup-card{grid-template-columns:1fr}.mfa-qr-box{border-right:none;border-bottom:1px solid var(--border)}.mfa-qr-box img{width:180px;height:180px}}.mfa-inline-form{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.mfa-inline-form label{display:grid;grid-gap:7px;gap:7px;font-size:13px;color:var(--muted);font-weight:500}.mfa-inline-form input{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 13px;background:#fff;color:var(--text);outline:none;font:inherit}.mfa-inline-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(29,74,96,.1)}.mfa-inline-form>button{justify-self:start}.mfa-inline-form.danger-zone{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;border-top:1px solid var(--border);padding-top:16px;margin-top:4px}.mfa-inline-form.danger-zone>button{grid-column:1/-1;justify-self:start}@media(max-width:760px){.mfa-inline-form.danger-zone{grid-template-columns:1fr}.mfa-inline-form.danger-zone>button{grid-column:auto}}.alert-banner{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;border:1px solid var(--border);background:#fff;margin-bottom:16px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.alert-banner b{display:block;color:var(--text)}.alert-banner span{color:var(--muted);font-size:.92rem;line-height:1.4}.alert-banner.warning{border-color:#FACC15;background:#FFFBEB}.alert-banner.critical{border-color:rgba(163,58,58,.45);background:#FEF2F2}.alert-banner.critical b{color:var(--red)}.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(15,23,42,.44);display:grid;place-items:center;padding:20px}.action-modal{width:min(520px,100%);background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:0 24px 80px rgba(15,23,42,.22);padding:20px;display:grid;grid-gap:16px;gap:16px}.modal-head{display:flex;gap:12px;align-items:flex-start}.modal-head h3{margin:0;font-size:20px;color:var(--text)}.modal-head p{margin:6px 0 0;color:var(--muted);line-height:1.45}.modal-icon{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:var(--primary-light);color:var(--primary);font-weight:950;flex:0 0 auto}.modal-icon.danger{background:rgba(163,58,58,.14);color:var(--red)}.modal-details{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--border);background:#f8fafc;border-radius:14px;padding:12px;max-height:220px;overflow:auto}.modal-details small{color:var(--muted);line-height:1.35;white-space:pre-wrap}.modal-field{display:grid;grid-gap:8px;gap:8px;color:var(--muted);font-size:13px;font-weight:850}.modal-field textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px;background:#fff;color:var(--text);font:inherit;resize:vertical}.modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.danger-button{background:#b42318;border-color:#b42318}.ui-notice{position:fixed;right:20px;top:20px;z-index:90;width:min(420px,calc(100vw - 40px));display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--border);border-left:5px solid var(--primary);background:#fff;border-radius:16px;padding:12px 14px;box-shadow:0 18px 60px rgba(15,23,42,.18)}.ui-notice.error{border-left-color:var(--red)}.ui-notice span{color:var(--text);font-size:13px;line-height:1.35}.ui-notice button{border:0;background:transparent;color:var(--primary);font-weight:850;cursor:pointer}.mini-chart{color:var(--accent)}.chart-head{align-items:flex-start;gap:12px}.chart-head small{display:block;color:var(--muted);font-size:11px;font-weight:700;margin-top:3px}.chart-frame{display:grid;grid-template-columns:42px 1fr;grid-gap:8px;gap:8px;align-items:stretch}.chart-y{display:flex;flex-direction:column;justify-content:space-between;padding:5px 0 17px;color:var(--muted);font-size:11px;font-weight:850;text-align:right}.chart-frame svg{height:128px}.chart-frame svg line{stroke:#dbe3e0;stroke-width:.8;vector-effect:non-scaling-stroke}.chart-x{display:grid;grid-template-columns:42px 1fr 1fr;grid-gap:8px;gap:8px;color:var(--muted);font-size:11px;font-weight:800;margin-top:6px}.chart-x span:nth-child(2){text-align:center}.chart-x span:last-child{text-align:right}.detail-tabs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;margin:14px 0 4px;background:#f3f6f5;border:1px solid var(--border);border-radius:14px;padding:5px}.detail-tabs button{border:0;background:transparent;color:var(--muted);font-weight:900;border-radius:10px;padding:9px 10px;cursor:pointer}.detail-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 4px 14px rgba(15,23,42,.06)}.charts-stack{display:grid;grid-gap:14px;gap:14px}.chart-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0}.chart-toolbar h4{margin:0}.chart-toolbar select,.inline-filters select{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:12px;padding:9px 10px;font-weight:800}.inline-filters{display:flex;gap:8px;flex-wrap:wrap}.transfer-chart{border:1px solid var(--border);border-radius:18px;padding:14px;background:linear-gradient(180deg,#fff,#fbfcfb)}.bar-chart-frame{display:grid;grid-template-columns:18px 76px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:stretch}.bar-y-title{height:172px;display:grid;place-items:center;letter-spacing:.04em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}.bar-y-axis,.bar-y-title{color:var(--muted);font-size:10px;font-weight:600}.bar-y-axis{height:172px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;border-right:1px solid var(--border);padding:8px 8px 22px 0}.bar-plot{position:relative;min-width:0}.bar-grid-line{position:absolute;left:0;right:0;border-top:1px dashed #dbe3e0;pointer-events:none}.bar-grid-line.top{top:8px}.bar-grid-line.mid{top:50%}.bar-series{height:172px;display:flex;align-items:flex-end;gap:5px;border-bottom:1px solid var(--border);padding:10px 0 0;position:relative;z-index:1}.bar-item{height:100%;flex:1 1;min-width:8px;display:flex;flex-direction:column;justify-content:flex-end;gap:5px}.bar-item div{width:100%;min-height:4px;border-radius:7px 7px 0 0;background:linear-gradient(180deg,var(--primary),var(--accent))}.bar-item span{height:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.bar-item span,.bar-x-axis{color:var(--muted);font-size:10px}.bar-x-axis{display:grid;grid-template-columns:18px 76px minmax(0,1fr);grid-gap:10px;gap:10px;margin-top:4px}.bar-x-axis b{text-align:center;font-weight:600}.collector-config-card{margin-top:14px;border:1px solid var(--border);border-radius:18px;padding:16px;background:#fbfcfb;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;align-items:end}.collector-config-card>div:first-child{grid-column:1/-1}.collector-config-card h4{margin:0 0 4px}.collector-config-card p{margin:0}.collector-config-card label{display:grid;grid-gap:7px;gap:7px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.7px;color:var(--text)}.collector-config-card input,.collector-config-card select{border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px 11px;color:var(--text)}.collector-config-card .checkbox-line{display:flex;text-transform:none;letter-spacing:0;font-size:13px;align-items:center}.collector-config-card .row-actions{grid-column:1/-1}:root{--text:#26313d;--muted:#667085}body,button,input,select,textarea{font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:400}.hero-card h2,.login-box h2,.login-copy h1,.report-cover h2,.topbar h1,h1,h2,h3,h4{font-weight:600;letter-spacing:0}.hero-card h2,.login-copy h1,.report-cover h2,.topbar h1{font-weight:700}.brand-chip,.button,.chart-toolbar select,.detail-tabs button,.ghost,.inline-filters select,.logout,.tenant-select,.viewing-chip,nav button{font-weight:500}.admin-form label,.alert-row>span,.collector-config-card label,.detail-item span,.endpoint-card>span,.eyebrow,.inline-edit-grid label,.kpi span,.login-box label,.map-card span,th{font-weight:500;letter-spacing:.04em}.badge,.bar-item span,.brand b,.chart-head span,.chart-x,.chart-y,.kpi strong,.map-card strong,.modal-field,.modal-icon,.pill,.priority .pvalue,.report-score b,.report-score span,.ring span,.score-card small,.tenant-card strong,.ui-notice button,b,strong{font-weight:600}.detail-item b,.hero-card p,.log-row p,.login-copy p,.login-stats span,.muted,.panel p,.topbar p{font-weight:400}.mark{font-weight:700}.login-copy h1{line-height:1.08}.kpi strong,.map-card strong,.report-score span{letter-spacing:0}.nav-group{display:grid;grid-gap:5px;gap:5px;padding:8px 0;border-top:1px solid rgba(221,225,230,.7)}.nav-group:first-child{padding-top:0}.nav-group>span{padding:8px 12px 3px;color:#8A94A3;font-weight:600;text-transform:uppercase}.nav-alerts-item{padding:4px 8px 0;border-top:1px solid rgba(221,225,230,.7)}.nav-alerts-item button{width:100%;text-align:left;padding:9px 12px;border-radius:11px;font-size:13.5px;font-weight:600;color:var(--text);border:none;background:transparent;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .12s}.nav-alerts-item button.active,.nav-alerts-item button:hover{background:#EEF2F7}.nav-alerts-item button.has-open{color:#c2410c}.nav-alerts-item button.has-open.active{background:rgba(220,38,38,.07)}.nav-alerts-item button span{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;font-size:11px;font-weight:700;background:rgba(220,38,38,.12);color:#dc2626}.admin-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:0 0 18px;border-bottom:1px solid var(--border);margin-bottom:0}.admin-tabs button{padding:7px 14px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--muted);font-size:13px;cursor:pointer;transition:all .12s;white-space:nowrap}.admin-tabs button:hover{background:#F8FAFC;color:var(--text)}.admin-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.pill.healthy,.pill.protected{background:var(--accent-light);color:var(--accent)}.pill.critical,.pill.disconnected,.pill.stopped{background:rgba(163,58,58,.13);color:var(--red)}.pill.warning{background:rgba(149,91,24,.14);color:var(--orange)}.pill.unknown{background:#EEF2F7;color:var(--muted)}.replica-workspace{display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-gap:18px;gap:18px;align-items:start}.replica-side-panel{position:-webkit-sticky;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto}.replica-modal-backdrop{position:fixed;inset:0;z-index:70;background:rgba(15,23,42,.46);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:24px}.replica-modal{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:0 32px 80px rgba(15,23,42,.24);width:min(800px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden}.replica-modal-topbar{display:flex;justify-content:flex-end;padding:14px 18px 0;flex-shrink:0}.replica-modal-close{background:transparent;border:1px solid var(--border);border-radius:10px;padding:7px 13px;cursor:pointer;color:var(--muted);font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.replica-modal-close:hover{background:var(--bg);color:var(--text)}.replica-modal-body{overflow-y:auto;padding:0 24px 28px;flex:1 1}@media(max-width:600px){.replica-modal-backdrop{padding:10px}.replica-modal{border-radius:18px}}.infra-modal{width:min(680px,100%)}@media(max-width:1100px){.infra-workspace{grid-template-columns:1fr}.infra-detail{display:none}}.archive-notice{display:grid;grid-gap:3px;gap:3px;background:rgba(149,91,24,.09);border:1px solid rgba(149,91,24,.35);border-radius:14px;padding:12px 14px;margin:10px 0}.archive-notice b{font-size:13px;color:var(--orange)}.archive-notice span{font-size:12px;color:var(--text);line-height:1.4}.archive-notice small{color:var(--muted);font-size:11px}.archive-form{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--border);border-radius:16px;padding:14px;margin:10px 0;background:#f8fafc}.archive-form p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.archive-form label{display:grid;grid-gap:6px;gap:6px;font-size:12px;font-weight:700;color:var(--text)}.archive-form textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;font:inherit;font-size:13px;resize:vertical;background:#fff;color:var(--text)}.replica-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.replica-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;border:1px solid var(--border);background:#fff;border-radius:20px;padding:16px;display:grid;grid-gap:13px;gap:13px;cursor:pointer;color:var(--text);box-shadow:0 8px 22px rgba(43,47,54,.035);transition:transform .15s,border-color .15s,box-shadow .15s}.replica-card.selected,.replica-card:hover{transform:translateY(-2px);border-color:rgba(29,74,96,.38);box-shadow:0 14px 34px rgba(43,47,54,.08)}.replica-card.selected{box-shadow:inset 4px 0 0 var(--accent),0 14px 34px rgba(43,47,54,.08)}.replica-card.critical,.replica-card.disconnected,.replica-card.stopped{border-color:rgba(163,58,58,.32);background:linear-gradient(180deg,#fff,#fffafa)}.replica-card.syncing,.replica-card.warning{border-color:rgba(149,91,24,.28)}.replica-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.replica-card-head b{display:block;font-size:15px;line-height:1.25}.replica-card-head span:not(.badge){display:block;color:var(--muted);font-size:11px;margin-top:4px}.replica-route{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:8px;gap:8px;align-items:center;color:var(--muted);font-size:12px}.replica-route span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replica-route b{color:var(--primary)}.replica-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.replica-kpi-row div{border:1px solid var(--border);border-radius:13px;background:#fbfcfb;padding:9px;min-width:0}.replica-kpi-row span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.replica-kpi-row b{display:block;margin-top:3px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.replica-card p{min-height:36px;margin:0;color:var(--muted);font-size:12px;line-height:1.45}.replica-card-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;color:var(--muted)}.replica-card-foot b{color:var(--primary)}.infra-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:18px}.infra-stat{border:1px solid var(--border);border-radius:16px;background:#fff;padding:14px 16px;display:grid;grid-gap:3px;gap:3px}.infra-stat span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.infra-stat b{font-size:24px;font-weight:700;color:var(--primary)}.infra-stat.ok b{color:var(--accent)}.infra-stat.danger b{color:var(--red)}.infra-stat.warn b{color:var(--orange)}.infra-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.infra-search{flex:1 1;min-width:200px;background:white;border:1px solid var(--border);border-radius:14px;padding:13px 16px;outline:none;color:var(--text);box-shadow:0 8px 24px rgba(43,47,54,.03);font-size:14px}.infra-search:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(29,74,96,.1)}.infra-search::placeholder{color:var(--muted)}.os-filter-tabs{display:flex;gap:6px;flex-wrap:wrap}.os-tab{display:flex;align-items:center;gap:5px;padding:6px 13px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--ink);font-size:12px;font-weight:500;cursor:pointer;transition:all .14s;white-space:nowrap}.os-tab svg{opacity:.65;flex-shrink:0}.os-tab span{background:var(--border);color:var(--muted);border-radius:20px;padding:0 6px;font-size:11px;font-weight:600;line-height:18px;min-width:20px;text-align:center}.os-tab:hover{border-color:var(--primary);color:var(--primary)}.os-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.os-tab.active span{background:rgba(255,255,255,.25);color:#fff}.os-tab.active svg{opacity:.9}.line-chart-svg{height:162px;color:inherit;border:1px solid #eaecf0;display:block;width:100%}.line-chart-svg .grid{stroke:#e4e9ee;vector-effect:non-scaling-stroke}.line-chart-svg .axis{stroke:#cfd7df}.line-chart-svg .tick{stroke:#9aa7b4;stroke-width:1;vector-effect:non-scaling-stroke}.line-chart-svg path{shape-rendering:geometricPrecision}.line-chart-svg circle{stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.line-chart-ticks-shell{display:grid;grid-template-columns:42px minmax(0,1fr);grid-gap:8px;gap:8px;margin-top:5px}.line-chart-ticks{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}.line-chart-ticks span{min-width:0;text-align:center}.line-chart-ticks .first{text-align:left}.line-chart-ticks .last{text-align:right}.chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;padding:0 2px}.chart-legend span{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--muted)}.chart-legend i{display:inline-block;width:18px;height:3px;border-radius:2px;flex-shrink:0}.replica-history-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:#fbfcfb;margin-bottom:4px}.replica-history-head b{display:block;font-size:14px}.replica-history-head span:not(.badge){display:block;color:var(--muted);font-size:12px;margin-top:2px}.ghost.small.active{background:var(--primary-light);color:var(--primary);border-color:rgba(29,74,96,.25)}.vchart-tooltip{position:absolute;background:#fff;border:1px solid var(--border);border-radius:10px;padding:9px 12px;box-shadow:0 8px 28px rgba(43,47,54,.13);pointer-events:none;z-index:30;min-width:148px;max-width:210px}.vchart-tt-time{font-size:10px;font-weight:600;color:var(--muted);padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid var(--border);white-space:nowrap}.vchart-tt-row{display:flex;align-items:center;gap:6px;margin-top:5px}.vchart-tt-chip{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:2px solid transparent}.vchart-tt-label{flex:1 1;font-size:11px;color:var(--muted)}.vchart-tt-val{font-size:12px;font-weight:700;white-space:nowrap}.infra-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:18px;gap:18px;align-items:start}.infra-tree{display:grid;grid-gap:14px;gap:14px}.infra-detail{position:-webkit-sticky;position:sticky;top:24px;max-height:calc(100vh - 120px);overflow:auto;border:1px solid var(--border);border-radius:20px;background:#fff}.infra-detail-empty{display:flex;align-items:center;justify-content:center;min-height:240px;color:var(--muted);font-size:13px;padding:32px;text-align:center}.collector-tree{margin-bottom:20px}.collector-tree.observed-group .collector-head{background:#F7FAF8;border-color:rgba(26,107,84,.28)}.collector-head{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 16px;background:#F8FAFC;border:1px solid var(--border);border-radius:16px;margin-bottom:12px}.collector-head b{display:block}.collector-head span:not(.pill){display:block;color:var(--muted);font-size:12px;margin-top:3px}.infra-srv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.infra-srv-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;border:1px solid var(--border);background:#fff;border-radius:20px;padding:16px;display:grid;grid-gap:12px;gap:12px;cursor:pointer;color:var(--text);box-shadow:0 6px 18px rgba(43,47,54,.03);transition:transform .15s,border-color .15s,box-shadow .15s}.infra-srv-card.selected,.infra-srv-card:hover{transform:translateY(-2px);border-color:rgba(29,74,96,.38);box-shadow:0 14px 34px rgba(43,47,54,.08)}.infra-srv-card.selected{box-shadow:inset 4px 0 0 var(--accent),0 14px 34px rgba(43,47,54,.08)}.infra-srv-card.offline{border-color:rgba(163,58,58,.28);background:linear-gradient(180deg,#fff,#fffafa)}.infra-srv-card.offline.selected{box-shadow:inset 4px 0 0 var(--red),0 14px 34px rgba(43,47,54,.08)}.infra-srv-card.observed{border-style:dashed;background:linear-gradient(180deg,#fff,#f8fbfa)}.infra-srv-card.observed.selected{box-shadow:inset 4px 0 0 var(--primary),0 14px 34px rgba(43,47,54,.08)}.badge.observed,.pill.observed{background:var(--primary-light);color:var(--primary)}.infra-srv-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.infra-srv-card-head b{display:block;font-size:14px;line-height:1.25;color:var(--primary)}.infra-srv-card-head span:not(.badge){display:block;color:var(--muted);font-size:11px;margin-top:4px}.infra-srv-card-kpi{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.infra-srv-card-kpi>div{display:flex;flex-direction:column;gap:2px}.infra-srv-card-kpi span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.infra-srv-card-kpi b{font-size:16px;font-weight:700}.infra-srv-card-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;color:var(--muted)}.infra-srv-card-foot b{color:var(--primary)}.server-detail{padding:20px 22px;display:grid;grid-gap:20px;gap:20px}.server-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.server-detail-head h3{margin:0;font-size:16px;line-height:1.3}.server-detail-head>div>span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.observed-notice{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;border:1px solid rgba(29,74,96,.24);background:var(--primary-light);border-radius:12px}.observed-notice b{font-size:13px;color:var(--primary)}.observed-notice span{font-size:12px;line-height:1.45;color:var(--text)}.endpoint-note{margin:10px 0 0;padding:9px 10px;border:1px solid rgba(29,74,96,.22);border-radius:10px;background:var(--primary-light);color:var(--primary);font-size:12px;line-height:1.4}.server-detail-meta{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;background:#F8FAFC;border-radius:12px;border:1px solid var(--border)}.server-detail-section{display:grid;grid-gap:8px;gap:8px}.server-detail-section h4{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.detail-disk-row{display:grid;grid-gap:5px;gap:5px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#FBFCFD}.detail-disk-row.disk-warn{border-color:rgba(149,91,24,.35);background:rgba(149,91,24,.04)}.detail-disk-row.disk-critical{border-color:rgba(163,58,58,.4);background:rgba(163,58,58,.05)}.detail-disk-label{display:flex;justify-content:space-between;align-items:center;font-size:13px}.detail-disk-label b{font-weight:700}.detail-disk-row small{color:var(--muted);font-size:11px}.linux-disk-tree{display:grid;grid-gap:10px;gap:10px}.linux-device{border:1px solid var(--border);border-radius:14px;background:#FBFCFD;padding:10px 12px;display:grid;grid-gap:8px;gap:8px}.linux-disk-inventory{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;font-size:12px}.linux-disk-inventory b{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:600;color:var(--text);word-break:break-word}.linux-disk-inventory span{font-size:11px;color:var(--muted);text-align:right}.linux-disk-inventory.level-1{padding-left:16px}.linux-mount-row{margin-left:32px;background:#fff}.linux-mount-row.standalone{margin-left:16px}.linux-tree-caption{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.detail-job-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#FBFCFD}.detail-job-row>div>b{display:block;font-size:13px}.detail-job-row>div>span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.severity-select{display:block;margin-top:6px;width:120px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);font-size:11px;padding:5px 7px}@media(max-width:1100px){.infra-workspace{grid-template-columns:1fr}.infra-detail{position:static;max-height:none}.infra-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:1450px){.replica-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.replica-workspace{grid-template-columns:minmax(0,1fr) 380px}.infra-srv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.replica-workspace{grid-template-columns:1fr}.replica-side-panel{position:static;max-height:none}.server-disk-row,.server-impact-row{grid-template-columns:1fr}.server-disk-row>b,.server-disk-row>small{text-align:left}}@media(max-width:760px){.infra-srv-grid,.replica-grid,.replica-kpi-row{grid-template-columns:1fr}}.stack{display:grid;grid-gap:18px;gap:18px}.grid-4{margin-bottom:18px}.grid-4,.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.kpi-grid,.mini-form{margin-bottom:14px}.mini-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mini-form select{background:white;border:1px solid var(--border);border-radius:10px;padding:8px 12px;color:var(--text);font:inherit;cursor:pointer}.hero-copy{flex:1 1;min-width:0}.job-detail{display:grid;grid-gap:14px;gap:14px}.panel.wide{grid-column:1/-1}@media(max-width:1100px){.grid-4,.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.grid-4,.kpi-grid{grid-template-columns:repeat(2,1fr)}}.hamburger{display:none;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:10px;padding:9px 13px;cursor:pointer;font-size:20px;line-height:1;color:var(--text);flex-shrink:0}.hamburger:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:99;cursor:pointer}@media(max-width:900px){.hamburger{display:inline-flex}.sidebar{display:block;position:fixed;top:0;left:0;bottom:0;width:290px;z-index:100;transform:translateX(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);box-shadow:6px 0 32px rgba(0,0,0,.18);overflow-y:auto}.sidebar.mobile-open{transform:translateX(0)}.content{padding:16px 18px 48px}.topbar h1{font-size:22px;letter-spacing:-.4px}.top-actions{gap:8px}.top-actions .button{display:none}}@media(max-width:600px){.kpis{grid-template-columns:repeat(2,1fr)}.detail-list,.grid-2,.grid-4,.kpi-grid,.operations-map{grid-template-columns:1fr}.hero-card{padding:20px}.hero-card h2{font-size:24px;letter-spacing:-.5px}.hero-card p{display:none}.kpi strong{font-size:26px}.kpi strong.compact,.topbar h1{font-size:18px}.brand-chip,.viewing-chip{display:none}.report-cover{padding:22px}.report-cover h2{font-size:24px}.score-card{min-width:120px}.ring{width:80px;height:80px}.ring span{width:56px;height:56px;font-size:18px}.toolbar input{font-size:14px}.top-actions .ghost{font-size:13px;padding:9px 12px}.panel{border-radius:16px;padding:16px}.replica-grid,.replica-workspace{grid-template-columns:1fr}}.login-success{background:rgba(26,107,84,.14);border:1px solid rgba(26,107,84,.28);color:var(--accent);padding:12px 14px;border-radius:14px;font-size:13px;font-weight:600}.login-link{justify-content:center;text-align:center}:root{--bg:#F5F5F7;--paper:#F5F5F7;--surface:#FFFFFF;--surface-2:#FAFAFC;--text:#1D1D1F;--ink:#1D1D1F;--muted:#6E6E73;--muted-2:#86868B;--primary:#1D4A60;--primary-dark:#143A4C;--primary-soft:#E9F0F3;--primary-light:rgba(29,74,96,.10);--accent:#1A6B54;--accent-light:#E8F4EE;--orange:#955B18;--red:#A33A3A;--border:#E8E8ED;--line:#E8E8ED;--shadow:0 14px 38px rgba(29,29,31,.055)}body,html{background:var(--paper)}body{color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;font-size:14px;letter-spacing:0}button,input,select,textarea{font-family:inherit}.linux-disk-inventory b,.mono,code,td code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.shell{grid-template-columns:258px minmax(0,1fr);background:var(--paper)}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:22px 18px;box-shadow:none}.content{padding:24px 34px 42px}.sidebar-brand-logo{height:36px;max-width:110px;object-fit:contain;border-radius:6px;flex-shrink:0}.brand.side-brand,.login-brand{display:flex;align-items:center;gap:12px}.brand.side-brand{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.brand b{font-size:15px;letter-spacing:0;color:var(--text)}.brand span{font-size:12px;color:var(--muted);letter-spacing:0}.velora-mark{position:relative;display:inline-block;flex:0 0 auto}.velora-mark span{position:absolute;display:block;border-radius:9px}.velora-mark-back{inset:3px 11px 11px 3px;border:2px solid var(--primary);background:transparent}.velora-mark-front{inset:11px 3px 3px 11px;background:var(--primary);box-shadow:0 8px 18px rgba(29,74,96,.18)}.login-brand .velora-mark-back{border-color:rgba(255,255,255,.78)}.login-brand .velora-mark-front{background:#fff;box-shadow:none}.login-brand b{color:#fff}.login-brand span,.login-visual .eyebrow{color:rgba(255,255,255,.72)!important}.tenant-card.session-card{background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:18px;box-shadow:none}.tenant-card.session-card:after{display:none}.tenant-card.session-card>span{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.session-user{display:flex;gap:10px;align-items:center;margin:9px 0 7px;min-width:0}.session-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;background:var(--primary);font-weight:700}.tenant-card.session-card strong{margin:0;color:var(--text);font-size:13px}.tenant-card.session-card small{color:var(--muted);font-size:11px;word-break:break-word}nav{gap:2px}.nav-group{gap:2px;padding:10px 0;border-top:1px solid var(--line)}.nav-group:first-child{border-top:0}.nav-group>span{padding:9px 10px 5px;color:var(--muted-2);font-size:10px;font-weight:700;letter-spacing:.08em}.nav-alerts-item{padding:8px 0;border-top:1px solid var(--line)}.nav-alerts-item .nav-item,nav .nav-item{position:relative;width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;grid-gap:9px;gap:9px;min-height:38px;padding:9px 10px;border-radius:9px;border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:background .14s,color .14s}.nav-alerts-item .nav-item:hover,nav .nav-item:hover{background:#F2F4F5;color:var(--text)}.nav-alerts-item .nav-item.active,nav .nav-item.active{background:var(--primary-light);color:var(--primary)}.nav-alerts-item .nav-item.active:before,nav .nav-item.active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:999px;background:var(--primary)}.nav-icon{width:18px;height:18px;color:currentColor}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent!important;border:0!important;padding:0!important;color:inherit!important;font-size:inherit!important}.nav-count{min-width:22px;height:20px;display:inline-flex!important;align-items:center;justify-content:center;padding:0 7px!important;border-radius:999px!important;border:1px solid var(--line)!important;background:#fff!important;color:var(--muted)!important;font-size:11px!important;font-weight:700!important}.nav-item.has-open{color:var(--red)}.nav-item.has-open .nav-count{background:rgba(163,58,58,.09)!important;color:var(--red)!important;border-color:rgba(163,58,58,.18)!important}.topbar{margin:-24px -34px 22px;padding:21px 34px 18px;background:rgba(245,245,247,.86);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar h1{font-size:23px;font-weight:650;letter-spacing:0;color:var(--text)}.topbar p{font-size:12px;color:var(--muted)}.top-actions{align-items:center;flex-wrap:wrap}.chart-toolbar select,.inline-filters select,.mini-form select,.refresh-control select,.severity-select,.tenant-select{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:9px;box-shadow:none}.brand-chip,.build-chip,.viewing-chip{border:1px solid var(--line);background:#fff;color:var(--muted);box-shadow:none;border-radius:999px;font-weight:600}.brand-chip{border-left:4px solid var(--brand-color)}.build-chip{padding:8px 10px;font-size:11px;text-align:center;margin-top:auto}.button,.danger-button,.ghost,.logout{min-height:36px;border-radius:9px;padding:9px 13px;font-weight:650;box-shadow:none;transition:background .14s,color .14s,border-color .14s}.button{background:var(--primary);border-color:var(--primary);color:#fff}.button.secondary{background:var(--accent);border-color:var(--accent)}.ghost,.logout{background:#fff;color:var(--primary);border-color:var(--line)}.button:hover,.ghost:hover{transform:none}.ghost:hover,.logout:hover{background:var(--primary-light);border-color:rgba(29,74,96,.2);color:var(--primary)}.hero-card,.report-cover{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.hero-card:after{display:none}.hero-card h2,.report-cover h2{font-size:31px;letter-spacing:0}.eyebrow{color:var(--primary)!important;font-size:11px;letter-spacing:.09em;font-weight:700}.branding-preview,.detail-disk-row,.detail-item,.detail-job-row,.disk-card,.endpoint-card,.infra-srv-card,.infra-stat,.kpi,.license-card,.map-card,.mini-row,.panel,.replica-card,.score-card,.server-card{background:#fff;border-color:var(--line);box-shadow:0 8px 22px rgba(29,29,31,.035)}.panel{border-radius:18px;padding:20px}.detail-item,.disk-card,.endpoint-card,.kpi,.license-card,.map-card,.mini-row,.server-card{border-radius:14px}.infra-srv-card,.replica-card{border-radius:16px}.panel h3{font-size:18px;letter-spacing:0}.admin-form label,.detail-item span,.endpoint-card>span,.kpi span,.map-card span{color:var(--muted);letter-spacing:.06em;font-weight:700}.kpi strong,.map-card strong{letter-spacing:0;color:var(--text)}.score-card{border-radius:18px}.ring{background:conic-gradient(var(--accent) var(--score),#E8E8ED 0)}.admin-form input,.admin-form select,.admin-form textarea,.archive-form textarea,.infra-search,.login-box input,.toolbar input{border-color:var(--line);background:#fff;border-radius:10px;box-shadow:none}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.infra-search:focus,.login-box input:focus,.toolbar input:focus{border-color:rgba(29,74,96,.45);box-shadow:0 0 0 4px rgba(29,74,96,.09)}.table-wrap{border:1px solid var(--line);border-radius:12px}.table-wrap,table{background:#fff}th{background:#FAFAFC;color:var(--muted);font-size:10px;letter-spacing:.08em}td,th{border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}.clickable.selected,.clickable:hover{background:#FAFAFC}.selected td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.badge,.pill{border-radius:999px;font-weight:700;letter-spacing:0}.badge.protected,.ok-pill,.pill.healthy,.pill.ok,.pill.protected{background:var(--accent-light);color:var(--accent)}.badge.observed,.badge.syncing,.pill.observed{background:var(--primary-light);color:var(--primary)}.badge.warning,.pill.warning{background:rgba(149,91,24,.1);color:var(--orange)}.badge.critical,.badge.disconnected,.badge.stopped,.danger-pill,.pill.critical,.pill.disconnected,.pill.stopped{background:rgba(163,58,58,.1);color:var(--red)}.badge.unknown,.pill.unknown{background:#F0F0F2;color:var(--muted)}.ok,.ok-text{color:var(--accent)}.warn{color:var(--orange)}.danger,.danger-text{color:var(--red)}.progress>div{background:var(--primary)}.mini-chart,.transfer-chart{background:#fff;border-color:var(--line);border-radius:12px}.line-chart-svg{background:#fff;border-color:#eaecf0;border-radius:10px}.line-chart-svg,.mini-chart svg{background:#fff}.line-chart-svg .grid{stroke:#ECECEF;stroke-width:1}.line-chart-svg .axis,.line-chart-svg .tick{stroke:#A9ADB3}.chart-head span,.chart-x,.chart-y,.line-chart-ticks{color:var(--muted)}.infra-srv-card.offline,.replica-card.critical,.replica-card.disconnected,.replica-card.stopped{background:#fff;border-color:rgba(163,58,58,.26)}.replica-card.syncing,.replica-card.warning{border-color:rgba(149,91,24,.24)}.infra-srv-card.selected,.infra-srv-card:hover,.map-card:hover,.replica-card.selected,.replica-card:hover{transform:none;border-color:rgba(29,74,96,.32);box-shadow:0 12px 28px rgba(29,29,31,.07)}.infra-srv-card.selected,.replica-card.selected{box-shadow:inset 3px 0 0 var(--primary),0 12px 28px rgba(29,29,31,.07)}.login-shell{background:var(--paper);grid-template-columns:1fr .86fr}.login-visual{background:var(--primary);color:#fff;padding:58px 64px}.login-visual:after,.login-visual:before{display:none}.login-copy h1{font-size:50px;letter-spacing:0}.login-copy p{color:rgba(255,255,255,.76)}.login-stats div{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);border-radius:14px}.login-panel{background:var(--paper)}.login-box{border-radius:18px;border-color:var(--line);box-shadow:0 18px 46px rgba(29,29,31,.08)}.login-box h2{letter-spacing:0}.loading-screen{background:var(--paper);color:var(--primary)}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{width:286px}.content{padding:18px}.topbar{margin:-18px -18px 18px;padding:16px 18px}.login-shell{grid-template-columns:1fr}}@media(max-width:600px){.topbar{position:static}.hero-card h2,.report-cover h2{font-size:24px}.panel{border-radius:14px;padding:16px}.nav-group>span{padding-left:10px}}.portal-shell{min-height:100vh;background:#f2f5f8;font-family:inherit}.portal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;color:#fff;gap:16px;flex-wrap:wrap}.portal-header-brand{display:flex;align-items:center;gap:12px}.portal-header-brand b{display:block;font-size:1.05rem;font-weight:700}.portal-header-brand span{display:block;font-size:.75rem;opacity:.75}.portal-logo{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem;color:#fff;flex-shrink:0}.portal-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.portal-report-btn{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:7px 14px;font-size:.82rem;font-weight:600;text-decoration:none;cursor:pointer}.portal-report-btn:hover{background:rgba(255,255,255,.25)}.portal-full-btn{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:7px 14px;font-size:.82rem;font-weight:600;text-decoration:none}.portal-logout-btn{background:transparent;color:rgba(255,255,255,.65);border:none;cursor:pointer;font-size:.8rem;padding:7px 10px}.portal-main{max-width:1200px;margin:0 auto;padding:28px 24px 48px}.portal-score-row{display:grid;grid-template-columns:auto 1fr;grid-gap:20px;gap:20px;margin-bottom:24px;align-items:stretch}.portal-score-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px 28px;display:flex;align-items:center;gap:20px;box-shadow:0 4px 16px rgba(0,0,0,.05)}.portal-score-meta h2{margin:0 0 6px;font-size:1.1rem;font-weight:700}.portal-score-meta p{margin:2px 0;font-size:.85rem;color:var(--muted)}.portal-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.portal-kpi{background:#fff;border:1px solid var(--border);border-radius:20px;padding:18px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.04)}.portal-kpi span{font-size:2.2rem;font-weight:800;line-height:1;color:var(--primary)}.portal-kpi b{font-size:.75rem;font-weight:600;color:var(--muted);margin-top:6px;text-align:center}.portal-kpi.ok span{color:var(--accent)}.portal-kpi.warn span{color:var(--orange)}.portal-kpi.danger span{color:var(--red)}.portal-section{margin-bottom:24px}.portal-section-title{font-size:1rem;font-weight:700;margin:0 0 12px;color:var(--text)}.portal-replica-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px}.portal-replica-card{background:#fff;border-left:1px solid var(--border);border-radius:16px;padding:14px 16px;border:1px solid var(--border);border-left-width:4px}.portal-replica-card.healthy,.portal-replica-card.ok,.portal-replica-card.protected{border-left-color:var(--accent)}.portal-replica-card.warning{border-left-color:var(--orange)}.portal-replica-card.critical,.portal-replica-card.disconnected,.portal-replica-card.stopped{border-left-color:var(--red)}.portal-replica-name{font-weight:700;font-size:.92rem;margin-bottom:3px}.portal-replica-meta,.portal-replica-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-replica-meta{font-size:.75rem;color:var(--muted);margin-bottom:8px}.portal-replica-rpo{font-size:.75rem;color:var(--muted);margin-top:6px}.portal-incident-list{display:grid;grid-gap:10px;gap:10px}.portal-incident{background:#fff;border:1px solid var(--border);border-left:4px solid var(--orange);border-radius:14px;padding:12px 14px;display:flex;align-items:flex-start;gap:12px}.portal-incident.critical{border-left-color:var(--red)}.portal-incident div{flex:1 1;min-width:0}.portal-incident b{display:block;font-size:.88rem}.portal-incident small{display:block;font-size:.75rem;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-footer{text-align:center;color:var(--muted);font-size:.78rem;padding:20px 0 4px;border-top:1px solid var(--border);margin-top:16px}.portal-topbar-btn{font-size:.78rem;font-weight:600;padding:6px 12px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--primary);cursor:pointer;text-decoration:none}.portal-topbar-btn:hover{background:var(--primary-light)}.report-compare-toggle{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--text);cursor:pointer;white-space:nowrap}.report-compare-toggle input{accent-color:var(--primary);width:14px;height:14px;cursor:pointer}.incident-comments-wrap{padding:4px 16px 8px}.incident-comments-toggle{font-size:.75rem;color:var(--muted);background:none;border:none;cursor:pointer;padding:4px 0}.incident-comments{margin-top:8px;display:flex;flex-direction:column;gap:8px}.incident-comment{background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px 12px}.comment-author{font-size:.75rem;font-weight:700;color:var(--primary)}.comment-time{font-size:.72rem;color:var(--muted);margin-left:8px}.comment-body{font-size:.82rem;color:var(--text);margin:4px 0 0}.comment-form{display:flex;gap:8px;align-items:flex-end;margin-top:4px}.comment-form textarea{flex:1 1;font-size:.82rem;border:1px solid var(--border);border-radius:8px;padding:6px 10px;resize:vertical;font-family:inherit}.share-link-box{display:flex;gap:8px;align-items:center;margin-top:8px}.share-link-box input{flex:1 1;font-size:.8rem;border:1px solid var(--border);border-radius:8px;padding:6px 10px;background:var(--bg)}.maint-badge{display:inline-flex;align-items:center;gap:5px;background:#fff8e1;border:1px solid #f0c040;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700;color:#7a5c00}.service-group{margin-bottom:24px}.service-group-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:10px 14px;background:#fff;border:1px solid var(--border);border-radius:14px}.service-group-name{font-weight:700;font-size:.95rem;flex:1 1}.service-group-kpis{display:flex;gap:8px}@media(max-width:900px){.portal-score-row{grid-template-columns:1fr}.portal-kpi-grid{grid-template-columns:repeat(2,1fr)}.portal-header{padding:14px 16px}}.portal-login-brand{display:flex;align-items:center;gap:14px;padding:18px 28px;border-radius:14px 14px 0 0}.portal-login-brand .portal-logo{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:#fff;flex-shrink:0}.portal-login-logo{height:40px;max-width:120px;object-fit:contain;border-radius:6px}.login-panel:has(.portal-login-brand){padding:0;overflow:hidden}.login-panel .portal-login-brand+form.login-box,.login-panel .portal-login-brand~form.login-box{border-radius:0 0 14px 14px}