/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}:root{color:#17202a;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;--color-bg: #f4f6f8;--color-surface: #ffffff;--color-sidebar: #18212f;--color-sidebar-hover: #223149;--color-sidebar-active: #214b82;--color-text: #17202a;--color-text-soft: #647184;--color-border: #dfe4ea;--color-border-strong: #c8d0da;--color-primary: #356ae6;--color-primary-hover: #2858c5;--color-success: #16834f;--color-warning: #b66a08;--color-danger: #c53a32;--radius-control: 6px;--radius-surface: 8px;--control-height: 32px;--shadow-float: 0 12px 32px rgb(23 32 42 / 12%)}*{box-sizing:border-box}html{background:var(--color-bg)}body{margin:0;min-width:320px;min-height:100vh;color:var(--color-text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid rgb(53 106 230 / 22%);outline-offset:2px}label{display:grid;gap:6px;min-width:0}label>span{color:var(--color-text-soft);font-size:12px;font-weight:650}input,select,textarea{width:100%;min-width:0;min-height:var(--control-height);padding:5px 9px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control)}textarea{min-height:96px;resize:vertical}.primary-button,.secondary-button,.danger-button,.text-button,.icon-button{min-height:var(--control-height);border-radius:var(--radius-control);font-weight:650;font-size:13px}.primary-button{padding:5px 11px;color:#fff;background:var(--color-primary);border:1px solid var(--color-primary)}.primary-button:hover:not(:disabled){background:var(--color-primary-hover)}.secondary-button{padding:5px 10px;color:var(--color-text);background:#fff;border:1px solid var(--color-border-strong)}.danger-button{min-height:var(--control-height);padding:5px 10px;color:var(--color-danger);font-weight:650;background:#fff;border:1px solid #df837d;border-radius:var(--radius-control)}.danger-button:hover:not(:disabled){background:#fff5f4;border-color:var(--color-danger)}.secondary-button--compact{min-height:28px;padding:3px 8px}.text-button{padding:4px 7px;color:var(--color-primary);background:transparent;border:0}.icon-button{display:inline-grid;width:36px;padding:0;place-items:center;color:inherit;background:transparent;border:1px solid transparent}.danger-text{color:var(--color-danger)}.table-frame{overflow:auto;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-surface)}table{width:100%;min-width:840px;border-collapse:collapse}th,td{padding:8px 10px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border)}th{color:#4e5b6b;font-size:12px;font-weight:700;background:#f8fafc}td{font-size:14px}tbody tr:last-child td{border-bottom:0}.inline-alert,.form-error{margin:0;padding:9px 11px;color:#9d2e28;background:#fff4f2;border:1px solid #ffd4ce;border-radius:var(--radius-control)}.muted-line,.empty-state{margin:0;color:var(--color-text-soft)}code,.generated-secret{padding:4px 6px;overflow-wrap:anywhere;color:#354153;background:#eef2f6;border-radius:4px}.status-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:4px 7px;font-size:12px;font-weight:650;white-space:nowrap;border-radius:999px}.status-badge--green{color:#0e7142;background:#e7f6ed}.status-badge--blue{color:#2459bd;background:#eaf0ff}.status-badge--amber{color:#9a5a06;background:#fff3d8}.status-badge--red{color:#a9322c;background:#ffebe8}.status-badge--neutral{color:#566273;background:#edf1f5}.console-icon{display:block;flex:0 0 auto}.console-shell{display:grid;grid-template-columns:208px minmax(0,1fr);min-height:100vh;background:var(--color-bg)}.console-shell--collapsed{grid-template-columns:64px minmax(0,1fr)}.console-sidebar{position:sticky;top:0;z-index:30;display:flex;flex-direction:column;height:100vh;padding:18px 12px 12px;overflow:hidden;color:#e7edf5;background:var(--color-sidebar)}.brand-block{min-height:62px;padding:4px 8px 18px;white-space:nowrap}.brand-block h1{margin:0;color:#fff;font-size:24px;line-height:1}.brand-block span{display:block;margin-top:8px;color:#9eabbc;font-size:12px}.console-nav{display:grid;gap:4px}.nav-group{display:grid;gap:3px}.nav-group__toggle{display:grid;grid-template-columns:20px minmax(0,1fr) 16px;gap:9px;align-items:center;min-height:38px;padding:0 10px;color:#aeb9c7;text-align:left;white-space:nowrap;background:transparent;border:1px solid transparent;border-radius:7px}.nav-group__toggle:hover,.nav-group__toggle--active{color:#e7edf5;background:#ffffff0a}.nav-group__label{overflow:hidden;font-size:14px;font-weight:700;letter-spacing:.01em;text-overflow:ellipsis}.nav-group__chevron{display:block;font-size:18px;line-height:1;text-align:center;transform:rotate(0);transition:transform .12s ease}.nav-group__chevron--expanded{transform:rotate(90deg)}.nav-submenu{display:grid;gap:2px;padding:0 0 4px 18px}.nav-item{display:flex;align-items:center;gap:10px;min-height:34px;padding:0 10px;color:#cbd4df;text-align:left;white-space:nowrap;background:transparent;border:1px solid transparent;border-radius:7px;font-size:13px}.nav-item__marker{width:5px;height:5px;background:#718096;border-radius:50%}.nav-item--active .nav-item__marker{background:#fff;box-shadow:0 0 0 3px #ffffff1f}.nav-item:hover{background:var(--color-sidebar-hover)}.nav-item--active{color:#fff;background:var(--color-sidebar-active);border-color:#61a0ff3d}.console-shell--collapsed .brand-block span,.console-shell--collapsed .nav-label,.console-shell--collapsed .nav-group__label,.console-shell--collapsed .nav-group__chevron,.console-shell--collapsed .sidebar-account__identity{display:none}.console-shell--collapsed .nav-group__toggle{grid-template-columns:20px;justify-content:center;padding:0}.console-shell--collapsed .nav-submenu{display:none}.console-shell--collapsed .brand-block h1{overflow:hidden;font-size:0}.console-shell--collapsed .brand-block h1:before{content:"I";font-size:24px}.console-shell--collapsed .sidebar-account{grid-template-columns:34px}.console-shell--collapsed .sidebar-account__logout{display:none}.empty-menu{padding:10px;color:#aeb9c7}.sidebar-account{display:grid;grid-template-columns:34px minmax(0,1fr) 36px;gap:9px;align-items:center;margin-top:auto;padding:12px 4px 2px;border-top:1px solid rgb(255 255 255 / 10%)}.sidebar-account__avatar{display:grid;width:34px;height:34px;place-items:center;color:#fff;font-weight:700;background:#356ae6;border-radius:50%}.sidebar-account__identity{display:grid;min-width:0}.sidebar-account__identity strong,.sidebar-account__identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account__identity strong{color:#fff;font-size:13px}.sidebar-account__identity small{margin-top:3px;color:#9eabbc;font-size:11px}.sidebar-account__logout{color:#cbd4df}.sidebar-scrim{display:none}.console-main{min-width:0}.console-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;min-height:54px;padding:0 20px;background:#fffffff0;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-menu{color:#415064}.topbar-module{color:var(--color-text-soft);font-size:13px;font-weight:650}.console-content{display:grid;gap:16px;padding:22px 24px 28px}.login-shell{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(420px,1.15fr);min-height:100vh;background:#fff}.login-brand-panel{display:grid;align-content:center;padding:64px;color:#fff;background:var(--color-sidebar)}.login-brand-mark{display:block;margin-bottom:28px;color:#8fb4ff;font-size:17px;font-weight:750;letter-spacing:.03em}.login-brand-panel h1{margin:0;font-size:clamp(32px,4vw,48px);letter-spacing:-.04em}.login-brand-panel p{max-width:380px;margin:16px 0 0;color:#b9c5d3;line-height:1.7}.login-card{display:grid;align-content:center;gap:16px;width:min(380px,calc(100% - 40px));margin:auto}.login-card__heading{margin-bottom:8px}.login-card__heading>span{color:var(--color-primary);font-size:13px;font-weight:700}.login-card h2{margin:6px 0 0;font-size:28px;letter-spacing:-.03em}.login-card p{margin:8px 0 0;color:var(--color-text-soft)}.login-card .primary-button{width:100%;min-height:40px;margin-top:4px}.page-panel,.workbench-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-surface)}.toast-viewport{position:fixed;z-index:120;top:18px;right:18px;display:grid;width:min(360px,calc(100vw - 36px));gap:10px;pointer-events:none}.toast{display:grid;grid-template-columns:4px minmax(0,1fr) 28px;gap:10px;min-height:64px;padding:10px 10px 10px 0;overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-surface);box-shadow:0 12px 30px #17202a2e;pointer-events:auto}.toast__indicator{align-self:stretch;background:var(--color-primary);border-radius:0 3px 3px 0}.toast--success .toast__indicator{background:var(--color-success)}.toast--error .toast__indicator{background:var(--color-danger)}.toast__content{min-width:0}.toast__content strong{display:block;font-size:13px}.toast__content p{margin:3px 0 0;color:var(--color-text-soft);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.toast__close{display:grid;width:28px;height:28px;padding:0;place-items:center;color:var(--color-text-soft);font-size:18px;line-height:1;background:transparent;border:0;border-radius:var(--radius-control)}.toast__close:hover{color:var(--color-text);background:#f1f4f7}.confirm-dialog-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a70}.confirm-dialog{width:min(440px,100%);overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-surface);box-shadow:var(--shadow-float)}.confirm-dialog__header{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:18px}.confirm-dialog__icon{display:grid;width:34px;height:34px;place-items:center;color:var(--color-primary);font-size:16px;font-weight:800;background:#edf3ff;border-radius:50%}.confirm-dialog__icon--danger{color:var(--color-danger);background:#fff0ee}.confirm-dialog__header h2{margin:0;font-size:17px}.confirm-dialog__header p{margin:6px 0 0;color:var(--color-text-soft);font-size:13px;line-height:1.55}.confirm-dialog__footer{display:flex;gap:8px;justify-content:flex-end;padding:11px 18px;background:#f8fafc;border-top:1px solid var(--color-border)}.page-panel{display:grid;gap:12px;padding:14px}.page-header{display:flex;gap:18px;align-items:flex-start;justify-content:space-between}.page-header__identity{display:flex;gap:12px;align-items:flex-start;min-width:0}.page-header h1{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.02em}.page-header p{margin:5px 0 0;color:var(--color-text-soft);font-size:14px}.page-header small{display:block;margin-top:6px;color:#8792a1}.page-header__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.button-with-icon{display:inline-flex;gap:7px;align-items:center;justify-content:center}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-surface)}.metric-item{display:grid;gap:4px;min-height:68px;padding:10px 14px;border-right:1px solid var(--color-border)}.metric-item:last-child{border-right:0}.metric-item>span,.metric-item>small{color:var(--color-text-soft);font-size:12px}.metric-item>strong{color:var(--color-primary);font-size:18px;line-height:1}.metric-item--success>strong{color:var(--color-success)}.metric-item--warning>strong{color:var(--color-warning)}.metric-item--danger>strong{color:var(--color-danger)}.device-list-page{display:grid;gap:14px}.device-list-surface{gap:12px}.list-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 210px auto;gap:10px;align-items:end}.input-with-icon{position:relative;display:block}.input-with-icon .console-icon{position:absolute;top:50%;left:10px;z-index:1;color:#788596;transform:translateY(-50%);pointer-events:none}.input-with-icon input{padding-left:34px}.device-table tbody tr{cursor:pointer}.device-table tbody tr:hover,.device-table tbody tr:focus-visible{background:#f7faff}.device-sn-cell{width:220px;max-width:220px}.device-sn{display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-created-at{color:var(--color-text-soft);white-space:nowrap}.cell-stack{display:grid;gap:3px;min-width:0}.cell-stack small{color:var(--color-text-soft)}.cell-stack .status-badge{margin-top:1px}.pagination-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;color:var(--color-text-soft);font-size:13px}.pagination-controls,.pagination-actions,.page-size-control{display:flex;gap:8px;align-items:center}.page-size-control{width:auto}.page-size-control select{width:72px;min-height:32px}.empty-cell{height:72px;color:var(--color-text-soft);text-align:center}.page-title-row{display:flex;gap:14px;align-items:center;justify-content:space-between}.page-title-row h1{margin:0}.device-detail-page,.device-summary,.operations-shell{display:grid;gap:14px}.page-back-button{margin-top:1px;color:#526174;background:#fff;border-color:var(--color-border)}.device-context-statuses{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.device-summary{padding:16px}.summary-heading h2{margin:4px 0 0;font-size:17px}.section-kicker{color:#8792a1;font-size:11px;font-weight:750;letter-spacing:.06em}.detail-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-surface)}.detail-group{min-width:0;padding:14px;border-right:1px solid var(--color-border)}.detail-group:last-child{border-right:0}.detail-group h3{margin:0 0 12px;font-size:14px}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.detail-list--activity{grid-template-columns:1fr}.detail-list div{min-width:0}.detail-list dt{color:var(--color-text-soft);font-size:12px}.detail-list dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:13px;font-weight:650}.user-management-page,.system-settings-page,.system-settings-page form{display:grid;gap:14px}.user-header-actions,.role-row,.auth-source-row,.settings-actions,.settings-status-row,.settings-header-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.user-header-actions,.settings-header-actions{gap:10px;justify-content:flex-end}.role-pill{padding:3px 7px;color:#2459bd;font-size:12px;background:#eaf0ff;border-radius:999px}.settings-section{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--color-border)}.settings-section h2{margin:0;font-size:15px}.settings-list{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-surface)}.settings-switch{display:flex;gap:18px;align-items:center;justify-content:space-between;min-height:62px;padding:10px 12px;background:#fff;border-bottom:1px solid var(--color-border)}.settings-switch:last-child{border-bottom:0}.settings-switch strong,.settings-switch small{display:block}.settings-switch small{margin-top:4px;color:var(--color-text-soft)}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-switch-control{display:inline-flex;flex:0 0 auto;align-items:center;width:42px;height:24px;padding:2px;background:#cdd4dd;border:0;border-radius:999px}.settings-switch-control span{width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .12s ease}.settings-switch-control[aria-checked=true]{background:var(--color-primary)}.settings-switch-control[aria-checked=true] span{transform:translate(18px)}.settings-secret-state{padding:9px 10px;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-control)}.settings-secret-state span,.settings-secret-state strong{display:block}.settings-secret-state span{color:var(--color-text-soft);font-size:12px}.settings-secret-state strong{margin-top:6px;color:var(--color-success)}.factory-mock-page{display:grid;gap:14px}.factory-mock-hero{gap:14px}.factory-mock-notice{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:11px 12px;color:#654a10;font-size:13px;line-height:1.55;background:#fff8e7;border:1px solid #f1d38a;border-radius:var(--radius-control)}.factory-mock-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-surface)}.factory-mock-flow-step{position:relative;display:flex;gap:10px;align-items:center;min-height:58px;padding:10px 16px;color:var(--color-text-soft);border-right:1px solid var(--color-border)}.factory-mock-flow-step:last-child{border-right:0}.factory-mock-flow-step>span{display:grid;flex:0 0 auto;width:28px;height:28px;place-items:center;color:#5d6c7d;font-size:12px;font-weight:750;background:#eef2f6;border-radius:50%}.factory-mock-flow-step--active{color:var(--color-primary);background:#f7faff}.factory-mock-flow-step--active>span,.factory-mock-flow-step--done>span{color:#fff;background:var(--color-primary)}.factory-mock-flow-step--done{color:var(--color-text)}.factory-mock-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(440px,1.1fr);gap:14px;align-items:start}.factory-mock-form,.factory-mock-evidence,.factory-mock-delivery{gap:12px}.factory-mock-form>label,.factory-mock-form-row label,.factory-mock-managed-grid label{display:grid;gap:6px}.factory-mock-form label>span,.factory-mock-form-row label>span,.factory-mock-managed-grid label>span{font-size:12px;font-weight:650}.factory-mock-form label>small,.factory-mock-managed-grid label>small{color:var(--color-text-soft);font-size:12px;line-height:1.4}.factory-mock-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.factory-mock-managed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.factory-mock-readiness-warning,.factory-mock-refresh-warning{margin:0;padding:10px 12px;color:#76520b;font-size:12px;line-height:1.5;background:#fff8e7;border:1px solid #f1d38a;border-radius:var(--radius-control)}.factory-mock-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.factory-mock-result-card{min-width:0}.factory-mock-result-placeholder{display:grid;min-height:110px;padding:18px;place-items:center;color:var(--color-text-soft);font-size:12px;line-height:1.5;text-align:center;background:#f8fafc;border:1px dashed #cbd4df;border-radius:var(--radius-control)}.factory-mock-section-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.factory-mock-section-heading h2{margin:4px 0 0;font-size:17px}.factory-mock-primary-action{width:auto;min-height:var(--control-height);justify-self:end}.factory-mock-placeholder{display:grid;min-height:250px;padding:28px;place-items:center;color:var(--color-text-soft);font-size:13px;line-height:1.6;text-align:center;background:#f8fafc;border:1px dashed #cbd4df;border-radius:var(--radius-surface)}.factory-mock-request-trace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-control)}.factory-mock-request-trace>div{min-width:0;padding:10px 12px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.factory-mock-request-trace>div:nth-child(2n){border-right:0}.factory-mock-request-trace>.factory-mock-request-trace__wide{grid-column:1 / -1;border-right:0;border-bottom:0}.factory-mock-request-trace dt,.factory-mock-lifecycle span,.factory-mock-secret-card>span{color:var(--color-text-soft);font-size:12px}.factory-mock-request-trace dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:13px;font-weight:650}.factory-mock-request-trace code{font-size:12px}.factory-mock-lifecycle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.factory-mock-lifecycle>div{padding:10px 12px;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-control)}.factory-mock-lifecycle strong{display:block;margin-top:5px;color:var(--color-primary)}.factory-mock-secret-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.factory-mock-secret-card{display:grid;gap:8px;min-width:0;padding:12px;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-control)}.factory-mock-secret-card--sensitive{background:#fffaf0;border-color:#ecd79e}.factory-mock-secret-card code{display:block;min-height:34px;max-height:84px;padding:8px;overflow:auto;color:#263344;font-size:12px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap;background:#fff;border:1px solid #dce3eb;border-radius:5px}.factory-mock-secret-card small{color:var(--color-text-soft);font-size:11px;line-height:1.5}.factory-mock-secret-card .factory-mock-evidence-source{min-height:0;margin-bottom:6px;padding:0;overflow:visible;color:#76520b;font-size:10px;background:transparent;border:0}.factory-mock-secret-card .text-button{justify-self:start}.factory-mock-burn-action{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px;background:#f7faff;border:1px solid #cbdcf4;border-radius:var(--radius-control)}.factory-mock-burn-action strong,.factory-mock-burn-action span{display:block}.factory-mock-production-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.factory-mock-prerequisite-actions{display:flex;gap:16px;align-items:center;justify-content:space-between}.factory-mock-prerequisite-actions strong,.factory-mock-prerequisite-actions span{display:block}.factory-mock-prerequisite-actions span,.factory-mock-burn-action span{margin-top:4px;color:var(--color-text-soft);font-size:12px}.app-mock-page,.app-mock-hero,.app-mock-form,.app-mock-result,.app-mock-result-content{display:grid;gap:12px}.app-mock-notice{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:11px 12px;color:#254b7c;font-size:13px;line-height:1.55;background:#f1f7ff;border:1px solid #bfd5f2;border-radius:var(--radius-control)}.app-mock-layout{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(480px,1.15fr);gap:14px;align-items:start}.app-mock-section-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.app-mock-section-heading h2{margin:4px 0 0;font-size:17px}.app-mock-form>label{display:grid;gap:6px}.app-mock-form label>span{font-size:12px;font-weight:650}.app-mock-form label>small{color:var(--color-text-soft);font-size:12px;line-height:1.4}.app-mock-secret-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.app-mock-primary-action,.app-mock-detail-link{min-height:var(--control-height)}.app-mock-primary-action{width:auto;justify-self:end}.app-mock-detail-link{width:100%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.app-mock-placeholder{display:grid;min-height:310px;padding:28px;place-items:center;color:var(--color-text-soft);font-size:13px;line-height:1.6;text-align:center;background:#f8fafc;border:1px dashed #cbd4df;border-radius:var(--radius-surface)}.app-mock-request-evidence{display:grid;grid-template-columns:minmax(0,2fr) minmax(140px,.7fr);margin:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-control)}.app-mock-request-evidence>div{min-width:0;padding:11px 12px;border-right:1px solid var(--color-border)}.app-mock-request-evidence>div:last-child{border-right:0}.app-mock-request-evidence dt,.app-mock-result-grid span{color:var(--color-text-soft);font-size:12px}.app-mock-request-evidence dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:13px;font-weight:650}.app-mock-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-control)}.app-mock-result-grid>div{min-width:0;padding:11px 12px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.app-mock-result-grid>div:nth-child(2n){border-right:0}.app-mock-result-grid>div:last-child{grid-column:1 / -1;border-right:0;border-bottom:0}.app-mock-result-grid strong{display:block;margin-top:5px;overflow-wrap:anywhere;color:var(--color-primary)}.formal-production-flow{gap:16px;overflow:hidden;border-color:#c9d7e8;box-shadow:0 10px 28px #1831530f}.formal-production-flow__heading{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.formal-production-flow__heading h2{margin:5px 0 0;font-size:19px}.formal-production-flow__hint{flex:0 0 auto;padding:6px 9px;color:#4d6077;font-size:11px;font-weight:700;background:#f2f6fb;border:1px solid #d6e0eb;border-radius:999px}.formal-production-flow__legend{display:flex;flex-wrap:wrap;gap:8px}.formal-production-flow__legend-item{padding:6px 9px;font-size:11px;font-weight:750;border:1px solid;border-radius:999px}.formal-production-flow__legend-item--iotms{color:#173b72;background:#eaf2ff;border-color:#2f6feb}.formal-production-flow__legend-item--security{color:#6f4500;background:#fff3d6;border-color:#c77d00}.formal-production-flow__legend-item--external{color:#3e2c77;background:#f1edff;border-color:#7657c8}.formal-production-flow__legend-item--onsite{color:#185033;background:#e9f8ef;border-color:#2d8a57}.formal-production-flow__diagram{min-height:180px;max-height:680px;padding:18px;overflow:auto;overscroll-behavior:contain;background:linear-gradient(#f8fafc 1px,transparent 1px),linear-gradient(90deg,#f8fafc 1px,transparent 1px),#fff;background-size:24px 24px;border:1px solid #d9e2ec;border-radius:var(--radius-control)}.formal-production-flow__diagram:empty{display:grid;place-items:center}.formal-production-flow__diagram:empty:before{content:"正在加载正式服流程图…";color:var(--color-text-soft);font-size:12px}.formal-production-flow__diagram--failed:empty:before{content:"流程图渲染不可用"}.formal-production-flow__diagram svg{display:block;width:auto;min-width:2200px;max-width:none!important;height:auto;margin:0 auto}.formal-production-flow__fallback{margin:0;padding:10px 12px;color:#76520b;font-size:12px;line-height:1.5;background:#fff8e7;border:1px solid #f1d38a;border-radius:var(--radius-control)}.formal-production-flow__phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;margin:0;list-style:none}.formal-production-flow__phases li{min-width:0;padding:12px;background:#f8fafc;border:1px solid #dce4ed;border-top:3px solid #5c83bd;border-radius:var(--radius-control)}.formal-production-flow__phases strong,.formal-production-flow__phases span{display:block}.formal-production-flow__phases strong{color:#233d60;font-size:13px}.formal-production-flow__phases span{margin-top:7px;color:var(--color-text-soft);font-size:12px;line-height:1.6}.formal-production-flow__table-frame{overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid #d9e2ec;border-radius:var(--radius-control)}.formal-production-flow__table-frame table{width:100%;min-width:920px;border-collapse:collapse;font-size:12px}.formal-production-flow__table-frame th,.formal-production-flow__table-frame td{padding:10px 12px;line-height:1.5;text-align:left;vertical-align:top;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.formal-production-flow__table-frame th:last-child,.formal-production-flow__table-frame td:last-child{border-right:0}.formal-production-flow__table-frame tbody tr:last-child>*{border-bottom:0}.formal-production-flow__table-frame thead th{color:#33465d;font-weight:750;background:#f1f5f9}.formal-production-flow__table-frame tbody th{width:160px;color:#2c4058;font-weight:700;background:#fbfcfe}.formal-production-flow__coverage{display:inline-flex;min-width:92px;justify-content:center;padding:4px 7px;color:#33465d;font-size:11px;font-weight:750;white-space:nowrap;background:#eef3f8;border-radius:999px}.terminal-page{min-width:0;display:flex;flex-direction:column;gap:12px;height:calc(100dvh - 104px);min-height:420px}.terminal-actions{display:flex;flex-wrap:wrap;gap:8px}.page-title-icon{display:grid;width:36px;height:36px;place-items:center;color:var(--color-primary);background:#eaf0ff;border-radius:var(--radius-control)}.terminal-workspace{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow:hidden;color:#e5e7eb;background:#0f172a;border:1px solid #243246;border-radius:var(--radius-surface)}.terminal-workspace:fullscreen{width:100%;height:100%;border:0;border-radius:0}.terminal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:8px 12px;background:#182235;border-bottom:1px solid #243246}.terminal-context-bar{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;font-size:12px}.terminal-context-bar div{display:flex;align-items:center;gap:8px}.terminal-context-bar dt{color:#b1bfd1}.terminal-context-bar dd{margin:0;font-variant-numeric:tabular-nums}.terminal-context-bar dd[data-state=active]{color:#6ee7b7}.terminal-context-bar dd[data-state=failed]{color:#fca5a5}.terminal-tools{display:flex;flex-wrap:wrap;gap:4px}.terminal-tools button{padding:5px 8px;color:#e5e7eb;font-size:12px;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer}.terminal-tools button:hover:not(:disabled){background:#334155}.terminal-tools button:focus-visible{outline:2px solid #93c5fd}.terminal-tools button:disabled{opacity:.45;cursor:default}.terminal-hint,.terminal-tool-message{padding:6px 12px;color:#b1bfd1;font-size:11px}.terminal-tool-message{color:#fcd34d}.product-management-page,.management-lists{display:grid;gap:14px}.management-list-panel{min-width:0}.management-list-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.management-list-heading h2{margin:0;font-size:17px}.management-list-heading p{margin:4px 0 0;color:var(--color-text-soft);font-size:12px}.management-list-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;justify-content:flex-end}.catalog-filter{flex:0 0 190px}.catalog-table-frame{max-width:100%}.catalog-table{min-width:610px}.catalog-table--models{min-width:760px}.catalog-code{max-width:180px;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.catalog-status-cell{display:grid;gap:5px;min-width:150px}.catalog-status-cell small,.catalog-parent-warning{display:block;color:var(--color-text-soft);font-size:11px;line-height:1.35}.catalog-parent-warning{margin-top:4px;color:#946413}.catalog-row-actions,.table-row-actions{display:flex;gap:5px;align-items:center;justify-content:flex-end;min-height:28px;white-space:nowrap}.table-action-column{width:214px;min-width:214px;text-align:right;vertical-align:middle}.table-action-button{min-height:28px;padding:3px 8px;color:var(--color-primary);font-size:12px;font-weight:650;line-height:1;background:#fff;border:1px solid var(--color-border-strong);border-radius:var(--radius-control)}.table-action-button:hover:not(:disabled){background:#f4f7fd;border-color:#9eb5e7}.table-action-button--danger{color:var(--color-danger)}.table-action-button--danger:hover:not(:disabled){background:#fff5f4;border-color:#df837d}.network-access-page{display:grid;gap:16px}.catalog-empty-cell{height:88px;padding:16px;color:var(--color-text-soft);line-height:1.5;text-align:center}.catalog-warning,.catalog-success{margin:0;padding:8px 10px;border-radius:var(--radius-control)}.catalog-warning{color:#7d540e;background:#fff8e7;border:1px solid #f2d89b}.catalog-success{color:#0e7142;background:#eef9f2;border:1px solid #bfe4cc}.factory-management-page{display:grid;gap:14px}.factory-table{min-width:840px}.factory-row--selected td{background:#f1f6ff}.management-empty-selection{display:grid;min-height:110px;padding:20px;place-items:center;color:var(--color-text-soft);font-size:13px;text-align:center;background:#f8fafc;border:1px dashed var(--color-border-strong);border-radius:var(--radius-surface)}.management-dialog-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#111b2a94}.management-drawer-backdrop{position:fixed;z-index:60;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#111b2a6b}.management-drawer{display:grid;grid-template-rows:auto auto minmax(0,1fr);width:min(920px,calc(100vw - 80px));height:100vh;overflow:hidden;background:var(--color-surface);box-shadow:-12px 0 32px #17202a24}.management-drawer__header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--color-border)}.management-drawer__identity h2{margin:0;font-size:18px}.management-drawer__identity p{margin:4px 0 0;color:var(--color-text-soft);font-size:12px}.management-drawer__close{display:grid;flex:0 0 auto;width:30px;height:30px;padding:0;place-items:center;color:var(--color-text-soft);font-size:20px;line-height:1;background:transparent;border:1px solid transparent;border-radius:var(--radius-control)}.management-drawer__close:hover{color:var(--color-text);background:#f1f4f7}.management-drawer__toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;min-height:52px;padding:10px 18px;border-bottom:1px solid var(--color-border)}.management-drawer__body{min-height:0;padding:14px 18px 18px;overflow:auto}.factory-client-table{min-width:840px}.factory-client-facts,.factory-client-usage{display:grid;gap:5px;min-width:150px}.factory-client-facts>span,.factory-client-usage>span{display:flex;gap:6px;align-items:baseline;font-size:12px;white-space:nowrap}.factory-client-facts small,.factory-client-usage small{flex:0 0 56px;color:var(--color-text-soft);font-size:11px}.management-dialog{display:grid;width:min(640px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--color-surface);border-radius:var(--radius-surface);box-shadow:var(--shadow-float)}.management-dialog--delivery{width:min(760px,100%)}.management-dialog__header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--color-border)}.management-dialog__header h2{margin:0;font-size:19px}.management-dialog__header p{margin:5px 0 0;color:var(--color-text-soft);font-size:12px;line-height:1.5}.management-dialog__close{display:grid;flex:0 0 auto;width:32px;height:32px;padding:0;place-items:center;color:var(--color-text-soft);font-size:22px;line-height:1;background:transparent;border:1px solid transparent;border-radius:var(--radius-control)}.management-dialog__close:hover:not(:disabled){color:var(--color-text);background:#f1f4f7}.management-dialog>form{display:grid;min-height:0}.management-dialog__body{display:grid;gap:14px;padding:18px 20px}.management-dialog__footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;background:#f8fafc;border-top:1px solid var(--color-border)}.management-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.management-immutable-field{display:grid;gap:6px;padding:10px 12px;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-control)}.management-immutable-field>span{color:var(--color-text-soft);font-size:12px;font-weight:650}.management-immutable-field code{width:fit-content;font-size:12px;font-weight:700}.factory-public-key-field{display:grid;gap:9px}.factory-public-key-field small{color:var(--color-text-soft);font-size:11px;line-height:1.45}.factory-public-key-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.factory-public-key-heading strong,.factory-public-key-heading small{display:block}.factory-public-key-heading strong{font-size:13px}.factory-public-key-heading small{margin-top:4px}.factory-public-key-field textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.rsa-generation-success,.delivery-copy-status{margin:0;padding:8px 10px;color:#0e7142;font-size:12px;line-height:1.5;background:#eef9f2;border:1px solid #bfe4cc;border-radius:var(--radius-control)}.one-time-secret{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.one-time-secret textarea,.one-time-secret input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.one-time-secret textarea{min-height:170px}.operations-shell--continuous{overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-surface)}.device-action-toolbar{display:grid;gap:8px;padding:10px 14px;background:#fbfcfe;border-bottom:1px solid var(--color-border)}.device-action-toolbar__lifecycle,.device-action-toolbar__actions,.device-action-toolbar__tokens{display:flex;gap:8px;align-items:center}.device-action-toolbar__controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.device-action-toolbar__lifecycle{justify-content:space-between;min-width:0}.device-action-toolbar__guidance{display:grid;min-width:min(220px,32vw);gap:2px}.device-action-toolbar__guidance strong{font-size:13px}.device-action-toolbar__guidance span{color:var(--color-text-soft);font-size:12px}.device-action-toolbar__danger-zone{display:inline-flex;padding-left:9px;border-left:1px solid var(--color-border-strong)}.device-action-toolbar__tokens{padding-left:16px;border-left:1px solid var(--color-border)}.device-action-toolbar__group-label{color:var(--color-text-soft);font-size:12px;font-weight:650;white-space:nowrap}.device-action-toolbar button{min-height:var(--control-height);height:var(--control-height)}.lifecycle-dialog{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a6b}.lifecycle-dialog__surface{display:grid;width:min(480px,100%);gap:16px;padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-surface);box-shadow:var(--shadow-float)}.lifecycle-dialog__surface h3{margin:3px 0 0}.lifecycle-dialog__warning{margin:0;padding:12px;color:#9d2e28;background:#fff4f2;border:1px solid #ffd4ce;border-radius:var(--radius-control)}.lifecycle-dialog__actions{display:flex;justify-content:flex-end;gap:8px}.operations-tabs{display:flex;gap:22px;overflow-x:auto;padding:0 16px;background:#fff;border-bottom:1px solid var(--color-border)}.tab-button{position:relative;min-height:40px;padding:0;color:var(--color-text-soft);font-weight:650;white-space:nowrap;background:transparent;border:0}.tab-button--active{color:var(--color-text)}.tab-button--active:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;content:"";background:var(--color-primary)}.status-badge__dot{width:6px;height:6px;background:currentcolor;border-radius:50%}.workspace-panel{display:grid;gap:14px;padding:16px;background:#fff;border:0;border-radius:0}.workspace-header,.workbench-section-title,.ssh-strip{display:flex;gap:12px;align-items:center;justify-content:space-between}.workspace-header h3,.workbench-section-title h2,.workspace-section h4,.action-block h4,.history-section h4{margin:0}.workspace-section,.history-section,.maintenance-actions{display:grid;gap:10px}.history-section__header{display:flex;gap:12px;align-items:center;justify-content:space-between}.job-result-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.job-result-summary div{min-width:0;padding:10px;background:#f7f9fc;border:1px solid var(--color-border);border-radius:var(--radius-control)}.remote-access-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.remote-access-summary div,.remote-access-empty{padding:12px;background:#f7f9fc;border:1px solid var(--color-border);border-radius:var(--radius-control)}.remote-access-summary dt{margin-bottom:5px;color:var(--color-text-soft);font-size:12px}.remote-access-summary dd{min-width:0;margin:0;overflow-wrap:anywhere}.remote-access-empty{display:grid;gap:5px}.remote-access-empty p,.workspace-note{margin:0;color:var(--color-text-soft);font-size:12px;line-height:1.55}.job-result-summary dt{margin-bottom:4px;color:var(--color-text-soft);font-size:12px}.job-result-summary dd{min-width:0;margin:0;overflow-wrap:anywhere}.job-result-output{display:grid;gap:7px}.job-result-output h3{margin:0;font-size:13px}.job-result-output pre{max-height:260px;margin:0;padding:10px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#101828;color:#e6edf7;border-radius:var(--radius-control)}.workspace-section,.history-section{padding-top:14px;border-top:1px solid var(--color-border)}.workspace-section:first-of-type{padding-top:0;border-top:0}.workspace-section--first{padding-top:0;border-top:0}.workspace-panel>.table-frame{margin-top:2px}.workspace-table th,.workspace-table td{padding-block:10px}.tool-grid,.ota-form,.action-matrix,.compact-list,.history-section{display:grid;gap:10px}.row-actions{display:inline-flex;gap:4px;align-items:center}.tool-grid{grid-template-columns:minmax(180px,1fr) auto auto auto;align-items:end}.checkbox-line{display:inline-flex;gap:6px;align-items:center;min-height:var(--control-height)}.checkbox-line input{width:auto;min-height:auto}.compact-row,.action-block{padding:10px 12px;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-control)}.ssh-strip,.workspace-action-row{display:flex;gap:16px;align-items:center;justify-content:space-between;min-height:52px;padding:8px 0}.workspace-action-row>span{display:grid;gap:3px}.workspace-action-row small{color:var(--color-text-soft)}.workspace-action-row--form label{width:min(420px,100%)}.risk-section{display:grid;gap:10px;padding:13px;background:snow;border:1px solid #f0c8c4;border-radius:var(--radius-surface)}.risk-section h4{margin:4px 0 0;color:var(--color-danger)}.risk-section p{margin:5px 0 0;color:var(--color-text-soft);font-size:12px}.risk-section .secondary-button{width:fit-content}.workspace-table{min-width:760px}.audit-table{min-width:900px}.audit-table__change{min-width:300px;max-width:520px}.audit-technical-details{margin-top:6px;color:var(--color-text-soft);font-size:12px}.audit-technical-details summary{width:fit-content;color:var(--color-primary);cursor:pointer}.audit-technical-details__content{display:grid;gap:8px;margin-top:8px;padding:10px;color:var(--color-text);background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-control)}.audit-technical-details__content dl{display:grid;gap:4px;margin:0}.audit-technical-details__content dl div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px}.audit-technical-details__content dt{color:var(--color-text-soft)}.audit-technical-details__content dd{min-width:0;margin:0;overflow-wrap:anywhere}.audit-technical-details__content pre{max-height:240px;margin:0;padding:8px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-radius:6px}.workspace-table td small,.result-stack small{display:block;margin-top:3px;color:var(--color-text-soft);overflow-wrap:anywhere}.result-stack{display:grid;gap:2px}.action-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.action-block{display:grid;gap:10px}.action-block--wide{grid-column:1 / -1}.compact-row{display:grid;gap:10px;align-items:center}.compact-row small{display:block;margin-top:3px;color:var(--color-text-soft);overflow-wrap:anywhere}.compact-row--node{grid-template-columns:minmax(160px,1fr) auto auto auto}.compact-row--history{grid-template-columns:minmax(110px,.8fr) minmax(120px,.8fr) minmax(180px,1.6fr) auto}.compact-row--license{grid-template-columns:minmax(180px,1.3fr) minmax(160px,1fr) auto auto}.ota-form{grid-template-columns:minmax(120px,.7fr) minmax(220px,1.5fr) minmax(160px,1fr) auto;align-items:end}.compact-row--ota{grid-template-columns:minmax(90px,.7fr) minmax(100px,.8fr) minmax(120px,1fr) minmax(120px,1fr) auto minmax(64px,.5fr) minmax(180px,1.5fr)}.timeline-list--workbench{display:grid;gap:8px}.timeline-event{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--color-border)}.timeline-event:last-child{border-bottom:0}.terminal-frame{position:relative;flex:1;min-height:120px;padding:12px;overflow:hidden}.terminal-surface{width:100%;height:100%;overflow:hidden}.terminal-loading{position:absolute;top:16px;left:16px;color:#b1bfd1}@media (max-width: 1100px) and (min-width: 721px){.console-shell{grid-template-columns:208px minmax(0,1fr)}}@media (max-width: 1100px){.device-action-toolbar__controls{grid-template-columns:1fr}.device-action-toolbar__tokens{padding-top:10px;padding-left:0;border-top:1px solid var(--color-border);border-left:0}.factory-mock-grid,.factory-mock-secret-grid{grid-template-columns:1fr}.factory-mock-managed-grid,.factory-mock-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-mock-layout{grid-template-columns:1fr}.formal-production-flow__phases{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 901px) and (max-width: 1500px){.factory-table{min-width:0;table-layout:fixed}.factory-table th:last-child,.factory-table td:last-child{width:214px}}@media (max-width: 900px){.management-list-heading{flex-direction:column}.management-list-actions{width:100%;justify-content:flex-start}}@media (max-width: 720px){.console-shell,.console-shell--collapsed{grid-template-columns:1fr}.console-sidebar{position:fixed;z-index:40;width:min(280px,84vw);transform:translate(-100%);box-shadow:var(--shadow-float)}.console-sidebar--open{transform:translate(0)}.console-shell--collapsed .console-sidebar--open .brand-block span,.console-shell--collapsed .console-sidebar--open .nav-label,.console-shell--collapsed .console-sidebar--open .nav-group__label,.console-shell--collapsed .console-sidebar--open .nav-group__chevron,.console-shell--collapsed .console-sidebar--open .sidebar-account__identity,.console-shell--collapsed .console-sidebar--open .sidebar-account__logout{display:grid}.console-shell--collapsed .console-sidebar--open .nav-group__toggle{grid-template-columns:20px minmax(0,1fr) 16px;justify-content:stretch;padding:0 10px}.console-shell--collapsed .console-sidebar--open .nav-submenu{display:grid}.console-shell--collapsed .console-sidebar--open .brand-block h1{font-size:24px}.console-shell--collapsed .console-sidebar--open .brand-block h1:before{content:none}.console-shell--collapsed .console-sidebar--open .sidebar-account{grid-template-columns:34px minmax(0,1fr) 36px}.sidebar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:block;padding:0;background:#0f172a6b;border:0}.console-topbar{padding:0 12px}.console-content{padding:16px 12px 22px}.login-shell{grid-template-columns:1fr}.login-brand-panel{min-height:180px;padding:32px 24px}.login-brand-mark{margin-bottom:16px}.login-brand-panel h1{font-size:30px}.login-brand-panel p{margin-top:8px}.login-card{padding:32px 0}.page-header,.pagination-bar{flex-direction:column;align-items:stretch}.page-header__actions,.pagination-controls{justify-content:flex-start}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-item:nth-child(2){border-right:0}.metric-item:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.list-toolbar,.detail-groups{grid-template-columns:1fr}.detail-group{border-right:0;border-bottom:1px solid var(--color-border)}.detail-group:last-child{border-bottom:0}.tool-grid,.ota-form,.action-matrix,.compact-row,.compact-row--node,.compact-row--history,.compact-row--license,.compact-row--ota{grid-template-columns:1fr}.device-action-toolbar__controls,.device-action-toolbar__lifecycle,.device-action-toolbar__tokens{align-items:stretch}.device-action-toolbar__controls{display:grid}.device-action-toolbar__lifecycle,.device-action-toolbar__tokens{flex-direction:column}.device-action-toolbar__guidance,.device-action-toolbar button{width:100%}.device-action-toolbar__guidance{min-width:0}.device-action-toolbar__actions{display:grid;grid-template-columns:1fr}.device-action-toolbar__danger-zone{padding-top:8px;padding-left:0;border-top:1px solid var(--color-border-strong);border-left:0}.device-action-toolbar__danger-zone button{width:100%}.lifecycle-dialog{padding:12px}.lifecycle-dialog__surface{padding:16px}.operations-tabs{padding:0 12px}.action-block--wide{grid-column:auto}.audit-table{min-width:720px}.audit-table__change{min-width:240px}.workspace-header,.workbench-section-title,.ssh-strip,.workspace-action-row{flex-direction:column;align-items:stretch}.user-header-actions,.settings-header-actions{justify-content:flex-start}.settings-form-grid{grid-template-columns:1fr}.catalog-filter{width:100%}.management-form-grid,.one-time-secret{grid-template-columns:minmax(0,1fr)}.management-list-actions,.management-list-actions label,.management-list-actions button,.management-dialog__footer button,.one-time-secret button{width:100%}.management-dialog-backdrop{padding:10px}.management-dialog{max-height:calc(100vh - 20px)}.management-drawer{width:100vw}.factory-public-key-heading{flex-direction:column}.factory-public-key-heading button{width:100%}.catalog-table-frame{overflow-x:auto;overscroll-behavior-inline:contain}.factory-mock-flow,.factory-mock-form-row,.factory-mock-managed-grid,.factory-mock-evidence-grid,.factory-mock-lifecycle,.factory-mock-request-trace{grid-template-columns:1fr}.toast-viewport{top:10px;right:10px;width:calc(100vw - 20px)}.factory-mock-flow-step{border-right:0;border-bottom:1px solid var(--color-border)}.factory-mock-flow-step:last-child{border-bottom:0}.factory-mock-request-trace>div{border-right:0}.factory-mock-request-trace__wide{grid-column:auto}.factory-mock-notice{grid-template-columns:1fr}.factory-mock-burn-action,.factory-mock-section-heading,.factory-mock-prerequisite-actions{flex-direction:column;align-items:stretch}.app-mock-notice,.app-mock-request-evidence,.app-mock-result-grid{grid-template-columns:1fr}.app-mock-section-heading,.formal-production-flow__heading{flex-direction:column}.formal-production-flow__hint{align-self:flex-start}.formal-production-flow__diagram{max-height:72vh;padding:12px;-webkit-overflow-scrolling:touch}.formal-production-flow__diagram svg{min-width:2000px}.formal-production-flow__phases{grid-template-columns:1fr}.app-mock-request-evidence>div,.app-mock-result-grid>div{grid-column:auto;border-right:0;border-bottom:1px solid var(--color-border)}.app-mock-request-evidence>div:last-child,.app-mock-result-grid>div:last-child{border-bottom:0}.terminal-page{height:calc(100dvh - 86px);min-height:460px}.terminal-toolbar{gap:8px}.terminal-context-bar{gap:8px 12px}.terminal-frame{padding:8px}.pagination-controls{flex-wrap:wrap}.table-frame{overscroll-behavior-inline:contain}.remote-access-summary,.job-result-summary{grid-template-columns:1fr}.history-section__header{align-items:stretch;flex-direction:column}}@media (prefers-reduced-motion: no-preference){.console-sidebar,.nav-item{transition:transform .16s ease,background .12s ease,color .12s ease}}
