.app-demo{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app-demo,.app-demo *{box-sizing:border-box}body.app-demo{margin:0}.app-shell{display:grid;grid-template-columns:320px 1fr;min-height:100vh}.app-rail{padding:1rem;display:flex;flex-direction:column;gap:1rem}.app-brand__tag{margin:0;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.app-brand__logo{width:92px;height:auto;display:block}.app-brand__row{display:flex;align-items:center;gap:.45rem}.app-brand h1{margin:.2rem 0 0;font-size:1.2rem}.app-brand p{margin:.2rem 0 0;font-size:.88rem;line-height:1.45}.app-nav{display:grid;gap:.4rem}.app-nav__btn{text-align:left;border:1px solid;padding:.5rem .55rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.app-nav__btn--rich{display:grid;gap:.16rem;min-height:76px;align-content:start}.app-nav__btn--rich .app-nav__icon{font-size:12px;line-height:1}.app-nav__btn--rich span{font-size:.78rem}.app-nav__btn--rich small{font-size:10px;letter-spacing:0;text-transform:none;line-height:1.28;opacity:.9}.app-rail__footer{margin-top:auto}.app-rail__footer a{font-size:.82rem;text-decoration:none}.app-main{padding:1rem}.view{display:none}.view.is-active{display:block}.view-head h2{margin:0;font-size:1.35rem;letter-spacing:-.02em}.view-head p{margin:.35rem 0 0;font-size:.92rem}.panel-grid{margin-top:.7rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem}.workspace-layout{margin-top:.7rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem}.workspace-main,.workspace-side{display:grid;gap:.6rem}.panel{border:1px solid;padding:.65rem;border-radius:12px}.panel--wide{grid-column:1 / -1}.panel h3{margin:0;font-size:.92rem}.panel p{margin:.4rem 0 0;font-size:.84rem;line-height:1.45}.hotfire-frame{border:1px solid;border-radius:12px;padding:.6rem}.hotfire-frame__head{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.hotfire-frame__head h4{margin:0;font-size:.9rem}.hotfire-frame__video-wrap{margin-top:.45rem;border:1px solid;border-radius:10px;overflow:hidden;background:#060d17}.hotfire-frame__video-wrap video{width:100%;aspect-ratio:16 / 9;display:block;object-fit:cover}.hotfire-frame p{margin-top:.42rem;font-size:.78rem}.kpi-row{margin-top:.7rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.kpi{border:1px solid;padding:.45rem .55rem}.kpi span{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.kpi strong{font-size:1rem}.data-list{margin:.55rem 0 0;padding:0;list-style:none;display:grid;gap:.3rem}.data-list li{display:flex;justify-content:space-between;gap:.4rem;border:1px solid;padding:.35rem .45rem;font-size:.8rem}.data-list em{font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.chip-row{margin-top:.45rem;display:flex;flex-wrap:wrap;gap:.35rem}.chip-row span{border:1px solid;padding:.26rem .4rem;font-size:10px}.app-demo table{width:100%;border-collapse:collapse;margin-top:.45rem}.app-demo th,.app-demo td{border-bottom:1px solid;padding:.35rem .2rem;text-align:left;font-size:.8rem}.app-demo th{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.demo-bars{margin-top:.5rem;display:grid;gap:.35rem}.demo-bars div{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:.45rem;font-size:.78rem}.demo-bars i{position:relative;display:block;height:10px;border:1px solid}.demo-bars i:before,.demo-bars i:after{content:"";position:absolute;top:1px;bottom:1px;left:1px}.demo-bars i:before{width:var(--a)}.demo-bars i:after{width:var(--b)}.flow{margin-top:.55rem;display:grid;gap:.3rem}.flow li{border:1px solid;padding:.35rem .45rem;font-size:.82rem;list-style:none}.flow li.is-active{font-weight:700}.input-grid{margin-top:.5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.input-grid label{display:grid;gap:.2rem;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.input-grid input{border:1px solid;padding:.3rem .4rem;font-size:.84rem}.btn-row{margin-top:.55rem;display:flex;flex-wrap:wrap;gap:.35rem}.btn-row button{border:1px solid;padding:.33rem .48rem;font-size:10px;font-weight:700;letter-spacing:.05em;cursor:pointer}.stand-stream-grid{margin-top:.55rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.stand-stream{border:1px solid;padding:.38rem .42rem}.stand-stream__head{display:flex;justify-content:space-between;gap:.3rem;align-items:center;font-size:10px;letter-spacing:.07em;text-transform:uppercase}.stand-stream__val{font-size:.76rem;margin-top:.28rem;display:flex;justify-content:space-between;gap:.35rem}@media(max-width:1180px){.app-shell{grid-template-columns:280px 1fr}}@media(max-width:980px){.stand-stream-grid{grid-template-columns:1fr}}.dial-cluster{margin-top:.55rem;display:grid;grid-template-columns:repeat(2,minmax(0,152px));gap:.7rem;justify-content:center}.dial{border:1px solid;padding:.5rem;border-radius:10px}.dial__label{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.dial__face{--size: 84px;width:var(--size);height:var(--size);margin:.4rem auto 0;border-radius:50%;border:3px solid;position:relative;background:conic-gradient(from -135deg,var(--dial-fill) calc(var(--val) * 2.7deg),var(--dial-bg) 0 270deg,rgba(0,0,0,0) 0);box-shadow:inset 0 0 0 8px #06101c59}.dial__needle{position:absolute;left:50%;top:50%;width:2px;height:28px;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(calc((var(--val) * 2.7deg) - 135deg));background:currentColor}.dial__hub{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);background:currentColor}.dial__value{margin-top:.35rem;font-size:.82rem;font-weight:700;text-align:center}.dial__status{margin-top:.22rem;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center}.dial__status.is-good{color:#28b869}.dial__status.is-watch{color:#ffb84a}.dial__status.is-alert{color:#ff665d}.tank-rect-group{margin-top:.62rem;display:grid;gap:.4rem}.tank-rect{border:1px solid;padding:.38rem .42rem}.tank-rect__head{display:flex;justify-content:space-between;gap:.4rem;align-items:baseline}.tank-rect__head span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.tank-rect__head strong{font-size:.76rem;letter-spacing:.02em}.tank-rect__bar{margin-top:.32rem;height:16px;border:1px solid;background:var(--tank-track, rgba(16, 28, 44, .55));position:relative;overflow:hidden}.tank-rect__fill{position:absolute;left:0;top:0;bottom:0;width:var(--fill, 0%);min-width:2px;background:var(--tank-fill, #5f93de);transition:width .14s linear}.tank-rect__meta{margin-top:.25rem;display:flex;justify-content:space-between;gap:.35rem;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.graph-card{border:1px solid;border-radius:12px;padding:.55rem}.graph-card__head{display:flex;justify-content:space-between;gap:.4rem;align-items:center}.graph-card__head h4{margin:0;font-size:.84rem;letter-spacing:.06em;text-transform:uppercase}.graph-card__tag{border:1px solid;border-radius:999px;padding:.15rem .42rem;font-size:10px;font-weight:700;letter-spacing:.06em}.automation-canvas{margin-top:.55rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem}.automation-node{border:1px solid;border-radius:10px;padding:.38rem .45rem;min-height:88px;position:relative}.automation-node:after{content:">";position:absolute;right:-.38rem;top:50%;transform:translateY(-50%);font-size:14px;opacity:.75}.automation-node:last-child:after{display:none}.automation-node strong{display:block;font-size:.75rem}.automation-node span{display:block;margin-top:.3rem;font-size:.72rem;line-height:1.35}.trend-grid{margin-top:.55rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.trend{border:1px solid;padding:.35rem .45rem}.trend__label{display:flex;justify-content:space-between;gap:.4rem;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.trend__label strong{font-size:10px}.spark{width:100%;height:66px;margin-top:.3rem;display:block}.console-strip{margin-top:.7rem;border:1px solid;border-radius:12px;padding:.45rem .55rem;display:flex;justify-content:space-between;gap:.45rem;align-items:center}.console-strip__left,.console-strip__right{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.console-pill{border:1px solid;border-radius:999px;padding:.14rem .42rem;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.meter-grid{margin-top:.5rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.meter{border:1px solid;border-radius:10px;padding:.35rem .4rem;display:grid;gap:.2rem}.meter span{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.meter strong{font-size:.86rem}.meter small{font-size:10px;opacity:.82}.meter i{position:relative;display:block;height:8px;border:1px solid}.meter i:before,.meter i:after{content:"";position:absolute}.meter i:before{left:var(--lo);width:calc(var(--hi) - var(--lo));top:1px;bottom:1px}.meter i:after{left:calc(var(--v) - 2px);top:-3px;width:4px;height:12px;border-radius:2px}.assistant-chat{margin-top:.5rem;border:1px solid;border-radius:10px;padding:.45rem}.assistant-chat__title{margin:0;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.assistant-chat__log{margin-top:.4rem;display:grid;gap:.28rem;max-height:180px;overflow:auto}.assistant-chat__msg{border:1px solid;border-radius:10px;padding:.32rem .42rem;font-size:.76rem;line-height:1.35;max-width:88%}.assistant-chat__msg--user{justify-self:end}.assistant-chat__input{margin-top:.45rem;display:grid;grid-template-columns:1fr auto;gap:.3rem}.assistant-chat__input input{border:1px solid;border-radius:8px;padding:.35rem .45rem;font-size:.78rem}.assistant-chat__input button{border:1px solid;border-radius:8px;padding:.35rem .5rem;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}@media(max-width:980px){.app-shell,.workspace-layout,.panel-grid{grid-template-columns:1fr}.kpi-row,.dial-cluster{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-grid,.automation-canvas{grid-template-columns:1fr}.meter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.automation-node:after{display:none}}
