:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#1a2b3c;background:#eef4f8;line-height:1.5;font-weight:400;--surface: rgba(255, 255, 255, .94);--surface-strong: #ffffff;--surface-muted: #f8fafc;--border: #dfe8ef;--border-strong: #cbd5e0;--primary: #0f6475;--primary-strong: #0b4f60;--primary-soft: #e6f6f9;--success: #257942;--danger: #a23b3b;--warning: #b77b21;--text-muted: #64748b;--muted: #64748b;--shadow: 0 12px 32px rgba(15, 41, 62, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#eef4f8}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}#app{min-height:100vh}.eyebrow{margin:0 0 .4rem;color:var(--primary);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.panel,.login-card,.resource-card,.widget-card,.state-card,.detail-card,.scada-panel,.scada-meta-card,.scada-status-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.panel{padding:1.25rem}.section-heading,.resource-card__header,.widget-card__header,.login-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.card-grid,.widget-grid,.detail-grid,.scada-panel__meta,.scada-status-grid{display:grid;gap:1rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.widget-grid,.detail-grid,.scada-panel__meta,.scada-status-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.widget-grid{margin-bottom:1rem}.resource-card,.widget-card,.state-card,.detail-card,.scada-meta-card,.scada-status-card{padding:1rem}.resource-card{text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.resource-card:hover{border-color:var(--border-strong);box-shadow:0 16px 36px #0f293e1c;transform:translateY(-1px)}.resource-card h3,.widget-card h3,.detail-card strong,.scada-panel h3,.scada-meta-card strong,.scada-status-card strong{margin:0}.resource-card p,.widget-card p,.placeholder-note,.login-card__text,.state-message,.detail-card__label,.scada-panel__subtitle,.scada-meta-card__label,.scada-status-card__label{color:var(--text-muted)}.state-message{margin:0;padding:1rem 0}.state-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.state-card--error{border-color:#efc0c0;background:#fff6f6}.state-card--success{border-color:#cfe8d7;background:#f3fbf5}.detail-card,.scada-meta-card,.scada-status-card{display:grid;gap:.35rem}.detail-card__label,.scada-meta-card__label{font-size:.85rem}.status-badge{display:inline-flex;align-items:center;padding:.28rem .68rem;border-radius:999px;font-size:.76rem;font-weight:700}.status-badge--active{color:var(--success);background:#e0f5e7}.status-badge--inactive{color:var(--danger);background:#f9e3e3}.placeholder-note{padding:1rem;border-radius:8px;background:#f3f8fa}.form-error{margin:0;color:var(--danger)}.sidebar{display:flex;flex-direction:column;gap:.85rem;position:sticky;top:0;height:100vh;min-height:100vh;overflow-x:hidden;overflow-y:hidden;padding:.9rem;background:linear-gradient(180deg,#192638,#132233);color:#f4f9fb}.sidebar__header{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;gap:.55rem;min-width:0}.sidebar__brand{display:inline-flex;align-items:center;flex:1 1 auto;width:min(100%,220px);min-width:0}.app-logo{flex:0 0 auto;display:block;width:100%;max-width:220px;max-height:48px;object-fit:contain;object-position:left center}.app-logo--compact{width:2.25rem;height:2.25rem;object-fit:contain;object-position:center}.sidebar__toggle{display:inline-grid;place-items:center;flex:0 0 auto;width:2rem;height:2rem;border:1px solid #1e3248;border-radius:8px;padding:0;color:#c8d8e8;background:#111d2cb8;cursor:pointer}.sidebar__toggle:hover,.sidebar__toggle:focus-visible{background:#7ddbf224;color:#fff;outline:2px solid rgba(125,219,242,.42);outline-offset:2px}.sidebar--collapsed{align-items:stretch;gap:.65rem;padding:.8rem .55rem}.sidebar--collapsed .sidebar__header{justify-content:center;gap:.4rem}.sidebar--collapsed .sidebar__brand{flex:0 0 auto;width:2.25rem}.sidebar--collapsed .sidebar__toggle{width:1.85rem;height:1.85rem}.sidebar__label{display:block;margin-bottom:.25rem;color:#9ab6c2;font-size:.8rem}.auth-view{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr);min-height:100vh;background:linear-gradient(135deg,#0c5a6b14,#2579420a),#eef4f8}.auth-brand-panel{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:1.75rem;min-height:100vh;overflow:hidden;padding:3rem clamp(2rem,5vw,4rem);background:linear-gradient(rgba(96,211,232,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(96,211,232,.08) 1px,transparent 1px),radial-gradient(circle at 18% 18%,rgba(96,211,232,.18),transparent 28%),linear-gradient(135deg,#162536,#0f3343 54%,#0b1b2a);background-size:42px 42px,42px 42px,auto,auto;color:#f7fbff}.auth-brand-panel__logo,.auth-brand-panel__content,.auth-brand-panel__footnote{position:relative;z-index:1}.auth-brand-panel__logo{width:min(11rem,68%)}.auth-brand-panel__logo .app-logo{width:100%;height:auto}.auth-brand-panel__content{align-self:center;max-width:36rem}.auth-brand-panel__eyebrow{color:#79d6e8}.auth-brand-panel h2{max-width:18ch;margin:.8rem 0 0;font-size:clamp(1.75rem,3.4vw,3.1rem);line-height:1.05}.auth-brand-panel__content p{max-width:29rem;margin:1rem 0 0;color:#f7fbffc7;font-size:1.02rem;line-height:1.65}.auth-brand-panel__features{display:grid;gap:.72rem;margin:1.55rem 0 0;padding:0;list-style:none}.auth-brand-panel__features li{display:flex;align-items:center;gap:.65rem;color:#f7fbffe6;font-weight:700}.auth-brand-panel__features li:before{width:.42rem;height:.42rem;border-radius:999px;background:#64d8ec;box-shadow:0 0 0 .26rem #64d8ec24;content:""}.auth-brand-panel__footnote{margin:0;color:#f7fbff9e;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-process-mimic{position:absolute;right:-3rem;bottom:1.6rem;z-index:0;width:min(92%,40rem);max-height:14rem;fill:none;stroke:#64d8ec;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;pointer-events:none}.auth-process-mimic__base{opacity:.16}.auth-process-mimic__return{stroke-dasharray:8 9}.auth-process-mimic__pulse{stroke:#82eaff;stroke-width:3;filter:drop-shadow(0 0 5px rgba(98,216,236,.3))}.auth-process-mimic__pulse-line{opacity:.3;stroke-dasharray:44 360;stroke-dashoffset:404;animation:auth-mimic-flow 3.8s linear infinite}.auth-process-mimic__pulse-line--branch{animation-delay:.55s}.auth-process-mimic__pulse-line--return{opacity:.22;stroke-dasharray:28 300;animation-delay:1.7s}.auth-process-mimic__pulse-node{opacity:0;animation:auth-mimic-node 3.8s ease-in-out infinite}.auth-process-mimic__pulse-node--late{animation-delay:1.05s}.auth-process-mimic__pulse-node--end{animation-delay:2.05s}.auth-form-panel{display:grid;align-items:center;min-height:100vh;padding:clamp(1.25rem,4vw,3rem)}.auth-card{position:relative;width:min(100%,430px);justify-self:center;padding:2rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 22px 70px #0f293e24}.auth-card:before{position:absolute;top:0;right:0;left:0;height:4px;border-radius:12px 12px 0 0;background:linear-gradient(90deg,#0d6372,#5bc7dc);content:""}.auth-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.auth-card h1{margin:0;font-size:1.85rem;line-height:1.2}.auth-card__text{margin:.75rem 0 0;color:var(--text-muted)}.auth-card__body{margin-top:1.25rem}.auth-card__footer{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:1.2rem;color:var(--primary);font-weight:700}.auth-card__security{display:inline-flex;align-items:center;gap:.45rem;margin:1.35rem 0 0;color:var(--text-muted);font-size:.84rem;font-weight:700}.auth-card__security svg{width:1rem;height:1rem;color:var(--primary)}.auth-form{display:grid;gap:1rem}.auth-field{display:grid;gap:.45rem;font-weight:700}.auth-field input{width:100%;min-height:2.9rem;padding:.85rem .95rem;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.auth-field input:focus{border-color:#0c5a6b8c;outline:3px solid rgba(12,90,107,.14)}.auth-field input[aria-invalid=true]{border-color:var(--danger)}.auth-input-wrap{position:relative}.auth-input-wrap input{padding-left:2.75rem}.auth-input-icon{position:absolute;top:50%;left:.95rem;z-index:1;transform:translateY(-50%);color:#668197;pointer-events:none}.auth-field__error,.auth-helper{margin:0;font-size:.9rem;font-weight:500}.auth-field__error{color:var(--danger)}.auth-helper{color:var(--text-muted)}.auth-password-field input{padding-right:3.6rem}.auth-password-field input::-ms-clear,.auth-password-field input::-ms-reveal{display:none}.auth-password-field__toggle{position:absolute;top:50%;right:.4rem;display:grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:0;border-radius:8px;background:transparent;color:var(--primary);transform:translateY(-50%)}.auth-password-field__toggle:hover,.auth-password-field__toggle:focus-visible{background:var(--primary-soft);outline:none}.auth-password-field__toggle svg{width:1.25rem;height:1.25rem}.auth-form__links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.65rem 1rem;color:var(--primary);font-weight:700}.auth-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.9rem;padding:.85rem 1rem;border:0;border-radius:8px;background:linear-gradient(135deg,#0d6372,#0b5363);box-shadow:0 12px 24px #0c5a6b2e;color:#fff;font-weight:700;text-align:center;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.auth-button--link{width:100%}.auth-button:hover{box-shadow:0 14px 28px #0c5a6b3d;filter:brightness(1.04);transform:translateY(-1px)}.auth-button:focus-visible{outline:3px solid rgba(12,90,107,.22);outline-offset:3px}.auth-button:disabled{opacity:.68;transform:none;cursor:not-allowed}.auth-button__spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:999px;animation:auth-spin .8s linear infinite}.auth-alert{display:grid;gap:.25rem;margin-top:1rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:8px;background:#f3f8fa}.auth-alert:focus{outline:3px solid rgba(12,90,107,.18)}.auth-alert p{margin:0}.auth-alert--error{border-color:#efc0c0;background:#fff6f6;color:#7b1e1e}.auth-alert--success{border-color:#cfe8d7;background:#f3fbf5;color:#1f6f43}.auth-alert--warning{border-color:#f0d49a;background:#fff9eb;color:#76500e}@keyframes auth-spin{to{transform:rotate(360deg)}}@keyframes auth-mimic-flow{to{stroke-dashoffset:0}}@keyframes auth-mimic-node{0%,26%,to{opacity:0}38%,48%{opacity:.32}}@media(prefers-reduced-motion:reduce){.auth-process-mimic__pulse-line,.auth-process-mimic__pulse-node{animation:none;opacity:0}}@media(max-width:820px){.auth-view{grid-template-columns:1fr}.auth-brand-panel{min-height:auto;padding:1.25rem;background:linear-gradient(135deg,#162536,#0f3343)}.auth-process-mimic,.auth-brand-panel__content,.auth-brand-panel__footnote{display:none}.auth-brand-panel__logo{width:11rem}.auth-form-panel{min-height:auto;padding:1rem}}@media(max-width:640px){.auth-card{align-self:start;padding:1.15rem}.auth-card__header{flex-direction:column}.auth-card h1{font-size:1.45rem}.auth-form__links,.auth-card__footer{display:grid}}.shell{display:grid;grid-template-columns:350px minmax(0,1fr);min-height:100vh}.shell--sidebar-collapsed{grid-template-columns:80px minmax(0,1fr)}.shell__content{display:flex;flex-direction:column;min-width:0;background:#eef4f8}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.9rem;padding:.85rem 1.5rem;border-bottom:1px solid var(--border);background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header h1{margin:0;color:#1a2b3c;font-size:1.35rem;line-height:1.2}.app-header__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:1rem}.app-header__user{color:var(--text);font-size:.9rem;font-weight:700}.app-header__user-menu{position:relative;display:inline-flex;align-items:center;gap:.45rem;min-width:0}.app-header__user-menu-button{display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);background:var(--surface);cursor:pointer}.app-header__user-menu-button:hover,.app-header__user-menu-button:focus-visible{border-color:#0e749057;background:var(--surface-strong);color:var(--primary);outline:none}.app-header__user-menu-button:focus-visible{box-shadow:0 0 0 3px #0e749024}.app-header__user-menu-panel{position:absolute;top:calc(100% + .42rem);right:0;z-index:20;min-width:11rem;border:1px solid var(--border);border-radius:8px;padding:.3rem;background:var(--surface);box-shadow:0 18px 48px #0f172a29}.app-header__user-menu-panel a,.app-header__user-menu-panel button{display:flex;align-items:center;gap:.45rem;width:100%;border:0;border-radius:6px;padding:.52rem .62rem;color:var(--text);background:transparent;cursor:pointer;font:inherit;font-size:.88rem;font-weight:700;text-align:left}.app-header__user-menu-panel a:hover,.app-header__user-menu-panel a:focus-visible,.app-header__user-menu-panel button:hover,.app-header__user-menu-panel button:focus-visible{background:var(--surface-strong);color:var(--primary);outline:none}.shell__main{padding:1.25rem 1.5rem 2rem;min-width:0}.widget-card__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0 0}.widget-card__meta dt{font-weight:700}.widget-card__meta dd{margin:.25rem 0 0;color:var(--text-muted)}.login-form button,.ghost-button,.scada-command-button{border:0;border-radius:8px;padding:.72rem .95rem}.login-form button,.scada-command-button{background:var(--primary);color:#fff;font-weight:700}.login-form .password-field__toggle{color:var(--primary)}.ghost-button,.scada-command-button--secondary{border:1px solid var(--border-strong);background:#fff;color:var(--primary);font-weight:700}.ghost-button:hover,.ghost-button:focus-visible{border-color:color-mix(in srgb,var(--primary) 42%,var(--border));background:var(--primary-soft);outline:none}.scada-command-button{border-radius:14px;padding:.9rem 1rem}.scada-command-button--secondary{border:0;background:var(--primary-soft)}.scada-command-button--start{background:#1f8d39;color:#fff}.scada-command-button--stop{background:#b53a3a;color:#fff}.scada-command-button{flex:1 1 220px}.scada-command-button:disabled{opacity:.65;cursor:not-allowed}.scada-command-bar{display:flex;flex-wrap:wrap;gap:1rem;margin:0 0 1rem}@media(max-width:920px){.shell,.shell--sidebar-collapsed{grid-template-columns:1fr}.sidebar{gap:1rem;position:static;height:auto;max-height:72vh;overflow:auto}.sidebar--collapsed{max-height:none}.app-header,.app-header__actions,.login-card__header,.state-card,.section-heading,.scada-panel__header,.scada-command-bar{align-items:stretch;flex-direction:column}.scada-panel__subtitle{max-width:none;text-align:left}}@media(max-width:640px){.sidebar,.app-header,.shell__main,.panel,.login-card,.scada-panel{padding-left:1rem;padding-right:1rem}.sidebar,.app-header,.shell__main{padding-top:1rem}.shell__main{padding-bottom:1.25rem}.panel,.login-card,.scada-panel,.resource-card,.widget-card,.state-card,.detail-card,.scada-meta-card,.scada-status-card{border-radius:8px}.app-header h1,.section-heading h2,.resource-card h3,.widget-card h3,.scada-panel h3{overflow-wrap:anywhere}.app-header h1{font-size:1.55rem;line-height:1.15}.app-header__actions{justify-content:stretch}.app-header__actions>*{max-width:100%}.widget-card__meta{grid-template-columns:1fr}}.progressive-skeleton{position:relative;display:block;overflow:hidden;background:linear-gradient(100deg,color-mix(in srgb,var(--border) 72%,transparent),color-mix(in srgb,var(--surface-strong) 86%,transparent),color-mix(in srgb,var(--border) 72%,transparent) 76%);background-size:220% 100%;opacity:.82;animation:progressive-skeleton-shimmer 3.2s ease-in-out infinite}.progressive-skeleton--strong{background:linear-gradient(100deg,color-mix(in srgb,var(--primary-soft) 72%,var(--border)),color-mix(in srgb,var(--surface-strong) 92%,transparent) 42%,color-mix(in srgb,var(--primary-soft) 72%,var(--border)) 78%);background-size:220% 100%}.progressive-skeleton--inline{display:inline-block;vertical-align:middle}.progressive-skeleton-text,.progressive-skeleton-card,.progressive-skeleton-card__actions,.progressive-screen-skeleton,.progressive-screen-skeleton__detail,.progressive-screen-skeleton__metrics,.progressive-skeleton-tree{display:grid;gap:.75rem}.progressive-skeleton-card__actions{grid-template-columns:repeat(2,minmax(0,1fr))}.progressive-skeleton-tree{border:1px solid color-mix(in srgb,var(--border) 58%,transparent);border-radius:10px;padding:.75rem;background:color-mix(in srgb,var(--surface) 72%,transparent)}.progressive-skeleton-tree__row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem}.progressive-screen-skeleton__metrics{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.progressive-screen-skeleton__metric{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.35rem .55rem;min-height:3.7rem;border:1px solid var(--border);border-radius:8px;padding:.68rem .82rem;background:color-mix(in srgb,var(--surface) 92%,var(--primary) 8%)}.progressive-screen-skeleton__metric .progressive-skeleton:first-child{grid-row:span 2}.progressive-screen-skeleton__detail{border:1px solid var(--border);border-radius:8px;padding:1rem;background:var(--surface-strong)}.progressive-reveal{animation:progressive-reveal-in .22s ease-out both}.dashboard-detail-skeleton{display:grid;gap:1rem}.dashboard-detail-skeleton__header,.dashboard-detail-skeleton__tabs,.dashboard-detail-skeleton__body,.dashboard-detail-skeleton__side,.dashboard-detail-skeleton__mimic{display:grid;gap:.8rem}.dashboard-detail-skeleton__header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.dashboard-detail-skeleton__tabs{grid-template-columns:repeat(4,minmax(4rem,8rem));align-items:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.75rem 0}.dashboard-detail-skeleton__body{grid-template-columns:minmax(0,1.6fr) minmax(16rem,.75fr)}.dashboard-detail-skeleton__mimic{min-height:20rem;border:1px solid var(--border);border-radius:8px;padding:1rem;background:linear-gradient(90deg,color-mix(in srgb,var(--primary-soft) 50%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--primary-soft) 50%,transparent) 1px,transparent 1px),var(--surface-muted);background-size:44px 44px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes progressive-skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes progressive-reveal-in{0%{opacity:.1;filter:blur(5px)}to{opacity:1;filter:blur(0)}}@media(max-width:760px){.progressive-skeleton-card__actions,.dashboard-detail-skeleton__header,.dashboard-detail-skeleton__body{grid-template-columns:1fr}.dashboard-detail-skeleton__tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.progressive-skeleton,.progressive-reveal{animation:none}.progressive-reveal{filter:none}}.scada-panel{display:grid;gap:1rem;margin:1rem 0;padding:1.25rem}.scada-panel__header{align-items:center}.scada-panel__subtitle{margin:0;max-width:28rem;text-align:right}.scada-status-card--normal{border-color:#d4e7d8;background:#f3fbf5}.scada-status-card--warning{border-color:#f0dfbf;background:#fff9ef}.scada-status-card--danger{border-color:#efc0c0;background:#fff6f6}.scada-stage-wrapper{width:100%;overflow-x:auto;overflow-y:hidden;border-radius:22px}.scada-stage-wrapper--contain{overflow:hidden;border-radius:10px}@media(max-width:920px){.scada-panel__subtitle{max-width:none;text-align:left}}.scada-floating-window,.scada-window{position:fixed;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:320px;min-height:220px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);box-shadow:0 18px 42px #0f293e29;overflow:hidden}.scada-floating-window--maximized{border-radius:12px}.scada-floating-window__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:3.2rem;padding:.68rem .9rem;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);cursor:move;-webkit-user-select:none;user-select:none}.scada-floating-window__title{min-width:0;display:grid;gap:.05rem}.scada-floating-window__header strong,.scada-floating-window__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scada-floating-window__title span{color:var(--muted);font-size:.72rem;font-weight:700}.scada-floating-window__actions{display:flex;align-items:center;gap:.45rem}.scada-floating-window__icon-button{display:grid;place-items:center;width:2.1rem;height:2.1rem;padding:0;border-radius:8px;font-weight:700}.scada-floating-window__icon-button svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.scada-floating-window__icon-button--danger{color:#8f1f1f}.scada-floating-window__icon-button--danger:hover{background:#fdeaea}.scada-floating-window__actions button,.scada-floating-window__resize-handle{border:1px solid var(--border-strong);background:#fff;color:var(--text)}.scada-floating-window__actions button{min-width:2.4rem;padding:.35rem .6rem;border-radius:8px;font-weight:700}.scada-floating-window__body{display:flex;flex-direction:column;min-height:0;padding:.9rem;overflow:auto;background:#f8fafc}.scada-floating-window__footer,.scada-window-footer{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;padding:.85rem 1rem;border-top:1px solid var(--border);background:var(--surface-muted)}.scada-floating-window__footer>span,.scada-window-footer>span{flex:1 1 auto}.scada-window-button-primary,.scada-window-button-secondary,.scada-window-button-danger{min-height:2.35rem;border:1px solid var(--border-strong);border-radius:8px;padding:.62rem .95rem;font:inherit;font-weight:900;line-height:1.1;cursor:pointer}.scada-window-button-primary{border-color:var(--primary);background:linear-gradient(180deg,var(--primary),var(--primary-strong));color:#fff}.scada-window-button-secondary{background:#fff;color:var(--primary)}.scada-window-button-danger{border-color:#e7b8b8;background:#fff4f4;color:#a23b3b}.scada-window-button-primary:hover:not(:disabled){border-color:var(--primary-strong);background:linear-gradient(180deg,var(--primary-strong),var(--primary))}.scada-window-button-secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 42%,var(--border));background:var(--primary-soft)}.scada-window-button-danger:hover:not(:disabled){border-color:#d78f8f;background:#fde9e9}.scada-window-button-primary:disabled,.scada-window-button-secondary:disabled,.scada-window-button-danger:disabled{cursor:not-allowed;opacity:.56}.scada-window-button-primary:focus-visible,.scada-window-button-secondary:focus-visible,.scada-window-button-danger:focus-visible,.scada-floating-window__icon-button:focus-visible{outline:3px solid rgba(47,143,166,.28);outline-offset:2px}.scada-floating-window__resize-handle{position:absolute;right:.35rem;bottom:.35rem;width:1rem;height:1rem;border-radius:4px;cursor:nwse-resize}.scada-floating-window__table-wrapper{overflow:auto}.scada-floating-window__table-wrapper--loading{position:relative}.scada-floating-window__table{width:100%;min-width:420px;border-collapse:collapse;background:#fff}.scada-floating-window__table th,.scada-floating-window__table td{padding:.7rem .8rem;border-bottom:1px solid #d5dee4;text-align:left}.scada-floating-window__table th{background:#e3eaef;color:#334049;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}.scada-floating-window__table tbody tr:nth-child(2n){background:#f7fbfd}.scada-floating-window__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;align-items:end;margin-bottom:.75rem}.scada-floating-window__filters--trends{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:.2rem}.scada-floating-window__filter-field{display:flex;flex-direction:column;gap:.35rem;color:#4d606f;font-size:.85rem;font-weight:600}.scada-floating-window__filter-field input,.scada-floating-window__filter-field select{min-height:2.25rem;padding:.62rem .72rem;border:1px solid var(--border);border-radius:8px;background:#fff;color:#283138}@media(max-width:640px){.scada-floating-window{border-radius:12px}.scada-floating-window__body{padding:.7rem}.scada-floating-window__table{min-width:0}}.scada-analog-config-window{position:relative;display:flex;flex-direction:column;gap:.85rem;min-height:100%}.scada-analog-config-window__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.scada-analog-config-window__saved-summary{color:#4d606f;font-size:.82rem;font-weight:600}.scada-analog-config-window__actions{display:flex;flex-wrap:wrap;gap:.5rem}.scada-analog-config-window__action,.scada-analog-config-table__apply{min-height:2rem;padding-inline:.8rem;font-size:.82rem;border-radius:999px}.scada-floating-window__table-wrapper--analog-config{flex:1 1 auto;min-height:0}.scada-analog-config-table{table-layout:fixed;min-width:1140px}.scada-analog-config-table thead th{vertical-align:middle;text-transform:none;letter-spacing:.02em}.scada-analog-config-table__head-row--group th{padding-bottom:.45rem;border-bottom:none;text-align:center}.scada-analog-config-table__head-row--subgroup th{padding-top:.25rem;font-size:.84rem;color:#496277;border-top:1px solid rgba(115,143,165,.18);text-align:center}.scada-analog-config-table td{vertical-align:middle}.scada-analog-config-table__col--variable{width:8.5rem}.scada-analog-config-table__col--current{width:9rem}.scada-analog-config-table__col--ma{width:8.5rem}.scada-analog-config-table__col--editable{width:8.75rem}.scada-analog-config-table__row-label{min-width:8rem}.scada-analog-config-table__cell-content{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2rem}.scada-analog-config-table__edit-button{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:999px;flex:0 0 auto}.scada-analog-config-table__edit-button svg{width:.9rem;height:.9rem;fill:currentColor}.scada-analog-config-table__readonly{display:inline-flex;min-height:2rem;align-items:center}.scada-analog-config-table__pending{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;background:#eef3f6;color:#556977;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.scada-analog-config-table__edit-button:hover:not(:disabled){background:#e7f3f7}.scada-analog-config-table__edit-button:disabled{opacity:.6;cursor:not-allowed}.scada-analog-config-editor{display:grid;gap:.85rem;padding:.25rem 0}.scada-analog-config-editor__info{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1.25rem;margin:0;color:#4d606f;font-size:.9rem}.scada-analog-config-editor__info dt{font-weight:500}.scada-analog-config-editor__info dd{margin:0;text-align:right;font-weight:600}.scada-analog-config-editor__label{display:grid;gap:.4rem;color:#334049;font-size:.82rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.scada-analog-config-editor__input{width:100%;padding:.55rem .7rem;border:1px solid #c6d4dc;border-radius:12px;background:#fff;color:#1d2f3a;text-align:right}.scada-section-heading,.scada-row-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.scada-analog-config-manager__list{min-width:0}.scada-analog-config-manager__panel-item{width:100%;min-width:0;align-items:start;justify-items:start;gap:.22rem;text-align:left;line-height:1.25}.scada-analog-config-manager__panel-name,.scada-analog-config-manager__panel-meta{display:block;max-width:100%;min-width:0;overflow-wrap:anywhere}.scada-analog-config-manager__panel-meta{color:var(--text-muted);font-size:.78rem;font-weight:700}.scada-analog-config-manager__empty{margin-top:.75rem;padding:1rem}.scada-analog-config-manager__empty p{margin:.35rem 0 0;color:var(--text-muted);font-size:.9rem}.scada-analog-config-manager__validation{margin:.25rem 0 .75rem}.scada-analog-config-manager__validation ul{margin:.45rem 0 0;padding-left:1.1rem}.scada-analog-config-manager__table-wrapper{max-height:420px}.scada-analog-config-manager__table{min-width:1180px}.scada-analog-config-manager__table th,.scada-analog-config-manager__table td{vertical-align:top}.scada-analog-config-manager__row--error td{background:color-mix(in srgb,var(--danger) 6%,transparent)}.scada-analog-config-manager__variable-cell,.scada-analog-config-manager__target-cell,.scada-analog-config-manager__actions{display:grid;gap:.35rem;align-content:start}.scada-analog-config-manager__actions-heading,.scada-analog-config-manager__actions-cell{width:7.5rem;min-width:7.5rem}.scada-analog-config-manager__target-cell--error{padding:.35rem;border:1px solid color-mix(in srgb,var(--danger) 55%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--danger) 6%,transparent)}.scada-analog-config-manager__variable-select{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:.35rem;align-items:center}.scada-analog-config-manager__target-select{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:.35rem;align-items:center}.scada-analog-config-manager__variable-select select,.scada-analog-config-manager__target-select select{min-width:0}.scada-analog-config-manager__header-edit{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:100%;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer}.scada-analog-config-manager__field--error{border-color:var(--danger);box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 18%,transparent)}.scada-analog-config-manager__icon-button{width:2rem;height:2rem;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-weight:800}.scada-analog-config-manager__inline-check{display:flex;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.78rem;font-weight:700}.scada-analog-config-manager__actions{grid-template-columns:repeat(2,2rem);align-items:center}.scada-analog-config-manager__delete-button{grid-column:1 / -1;justify-self:start;padding-inline:.65rem}.scada-analog-config-manager__secondary{display:block;color:var(--text-muted);font-size:.78rem;line-height:1.25}.scada-analog-config-manager__error{display:block;color:var(--danger);font-size:.78rem;font-weight:800;line-height:1.25}.scada-communication-config-window{display:grid;gap:.9rem}.scada-communication-config-window__summary{margin:0;color:#4d606f;font-size:.84rem;font-weight:600}.scada-communication-config-window__form{display:grid;gap:.9rem}.scada-communication-config-window__field{display:grid;gap:.35rem;color:#334049;font-size:.84rem;font-weight:700}.scada-communication-config-window__field input{width:100%;padding:.6rem .75rem;border:1px solid #c6d4dc;border-radius:12px;background:#fff;color:#1d2f3a}.scada-communication-config-window__actions{display:flex;justify-content:flex-end;gap:.6rem}.scada-trend-window{display:flex;flex-direction:column;flex:1 1 auto;gap:.75rem;min-height:100%;min-width:0}.scada-trend-window__toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.scada-trend-window__meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;color:#4d606f;font-size:.82rem;font-weight:600;margin-bottom:.15rem}.scada-trend-window__preset-row{display:grid;gap:.45rem}.scada-trend-window__section-label{color:#4d606f;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.scada-trend-window__preset-list{display:flex;flex-wrap:wrap;gap:.4rem}.scada-trend-window__preset-button,.scada-trend-window__auto-button,.scada-trend-window__range-apply{min-height:1.95rem;padding-inline:.8rem;font-size:.82rem;border-radius:999px}.scada-trend-window__preset-button--active{border-color:#2f8fa6;background:#e9f5f8;color:#1a5f71;box-shadow:inset 0 0 0 1px #2f8fa62e}.scada-trend-window__auto-button--paused{border-color:#9aa8b2;background:#eef2f4;color:#495a67}.scada-trend-chart{flex:1;min-height:320px}.scada-trend-window__chart{display:flex;flex:1 1 auto;min-height:0}.scada-trend-chart__canvas{width:100%;height:100%;min-height:260px}.scada-trend-chart__empty{min-height:260px;display:grid;place-items:center;border:1px solid #c7d2d9;border-radius:.75rem;background:linear-gradient(180deg,#f8fbfc,#eef3f5);color:#4d606f;font-weight:600;text-align:center;padding:1rem}@media(max-width:768px){.scada-trend-window__toolbar{flex-direction:column;align-items:stretch}.scada-trend-window__meta{flex-direction:column;align-items:flex-start}.scada-trend-window__preset-list{width:100%}.scada-trend-window__preset-button,.scada-trend-window__auto-button{flex:1 1 calc(50% - .5rem);justify-content:center}}
