.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--bg: #0e1116;--panel: #171c24;--panel-2: #1f2630;--border: #2a323d;--text: #e6edf3;--muted: #8b97a7;--accent: #4f9dff;--ok: #36c5a0;--warn: #f5a623;--crit: #e0556b;--radius: 10px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}h1{font-size:1.3rem;margin:0 0 1rem}h2{font-size:1.05rem;margin:1.5rem 0 .6rem}a{color:inherit;text-decoration:none}.muted{color:var(--muted)}button{cursor:pointer;font:inherit;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#061018;padding:.5rem .9rem}button:disabled{opacity:.5;cursor:default}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-ghost.danger{border-color:var(--crit);color:var(--crit)}input,select{font:inherit;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.5rem .6rem}.app-shell{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.brand{font-weight:700}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:.75rem}.user-email{color:var(--muted);font-size:.85rem}.burger{background:transparent;border:none;color:var(--text);font-size:1.3rem;padding:.2rem .4rem}.body{display:flex;flex:1;min-height:0}.drawer{background:var(--panel);border-right:1px solid var(--border);width:220px;flex-shrink:0}.content{flex:1;padding:1rem;overflow-y:auto}.sidebar ul{list-style:none;margin:0;padding:.5rem}.nav-item{display:block;padding:.6rem .8rem;border-radius:8px;color:var(--text)}.nav-item.active{background:var(--panel-2);color:var(--accent)}.nav-item.disabled{color:#4a5563;cursor:not-allowed}.scrim{display:none}@media(max-width:720px){.drawer{position:fixed;top:48px;bottom:0;left:0;transform:translate(-100%);transition:transform .2s ease;z-index:30}.drawer.open{transform:translate(0)}.scrim{display:block;position:fixed;top:48px;right:0;bottom:0;left:0;background:#00000080;z-index:25}.user-email{display:none}}@media(min-width:721px){.burger{display:none}}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.server-card{display:block;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.server-card:hover{border-color:var(--accent)}.card-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem}.card-title{font-weight:600}.env-badge{margin-left:auto;font-size:.7rem;text-transform:uppercase;background:var(--panel-2);padding:.15rem .5rem;border-radius:6px;color:var(--muted)}.status-dot{width:10px;height:10px;border-radius:50%}.status-dot.up{background:var(--ok)}.status-dot.down{background:var(--crit)}.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.metric{display:flex;flex-direction:column;background:var(--panel-2);border-radius:8px;padding:.5rem;text-align:center}.metric.ok{border-bottom:2px solid var(--ok)}.metric.warn{border-bottom:2px solid var(--warn)}.metric.crit{border-bottom:2px solid var(--crit)}.metric-label{font-size:.7rem;color:var(--muted)}.metric-value{font-weight:700;font-size:1.05rem}.offline{color:var(--crit);padding:.5rem 0}.alarms-row{margin-top:.7rem;display:flex;gap:.4rem;flex-wrap:wrap}.badge{font-size:.72rem;padding:.15rem .5rem;border-radius:6px;background:var(--panel-2);color:var(--muted)}.badge.ok{color:var(--ok)}.badge.warn,.badge.warning{color:var(--warn)}.badge.crit,.badge.critical{color:var(--crit)}.badge.info{color:var(--accent)}.page-head{display:flex;align-items:center;justify-content:space-between}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem}.stat{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.7rem;display:flex;flex-direction:column;gap:.2rem}.stat-label{font-size:.75rem;color:var(--muted)}.stat-value{font-weight:700}.range-picker{display:flex;gap:.4rem;margin-bottom:.8rem}.chip{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:.3rem .7rem}.chip.active{border-color:var(--accent);color:var(--accent)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.chart{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.5rem;min-height:220px}.chart.placeholder,.chart.empty{display:flex;align-items:center;justify-content:center;color:var(--muted)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px}table{width:100%;border-collapse:collapse;min-width:360px}th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--border);font-size:.9rem}th{color:var(--muted);font-weight:600}.filters,.form-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.rule-form{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.rule-form h2{margin-top:0}.log-list{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow-x:auto}.log-line{display:flex;gap:.6rem;padding:.3rem .6rem;border-bottom:1px solid var(--border);white-space:nowrap}.log-time{color:var(--muted)}.log-unit{color:var(--accent)}.log-line.prio-err,.log-line.prio-crit,.log-line.prio-emerg,.log-line.prio-alert{color:var(--crit)}.log-line.prio-warning{color:var(--warn)}.timeline{display:flex;flex-direction:column;gap:.4rem}.event{display:flex;align-items:center;gap:.6rem;background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:6px;padding:.5rem .7rem;flex-wrap:wrap}.event.raised{border-left-color:var(--crit)}.event.resolved{border-left-color:var(--ok)}.event-name{font-weight:600}.event-meta{color:var(--muted);font-size:.85rem}.event-time{margin-left:auto;color:var(--muted);font-size:.8rem}.role-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.role-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.loading,.empty{color:var(--muted);padding:1rem 0}.error-msg{color:var(--crit);background:#e0556b1a;border:1px solid var(--crit);border-radius:8px;padding:.5rem .7rem;margin:.5rem 0}.login-page{display:flex;align-items:center;justify-content:center;height:100%;padding:1rem}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;width:100%;max-width:360px;display:flex;flex-direction:column;gap:.8rem}.login-card h1{margin:0}.login-card label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}
