@font-face{font-family:Geist;src:url(/fonts/geist-sans/Geist-Regular.woff2) format("woff2");font-style:normal;font-weight:400}@font-face{font-family:Geist;src:url(/fonts/geist-sans/Geist-Medium.woff2) format("woff2");font-style:normal;font-weight:500}@font-face{font-family:Geist;src:url(/fonts/geist-sans/Geist-SemiBold.woff2) format("woff2");font-style:normal;font-weight:600}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono/GeistMono-Regular.woff2) format("woff2");font-style:normal;font-weight:400}:root{--bg: #08111f;--bg-elevated: rgba(10, 20, 34, .88);--bg-soft: rgba(16, 28, 49, .9);--surface: rgba(19, 32, 57, .92);--surface-strong: rgba(26, 39, 70, .96);--line: rgba(119, 143, 188, .18);--line-strong: rgba(129, 155, 222, .28);--text: #eef3ff;--text-dim: #96a8cf;--primary: #6e79ff;--primary-strong: #8a70ff;--accent: #3dc4ff;--success: #2ed19c;--warning: #f2b35b;--danger: #ff6b9d;--shadow: 0 30px 80px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);font-family:Geist,sans-serif;background:radial-gradient(circle at top left,rgba(110,121,255,.18),transparent 28%),radial-gradient(circle at top right,rgba(61,196,255,.16),transparent 22%),linear-gradient(180deg,#09111d,#060d18)}button,input{font:inherit}.login-screen{min-height:100vh;display:grid;place-items:center;padding:2rem}.login-card{width:min(560px,100%);padding:2rem;border-radius:28px;background:linear-gradient(180deg,#132039f2,#0b1423f5);border:1px solid var(--line);box-shadow:var(--shadow)}.login-card__badge,.panel__eyebrow,.topbar__eyebrow,.brand-block__eyebrow{margin:0 0 .5rem;color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}.login-form{display:grid;gap:1rem;margin-top:1.5rem}.login-form label{display:grid;gap:.45rem;color:var(--text-dim)}.login-form input{border:1px solid var(--line);background:#080f1cc7;color:var(--text);border-radius:14px;padding:.85rem .95rem}.user-create-form{display:grid;grid-template-columns:minmax(220px,280px) minmax(240px,320px) 1fr;gap:.9rem;align-items:end;margin-bottom:1rem;padding:1rem;border:1px solid var(--line);border-radius:18px;background:#ffffff06}.user-create-form label{display:grid;gap:.45rem;color:var(--text-dim)}.user-create-form input{border:1px solid var(--line);background:#080f1cc7;color:var(--text);border-radius:14px;padding:.85rem .95rem}.user-create-form__actions{display:grid;gap:.5rem}.user-create-form__error{color:#ffd4e2;font-size:.84rem}.login-form button,.button{border:0;border-radius:14px;padding:.85rem 1.05rem;background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff;cursor:pointer;box-shadow:0 10px 25px #6e79ff47}.button--ghost{background:#15223be6;border:1px solid var(--line-strong);box-shadow:none}.shell{min-height:100vh;display:block}.shell__sidebar{position:fixed;top:0;left:0;bottom:0;width:300px;overflow-y:auto;padding:1.75rem;border-right:1px solid var(--line);background:linear-gradient(180deg,#0a1221fa,#070e1afa),linear-gradient(180deg,rgba(110,121,255,.1),transparent 40%)}.brand-block{display:flex;gap:1rem;align-items:center;padding-bottom:1.5rem}.brand-block__logo{width:3rem;height:3rem;border-radius:18px;display:grid;place-items:center;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--accent))}.brand-block__title,.topbar__title,.panel__title{margin:0}.nav-rail{display:grid;gap:.65rem}.nav-rail__item{display:grid;gap:.25rem;padding:.9rem 1rem;color:var(--text);text-decoration:none;border-radius:18px;border:1px solid transparent;background:transparent;transition:.16s ease}.nav-rail__item:hover,.nav-rail__item--active{background:#6e79ff1f;border-color:#6e79ff33}.nav-rail__caption,.health-row__detail,.stat-card__hint,.metric-card__label,.settings-item p,.code-card,.topbar__chip{color:var(--text-dim)}.shell__content{margin-left:300px;padding:1.5rem 1.75rem 2rem}.topbar{display:flex;justify-content:space-between;align-items:end;gap:1rem}.topbar__meta,.button-row{display:flex;gap:.75rem;flex-wrap:wrap}.topbar__meta{align-items:center;justify-content:flex-end}.topbar__chip{display:inline-grid;place-items:center;padding:.5rem .75rem;border-radius:999px;border:1px solid var(--line);background:#132039bd;text-align:center}.topbar__chip--time{min-width:4.5rem;font-family:Geist Mono,monospace}.shell__page{margin-top:1.5rem}.backend-alert{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:1rem;align-items:center;margin-top:1.25rem;padding:1rem 1.1rem;border:1px solid rgba(242,179,91,.36);border-radius:18px;background:linear-gradient(135deg,#f2b35b2e,#ff6b9d14),#111726eb;box-shadow:0 18px 45px #0000003d}.backend-alert__eyebrow{margin:0 0 .35rem;color:#ffe4be;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.backend-alert__title,.backend-alert__detail{margin:0}.backend-alert__title{font-weight:600}.backend-alert__detail{color:#ffe7c7;line-height:1.55}.page-grid{display:grid;gap:1.1rem}.stat-grid,.card-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.panel,.stat-card,.metric-card{border:1px solid var(--line);background:linear-gradient(180deg,var(--surface),rgba(10,19,34,.96));border-radius:24px;box-shadow:var(--shadow)}.panel{overflow:hidden}.panel__header{display:flex;justify-content:space-between;align-items:start;gap:1rem;padding:1.15rem 1.2rem 0}.panel__body{padding:1.2rem}.panel-summary{color:var(--text-dim);font-size:.82rem}.stat-card{padding:1.1rem}.stat-card__top,.metric-card__header,.health-row,.metric-card__stats{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.stat-card__label,.health-row__label{margin:0 0 .4rem;color:var(--text-dim)}.stat-card__value{margin:.1rem 0 .6rem;font-size:2rem}.stat-card__bottom{display:grid;gap:.3rem}.stat-card__delta{color:var(--accent)}.status-badge{display:inline-flex;align-items:center;padding:.4rem .68rem;border-radius:999px;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;border:1px solid transparent}.status-badge--healthy{color:#d8fff1;background:#2ed19c1f;border-color:#2ed19c38}.status-badge--warning{color:#ffe4be;background:#f2b35b1f;border-color:#f2b35b33}.status-badge--critical{color:#ffd5e4;background:#ff6b9d24;border-color:#ff6b9d3d}.status-badge--draft,.status-badge--offline{color:#d2daf6;background:#94a5d41a;border-color:#94a5d42e}.dual-chart{display:grid;gap:.9rem}.dual-chart__legend{display:flex;gap:1rem;flex-wrap:wrap;color:var(--text-dim);font-size:.82rem}.dual-chart__legend-item{display:inline-flex;align-items:center;gap:.45rem}.dual-chart__legend-swatch{width:1.1rem;height:.35rem;border-radius:999px}.dual-chart__legend-swatch--primary{background:var(--accent)}.dual-chart__legend-swatch--secondary{background:var(--warning)}.dual-chart__frame{display:grid;grid-template-columns:54px 1fr 54px;gap:.8rem;align-items:stretch}.dual-chart__axis{display:grid;grid-template-rows:repeat(3,1fr);height:100%;color:var(--text-dim);font-family:Geist Mono,monospace;font-size:.72rem}.dual-chart__axis span{display:flex;align-items:center}.dual-chart__axis span:first-child{align-items:flex-start}.dual-chart__axis--left span{justify-content:flex-start}.dual-chart__axis--right span{justify-content:flex-end}.dual-chart__axis--left span:nth-child(2){justify-content:flex-start}.dual-chart__axis--right span:nth-child(2){justify-content:flex-end}.dual-chart__axis span:last-child{align-items:end}.dual-chart__plot{position:relative;min-height:240px;padding:.4rem 0;border-radius:22px;background:linear-gradient(180deg,#ffffff06,#ffffff03);border:1px solid rgba(129,155,222,.14);overflow:visible}.dual-chart__svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.dual-chart__grid-line{stroke:#819bde29;stroke-width:.45;vector-effect:non-scaling-stroke}.dual-chart__line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3;filter:none;vector-effect:non-scaling-stroke}.dual-chart__line--primary{stroke:var(--accent);opacity:.95}.dual-chart__line--secondary{stroke:var(--warning);opacity:.9}.dual-chart__targets{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(24,minmax(0,1fr))}.dual-chart__target{position:relative;border:0;background:transparent;cursor:crosshair}.dual-chart__target:after{content:"";position:absolute;top:.5rem;bottom:.5rem;left:50%;width:1px;background:#ffffff14;opacity:0;transform:translate(-50%);transition:opacity .14s ease}.dual-chart__target:hover:after,.dual-chart__target:focus-visible:after{opacity:1}.dual-chart__target:focus-visible{outline:none}.dual-chart__tooltip{position:absolute;left:50%;top:.9rem;transform:translate(-50%,.25rem);z-index:2;display:grid;gap:.15rem;min-width:108px;padding:.6rem .7rem;border-radius:12px;background:#040810f5;border:1px solid rgba(129,155,222,.24);color:var(--text);font-size:.72rem;pointer-events:none;opacity:0;transition:opacity .14s ease,transform .14s ease}.dual-chart__tooltip strong{display:block;text-align:center}.dual-chart__target:hover .dual-chart__tooltip,.dual-chart__target:focus-visible .dual-chart__tooltip{opacity:1;transform:translate(-50%)}.dual-chart__x-axis{position:relative;height:1rem;color:var(--text-dim);font-family:Geist Mono,monospace;font-size:.72rem}.dual-chart__x-axis-frame{display:grid;grid-template-columns:54px 1fr 54px;gap:.8rem}.dual-chart__x-axis-marker{position:absolute;top:0;white-space:nowrap}.dual-chart__x-axis-marker--start{transform:translate(0)}.dual-chart__x-axis-marker--center{transform:translate(-50%)}.dual-chart__x-axis-marker--end{transform:translate(-100%)}.stack-list{display:grid;gap:.85rem}.health-row{align-items:center;padding:.95rem 1rem;border-radius:18px;background:#ffffff06;border:1px solid var(--line)}.health-row__meta{display:grid;justify-items:end;gap:.4rem;color:var(--text-dim)}.data-table{overflow:auto}.data-table table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:.9rem .8rem;border-bottom:1px solid rgba(119,143,188,.1)}.data-table th{color:var(--text-dim);font-weight:500}.integration-cell,.status-cell{display:grid;gap:.3rem}.integration-cell strong,.status-cell span{color:var(--text)}.integration-cell span{color:var(--text-dim);font-size:.82rem}.status-cell{justify-items:start}.metric-card{padding:1.1rem}.metric-card h3{margin:.1rem 0 .3rem}.metric-card__stats{margin-top:1rem;color:var(--text-dim)}.code-card{padding:1rem;border-radius:18px;background:#070e1cc7;border:1px solid var(--line);font-family:Geist Mono,monospace;line-height:1.7}.empty-state{display:grid;gap:.4rem;padding:1rem;border-radius:18px;border:1px dashed var(--line-strong);background:#ffffff06;color:var(--text-dim)}.empty-state strong{color:var(--text)}.settings-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.settings-item{padding:1rem;border-radius:18px;background:#ffffff08;border:1px solid var(--line)}.explorer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.explorer-card{height:60rem;display:grid;grid-template-rows:auto auto 1fr;gap:.9rem;padding:1rem;border-radius:22px;border:1px solid var(--line);background:#ffffff06}.explorer-card__header,.explorer-toolbar,.explorer-toolbar__row,.explorer-card__actions,.modal-card__actions,.explorer-breadcrumbs{display:flex;gap:.6rem;flex-wrap:wrap}.explorer-card__header{justify-content:space-between;align-items:center}.explorer-card__header h3{margin:0;color:var(--accent)}.explorer-toolbar{flex-direction:column}.explorer-toolbar__row--filters input{flex:1 1 auto;min-width:0}.explorer-toolbar__row--actions{flex-wrap:nowrap;width:100%}.explorer-toolbar__row--actions .button{flex:1 1 0;min-width:0;white-space:nowrap;padding-inline:.65rem;font-size:.86rem}.explorer-toolbar input,.explorer-toolbar select,.modal-card input,.text-editor{width:100%;border:1px solid var(--line);background:#080f1cc7;color:var(--text);border-radius:14px;padding:.75rem .9rem}.explorer-breadcrumbs__item{border:0;background:#6e79ff1f;color:var(--text);border-radius:999px;padding:.35rem .7rem;cursor:pointer}.explorer-table{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;min-height:0}.explorer-table__header,.explorer-row{display:grid;grid-template-columns:var(--explorer-columns, 360px 90px 130px 72px);gap:.8rem;align-items:center;padding:.8rem .9rem}.explorer-table__header{background:#ffffff08;color:var(--text-dim);font-size:.82rem}.explorer-table__header-cell{position:relative;min-width:0}.explorer-table__sort{display:flex;align-items:center;justify-content:space-between;gap:.45rem;width:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.explorer-table__sort--active{color:var(--text)}.explorer-table__sort-indicator{flex:0 0 auto;width:.9rem;text-align:center}.explorer-table__resize-handle{position:absolute;top:-.35rem;right:-.55rem;width:.9rem;height:calc(100% + .7rem);padding:0;border:0;background:transparent;cursor:col-resize}.explorer-table__resize-handle:after{content:"";position:absolute;top:.2rem;bottom:.2rem;left:50%;width:1px;background:#819bde3d;transform:translate(-50%)}.explorer-table__resize-handle:hover:after{background:var(--accent)}.explorer-table__body{overflow:auto;min-height:0}.explorer-row{border-top:1px solid rgba(119,143,188,.1);cursor:pointer}.explorer-row:hover,.explorer-row--selected{background:#6e79ff1f}.explorer-row__name{display:flex;align-items:center;gap:.6rem;min-width:0}.explorer-row__name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu{position:fixed;z-index:30;display:grid;min-width:220px;padding:.35rem;border:1px solid var(--line-strong);border-radius:16px;background:#070e1cfa;box-shadow:var(--shadow)}.context-menu button,.context-menu a{border:0;background:transparent;color:var(--text);text-align:left;text-decoration:none;padding:.75rem .8rem;border-radius:12px;cursor:pointer}.context-menu button:hover,.context-menu a:hover{background:#6e79ff24}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:2rem;background:#01050cb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-card{width:min(540px,100%);display:grid;gap:1rem;padding:1.4rem;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,#132039f7,#0a121ffa)}.modal-card--wide{width:min(980px,100%)}.modal-card h3,.modal-card p{margin:0}.modal-card__actions{justify-content:flex-end}.modal-card__actions--stack{justify-content:stretch}.modal-card__actions--stack .button{width:100%}.text-editor{min-height:52vh;resize:vertical;font-family:Geist Mono,monospace}.deploy-output{display:grid;gap:.7rem;height:22rem;padding:.9rem;overflow:auto;border:1px solid var(--line);border-radius:18px;background:#ffffff06}.deploy-output pre{margin:0;padding:.9rem;overflow:auto;border-radius:16px;background:#060c18eb;color:var(--text-dim);font-family:Geist Mono,monospace;white-space:pre-wrap}@media (max-width: 1200px){.stat-grid,.card-grid,.explorer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-create-form{grid-template-columns:1fr 1fr}}@media (max-width: 960px){.shell{display:block}.shell__sidebar{position:static;width:auto;overflow:visible;border-right:0;border-bottom:1px solid var(--line)}.shell__content{margin-left:0}}@media (max-width: 720px){.topbar,.panel__header{flex-direction:column;align-items:stretch}.stat-grid,.card-grid,.settings-list,.explorer-grid,.backend-alert{grid-template-columns:1fr}.explorer-toolbar__row--actions{flex-wrap:wrap}.user-create-form{grid-template-columns:1fr}}
