:root{color-scheme:light;--ink:#213442;--muted:#647580;--line:#e1e8ec;--paper:#fff;--canvas:#f2f5f7;--nav:#152d35;--nav-muted:#9bb1b7;--teal:#087f80;--teal-soft:#e7f5f2;--green:#168060;--amber:#a86413;--red:#b44141;--radius:9px;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--teal)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #168caa;outline-offset:3px}[hidden]{display:none!important}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle;fill:none;stroke:currentColor}.skip{position:fixed;left:-9999px;z-index:100}.skip:focus{left:12px;top:12px;padding:12px 18px;background:#fff}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#35c292;flex-shrink:0;box-shadow:0 0 0 3px #35c29215}.status-dot.offline{background:#c66b4c;box-shadow:0 0 0 3px #c66b4c15}.app-shell{min-height:100dvh}.sidebar{width:246px;background:var(--nav);color:#d9e5e8;position:fixed;inset:0 auto 0 0;z-index:40;display:flex;flex-direction:column;border-right:1px solid #ffffff08}.brand{display:flex;align-items:center;gap:11px;padding:26px 23px 22px;text-decoration:none;color:#fff;font-size:1.4rem;font-weight:700;letter-spacing:-.65px;line-height:1.25}.brand img{flex-shrink:0}.brand-light{font-weight:400;margin-left:3px}.brand small,.auth-brand small{display:block;font-size:0.7333rem;font-weight:500;letter-spacing:1.8px;margin-top:6px;color:#a7c4c8}.appliance{margin:0 18px 18px;padding:13px 11px;display:flex;align-items:center;gap:10px;border:1px solid #91bec41f;border-radius:7px;background:#ffffff04;font-size:0.8rem}.appliance small{display:block;color:var(--nav-muted);font-size:0.7333rem;margin-top:2px}.appliance-tag{margin-left:auto;color:#c1d8dc;background:#ffffff0d;padding:2px 6px;border-radius:4px;font-size:0.7333rem}.sidebar nav{flex:1;overflow-y:auto;padding:0 12px 20px;scrollbar-width:thin;scrollbar-color:#40585e transparent}.nav-group{margin-bottom:19px}.nav-group>p{font-size:0.7333rem;color:#91aab1;letter-spacing:1.5px;margin:0 14px 8px;font-weight:650}.nav-group button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;margin:3px 0;background:none;border:1px solid transparent;text-align:left;border-radius:6px;font-size:0.8rem;color:#c3d3d8;min-height:42px}.nav-group button .icon{width:17px;height:17px;color:#9bb8bf}.nav-group button:hover{background:#ffffff08;color:white}.nav-group button[aria-current=page]{background:#20746e38;border-color:#3a95862b;color:#8ce5c9}.nav-group button[aria-current=page] .icon{color:#8ce5c9}.nav-count{margin-left:auto;font-size:0.7333rem;padding:0 5px;border:1px solid #ffffff19;border-radius:4px;min-width:20px;text-align:center}.sidebar-footer{padding:19px 25px;border-top:1px solid #ffffff0c;font-size:0.7333rem;display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:#b0c9cd}.sidebar-footer small{font-size:0.7333rem;margin-left:16px;flex-basis:100%;color:#7f9aa2}.app-body{margin-left:246px;min-width:0}.topbar{height:66px;padding:0 32px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar-left,.topbar-actions{display:flex;gap:16px;align-items:center;min-width:0;font-size:0.8rem}.topbar-product{font-weight:600}.topbar-divider{color:#b4c2c9}.topbar-left>span:last-child{color:var(--muted)}.topbar-actions{gap:15px}.live-tag{display:flex;align-items:center;gap:8px;color:var(--green);font-size:0.7333rem}.live-tag.disconnected{color:var(--red)}.identity{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:1px solid var(--line);padding-left:15px;font-size:0.7333rem;color:var(--muted)}.icon-button{border:0;background:transparent;color:#627982;padding:8px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.icon-button:hover{background:#edf4f4}.text-size{font-size:0.8rem;font-weight:650}#menu-toggle{display:none}main{padding:29px 32px 0;max-width:1700px;margin:0 auto;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:0.7333rem;color:#7a8b94;margin-bottom:10px}.breadcrumb>span:last-child{color:#405967}.page-header h1{font-size:1.7333rem;letter-spacing:-.7px;margin:0 0 5px;font-weight:650}.page-header p{font-size:0.8rem;color:var(--muted);margin:0}.environment-badge{display:flex;align-items:center;gap:7px;font-size:0.7333rem;color:#536d76;padding:6px 10px;border:1px solid #d7e2e7;background:#f9fbfc;border-radius:5px;white-space:nowrap}.environment-badge .icon{width:14px;height:14px}.page{min-width:0}.page:not(.dashboard-page){padding:26px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 3px #193d4b02}.page h2{font-size:1.2rem;letter-spacing:-.3px;margin:0 0 6px;font-weight:650}.page h3{font-size:0.9333rem;margin:0 0 14px}.page p{color:var(--muted);font-size:0.8rem}.page>p{max-width:1000px}.eyebrow{font-size:0.7333rem;font-weight:700;letter-spacing:1.7px;color:var(--teal);display:block;margin-bottom:8px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.section-heading p{margin:6px 0 0}.badge{display:inline-flex;align-items:center;gap:5px;font-size:0.7333rem;line-height:1.5;padding:4px 9px;background:#f1f5f7;border:1px solid #e2e9ed;border-radius:5px;color:#607680;font-weight:500;white-space:nowrap}.badge.success{background:#e8f6f0;color:#1c7f61;border-color:#d5ecdf}.badge.warning{background:#fff4df;color:var(--amber);border-color:#f1dfb9}.badge.danger{background:#fdeeee;color:var(--red);border-color:#f7d9d9}.overview-strip{padding:11px 15px;margin-bottom:20px;background:#eaf4f2;border:1px solid #d5e7e1;border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:0.7333rem;color:#52776b}.overview-strip>div{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.overview-strip strong{font-weight:600;color:#26644f}.strip-secondary{border-left:1px solid #bfd7cd;padding-left:10px;color:#6c877f}.overview-strip>span{white-space:nowrap;font-size:0.7333rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px}.metric{position:relative;padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 2px 3px #193d4b02;min-width:0}.metric>span{display:block;font-size:0.7333rem;color:var(--muted);padding-right:28px}.metric strong{display:block;font-size:1.8667rem;letter-spacing:-1px;font-weight:600;margin:10px 0 5px;color:#213f4b}.metric strong small{font-size:0.8667rem;letter-spacing:0;font-weight:450;color:#71858e;margin-left:5px}.metric>small{font-size:0.7333rem;color:#7e929a;display:block}.metric>.metric-icon{position:absolute;right:17px;top:18px;width:32px;height:32px;background:#edf7f4;color:#168a70;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0}.metric-icon .icon{width:17px;height:17px}.metric:nth-child(2)>.metric-icon{background:#eef3fc;color:#5a7cb4}.metric:nth-child(3)>.metric-icon{background:#f5f0fa;color:#9170b4}.metric:nth-child(4)>.metric-icon{background:#fff6e8;color:#b08b43}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:21px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}.panel-heading{padding:20px 21px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-heading h2{font-size:0.8667rem;letter-spacing:0;margin:0}.panel-heading p{font-size:0.7333rem;margin:4px 0 0;color:#85949d}.panel-heading>.icon{color:#8aa0aa;width:18px;height:18px}.panel-heading .badge{font-size:0.7333rem;background:#f7f9fa}.topology{padding:26px 20px 30px;display:flex;align-items:center;justify-content:center;min-height:190px}.topology-node{display:flex;align-items:center;text-align:center;flex-direction:column;flex:1;min-width:0}.topology-node>.icon{width:40px;height:40px;background:#f3f7f9;border:1px solid #e4ebee;padding:8px;box-sizing:content-box;border-radius:12px;color:#617f8c;margin-bottom:13px}.topology-core img{width:58px;height:58px;border-radius:13px;box-shadow:0 4px 14px #0c555825;margin-bottom:13px}.topology-node strong{font-size:0.7333rem;font-weight:600;white-space:nowrap}.topology-node small{font-size:0.7333rem;color:#8a9aa1;margin-top:4px;white-space:nowrap}.topology-link{flex:.65;min-width:35px;display:flex;flex-direction:column;align-items:center;gap:6px;align-self:center;margin-top:-31px}.topology-link span{font-size:0.7333rem;color:#587b83;white-space:nowrap}.topology-link i{height:1px;background:#81b9b5;width:100%;position:relative}.topology-link i:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-top:1px solid #81b9b5;border-right:1px solid #81b9b5;transform:rotate(45deg)}.topology-link small{font-size:0.7333rem;color:#8d9fa6}.topology-caption{display:flex;align-items:center;gap:8px;padding:12px 21px;background:#fbfcfd;border-top:1px solid #edf1f3;font-size:0.7333rem;color:#86979f}.topology-caption .icon{width:13px;height:13px}.info-list{margin:0;padding:0 21px 9px}.info-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eef2f4;font-size:0.7333rem}.info-list>div:last-child{border-bottom:0}.info-list dt{color:#80929b}.info-list dd{margin:0;color:#3c5865;text-align:right;overflow-wrap:anywhere;max-width:60%}.system-panel>.text-button{margin:2px 21px 16px}.text-button{display:inline-flex;align-items:center;gap:10px;padding:5px 0;background:none;border:0;color:var(--teal);font-size:0.7333rem;font-weight:600;white-space:nowrap}.text-button:hover{text-decoration:underline}.equipment-overview{padding:0 20px 8px}.equipment-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #edf1f3}.equipment-symbol{width:36px;height:36px;background:#edf5f5;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#428f89}.equipment-symbol .icon{width:22px;height:22px}.equipment-info{flex:1;min-width:0}.equipment-info strong{display:block;font-size:0.7333rem;font-weight:600}.equipment-info small{font-size:0.7333rem;color:#8c9ba2}.equipment-row>.badge{font-size:0.7333rem}.equipment-row .mode-label{font-size:0.7333rem;color:#7a8e96;width:60px;text-align:right}.recent-events{padding:0 21px 9px}.event-row{display:flex;gap:10px;padding:12px 0;border-top:1px solid #edf1f3;font-size:0.7333rem;align-items:flex-start}.event-dot{width:6px;height:6px;border-radius:50%;background:#5eaaa1;flex-shrink:0;margin-top:5px}.event-row p{font-size:0.7333rem;margin:0;color:#526a76;overflow-wrap:anywhere;line-height:1.65}.event-row small{font-size:0.7333rem;color:#94a2a9}.empty-state{font-size:0.7333rem;color:#8c9ba2;padding:28px 0;text-align:center}.lab-note{display:flex;align-items:center;gap:12px;margin:21px 0 0;padding:12px 16px;border:1px solid #dce6ed;background:#edf3f7;border-radius:6px;color:#7191a4}.lab-note>.icon{width:17px;height:17px}.lab-note p{margin:0;color:#71848e;font-size:0.7333rem}.lab-note strong{color:#4d6b7a;font-weight:600}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid #dfe7eb;margin-top:30px;padding:20px 0 24px;font-size:0.7333rem;color:#8b9ba4}.page-footer>span:first-child{font-size:0.8rem;color:#657b86}.footer-mark{font-weight:700;color:#42636d}.footer-version{font-size:0.7333rem;border:1px solid #d5e0e5;border-radius:3px;margin-left:5px;padding:1px 4px}button.primary,.secondary,.page button:not(.text-button):not(.icon-button),a.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;padding:9px 14px;border:1px solid #cfdce1;border-radius:5px;background:#fff;color:#3c5a68;font-size:0.8rem;font-weight:500;text-decoration:none}.page button:not(.text-button):not(.icon-button):hover,.secondary:hover{background:#f3f8f8;border-color:#9cbdbf}button.primary,.page button.primary{background:var(--teal);border-color:var(--teal);color:#fff}.page button.primary:hover,button.primary:hover{background:#096d70}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:18px}.device{border:1px solid var(--line);border-radius:8px;padding:22px;background:linear-gradient(140deg,#fbfdfd,#fff)}.device h3{font-size:1.0667rem;display:flex;align-items:center;gap:9px;margin-bottom:15px}.device h3>.icon{color:var(--teal)}.device .position{font-size:1.4667rem;font-weight:600;letter-spacing:-.4px;color:#276951;margin:18px 0}.device p{font-size:0.7333rem}.device button{margin:5px 6px 0 0}.injection-panel,.subsection{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}.inline{display:flex;align-items:flex-end;flex-wrap:wrap;gap:15px}.inline label{margin:0}.inline button{margin-bottom:1px}label{display:block;font-size:0.8rem;color:#526c79;margin:16px 0}label input:not([type=checkbox]),label select{display:block;margin-top:7px}input,select,textarea{padding:10px 12px;background:#fff;border:1px solid #cbd9df;border-radius:5px;color:#294652;max-width:100%;min-height:40px;font-size:0.8rem}input::placeholder{color:#9aaab2}input:focus,select:focus,textarea:focus{border-color:#6daaa8}input[type=checkbox]{width:17px;height:17px;min-height:17px;vertical-align:middle;accent-color:var(--teal);margin-right:6px}input[type=file]{background:#f8fafb}textarea{width:100%;font:.8rem/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;background:#f8fafb;tab-size:2;resize:vertical}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:7px;margin:18px 0}table{border-collapse:collapse;width:100%;font-size:0.7333rem}th{text-align:left;white-space:nowrap;background:#f5f8fa;color:#6d838e;font-size:0.7333rem;font-weight:600;padding:13px 15px;border-bottom:1px solid var(--line)}td{padding:14px 15px;vertical-align:top;border-bottom:1px solid #e9eff2;color:#45606c}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f9fcfc}td small{display:block;font-size:0.7333rem;line-height:1.8;color:#879aa3}td input,td select{max-width:170px;min-width:95px}td button{font-size:0.7333rem!important;min-height:32px!important;padding:6px 9px!important;margin:2px!important}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:60vh;overflow:auto;background:#f6f9fb;border:1px solid #e4ecef;padding:18px;border-radius:6px;font:.8rem/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;color:#54717e}summary{cursor:pointer;padding:14px 0;font-size:0.8rem;color:#466775}details{margin-top:16px;border-top:1px solid var(--line)}.version{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:0.7333rem;overflow-wrap:anywhere}.version button{flex-shrink:0}.notice:empty{display:none}.notice:not(:empty){margin-bottom:18px;border:1px solid #cfe5df;background:#eaf6f0;color:#356b56;padding:11px 15px;border-radius:6px;font-size:0.8rem}.notice.error{border-color:#e8c7c0;background:#fff2ee;color:#a14432}.protocol-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:30px}.protocol-card,.connection-card{border:1px solid var(--line);border-radius:8px;padding:20px}.protocol-card h3,.connection-card h3{display:flex;gap:9px;align-items:center}.protocol-card h3 .icon,.connection-card h3 .icon{color:var(--teal)}.protocol-card .info-list,.connection-card .info-list{padding:0}.subsection-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.subsection-heading h3{margin:0}.connection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.info-note{padding:14px 17px;border:1px solid #dce8ed;background:#f4f8fa;border-radius:6px;font-size:0.7333rem;color:#6a8592;margin-top:22px}.auth-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 20% 10%,#20555c44,transparent 60%),linear-gradient(145deg,#102d35,#142c35 50%,#103b40);padding:50px 20px;color:#fff}.auth-brand{display:flex;align-items:center;gap:15px;font-size:1.9333rem;letter-spacing:-1px;font-weight:700;line-height:1.2;margin-bottom:35px}.auth-brand small{font-size:0.7333rem;letter-spacing:2px}.auth-card{background:#fff;color:var(--ink);border:1px solid #ffffff2a;border-radius:12px;width:100%;max-width:420px;padding:36px;box-shadow:0 22px 65px #071b2b35}.auth-card .eyebrow{font-size:0.7333rem}.auth-card h1{font-size:1.6667rem;line-height:1.3;letter-spacing:-.6px;margin:11px 0 12px;font-weight:650}.auth-card>p{font-size:0.8rem;color:#7a8e99;line-height:1.8;margin-bottom:27px}.auth-card label{font-size:0.7333rem;color:#536e7b;margin:20px 0}.auth-card input{width:100%;min-height:46px;font-size:0.8rem;background:#fcfdfd}.auth-card button.primary{width:100%;min-height:45px;margin-top:5px;justify-content:space-between;font-size:0.8rem}.auth-security{display:flex;align-items:center;justify-content:center;gap:7px;font-size:0.7333rem;color:#91a2ab;margin-top:24px}.auth-security .icon{width:13px;height:13px}.auth-footer{margin:25px 0 0;font-size:0.7333rem;color:#89a9b1;text-align:center;line-height:2}.auth-footer span{padding:0 8px;color:#4e7c86}.auth-message:empty{display:none}.auth-message:not(:empty){position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:calc(100% - 40px);max-width:500px;background:#fff0df;color:#8b491e;padding:14px 18px;border:1px solid #e1c5aa;border-radius:8px;z-index:80;font-size:0.8rem;box-shadow:0 3px 20px #0002}.nav-backdrop{position:fixed;inset:0;background:#0c253a80;border:0;z-index:35;padding:0}#account-form{max-width:500px}#account-list{max-width:800px}
@media(min-width:1600px){main{padding-top:34px}.metric{padding:24px}.topology{padding-top:35px;padding-bottom:38px}.panel-heading{padding-top:23px}}
@media(max-width:1200px){.sidebar{width:225px}.app-body{margin-left:225px}.brand{font-size:1.2667rem;padding-left:18px;padding-right:15px}.topbar{padding:0 24px}main{padding-left:24px;padding-right:24px}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(240px,.85fr)}.topology{padding-left:12px;padding-right:12px}.topology-node strong{font-size:0.7333rem}.topology-link span{font-size:0.7333rem}.panel-heading{padding-left:17px;padding-right:17px}.panel-heading .badge{display:none}.metric{padding:17px}.metric>.metric-icon{width:26px;height:26px;right:13px}.metrics{gap:12px}.metric>span{font-size:0.7333rem}.metric strong{font-size:1.6667rem}.identity{max-width:155px}.topbar-actions{gap:8px}.strip-secondary{display:none}}
@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr}.topology-panel{order:0}.system-panel{order:2}.equipment-panel{order:1}.activity-panel{order:3}.topology{padding-top:23px;padding-bottom:25px}.topology-node strong{font-size:0.7333rem}.topology-link span{font-size:0.7333rem}.topology-node>.icon{width:35px;height:35px}.topology-core img{width:53px;height:53px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-product{display:none}.topbar-divider{display:none}.page-header{align-items:flex-start}.environment-badge{font-size:0.7333rem;margin-top:30px}.page-header h1{font-size:1.6rem}.page-footer>span:last-child{display:none}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .2s ease;width:258px}.menu-open .sidebar{transform:translateX(0)}.app-body{margin-left:0}#menu-toggle{display:inline-flex}.topbar{height:59px;padding:0 16px;gap:8px}.topbar-left{gap:8px}.topbar-left>span:last-child{font-size:0.7333rem}.topbar-actions{gap:3px}.identity{font-size:0.7333rem;max-width:130px;padding-left:10px;margin-left:5px}.live-tag{font-size:0.7333rem}.live-tag>span:last-child{display:none}.text-size{font-size:0.7333rem}.topbar-actions .icon-button{min-width:34px;min-height:38px}main{padding:20px 16px 0}.page-header{margin-bottom:21px}.breadcrumb{font-size:0.7333rem;gap:6px;margin-bottom:8px}.page-header h1{font-size:1.5333rem}.page-header p{font-size:0.7333rem;max-width:330px}.environment-badge{display:none}.overview-strip{padding:10px 12px;margin-bottom:15px;font-size:0.7333rem;gap:4px}.overview-strip>span{font-size:0.7333rem}.metrics{gap:12px;margin-bottom:16px}.metric{padding:16px}.metric>span{font-size:0.7333rem}.metric strong{font-size:1.8rem;margin:14px 0 4px}.metric>small{font-size:0.7333rem}.metric>.metric-icon{top:13px;right:12px;width:25px;height:25px}.metric-icon .icon{width:14px;height:14px}.dashboard-grid{gap:16px}.panel-heading{padding:18px 16px 14px}.panel-heading h2{font-size:0.8rem}.panel-heading p{font-size:0.7333rem;max-width:240px}.panel-heading .text-button{font-size:0.7333rem}.topology{padding:17px 12px 22px;min-height:170px}.topology-node>.icon{width:27px;height:27px;padding:8px;border-radius:10px}.topology-core img{width:45px;height:45px;border-radius:10px}.topology-node strong{font-size:0.7333rem}.topology-node small{font-size:0.7333rem}.topology-link span{font-size:0.7333rem}.topology-link small{font-size:0.7333rem}.topology-link{min-width:20px;gap:4px;flex:.45;margin-top:-30px}.topology-caption{font-size:0.7333rem;padding:10px 15px;align-items:flex-start}.equipment-overview{padding:0 16px 5px}.equipment-row{gap:9px}.equipment-row>.badge{font-size:0.7333rem;padding:4px 7px}.equipment-row .mode-label{font-size:0.7333rem;width:45px}.equipment-info strong{font-size:0.7333rem}.equipment-info small{font-size:0.7333rem}.equipment-symbol{width:32px;height:32px}.equipment-symbol .icon{width:19px;height:19px}.recent-events{padding-left:16px;padding-right:16px}.lab-note{align-items:flex-start;padding:12px;gap:9px;margin-top:16px}.lab-note p{font-size:0.7333rem}.page-footer{margin-top:23px;padding:17px 0;gap:8px;font-size:0.7333rem}.page-footer>span:nth-child(2){font-size:0.7333rem}.page:not(.dashboard-page){padding:18px 16px}.page h2{font-size:1.1333rem}.page p{font-size:0.7333rem}.section-heading{align-items:flex-start;gap:10px;flex-wrap:wrap}.section-heading>.badge{font-size:0.7333rem}.cards{grid-template-columns:1fr}.device{padding:20px}.device h3{font-size:1.0667rem}.device button{min-height:44px!important}.protocol-summary{grid-template-columns:1fr;gap:13px}.protocol-card,.connection-card{padding:16px}.info-list>div{font-size:0.7333rem}.inline{gap:13px}.inline label{width:100%}.inline label input,.inline label select{width:100%}.inline button{width:100%;min-height:44px!important}.page>button,.page>a.button{margin-top:7px}.version{font-size:0.7333rem}.version button{font-size:0.7333rem!important}label,input,select{font-size:0.8667rem}input,select{min-height:44px}textarea{font-size:0.7333rem}td small{font-size:0.7333rem}.text-button{min-height:36px}.auth-card{padding:28px}.auth-brand{font-size:1.8rem;margin-bottom:28px}.auth-brand small{font-size:0.7333rem}.auth-screen{padding:35px 20px}.auth-card h1{font-size:1.6667rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.device-id{display:block;color:var(--muted);font-size:.75rem;margin-top:-10px;margin-bottom:13px}
@media(max-width:600px){.topology{flex-direction:column;align-items:stretch;gap:10px;padding:20px 26px}.topology-node{display:grid;grid-template-columns:45px 1fr;column-gap:15px;text-align:left;flex:none}.topology-node>.icon,.topology-core img{grid-column:1;grid-row:1 / 3;margin:0;width:28px;height:28px}.topology-core img{width:46px;height:46px}.topology-node strong{grid-column:2;font-size:.8rem;align-self:end}.topology-node small{grid-column:2;font-size:.72rem;align-self:start;margin-top:3px}.topology-link{position:relative;height:27px;min-height:27px;width:1px;min-width:1px;margin:0 0 0 22px;align-self:start;flex:none;display:block}.topology-link i{display:block;width:1px;height:100%}.topology-link i:after{right:-2px;top:auto;bottom:0;transform:rotate(135deg)}.topology-link span{position:absolute;left:24px;top:4px;font-size:.7rem}.topology-link small{display:none}.equipment-row .mode-label{display:none}.topology-caption{font-size:.72rem}.overview-strip{flex-wrap:wrap;gap:5px}.overview-strip>span{margin-left:16px}.equipment-row>.badge{font-size:.68rem}.identity{max-width:160px}.topbar-left>span:last-child{display:none}}

.brand small{font-size:.5rem;white-space:nowrap}.appliance small{font-size:.65rem;white-space:nowrap}.auth-brand small{font-size:.52rem;white-space:nowrap}

.settings-nav{margin-top:-19px}.auth-language{display:flex;align-items:center;gap:12px;color:#b4cdd2;font-size:.75rem;margin:25px 0 0}.auth-language select{margin:0;background:#ffffff09;color:#d2e5e9;border-color:#ffffff29;min-width:130px;min-height:38px;font-size:.75rem}.auth-language option{color:#203b45;background:white}.settings-card{max-width:700px;border:1px solid var(--line);border-radius:8px;padding:22px}.settings-card label{max-width:300px}.settings-card select{width:100%}

.brand>span{min-width:0;font-size:clamp(18px,1.4rem,23px)}.brand small{letter-spacing:1.3px;font-size:8px}.auth-brand small{font-size:8px}
/* Live three-layer protocol bench */
.bench-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.bench-peer{padding:20px;border:1px solid var(--line);border-radius:8px;min-width:0;background:#fff}.bench-core{background:linear-gradient(150deg,#edf7f4,#fff);border-color:#bcded5}.bench-peer-heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.bench-peer-heading h3{font-size:.95rem;margin:0}.bench-peer-heading .eyebrow{font-size:.6rem;margin:0 0 3px;letter-spacing:1px}.bench-peer-heading>.badge,.bench-peer-heading>img{margin-left:auto}.bench-number{font-size:.75rem;padding:6px;background:#edf4f6;color:#7a929d;border-radius:5px}.bench-provider{font-size:.7rem!important;margin:13px 0 18px}.bench-reading{padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:10px}.bench-reading strong{font-size:2rem;display:block;font-weight:650;letter-spacing:-1px;color:#22554e}.bench-reading>span{font-size:.7rem;color:#83969e}.bench-value{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:9px 0;font-size:.72rem;border-bottom:1px solid #e9eff0}.bench-value .badge{font-size:.65rem}.bench-counters{display:flex;justify-content:space-between;gap:12px;padding:16px 0;font-size:.65rem;color:var(--muted)}.bench-counters strong{color:#426874}.bench-control-group{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.bench-control-group>strong{font-size:.72rem;font-weight:550;width:100%}.page .bench-control-group button{font-size:.65rem;min-height:34px;padding:6px 8px;flex:1;white-space:nowrap}.bench-help{font-size:.7rem!important;line-height:1.8;color:#7a929d!important}.bench-core>.info-list{padding:10px 0}.bench-path{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px;background:#eff6f7;border:1px solid #dbe7e9;border-radius:7px;margin-top:16px;font-size:.7rem;color:#62838d}.bench-lower{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px;margin-top:25px}.bench-panel{border:1px solid var(--line);border-radius:7px;padding:20px;min-width:0}.bench-panel .table-wrap{margin-top:12px}.bench-toggles label{font-size:.75rem;margin:10px 0}.bench-presets{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.page .bench-presets button{font-size:.7rem}.bench-downloads{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}#lab-load-form{padding:20px;background:#f6f9fb;border:1px solid var(--line);border-radius:8px}#lab-load-form label{max-width:600px}#lab-plc-form label>input[type=number]{width:100%}#lab-notice{margin-top:0}@media(max-width:1350px){.bench-chain{grid-template-columns:1fr}.bench-peer{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.bench-peer-heading,.bench-provider{grid-column:1 / -1}.bench-provider{margin:0}.bench-reading{grid-column:1;align-self:start}.bench-peer>div[id$="values"]{grid-column:2;grid-row:3 / 5}.bench-core .info-list{grid-column:1 / -1}.bench-actions,.bench-help{grid-column:1 / -1}.bench-actions{display:flex;gap:15px;flex-wrap:wrap}.bench-control-group{flex:1;min-width:180px}.bench-lower{grid-template-columns:1fr}}@media(max-width:600px){.bench-peer{padding:16px;display:block}.bench-peer-heading{display:flex}.bench-peer-heading h3{font-size:1rem}.bench-provider{margin:12px 0 17px}.bench-peer-heading .eyebrow{font-size:.6rem}.bench-peer .badge{white-space:normal}.bench-peer-heading>.badge{font-size:.6rem}.bench-peer-heading>img{width:28px;height:28px}.bench-actions{display:block}.bench-value{font-size:.8rem}.bench-value>.badge{font-size:.72rem}.page .bench-control-group button{font-size:.75rem;min-height:43px}.bench-counters{font-size:.72rem}.bench-panel{padding:16px}.bench-path{font-size:.75rem;gap:8px;flex-direction:column;align-items:flex-start}.bench-downloads>a{width:100%}#lab-load-form{padding:16px}.bench-number{display:none}#lab-live{font-size:.72rem}.bench-reading>span{font-size:.75rem}}

/* Clearly framed action buttons, including the variable and SCADA controls. */
#workspace .page button:not(.icon-button),#workspace .page a.button{
 border:2px solid #476574;background:#eaf2f5;color:#173e50;
 font-weight:650;box-shadow:0 2px 0 #193d4b1c;max-width:100%;
}
#workspace .page button:not(.icon-button):hover,#workspace .page a.button:hover{
 border-color:#126d75;background:#d9eef0;color:#104952;
 box-shadow:0 2px 0 #126d7530;
}
#workspace .page button.primary{border-color:#055c61;background:#087f80;color:#fff}
#workspace .page button.primary:hover{border-color:#034c51;background:#066a70;color:#fff}
#workspace .page .device button,#workspace .page .bench-control-group button{
 border:2px solid #09636c;background:#e0f2ef;color:#074d56;
 font-size:.8rem;font-weight:700;min-height:44px;padding:9px 12px;
 white-space:normal;text-align:center;
}
#workspace .page .device button:hover,#workspace .page .bench-control-group button:hover{
 border-color:#034b54;background:#c6e9e2;color:#043b44;
}
#workspace .page #variables-body button{
 border:2px solid #305e70;background:#e4f0f6;color:#153f54;
 font-size:.8rem!important;font-weight:700;min-height:42px!important;
 padding:8px 12px!important;margin:4px!important;
}
#workspace .page #variables-body button:hover{border-color:#075f70;background:#d0e8f1}
#workspace .page button:not(.icon-button):active{box-shadow:none;transform:translateY(1px)}
#workspace .page button:not(.icon-button):focus-visible,#workspace .page a.button:focus-visible{
 outline:4px solid #d18d00;outline-offset:3px;
}
#workspace .page button:not(.icon-button):disabled{
 opacity:1;border-color:#a9b7bd;background:#f0f3f4;color:#7b8c94;
 box-shadow:none;transform:none;cursor:not-allowed;
}

/* Realistic switchyard backdrop and compact equipment-style sign-in. */
.auth-screen{
 min-height:100dvh;position:relative;isolation:isolate;
 display:flex;flex-direction:column;align-items:flex-end;justify-content:center;
 padding:56px clamp(24px,7vw,130px);
 background:linear-gradient(90deg,#071c2918 0%,#071c2938 48%,#071c2978 100%),url('/static/substation-login.png') center center/cover no-repeat;
}
.auth-card{
 width:100%;max-width:410px;padding:34px 36px 26px;background:#fffffff5;
 color:#213442;border:1px solid #ffffffa8;border-radius:12px;
 box-shadow:0 20px 70px #03111e4d;backdrop-filter:blur(8px);
}
.auth-card .auth-brand{
 display:flex;align-items:center;justify-content:flex-start;gap:13px;margin:0 0 24px;
 color:#203d49;font-size:1.55rem;letter-spacing:-.8px;font-weight:700;
}
.auth-brand img{width:88px;height:72px;object-fit:contain;flex-shrink:0}
.auth-card .auth-brand .brand-light{font-weight:400;margin-left:3px}
.auth-card h1{font-size:1.35rem;margin:0 0 23px;letter-spacing:-.3px;font-weight:650}
.auth-card form label{font-size:.8rem;font-weight:600;color:#405d6d;margin:17px 0}
.auth-card input{min-height:46px;font-size:.9rem;border:1px solid #95aebc;background:#fff}
.auth-card input:focus-visible{outline:3px solid #168caa;outline-offset:2px}
.auth-card button.primary{
 min-height:46px;margin-top:6px;border:2px solid #055c61;font-weight:650;
 font-size:.85rem;border-radius:5px;
}
.auth-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #dae3e8;margin-top:23px;padding-top:17px}
.auth-card-footer .auth-security{margin:0;justify-content:flex-start;color:#607e8c;font-size:.7rem}
.auth-card-footer .auth-language{margin:0;display:block}
.auth-card-footer .auth-language select{min-height:36px;min-width:115px;margin:0;padding:6px 10px;background:#fff;color:#426372;border:1px solid #acbdc6;border-radius:4px;font-size:.75rem}
.auth-card #auth-help:not([hidden]){font-size:.75rem;line-height:1.7;margin:0 0 20px}
.brand img{width:45px;height:42px;object-fit:contain;flex-shrink:0}
.topology-core img{object-fit:contain;border-radius:6px;box-shadow:none;width:70px;height:58px}
@media(max-width:600px){
 .auth-screen{align-items:center;padding:38px 20px;background-position:38% center}
 .auth-card{max-width:380px;padding:28px 25px 23px;border-radius:10px}
 .auth-card .auth-brand{font-size:1.4rem;gap:12px;margin-bottom:22px}
 .auth-brand img{width:80px;height:64px}
 .auth-card h1{font-size:1.3rem;margin-bottom:20px}
 .auth-card input{font-size:1rem;min-height:48px}
 .auth-card button.primary{min-height:48px}
 .topology-core img{width:46px;height:46px;object-fit:contain}
}
@media(prefers-reduced-transparency:reduce){.auth-card{background:#fff;backdrop-filter:none}}

/* Official GE Vernova mark, kept in its original green. */
.auth-vendor{display:flex;align-items:center;padding-bottom:19px;margin-bottom:19px;border-bottom:1px solid #dbe5e8}
.auth-vendor img{display:block;width:164px;height:38px;object-fit:contain;object-position:left center}
.sidebar-vendor{display:flex;align-items:center;justify-content:center;margin:0 23px 17px;padding:10px 13px;background:#fff;border-radius:5px;border:1px solid #ffffff35}
.sidebar-vendor img{display:block;width:146px;height:34px;max-width:100%;object-fit:contain}
@media(max-width:600px){.auth-vendor{padding-bottom:15px;margin-bottom:17px}.auth-vendor img{width:150px;height:35px}}
/* Runtime controls use the same framed actions as the rest of the console. */
.runtime-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.runtime-card{background:var(--surface,#fff);border:1px solid #c8d7d9;border-radius:12px;padding:20px;min-width:0}
.runtime-card h3{margin:0 0 12px;overflow-wrap:anywhere}.runtime-card p{overflow-wrap:anywhere;min-height:1.5em}
.runtime-state{display:inline-flex;align-items:center;gap:9px;font-weight:650;color:#5d6870}.runtime-state:before{content:'';width:10px;height:10px;border-radius:50%;background:#7b858d}.runtime-state.active{color:#126a49}.runtime-state.active:before{background:#21a46c;animation:runtime-pulse 1.6s ease-in-out infinite}
.runtime-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.runtime-editors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.runtime-editors form{min-width:0}.runtime-editors label{display:block;margin-bottom:12px}.runtime-editors input,.runtime-editors select{width:100%;min-width:0}.runtime-mapping{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.runtime-card .badge{margin-top:12px}
@keyframes runtime-pulse{50%{box-shadow:0 0 0 4px #21a46c22;opacity:.65}}
@media(prefers-reduced-motion:reduce){.runtime-state.active:before{animation:none}}
@media(max-width:700px){.runtime-editors{grid-template-columns:1fr}.runtime-mapping{grid-template-columns:1fr}}
