:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#e5e7eb;background:#030712;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;background:radial-gradient(circle at top,rgba(37,99,235,.18),transparent 35%),linear-gradient(180deg,#020617,#0f172a);color:#e5e7eb}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.page-status{min-height:100vh;display:grid;place-items:center;color:#cbd5e1}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,420px);padding:32px;border:1px solid rgba(148,163,184,.2);border-radius:20px;background:#0f172aeb;box-shadow:0 20px 60px #02061773}.eyebrow{margin:0 0 8px;color:#60a5fa;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}.auth-card__header h1{margin:0;font-size:1.85rem}.auth-card__subtitle{margin:12px 0 0;color:#94a3b8}.auth-form{display:grid;gap:16px;margin-top:24px}.field{display:grid;gap:8px}.field span{color:#cbd5e1;font-size:.95rem}.field input{width:100%;padding:12px 14px;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:#0f172ad9;color:#f8fafc}.field input:focus{outline:none;border-color:#60a5fabf;box-shadow:0 0 0 4px #60a5fa26}.primary-button,.secondary-button,.inline-button{border:none;border-radius:12px;transition:transform .15s ease,opacity .15s ease,background-color .15s ease}.primary-button{padding:12px 16px;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;font-weight:600}.secondary-button{padding:10px 14px;background:#94a3b824;color:#e2e8f0}.inline-button{padding:8px 12px;background:#60a5fa24;color:#bfdbfe}.primary-button:hover,.secondary-button:hover,.inline-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.inline-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-error,.card-error{padding:12px 14px;border:1px solid rgba(248,113,113,.3);border-radius:12px;background:#7f1d1d2e;color:#fecaca;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word}.app-shell{padding:24px;max-width:100%;box-sizing:border-box}.app-shell>main{margin-top:20px;display:flex;flex-direction:column;gap:20px;min-width:0}.app-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:26px 28px;border:1px solid rgba(148,163,184,.18);border-radius:24px;background:linear-gradient(165deg,rgba(30,41,59,.5) 0%,transparent 42%),linear-gradient(145deg,#0f172af7,#0f172ae0);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px #ffffff0f,0 4px 6px #00000014,0 18px 48px #02061759;flex-wrap:wrap;min-width:0}.app-header>div:first-child{min-width:0;flex:1 1 280px}.app-header h1{margin:0;font-size:2rem}.app-header__description{margin:12px 0 0;max-width:min(100%,900px);color:#94a3b8;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.app-header__actions{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex:1 1 320px;min-width:0;max-width:100%}.app-header__nav-cluster{width:100%;display:flex;justify-content:flex-end}.app-header__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 14px;width:100%}.app-header__meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:.88rem;color:#cbd5e1;text-align:right}.app-header__meta-line{line-height:1.35}.app-header__meta-line--muted{color:#94a3b8;font-size:.82rem}.app-header__logout{padding:9px 16px;border-radius:999px;font-size:.88rem;font-weight:500;border:1px solid rgba(148,163,184,.22);background:#1e293bb8;color:#e2e8f0;cursor:pointer;transition:transform .15s ease,opacity .15s ease,background-color .15s ease,border-color .15s ease}.app-header__logout:hover:not(:disabled){transform:translateY(-1px);background:#334155e6;border-color:#94a3b852}.app-header__logout:disabled{opacity:.6;cursor:not-allowed;transform:none}.app-header__logout:focus-visible{outline:none;box-shadow:0 0 0 2px #0f172a,0 0 0 4px #60a5fa66}.top-nav{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px;padding:5px;border-radius:16px;background:#0206178c;border:1px solid rgba(148,163,184,.14);box-shadow:inset 0 1px #ffffff0a}.top-nav__sep{width:1px;height:22px;margin:0 4px;align-self:center;flex-shrink:0;background:linear-gradient(180deg,transparent,rgba(148,163,184,.35) 20%,rgba(148,163,184,.35) 80%,transparent)}.top-nav__link{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:11px;font-size:.84rem;font-weight:500;letter-spacing:.01em;color:#cbd5e1;background:transparent;border:1px solid transparent;transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.top-nav__link:hover{color:#f8fafc;background:#94a3b81f;border-color:#94a3b81f}.top-nav__link:focus-visible{outline:none;box-shadow:0 0 0 2px #0f172a,0 0 0 4px #60a5fa73}.top-nav__link--active{color:#fff;background:linear-gradient(180deg,#3b82f659,#3b82f624);border-color:#60a5fa73;box-shadow:0 1px 2px #0003,inset 0 1px #ffffff1a}.top-nav__link--external{color:#a5b4fc}.top-nav__link--external:hover{color:#c7d2fe;background:#6366f126;border-color:#818cf840}.top-nav__link--external:after{content:"↗";display:inline-block;margin-left:5px;font-size:.72em;opacity:.75;transform:translateY(-.5px)}@media(max-width:900px){.app-header__nav-cluster,.top-nav{justify-content:flex-start}.app-header__actions{align-items:stretch}.app-header__toolbar{justify-content:space-between}.app-header__meta{align-items:flex-start;text-align:left}}.chart-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.chart-section.chart-section--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:720px){.chart-section,.chart-section.chart-section--cols-3{grid-template-columns:1fr}}.chart-card,.panel-card{border:1px solid rgba(148,163,184,.14);border-radius:20px;background:#0f172aeb;box-shadow:0 18px 48px #02061747;min-width:0;max-width:100%;box-sizing:border-box}.server-metric-gauge-card,.chart-card.server-metrics-chart{overflow:hidden}.chart-card{min-height:280px;padding:18px}.chart-card__header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;min-width:0}.chart-card__title{min-width:0;flex:1}.chart-card__title p{overflow-wrap:anywhere;word-break:break-word}.chart-card__header-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:0}.chart-range{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.chart-range__btn{padding:4px 9px;border-radius:999px;border:1px solid rgba(148,163,184,.22);background:#0f172aa6;color:#cbd5e1;font:inherit;font-size:.75rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.chart-range__btn:hover{border-color:#60a5fa59;color:#e2e8f0}.chart-range__btn--active{background:#3b82f638;border-color:#60a5fa73;color:#dbeafe;font-weight:600}.chart-card__meta{text-align:right;display:grid;gap:4px}.chart-card__meta-value{font-weight:700;color:#e2e8f0}.chart-card__meta-time{font-size:.85rem;color:#94a3b8}.chart-card__header h3,.panel-card__title-row h2,.data-block h3{margin:0}.chart-card__header p,.panel-card__subtitle{margin:6px 0 0;color:#94a3b8;overflow-wrap:anywhere;word-break:break-word}.chart-card__body{margin-top:16px;height:220px}.chart-card.server-metrics-chart .chart-card__body{height:auto;min-height:0}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;margin-top:20px}.ft-position-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.ft-position-tabs__btn{padding:5px 11px;border-radius:999px;border:1px solid rgba(148,163,184,.22);background:#0f172aa6;color:#cbd5e1;font:inherit;font-size:.8rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.ft-position-tabs__btn:hover{border-color:#60a5fa59;color:#e2e8f0}.ft-position-tabs__btn--active{background:#3b82f638;border-color:#60a5fa73;color:#dbeafe;font-weight:600}.ft-position-grid-wrap{margin-top:0}.ft-position-empty{margin:0;padding:8px 0;font-size:.85rem;color:#94a3b8;text-align:center}.ft-position-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;align-content:start}.ft-position-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:80px;padding:10px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.14);background:#0f172a8c;min-width:0;text-align:center}.ft-position-cell__sym{width:100%;font-size:1rem;font-weight:500;color:#e2e8f0;line-height:1.25;text-align:center;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word;overflow-wrap:anywhere}.ft-position-cell__pos{font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15}.ft-position-cell--long{border-color:#22c55e66;background:#22c55e17}.ft-position-cell--long .ft-position-cell__pos{color:#4ade80}.ft-position-cell--short{border-color:#f8717166;background:#f8717117}.ft-position-cell--short .ft-position-cell__pos{color:#f87171}.ft-position-cell--flat .ft-position-cell__pos{color:#e5e7eb}.panel-card{padding:20px}.panel-card__header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px;min-width:0}.panel-card__header>div:first-child{min-width:0;flex:1}.panel-card__timestamp{flex-shrink:0;margin-left:8px;color:#94a3b8;font-size:.85rem}.panel-card__title-row{display:flex;align-items:center;gap:10px}.panel-card__body{display:grid;gap:16px}.status-dot{width:10px;height:10px;border-radius:999px}.status-dot--online{background:#22c55e;box-shadow:0 0 0 6px #22c55e1f}.status-dot--offline{background:#ef4444;box-shadow:0 0 0 6px #ef44441f}.metric-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.metric-pill,.metric-item{padding:12px 14px;border-radius:16px;background:#1e293bb8;border:1px solid rgba(148,163,184,.12)}.metric-pill span,.metric-item span{display:block;color:#94a3b8;font-size:.82rem}.metric-pill strong,.metric-item strong{display:block;margin-top:4px;font-size:1rem}.metric-pill--accent,.metric-item--accent{background:linear-gradient(135deg,#2563eb38,#4f46e52e);border-color:#60a5fa47}.data-block{display:grid;gap:12px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.table-card{overflow:auto;max-height:70vh;border-radius:16px;border:1px solid rgba(148,163,184,.12)}.table-card--ft-unconstrained{max-height:none;overflow:visible}.table-card--page{margin-top:20px}table{width:100%;border-collapse:collapse;min-width:760px;font-size:1.2rem}th,td{padding:24px 27px;border-bottom:1px solid rgba(148,163,184,.1);border-right:1px solid rgba(148,163,184,.12);text-align:left}th:last-child,td:last-child{border-right:none}th{color:#93c5fd;background:#0f172af5;position:sticky;top:0;z-index:1;box-shadow:0 1px #94a3b81a}tbody tr:hover{background:#1e293b99}.number-cell{text-align:right}.text-positive{color:#4ade80}.text-negative{color:#f87171}.cell-flash-up{animation:cell-flash-up 2s ease-out}.cell-flash-down{animation:cell-flash-down 2s ease-out}@keyframes cell-flash-up{0%{background-color:#22c55e59;box-shadow:0 0 0 1px #22c55e66}to{background-color:transparent;box-shadow:none}}@keyframes cell-flash-down{0%{background-color:#f8717147;box-shadow:0 0 0 1px #f8717159}to{background-color:transparent;box-shadow:none}}.card-placeholder{height:100%;display:grid;place-items:center;color:#94a3b8}.card-placeholder--page{min-height:280px}.message-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.message-list__item{border:1px solid rgba(148,163,184,.14);border-radius:14px;background:#02061740;padding:12px 14px}.message-list__meta{color:#94a3b8;font-size:.85rem;margin-bottom:8px}.message-list__text{margin:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9rem;color:#e5e7eb}.loading-indicator{display:grid;gap:12px;justify-items:center}.spinner{width:34px;height:34px;border-radius:999px;border:3px solid rgba(148,163,184,.25);border-top-color:#60a5faf2;animation:spinner-rotate .9s linear infinite}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.server-metric-block{display:grid;gap:8px}.server-metric-block__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.server-metric-block__label{font-weight:600;color:#e2e8f0}.server-metric-block__pct{font-variant-numeric:tabular-nums;font-weight:700;color:#93c5fd;font-size:1.15rem}.server-metric-bar{height:10px;border-radius:999px;background:#1e293be6;overflow:hidden;border:1px solid rgba(148,163,184,.15)}.server-metric-bar__fill{height:100%;border-radius:inherit;transition:width .35s ease}.server-metric-bar__fill--low{background:linear-gradient(90deg,#22c55e,#4ade80)}.server-metric-bar__fill--mid{background:linear-gradient(90deg,#eab308,#facc15)}.server-metric-bar__fill--high{background:linear-gradient(90deg,#ef4444,#f87171)}.server-metric-block__detail{margin:0;font-size:.85rem;color:#94a3b8;line-height:1.45}.server-metric-empty{margin:0;font-size:.9rem;color:#94a3b8}.server-metrics-chart{margin-bottom:0}.server-metrics-chart__body{min-height:120px}.server-metrics-chart__body--split{min-height:unset;padding-bottom:4px}.server-metrics-charts-grid{display:grid;grid-template-columns:1fr;gap:20px}.server-metrics-chart-cell__title{margin:0 0 8px;font-size:.95rem;font-weight:600;color:#e2e8f0}.server-metrics-chart-cell__canvas{height:200px;position:relative;overflow:hidden;border-radius:12px;background:#0f172a59}.server-metrics-chart-cell__empty{min-height:160px;display:grid;place-items:center;font-size:.88rem}.server-gauges-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:0;align-items:stretch;min-width:0}.server-gauges-grid>*{min-width:0}@media(max-width:1100px){.server-gauges-grid{grid-template-columns:1fr}}.server-metric-gauge-card,.server-disk-gauge-card{margin-bottom:0}.server-disk-gauge{display:grid;gap:12px;justify-items:center}.server-disk-gauge__chart-wrap{position:relative;width:min(100%,360px);max-width:100%;height:190px;margin:0 auto;overflow:hidden;box-sizing:border-box}.server-disk-gauge__chart-wrap canvas{max-height:190px!important}.server-disk-gauge__center{position:absolute;left:50%;bottom:12%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none}.server-disk-gauge__value{font-size:1.85rem;font-weight:700;font-variant-numeric:tabular-nums;color:#e2e8f0;line-height:1.1}.server-disk-gauge__hint{font-size:.75rem;color:#94a3b8;letter-spacing:.04em}.server-disk-gauge__detail{margin:0;text-align:center;font-size:.88rem;color:#94a3b8;line-height:1.5;max-width:100%;width:100%;padding:0 2px;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word}.panel-card__body.server-disk-gauge{gap:12px}@media(max-width:900px){.app-shell{padding:16px}.app-header{grid-template-columns:1fr;display:grid;padding:18px}.app-header__actions,.app-header__meta{justify-items:start;text-align:left}.dashboard-grid{grid-template-columns:1fr}}
