.dashboard-module___vDUZq__app{grid-template-columns:260px 1fr;gap:20px;width:min(1480px,100% - 32px);margin:24px auto;display:grid}.dashboard-module___vDUZq__sidebar{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);flex-direction:column;justify-content:space-between;min-height:calc(100vh - 48px);padding:1.25rem;display:flex;position:sticky;top:24px}.dashboard-module___vDUZq__brand{align-items:center;gap:.75rem;display:flex}.dashboard-module___vDUZq__brandOrb{flex-shrink:0;width:40px;height:40px;display:block}.dashboard-module___vDUZq__eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .25rem;font-size:.7rem}.dashboard-module___vDUZq__nav{gap:.3rem;margin-top:1.8rem;display:grid}.dashboard-module___vDUZq__navLink{border-radius:var(--radius);color:var(--muted);align-items:center;gap:.6rem;padding:.7rem .9rem;font-size:.9rem;transition:color .15s,background .15s;display:flex}.dashboard-module___vDUZq__navLink:hover{color:var(--text);background:var(--surface-hover)}.dashboard-module___vDUZq__navLinkActive{color:var(--primary);background:var(--primary-dim);border:1px solid #00e67626}.dashboard-module___vDUZq__navLinkActive:hover{background:var(--primary-dim)}.dashboard-module___vDUZq__miniStats{gap:.6rem;margin-top:1.5rem;display:grid}.dashboard-module___vDUZq__miniStat{border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--line);padding:.7rem .9rem}.dashboard-module___vDUZq__miniStat strong{color:var(--text);margin-top:.2rem;font-size:.9rem;display:block}.dashboard-module___vDUZq__account{border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--line);padding:.9rem}.dashboard-module___vDUZq__muted{color:var(--muted)}.dashboard-module___vDUZq__small{color:var(--muted);font-size:.82rem}.dashboard-module___vDUZq__main{gap:16px;min-width:0;display:grid}.dashboard-module___vDUZq__topbar{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.4rem;display:flex}.dashboard-module___vDUZq__actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.dashboard-module___vDUZq__button,.dashboard-module___vDUZq__ghostButton,.dashboard-module___vDUZq__dangerButton{border-radius:var(--radius);white-space:nowrap;border:0;padding:.65rem 1rem;font-size:.88rem;font-weight:600;transition:opacity .15s,transform .15s}.dashboard-module___vDUZq__button:hover,.dashboard-module___vDUZq__ghostButton:hover,.dashboard-module___vDUZq__dangerButton:hover{opacity:.85}.dashboard-module___vDUZq__button{background:linear-gradient(135deg, var(--primary), var(--primary-strong));color:#0d1117}.dashboard-module___vDUZq__ghostButton{background:var(--surface-strong);color:var(--text-soft);border:1px solid var(--line-strong)}.dashboard-module___vDUZq__dangerButton{background:var(--danger-dim);color:var(--danger);border:1px solid #f8514933}.dashboard-module___vDUZq__panel,.dashboard-module___vDUZq__card,.dashboard-module___vDUZq__alertCard,.dashboard-module___vDUZq__modalCard,.dashboard-module___vDUZq__summaryCard,.dashboard-module___vDUZq__controllerCard,.dashboard-module___vDUZq__settingsCard{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg)}.dashboard-module___vDUZq__panel{padding:1.2rem}.dashboard-module___vDUZq__card{padding:1rem}.dashboard-module___vDUZq__alertCard{padding:.9rem}.dashboard-module___vDUZq__section{gap:16px;display:grid}.dashboard-module___vDUZq__sectionHead{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dashboard-module___vDUZq__summaryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashboard-module___vDUZq__summaryCard{padding:1.1rem}.dashboard-module___vDUZq__summaryCard strong{color:var(--text);letter-spacing:-.02em;margin:.4rem 0;font-size:1.8rem;font-weight:800;display:block}.dashboard-module___vDUZq__controllerGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-module___vDUZq__controllerCard{gap:.9rem;padding:1.1rem;display:grid}.dashboard-module___vDUZq__cardHead,.dashboard-module___vDUZq__rowBetween{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dashboard-module___vDUZq__status{border-radius:999px;align-items:center;gap:.4rem;padding:.28rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.dashboard-module___vDUZq__online{color:var(--success);background:#3fb9501f;border:1px solid #3fb95033}.dashboard-module___vDUZq__stale{color:var(--warning);background:var(--warning-dim);border:1px solid #d2992233}.dashboard-module___vDUZq__offline{color:var(--danger);background:var(--danger-dim);border:1px solid #f8514933}.dashboard-module___vDUZq__tags{flex-wrap:wrap;gap:.4rem;display:flex}.dashboard-module___vDUZq__tag{background:var(--surface-strong);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.25rem .6rem;font-size:.75rem}.dashboard-module___vDUZq__alertList,.dashboard-module___vDUZq__commandList,.dashboard-module___vDUZq__channelList{gap:10px;display:grid}.dashboard-module___vDUZq__alertCritical{border-left:3px solid var(--danger)}.dashboard-module___vDUZq__alertWarning{border-left:3px solid var(--warning)}.dashboard-module___vDUZq__alertInfo{border-left:3px solid var(--accent)}.dashboard-module___vDUZq__metricGrid{grid-template-columns:2fr 1fr;gap:16px;display:grid}.dashboard-module___vDUZq__chartPanel{min-height:360px}.dashboard-module___vDUZq__chartWrap{width:100%;height:270px}.dashboard-module___vDUZq__sensorGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dashboard-module___vDUZq__sensorCard{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line-strong);gap:.75rem;padding:1rem;transition:border-color .2s;display:grid}.dashboard-module___vDUZq__sensorCard:hover{border-color:#00e67640}.dashboard-module___vDUZq__reading{color:var(--primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:800}.dashboard-module___vDUZq__linkedControlList{gap:8px;display:grid}.dashboard-module___vDUZq__linkedControlCard{border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem .85rem;display:flex}.dashboard-module___vDUZq__controlToggleButton{min-width:80px}.dashboard-module___vDUZq__progress{background:var(--surface-hover);border-radius:999px;width:100%;height:6px;overflow:hidden}.dashboard-module___vDUZq__progress>span{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--accent));height:100%;display:block}.dashboard-module___vDUZq__modalBackdrop{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dashboard-module___vDUZq__modalCard{width:min(520px,100%);padding:1.4rem}.dashboard-module___vDUZq__formGrid{gap:.85rem;display:grid}.dashboard-module___vDUZq__twoCol{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.dashboard-module___vDUZq__threeCol{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.dashboard-module___vDUZq__formRow{gap:.35rem;display:grid}.dashboard-module___vDUZq__formRow span,.dashboard-module___vDUZq__formRow label{color:var(--text-soft);font-size:.82rem;font-weight:500}.dashboard-module___vDUZq__settingsGrid{grid-template-columns:1.05fr .95fr;gap:16px;display:grid}.dashboard-module___vDUZq__settingsCard{gap:1rem;padding:1.2rem;display:grid}.dashboard-module___vDUZq__settingsWide{grid-column:1/-1}.dashboard-module___vDUZq__stepList{color:var(--text-soft);gap:.5rem;margin:.8rem 0 0;padding-left:1.1rem;display:grid}.dashboard-module___vDUZq__inlineLabel{color:var(--text-soft);margin-bottom:.2rem;font-size:.82rem;display:inline-block}.dashboard-module___vDUZq__codeBlock{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--bg);padding:1rem;overflow:auto}.dashboard-module___vDUZq__codeBlock pre{white-space:pre-wrap;word-break:break-word;color:var(--text-soft);margin:0;font-family:Cascadia Code,Consolas,Fira Code,monospace;font-size:.82rem;line-height:1.6}.dashboard-module___vDUZq__controllerStack{gap:12px;display:grid}.dashboard-module___vDUZq__empty{border-radius:var(--radius);border:1px dashed var(--line-strong);color:var(--muted);text-align:center;padding:1.4rem;font-size:.88rem}.dashboard-module___vDUZq__snapshotPanel{padding:1.2rem}.dashboard-module___vDUZq__snapshotImage{border-radius:var(--radius);object-fit:cover;border:1px solid var(--line-strong);width:100%;max-height:320px}@media (max-width:1100px){.dashboard-module___vDUZq__app,.dashboard-module___vDUZq__settingsGrid,.dashboard-module___vDUZq__metricGrid,.dashboard-module___vDUZq__summaryGrid,.dashboard-module___vDUZq__sensorGrid,.dashboard-module___vDUZq__controllerGrid{grid-template-columns:1fr}.dashboard-module___vDUZq__sidebar{min-height:auto;position:static}}@media (max-width:760px){.dashboard-module___vDUZq__app{gap:10px;width:min(100%,100% - 16px);margin:8px auto}.dashboard-module___vDUZq__topbar,.dashboard-module___vDUZq__sidebar{padding:1rem}.dashboard-module___vDUZq__twoCol,.dashboard-module___vDUZq__threeCol{grid-template-columns:1fr}.dashboard-module___vDUZq__summaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.error-state-module___S7GtW__shell{place-items:center;min-height:100vh;padding:2rem;display:grid}.error-state-module___S7GtW__inline,.error-state-module___S7GtW__inline .error-state-module___S7GtW__card{width:100%}.error-state-module___S7GtW__card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(180deg, #ffffff05, transparent 28%), var(--surface);width:min(100%,42rem);box-shadow:var(--shadow-lg);padding:2rem}.error-state-module___S7GtW__badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex}.error-state-module___S7GtW__danger{background:var(--danger-dim);color:#ffb4ae}.error-state-module___S7GtW__warning{background:var(--warning-dim);color:#f0c96b}.error-state-module___S7GtW__neutral{background:var(--accent-dim);color:#8fd8ff}.error-state-module___S7GtW__title{margin:1rem 0 .5rem;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.1}.error-state-module___S7GtW__message{color:var(--text-soft);max-width:56ch;margin:0}.error-state-module___S7GtW__detail{border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--line);color:var(--muted);word-break:break-word;margin-top:1rem;padding:.9rem 1rem;font-size:.88rem}.error-state-module___S7GtW__actions{flex-wrap:wrap;gap:.85rem;margin-top:1.5rem;display:flex}.error-state-module___S7GtW__primary,.error-state-module___S7GtW__secondary{border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;min-height:2.8rem;padding:.8rem 1rem;font-weight:600;display:inline-flex}.error-state-module___S7GtW__primary{background:var(--primary);color:#08110c}.error-state-module___S7GtW__secondary{color:var(--text);border-color:var(--line-strong);background:0 0}.error-state-module___S7GtW__hint{color:var(--muted);margin-top:1rem;font-size:.88rem}
