:root {
  --ink: #172033;
  --muted: #75809a;
  --line: #e7eaf2;
  --paper: #fff;
  --canvas: #f5f7fb;
  --nav: #111b2e;
  --nav-soft: #1c2940;
  --blue: #3967f1;
  --blue-dark: #284ed0;
  --cyan: #24bfd1;
  --green: #18a777;
  --orange: #f29b38;
  --red: #e7505a;
  --violet: #7865de;
  --shadow: 0 14px 38px rgba(28, 45, 83, .09);
  --radius: 16px;
}

/* Shared component foundations */
.progress{height:8px;min-width:110px;background:#e8edf6;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#356df3,#25b7c7);border-radius:inherit}.feature-image{width:58px;height:58px;border-radius:14px;object-fit:cover}.feature-section{scroll-margin-top:92px}.selector-field{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid var(--line);border-radius:12px}.selection-summary{color:var(--muted);font-size:13px}.slot-choices,.choice-line{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.slot-choices label,.choice-line label{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:8px;padding:7px 10px}.slot-choices input,.choice-line input,.param-row input[type=checkbox],.form-grid input[type=checkbox]{width:auto;min-height:auto}.selector-modal{z-index:80}.selector-card{max-width:980px}.selector-list{max-height:52vh;overflow:auto;border:1px solid var(--line);border-radius:12px}.selector-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.selector-row:last-child{border-bottom:0}.selector-row>input{width:auto}.selector-row>span{display:flex;flex:1;flex-direction:column;gap:3px}.selected-bar{margin-top:10px;padding:10px;background:#f4f7fc;border-radius:10px}.form-section-title{font-size:18px;font-weight:700;border-top:1px solid var(--line);padding-top:18px}.log-list{display:flex;flex-direction:column}.log-row{display:grid;grid-template-columns:170px 75px 1fr;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.log-row pre{white-space:pre-wrap;background:#f5f7fb;border-radius:8px;padding:8px}.feature-editor{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.sdk-panel{border-left:1px solid var(--line);padding-left:16px;max-height:72vh;overflow:auto}.sdk-panel .api-item{width:100%;text-align:left;display:flex;flex-direction:column;margin-bottom:6px}.script-editor{min-height:420px!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#0f172a!important;color:#dbeafe!important;line-height:1.55}.param-row{display:grid;grid-template-columns:1fr 1fr 130px 110px 1.3fr 1.3fr auto auto;gap:8px;align-items:center;border:1px solid var(--line);padding:10px;border-radius:10px;margin-bottom:8px}.app-field{grid-template-columns:1fr 1fr 140px auto auto}.api-item .method{font-size:11px;font-weight:800;color:#356df3}.catalog-sidebar{position:sticky;top:86px;align-self:start}.catalog-sidebar input{width:100%;margin-bottom:10px}@media(max-width:900px){.feature-editor{grid-template-columns:1fr}.sdk-panel{border-left:0;border-top:1px solid var(--line);padding:14px 0}.param-row,.app-field{grid-template-columns:1fr 1fr}.log-row{grid-template-columns:1fr}.catalog-sidebar{position:static}}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; color: var(--ink); background: var(--canvas); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.hidden { display: none !important; }
.eyebrow { margin: 0 0 7px; font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; color: var(--blue); }
.muted { color: var(--muted); font-size: 13px; }
.center { text-align: center; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(420px, 1.3fr) minmax(420px, .8fr); background: #fff; }
.login-art { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 9vw; overflow: hidden; color: white; background: radial-gradient(circle at 75% 18%, rgba(72, 210, 226, .32), transparent 27%), linear-gradient(145deg, #111b2e 0%, #1b2d51 52%, #2e57bd 100%); }
.login-art::after { content: ""; position: absolute; width: 470px; height: 470px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; right: -120px; bottom: -190px; box-shadow: 0 0 0 80px rgba(255,255,255,.035), 0 0 0 160px rgba(255,255,255,.025); }
.login-art h1 { position: relative; margin: 14px 0 20px; font-size: clamp(42px, 5vw, 74px); line-height: 1.08; letter-spacing: -.04em; z-index: 1; }
.login-art .eyebrow { color: #72dce9; }
.login-copy { max-width: 590px; color: #c9d5ef; font-size: 17px; line-height: 1.8; }
.login-points { display: flex; gap: 12px; margin-top: 35px; flex-wrap: wrap; }
.login-points span { padding: 9px 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 99px; font-size: 13px; color: #e6edff; background: rgba(255,255,255,.06); }
.brand-mark { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; color: white; font-weight: 900; background: linear-gradient(135deg, var(--blue), var(--cyan)); box-shadow: 0 8px 18px rgba(57,103,241,.3); }
.brand-mark.large { width: 62px; height: 62px; font-size: 27px; border-radius: 19px; }
.login-card { align-self: center; width: min(420px, calc(100% - 60px)); margin: auto; padding: 38px; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); }
.login-card h2 { margin: 0 0 28px; font-size: 30px; }
.login-card label, .form-grid label, .field { display: grid; gap: 8px; margin-bottom: 18px; color: #4c5670; font-size: 13px; font-weight: 700; }
input, select, textarea { width: 100%; min-height: 42px; padding: 10px 12px; color: var(--ink); background: #fff; border: 1px solid #dfe3ed; border-radius: 9px; outline: none; transition: border .18s, box-shadow .18s; }
textarea { min-height: 104px; line-height: 1.5; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: #7392f3; box-shadow: 0 0 0 3px rgba(57,103,241,.11); }
.mobile-brand { display: none; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 39px; padding: 9px 15px; border: 0; border-radius: 9px; font-weight: 750; color: #3c4760; background: #edf0f6; transition: transform .15s, background .15s; }
.btn:hover { transform: translateY(-1px); }
.btn.primary { color: white; background: var(--blue); box-shadow: 0 6px 16px rgba(57,103,241,.22); }
.btn.primary:hover { background: var(--blue-dark); }
.btn.danger { color: white; background: var(--red); }
.btn.success { color: white; background: var(--green); }
.btn.ghost { border: 1px solid var(--line); background: #fff; }
.btn.small { min-height: 32px; padding: 6px 10px; font-size: 12px; }
.btn.wide { width: 100%; min-height: 47px; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 238px 1fr; }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 22px 15px; color: #d5dded; background: var(--nav); z-index: 20; }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 9px 22px; border-bottom: 1px solid rgba(255,255,255,.07); }
.brand strong { display: block; color: white; font-size: 20px; letter-spacing: .05em; }
.brand small, .sidebar-foot small { display: block; margin-top: 2px; color: #7786a5; font-size: 10px; }
.sidebar nav { flex: 1; padding: 20px 0; overflow-y: auto; }
.nav-label { padding: 13px 12px 7px; color: #62718e; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.nav-item { width: 100%; display: flex; align-items: center; gap: 12px; margin: 3px 0; padding: 11px 13px; border: 0; border-radius: 10px; color: #aeb9cf; text-align: left; background: transparent; }
.nav-item span:first-child { width: 20px; text-align: center; }
.nav-item:hover, .nav-item.active { color: #fff; background: var(--nav-soft); }
.nav-item.active { box-shadow: inset 3px 0 var(--cyan); }
.sidebar-foot { display: flex; align-items: center; gap: 10px; padding: 13px; border-radius: 12px; background: rgba(255,255,255,.04); font-size: 12px; }
.sidebar-foot strong { display: block; color: #cbd5e7; }
.online-dot { width: 9px; height: 9px; border-radius: 50%; background: #36d49a; box-shadow: 0 0 0 5px rgba(54,212,154,.1); }
.workspace { min-width: 0; }
.topbar { position: sticky; top: 0; min-height: 82px; display: flex; align-items: center; gap: 16px; padding: 14px 27px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.93); backdrop-filter: blur(13px); z-index: 15; }
.topbar h2 { margin: 0; font-size: 20px; }
.topbar .eyebrow { margin-bottom: 4px; color: #8a94aa; font-size: 9px; }
.top-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.icon-button { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 10px; color: #5f6b84; background: #fff; font-size: 18px; }
.menu-button { display: grid; }
.user-chip { display: flex; align-items: center; gap: 9px; padding: 4px 9px 4px 5px; border: 1px solid transparent; border-radius: 11px; color: var(--ink); background: transparent; text-align: left; }
.user-chip:hover { border-color: var(--line); background: #f8f9fc; }
.user-chip strong, .user-chip small { display: block; }
.user-chip strong { font-size: 13px; }
.user-chip small { color: var(--muted); font-size: 10px; }
.user-chevron { color: #9aa3b5; font-size: 13px; }
.avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--violet), var(--blue)); font-weight: 800; }
.user-menu-wrap { position: relative; }
.user-menu { position: absolute; right: 0; top: calc(100% + 9px); width: 250px; padding: 7px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: 0 20px 55px rgba(16,31,62,.2); z-index: 60; }
.user-menu::before { content: ""; position: absolute; right: 28px; top: -6px; width: 10px; height: 10px; border-left: 1px solid var(--line); border-top: 1px solid var(--line); background: #fff; transform: rotate(45deg); }
.user-menu button { position: relative; width: 100%; display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 9px; padding: 10px; border: 0; border-radius: 9px; color: #3e4b66; background: transparent; text-align: left; }
.user-menu button:hover { color: #304fbd; background: #f1f5ff; }
.user-menu button > span:first-child { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; color: #4865d7; background: #eaf0ff; font-size: 11px; }
.user-menu strong, .user-menu small { display: block; }
.user-menu strong { font-size: 13px; }
.user-menu small { margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 500; }
.content { padding: 26px; }
.page-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.page-head h1 { margin: 0 0 5px; font-size: 26px; }
.page-actions { display: flex; gap: 9px; flex-wrap: wrap; }
.hero { display: grid; grid-template-columns: 1.5fr .7fr; gap: 18px; margin-bottom: 18px; }
.hero-main { position: relative; min-height: 188px; padding: 30px; overflow: hidden; color: white; border-radius: var(--radius); background: linear-gradient(120deg, #3157d7, #6f62dd 63%, #7b4caf); box-shadow: var(--shadow); }
.hero-main::after { content: ""; position: absolute; width: 300px; height: 300px; right: -65px; top: -115px; border: 45px solid rgba(255,255,255,.08); border-radius: 50%; }
.hero-main h1 { position: relative; max-width: 680px; margin: 5px 0 12px; font-size: 30px; z-index: 1; }
.hero-main p { position: relative; color: #dce4ff; z-index: 1; }
.hero-user { padding: 26px; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.hero-user .avatar { width: 48px; height: 48px; margin-bottom: 18px; }
.hero-user h3 { margin: 0 0 5px; }
.user-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
.user-stats div { padding: 10px; border-radius: 9px; background: var(--canvas); }
.user-stats strong, .user-stats small { display: block; }
.user-stats small { margin-bottom: 5px; color: var(--muted); font-size: 10px; }
.stat-grid { display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)); gap: 14px; margin-bottom: 18px; }
.stat-card { padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 7px 22px rgba(28,45,83,.045); }
.stat-card .stat-icon { width: 36px; height: 36px; display: grid; place-items: center; margin-bottom: 20px; border-radius: 10px; background: #edf2ff; color: var(--blue); }
.stat-card strong { display: block; margin-bottom: 4px; font-size: 28px; letter-spacing: -.03em; }
.stat-card small { color: var(--muted); }
.panel { margin-bottom: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 7px 22px rgba(28,45,83,.04); overflow: hidden; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.panel-head h2, .panel-head h3 { margin: 0; font-size: 17px; }
.panel-body { padding: 20px; }
.filters { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: 10px; padding: 16px 20px; border-bottom: 1px solid var(--line); background: #fbfcfe; }
.filters-six { grid-template-columns: repeat(6, minmax(120px, 1fr)); }
.device-filters { grid-template-columns: 2fr 1fr 1fr auto auto; align-items: center; }
.result-count { justify-self: end; color: var(--muted); font-size: 12px; white-space: nowrap; }
.filters input, .filters select { min-height: 37px; }
.table-wrap { overflow-x: auto; }

.list-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);background:#fafbfe;font-size:11px}.list-pager>div{display:flex;align-items:center;gap:5px}.list-pager button,.list-pager select{min-height:30px;padding:4px 8px;border:1px solid #dce3ef;border-radius:8px;color:#526078;background:#fff;font-size:11px}.list-pager button{cursor:pointer}.list-pager button:hover:not(:disabled){border-color:#91a4dc;color:var(--blue);background:#f2f5ff}.list-pager button:disabled{cursor:not-allowed;opacity:.42}.list-pager label{display:flex;align-items:center;gap:5px;white-space:nowrap}.resource-selector-list>.list-pager{position:sticky;z-index:3;background:#fff}.resource-selector-list>.list-pager:first-child{top:0}.resource-selector-list>.list-pager:last-child{bottom:0}
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th { padding: 12px 15px; color: #8a94aa; font-size: 11px; text-align: left; white-space: nowrap; background: #fbfcfe; }
td { padding: 14px 15px; border-top: 1px solid var(--line); vertical-align: middle; }
tr:hover td { background: #fbfcff; }
.mono { font-family: "SFMono-Regular", Consolas, monospace; font-size: 12px; }
.tag, .status { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 6px; font-size: 11px; font-weight: 750; background: #eef1f6; color: #66718a; }
.status.online, .status.succeeded, .status.active, .status.normal { color: #087b55; background: #e6f8f1; }
.status.offline, .status.disabled, .status.cancelled { color: #71798b; background: #eff1f5; }
.status.queued, .status.dispatched { color: #896107; background: #fff4d7; }
.status.running { color: #2459c7; background: #eaf0ff; }
.status.failed, .status.high { color: #b72e3b; background: #ffebed; }
.actions { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.catalog-layout { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 16px; align-items: start; }
.catalog-sidebar { position: sticky; top: 102px; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 7px 22px rgba(28,45,83,.04); }
.catalog-search { padding: 2px 2px 9px; }
.catalog-filter { width: 100%; display: flex; justify-content: space-between; gap: 10px; padding: 10px 11px; border: 0; border-radius: 9px; color: #5f6b84; background: transparent; text-align: left; }
.catalog-filter span { color: #9aa3b5; font-size: 11px; }
.catalog-filter:hover, .catalog-filter.active { color: var(--blue); background: #edf2ff; }
.feature-groups { display: grid; gap: 17px; min-width: 0; }
.feature-section { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.feature-section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.feature-section-head h2 { margin: 0; font-size: 17px; }
.feature-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)); gap: 13px; }
.feature-card { position: relative; border: 1px solid var(--line); border-radius: 12px; background: #fff; overflow: hidden; }
.feature-card:hover { border-color: #b9c7f6; box-shadow: 0 9px 24px rgba(57,103,241,.09); transform: translateY(-1px); }
.feature-main { width: 100%; display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: center; padding: 15px 42px 15px 15px; border: 0; background: transparent; text-align: left; }
.favorite-button { position: absolute; right: 9px; top: 9px; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 7px; color: #c5cbd7; background: transparent; z-index: 2; }
.favorite-button:hover, .favorite-button.active { color: #f2a43b; background: #fff5df; }
.feature-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(135deg, #edf2ff, #e8fafa); font-size: 23px; }
.feature-card h3 { margin: 0 0 5px; font-size: 14px; }
.feature-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.mini-stats { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 12px; margin-bottom: 16px; }
.mini-stats div { padding: 15px 18px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.mini-stats small, .mini-stats strong { display: block; }
.mini-stats small { margin-bottom: 7px; color: var(--muted); font-size: 11px; }
.mini-stats strong { font-size: 22px; }
.device-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 14px; }
.device-card { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.device-card-head { display: flex; align-items: flex-start; gap: 11px; }
.device-card-head h3 { margin: 0 0 4px; font-size: 16px; }
.device-card .actions { margin-top: 17px; padding-top: 13px; border-top: 1px solid var(--line); }
.slot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.slot-card { padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfe; }
.slot-card h4 { margin: 7px 0; }
.device-overview{margin-bottom:18px}.modern-device-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.modern-device-card{box-shadow:0 8px 26px rgba(28,45,83,.06);transition:.18s}.modern-device-card:hover{transform:translateY(-2px);border-color:#becbf3;box-shadow:0 14px 35px rgba(37,62,120,.11)}
.modern-device-card .device-card-head{align-items:center}.modern-device-card .device-card-head input{width:auto;min-height:auto}.modern-device-card .device-card-head .status{margin-left:auto}.device-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--blue);background:#edf2ff;font-size:21px}.device-card-head p{margin:0;color:var(--muted);font-size:11px}.device-tags{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.device-tags span{padding:5px 8px;border-radius:7px;background:#f0f3f8;color:#68748b;font-size:11px}.resource-meter{margin:13px 0}.resource-meter>div{display:flex;justify-content:space-between}.resource-meter i{display:block;height:7px;margin:7px 0;background:#edf1f6;border-radius:8px;overflow:hidden}.resource-meter i b{display:block;height:100%;background:var(--green);border-radius:8px}.resource-meter.disk i b{background:#f5a623}.resource-meter small{color:var(--muted)}.device-remark{min-height:38px;padding:9px 11px;border-radius:8px;background:#f8f9fc;color:#68748b;font-size:12px}.system-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:18px}.system-card-grid article{padding:15px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe}.system-card-grid span,.system-card-grid strong{display:block}.system-card-grid span{margin-bottom:8px;color:var(--muted);font-size:11px}.system-card-grid strong{font-size:14px;word-break:break-all}.device-summary{grid-template-columns:repeat(4,minmax(150px,1fr))}
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.form-grid .full { grid-column: 1 / -1; }
.modal { position: fixed; inset: 0; display: grid; place-items: center; padding: 24px; z-index: 100; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(13,21,38,.56); backdrop-filter: blur(4px); }
.modal-card { position: relative; width: min(760px, 96vw); max-height: 91vh; display: flex; flex-direction: column; border-radius: 18px; background: #fff; box-shadow: 0 30px 90px rgba(4,14,35,.3); overflow: hidden; }
.modal-card.wide { width: min(1160px, 97vw); }
.modal-card > header { display: flex; align-items: center; justify-content: space-between; padding: 19px 22px; border-bottom: 1px solid var(--line); }
.modal-card > header h2 { margin: 0; font-size: 21px; }
.modal-body { padding: 22px; overflow-y: auto; }
.modal-card > footer { display: flex; justify-content: flex-end; gap: 9px; padding: 15px 22px; border-top: 1px solid var(--line); background: #fbfcfe; }
.empty { padding: 60px 20px; text-align: center; color: var(--muted); }
.empty span { display: block; color: #bec5d3; font-size: 35px; }
.empty h3 { margin: 12px 0 6px; color: #5c677f; }
.toast { position: fixed; right: 22px; top: 22px; max-width: 420px; padding: 12px 16px; border-radius: 10px; color: white; background: #18243a; box-shadow: var(--shadow); opacity: 0; transform: translateY(-12px); pointer-events: none; transition: .2s; z-index: 200; }
.toast.show { opacity: 1; transform: translateY(0); }
.toast.error { background: #b92f3c; }
.code { min-height: 180px; padding: 14px; border-radius: 10px; color: #dbe7ff; background: #111b2e; font: 12px/1.6 "SFMono-Regular", Consolas, monospace; }
.log-list { display: grid; gap: 8px; }
.log-item { display: grid; grid-template-columns: 150px 90px 1fr; gap: 10px; padding: 10px 12px; border-radius: 8px; background: #f7f8fb; font-size: 12px; }
.builder { display: grid; grid-template-columns: 320px minmax(0,1fr); gap: 16px; }
.builder-guide { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 18px; padding: 11px; border-radius: 12px; background: #f4f6fb; }
.builder-guide span { display: flex; align-items: center; gap: 7px; color: #727d94; font-size: 12px; font-weight: 700; }
.builder-guide b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: #6d7890; background: #fff; }
.builder-guide span.active { color: var(--blue); }
.builder-guide span.active b { color: #fff; background: var(--blue); }
.builder-library, .builder-canvas { border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
.builder-title { display: flex; align-items: center; justify-content: space-between; padding: 13px 15px; background: #f8f9fc; border-bottom: 1px solid var(--line); }
.builder-title h3 { margin: 0; font-size: 14px; }
.api-search { padding: 10px; border-bottom: 1px solid var(--line); }
.api-list { max-height: 570px; overflow-y: auto; padding: 8px; }
.api-group-title { padding: 8px; color: #7f899f; font-size: 10px; font-weight: 800; }
.api-item { width: 100%; display: grid; grid-template-columns: 45px 1fr; gap: 8px; padding: 9px; border: 0; border-radius: 8px; text-align: left; background: transparent; }
.api-item:hover { background: #f0f4ff; }
.method { align-self: start; padding: 3px 5px; border-radius: 5px; color: #2459c7; background: #eaf0ff; font: 9px Consolas, monospace; text-align: center; }
.api-item strong { display: block; font-size: 11px; }
.api-item small { display: block; margin-top: 3px; color: var(--muted); font: 9px Consolas, monospace; word-break: break-all; }
.step-list { min-height: 300px; display: grid; gap: 10px; padding: 12px; align-content: start; background: #fbfcfe; }
.step-card { border: 1px solid var(--line); border-radius: 10px; background: #fff; overflow: hidden; }
.step-head { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.step-head strong { font-size: 12px; }
.step-number { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 7px; color: white; background: var(--blue); font-size: 10px; }
.step-head .actions { margin-left: auto; }
.step-body { padding: 12px; }
.step-body .form-grid label { margin-bottom: 10px; }
.inline-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.hint { padding: 10px 12px; border-radius: 8px; color: #5e6880; background: #f2f5fb; font-size: 11px; line-height: 1.6; }
.warning { color: #8b5500; background: #fff5db; }
.danger-note { color: #9c2631; background: #ffedef; }
details summary { cursor: pointer; color: var(--blue); font-size: 12px; font-weight: 700; }
@media (max-width: 1200px) {
  .stat-grid { grid-template-columns: repeat(3, 1fr); }
  .builder { grid-template-columns: 260px minmax(0,1fr); }
  .filters-six { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; left: -250px; width: 238px; transition: left .2s; }
  .app-shell.menu-open .sidebar { left: 0; }
  .menu-button { display: grid; }
  .topbar { padding: 12px 16px; }
  .content { padding: 17px; }
  .hero { grid-template-columns: 1fr; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .filters { grid-template-columns: repeat(2, 1fr); }
  .builder { grid-template-columns: 1fr; }
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-sidebar { position: static; }
  .api-list { max-height: 250px; }
}
@media (max-width: 700px) {
  .login-shell { grid-template-columns: 1fr; background: var(--canvas); }
  .login-art { display: none; }
  .login-card { width: calc(100% - 28px); padding: 27px; }
  .mobile-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 28px; }
  .topbar .top-actions .icon-button, .user-chip small, #logout-button { display: none; }
  .content { padding: 13px; }
  .stat-grid, .filters, .form-grid, .mini-stats { grid-template-columns: 1fr; }
  .builder-guide { grid-template-columns: 1fr 1fr; }
  .hero-main { padding: 23px; }
  .hero-main h1 { font-size: 25px; }
  .page-head { align-items: flex-start; flex-direction: column; }
  .modal { padding: 8px; }
  .modal-card { max-height: 96vh; }
  .log-item { grid-template-columns: 1fr; }
}

/* Component normalization */
.log-list{display:flex;flex-direction:column;gap:0}.sdk-panel .api-item{display:flex;flex-direction:column;grid-template-columns:none}.feature-main{grid-template-columns:64px 1fr}.selector-row input[type=checkbox],.selector-row input[type=radio]{width:auto;min-height:auto}.hero-user .btn{margin-top:12px}.panel-body{padding:18px}.feature-editor .panel-head{padding-left:0;padding-right:0}.param-row textarea{min-height:42px}.progress+small{color:var(--muted)}

/* v1.3 compact responsive skin system */
:root[data-theme="mint"]{--blue:#159b82;--blue-dark:#0f7966;--cyan:#55caa9;--nav:#102a28;--nav-soft:#183c38;--canvas:#f3f8f7}
:root[data-theme="violet"]{--blue:#7455d9;--blue-dark:#5b3db9;--cyan:#b36ee5;--nav:#201735;--nav-soft:#32244d;--canvas:#f7f5fb}
:root[data-theme="mint"] .brand-mark,:root[data-theme="violet"] .brand-mark{background:linear-gradient(135deg,var(--blue),var(--cyan))}
.content{max-width:1800px;margin:0 auto;width:100%}
.panel,.catalog-sidebar,.feature-card,.stat-card{border-radius:12px}
.topbar{min-height:70px}.page-head{margin-bottom:15px}.page-head h1{font-size:25px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}
input,select,textarea{min-height:36px;padding:7px 10px;border-radius:7px}.btn{min-height:34px;padding:7px 12px;border-radius:7px}.btn.small{min-height:29px;padding:5px 9px}
table{font-size:12.5px}th{padding:10px 12px}td{padding:11px 12px;vertical-align:middle}.check-cell{width:38px;text-align:center}.check-cell input{width:15px;height:15px;min-height:0}.remark-cell{min-width:130px;max-width:250px;white-space:normal;color:var(--muted)}
.compact-list{max-height:260px;margin-top:9px}.inline-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px;margin:10px 0!important}.inline-check input{width:auto;min-height:0}
.form-grid input[type=checkbox]{width:15px;height:15px;vertical-align:-2px}.slot-choices input,.choice-line input{width:15px;height:15px}.slot-choices label,.choice-line label{padding:6px 9px}
.modal-card{border-radius:14px}.modal-card>header,.modal-card>footer{padding:15px 18px}.modal-body{padding:17px 18px}.filters{gap:9px;padding:13px}
@media(max-width:1100px){.table-wrap{overflow:auto}.table-wrap table{min-width:980px}.content{padding:18px}.page-actions{width:100%}}

/* v1.3 final information architecture and component system */
:root{--canvas:#f3f5f9;--nav:#111827;--nav-soft:#25304a;--blue:#4f6df5;--blue-dark:#3b55d6;--cyan:#64d6ca;--line:#e4e8f0;--radius:14px;--shadow:0 12px 30px rgba(30,42,75,.07)}
body{letter-spacing:.005em}
.app-shell{grid-template-columns:264px minmax(0,1fr)}
.sidebar{padding:20px 14px;background:linear-gradient(180deg,#111827 0%,#17213a 62%,#10182b 100%);box-shadow:8px 0 28px rgba(22,30,52,.08)}
.brand{margin:0 5px 10px;padding:2px 7px 20px}.brand-mark{border-radius:12px}.brand strong{font-size:18px}.brand strong em{display:inline-flex;margin-left:7px;padding:2px 6px;border:1px solid rgba(100,214,202,.35);border-radius:999px;color:#8ce8df;background:rgba(100,214,202,.1);font-size:9px;font-style:normal;letter-spacing:.08em;vertical-align:3px}
.sidebar nav{padding:4px 0 16px}.nav-label{margin-top:10px;padding:12px 13px 5px;color:#63708c}.nav-item{min-height:42px;padding:9px 12px;border-radius:9px;font-size:13px;font-weight:650}.nav-item span:first-child{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.05);font-size:14px}.nav-item.active{background:linear-gradient(90deg,rgba(79,109,245,.31),rgba(79,109,245,.12));box-shadow:none}.nav-item.active span:first-child{color:#fff;background:#4f6df5}
.topbar{min-height:72px;padding:12px 28px;background:rgba(255,255,255,.88);box-shadow:0 1px 0 rgba(28,41,72,.04)}
.workspace{background:radial-gradient(circle at 95% 0,rgba(79,109,245,.065),transparent 28%),var(--canvas)}
.content{max-width:1680px;padding:28px 32px 48px}.page-head{margin-bottom:20px}.page-head h1{font-size:27px;letter-spacing:-.02em}.page-head .muted{max-width:760px;margin:6px 0 0;line-height:1.6}
.panel{border-color:#e3e7ef;box-shadow:0 8px 24px rgba(26,39,72,.045)}.panel-head{padding:16px 19px}.panel-body{padding:19px}
.btn{border-radius:8px;box-shadow:none!important}.btn.primary{background:linear-gradient(135deg,#5574f8,#485fdc)}.btn.ghost:hover{border-color:#bdc8ec;background:#f7f9ff}
input,select,textarea{border-color:#dce1eb;background:#fff}.filters{padding:13px 16px;background:#f8f9fc}
input[type=checkbox],input[type=radio]{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;padding:0!important;accent-color:var(--blue)}
.table-wrap{max-width:100%}thead{position:sticky;top:0;z-index:1}th{padding:11px 13px;background:#f7f8fb}td{padding:12px 13px}.remark-cell{line-height:1.55}
.hero{grid-template-columns:minmax(0,1.6fr) 320px}.hero-main{min-height:210px;background:radial-gradient(circle at 84% 16%,rgba(107,224,210,.45),transparent 24%),linear-gradient(125deg,#283d8d,#526be9 58%,#7056cf)}
.stat-card{position:relative;overflow:hidden}.stat-card::after{content:"";position:absolute;width:52px;height:52px;right:-20px;bottom:-20px;border:12px solid rgba(79,109,245,.06);border-radius:50%}
.feature-section{border-color:#e2e6ef}.feature-card{min-height:110px;transition:.18s}.feature-card:hover{border-color:#9eb0f3;box-shadow:0 14px 30px rgba(54,75,150,.11)}.feature-icon{background:linear-gradient(135deg,#edf1ff,#e7fbf8)}
.selector-row{min-height:54px}.selector-row:hover{background:#f7f9ff}.slot-choices{max-height:170px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fafbfe}
.onboarding-grid,.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.onboarding-card,.capability-grid article{position:relative;min-height:178px;padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.onboarding-card b,.capability-grid b{display:inline-grid;min-width:38px;height:38px;place-items:center;margin-bottom:18px;padding:0 8px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#5574f8,#6e56cf);font-size:12px}.onboarding-card h3,.capability-grid h3{margin:0 0 9px}.onboarding-card p,.capability-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.clean-list{display:grid;gap:10px;margin:0;padding-left:20px;color:#59647a;line-height:1.6}.clean-list code{padding:2px 6px;border-radius:5px;color:#3c56ca;background:#eef1ff}
.runtime-hero{display:flex;align-items:center;justify-content:space-between;min-height:190px;margin-bottom:18px;padding:30px;border-radius:16px;color:#fff;background:radial-gradient(circle at 85% 10%,rgba(100,214,202,.35),transparent 25%),linear-gradient(120deg,#18223d,#293d7a)}.runtime-hero.down{background:linear-gradient(120deg,#3b2630,#713a45)}.runtime-hero h2{margin:4px 0 8px;font-size:28px}.runtime-hero p{margin:0;color:#cbd5ed}.runtime-hero>strong{font:800 42px/1 ui-monospace,monospace;opacity:.18}.runtime-dot{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:#65dfb3;box-shadow:0 0 0 7px rgba(101,223,179,.12)}.runtime-hero.down .runtime-dot{background:#ff8891}.runtime-hero .eyebrow{display:inline;color:#9faed1}
.script-editor{min-height:480px!important;border:1px solid #263553!important;border-radius:10px!important;background:#0c1425!important;color:#d9e5ff!important}.feature-editor{grid-template-columns:minmax(0,1fr) 330px}.sdk-panel{padding-left:20px}
@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{width:264px;left:-280px}.onboarding-grid,.capability-grid{grid-template-columns:1fr}.content{padding:20px}.hero{grid-template-columns:1fr}}

/* v1.3 layout system */
.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;padding:0 20px 20px}.settings-grid label,.account-filters>label{display:grid;gap:7px;color:#556178;font-size:13px;font-weight:700}.settings-actions{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:2px}.settings-actions .btn{min-width:150px}
.account-filters{grid-template-columns:minmax(260px,2fr) minmax(210px,1.2fr) minmax(150px,1fr) minmax(140px,1fr) auto;align-items:end}.filter-search{min-width:0}.filter-state{padding:10px 18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;background:#fff}.multi-filter{position:relative}.multi-filter>summary{min-height:36px;display:flex;align-items:center;padding:7px 34px 7px 10px;border:1px solid #dce1eb;border-radius:7px;background:#fff;color:var(--ink);cursor:pointer;list-style:none}.multi-filter>summary::-webkit-details-marker{display:none}.multi-filter>summary:after{content:'⌄';position:absolute;right:11px;color:var(--muted)}.multi-filter[open]>summary{border-color:#7392f3;box-shadow:0 0 0 3px rgba(57,103,241,.11)}.multi-filter-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:100%;max-height:260px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 18px 45px rgba(20,32,58,.18)}.multi-filter-menu label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:7px;font-size:13px;cursor:pointer}.multi-filter-menu label:hover{background:#f2f5fb}.multi-filter-menu input{width:auto;min-height:auto}
.param-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:start;padding:16px;margin-bottom:12px;border:1px solid var(--line);border-radius:12px;background:#fafbfe}.param-row>label{grid-column:span 3;display:grid;gap:6px;min-width:0}.param-row>label>span,.editor-heading small{color:var(--muted);font-size:12px;font-weight:650}.param-row .param-help{grid-column:span 6}.param-row .param-options{grid-column:span 6}.param-row textarea{min-height:76px;resize:vertical}.param-actions{grid-column:span 6;display:flex;justify-content:flex-end;align-items:center;gap:14px;align-self:end;min-height:76px}.check-label{display:flex!important;align-items:center;gap:7px}.check-label input{width:auto;min-height:auto}.app-field{grid-template-columns:repeat(12,minmax(0,1fr))}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 8px}.CodeMirror{height:510px;border:1px solid #263553;border-radius:10px;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}.CodeMirror-gutters{border-right-color:#243149}.CodeMirror-focused{box-shadow:0 0 0 3px rgba(57,103,241,.14)}
.modal-card{width:min(800px,calc(100vw - 32px))}.modal-card.wide{width:min(1240px,calc(100vw - 32px))}.modal-body{overscroll-behavior:contain}.modal-card>footer{flex-wrap:wrap}.form-grid>*{min-width:0}
@media(max-width:1100px){.account-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search{grid-column:1/-1}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.param-row>label{grid-column:span 6}}
@media(max-width:700px){.account-filters,.settings-grid{grid-template-columns:1fr}.filter-search{grid-column:auto}.settings-actions{grid-column:auto}.settings-actions .btn{width:100%}.param-row{grid-template-columns:1fr}.param-row>label,.param-row .param-help,.param-row .param-options,.param-actions{grid-column:auto}.param-actions{min-height:auto;justify-content:space-between}.editor-heading{align-items:flex-start;flex-direction:column}.CodeMirror{height:420px}.modal-card,.modal-card.wide{width:calc(100vw - 16px)}}

/* v1.7.8 permissions, recovery, inspection quota and console selection */
.modal-card.feature-editor-modal{width:min(1280px,calc(100vw - 32px));max-width:calc(100vw - 20px);min-width:min(820px,calc(100vw - 20px));resize:horizontal;overflow:auto}.feature-editor-modal .feature-editor{display:block;width:100%}.feature-editor-modal .feature-editor-main{width:100%;min-width:0}.feature-editor-modal .CodeMirror{width:100%}.console-select-visible{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border:1px solid #d9e1ee;border-radius:10px;color:#54627a;background:#fff;font-size:11px;cursor:pointer;white-space:nowrap;transition:.16s ease}.console-select-visible span{width:19px;height:19px;display:grid;place-items:center;border:1px solid #cbd5e5;border-radius:6px;color:#738098;background:#f8faff;font-weight:850}.console-select-visible:hover{border-color:#9fb2e8;color:#3553ad;background:#f8faff}.console-select-visible.active{border-color:#9bb2f3;color:#2f50b6;background:#eef3ff}.console-select-visible.active span{border-color:#5478e4;color:#fff;background:#5478e4}.console-select-visible:disabled{opacity:.45;cursor:not-allowed}.console-add-device{text-decoration:none;cursor:pointer}.console-add-device[disabled]{opacity:.55;cursor:not-allowed}.inspection-quota-card{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:15px 18px;border:1px solid #d9e4ff;border-radius:15px;color:#35466b;background:linear-gradient(135deg,#f7f9ff,#eef4ff)}.inspection-quota-card span{font-weight:800}.inspection-quota-card strong{font-size:26px;color:#315ac9}.inspection-quota-card small{margin-left:auto;color:var(--muted)}.admin-permission-section{grid-column:1/-1;padding:15px;border:1px solid #dfe5f0;border-radius:13px;background:#f9fbff}.admin-permission-section>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.admin-permission-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.admin-permission-grid label{display:flex!important;align-items:center;gap:7px;margin:0!important;padding:9px;border:1px solid #e1e6f0;border-radius:9px;color:#46546d;background:#fff;font-size:12px}.admin-permission-grid input{width:auto;min-height:auto}.admin-permission-section>small{display:block;margin-top:10px;color:var(--muted)}.recycle-panel .panel-head label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.recycle-panel .panel-head select{min-width:180px}.category-visibility{display:inline-flex;margin-left:7px;padding:2px 7px;border-radius:999px;font-size:9px;font-style:normal;vertical-align:middle}.category-visibility.visible{color:#087451;background:#dcf7eb}.category-visibility.hidden-category{color:#7b8494;background:#edf0f4}.inspection-detail-toolbar.compact{justify-content:flex-start}.settings-grid>.full{grid-column:1/-1}
@media(max-width:900px){.modal-card.feature-editor-modal{width:calc(100vw - 16px);min-width:0;max-width:calc(100vw - 16px);resize:none}.admin-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.console-select-visible{order:2}.inspection-quota-card{align-items:flex-start;flex-wrap:wrap}.inspection-quota-card small{width:100%;margin-left:0}}
@media(max-width:560px){.admin-permission-grid{grid-template-columns:1fr}.console-select-visible{width:100%;justify-content:center}.inspection-quota-card strong{font-size:22px}}

/* v1.7.8 follow-up: resize the JavaScript editor, not the modal */
.modal-card.feature-editor-modal{width:min(1480px,calc(100vw - 32px));max-width:calc(100vw - 20px);resize:none}.feature-editor-modal .code-section{width:min(1120px,100%);min-width:min(720px,100%);max-width:100%;resize:horizontal;overflow:hidden}.feature-editor-modal .code-section .CodeMirror{width:100%}.recycle-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:12px 14px;border:1px solid #e1e7f1;border-radius:12px;color:#526079;background:#f8faff}.recycle-summary span{font-size:12px}.recycle-table-wrap{max-height:58vh}
.feature-editor-modal .code-section{width:min(1280px,100%)}
@media(max-width:900px){.feature-editor-modal .code-section{width:100%;min-width:0;resize:none}.recycle-summary{align-items:flex-start;flex-direction:column;gap:4px}}

/* v1.3.1 modal and settings system */
body.modal-open{overflow:hidden}
.modal{padding:clamp(10px,3vw,32px);animation:modal-fade .16s ease-out}
.modal-backdrop{background:rgba(11,18,34,.68);backdrop-filter:blur(7px) saturate(.85)}
.modal-card{width:min(780px,calc(100vw - 32px));max-height:min(90vh,900px);border:1px solid rgba(255,255,255,.72);border-radius:20px;background:#fff;box-shadow:0 34px 100px rgba(8,17,38,.34);animation:modal-rise .2s cubic-bezier(.2,.8,.2,1)}
.modal-card.wide{width:min(1200px,calc(100vw - 32px))}
.modal-card>header{min-height:78px;padding:17px 22px;border-bottom:1px solid #e8ebf2;background:linear-gradient(180deg,#fff,#fbfcff)}
.modal-heading{display:flex;align-items:center;gap:13px;min-width:0}.modal-heading>div{min-width:0}.modal-accent{width:5px;height:40px;flex:0 0 auto;border-radius:99px;background:linear-gradient(180deg,var(--blue),var(--cyan));box-shadow:0 5px 14px rgba(79,109,245,.25)}
.modal-card>header .eyebrow{margin-bottom:4px;font-size:10px}.modal-card>header h2{font-size:20px;line-height:1.25;overflow-wrap:anywhere}
.modal-close{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid #e3e7ef;border-radius:10px;color:#778197;background:#fff;font-size:23px;line-height:1;transition:.16s}.modal-close:hover{border-color:#c9d2ee;color:#35446c;background:#f3f6ff;transform:rotate(3deg)}
.modal-body{padding:22px 24px 24px;scrollbar-gutter:stable;overscroll-behavior:contain}.modal-body>.hint:first-child,.modal-body>.danger-note:first-child{margin-top:0}
.modal-card>footer{position:relative;min-height:68px;padding:14px 22px;border-top:1px solid #e6eaf1;background:#f8f9fc;box-shadow:0 -8px 22px rgba(26,39,72,.035)}
.modal-card>footer:empty{display:none}.modal-card>footer .btn{min-width:96px;min-height:39px}
.modal-body .form-grid{gap:2px 16px}.modal-body .form-grid label{margin-bottom:16px;padding:0}.modal-body .form-grid label>small{color:var(--muted);font-weight:500;line-height:1.45}
.modal-body .form-section-title{margin:7px 0 14px;padding-top:18px}.modal-body .selector-field{background:#fafbfe}.modal-body .selector-list{border-color:#e2e6ef;background:#fff}
.check-field>span{display:flex;align-items:center;gap:8px}.check-field>span input{width:16px!important;min-height:16px!important}
.content-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:2px 20px 20px}.content-settings-grid label{display:grid;gap:7px;color:#556178;font-size:13px;font-weight:700}.content-settings-grid textarea{min-height:74px}.content-settings-grid .settings-actions{grid-column:1/-1}.settings-panel{margin-bottom:18px}.hero-live{display:block;margin:-4px 0 18px;color:rgba(255,255,255,.72)}
@keyframes modal-fade{from{opacity:0}to{opacity:1}}@keyframes modal-rise{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:700px){.modal{padding:8px;place-items:end center}.modal-card,.modal-card.wide{width:100%;max-height:94vh;border-radius:18px 18px 10px 10px}.modal-card>header{min-height:68px;padding:14px 16px}.modal-body{padding:18px 16px}.modal-card>footer{padding:12px 14px}.modal-card>footer .btn{flex:1}.modal-accent{height:34px}.content-settings-grid{grid-template-columns:1fr;padding:0 14px 16px}.content-settings-grid .settings-actions{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.modal,.modal-card{animation:none}}

/* v1.3.4 execution-chain, draggable dialog and login refinements */
.modal-card>header{cursor:grab;user-select:none;touch-action:none}.modal-card>header:active{cursor:grabbing}.modal-close{cursor:pointer}.combo-builder{padding:16px;border:1px solid #dfe5f3;border-radius:14px;background:linear-gradient(180deg,#fbfcff,#f6f8fd)}.combo-builder .form-section-title{margin:0 0 12px;padding:0;border:0}.combo-step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(28,43,78,.035)}.combo-step>b{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--violet))}.combo-step-main{min-width:0;padding:2px 4px;border:0;text-align:left;background:transparent;cursor:pointer}.combo-step-main strong,.combo-step-main small{display:block}.combo-step-main strong{font-size:14px}.combo-step-main small{margin-top:2px;color:var(--muted)}.combo-actions{display:flex;align-items:center;gap:4px}.icon-btn{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid #e1e6f0;border-radius:9px;background:#f8faff;cursor:pointer}.icon-btn:hover{border-color:#bdc9e9;background:#eef3ff}.icon-btn:disabled{opacity:.32;cursor:not-allowed}.danger-icon:hover{border-color:#efbec4;background:#fff0f2}.step-param-tags{display:flex!important;align-items:center;flex-wrap:wrap;gap:5px;margin-top:7px}.step-param-tags>i{color:#a1a9ba;font-size:11px;font-style:normal}.step-param-tag{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 7px;border:1px solid #dce5fb;border-radius:999px;color:#34517f;background:#f3f6ff;font-size:11px;line-height:1.3}.step-param-tag em{color:#7d89a2;font-style:normal}.combo-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.slot-picker{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafbfe}.slot-choices{display:grid;grid-template-columns:repeat(12,minmax(38px,1fr));gap:7px}.slot-choices label{position:relative;display:block;padding:0;border:0}.slot-choices input{position:absolute;opacity:0;pointer-events:none}.slot-choices span{display:grid;place-items:center;min-height:38px;border:1px solid #dfe4ee;border-radius:9px;color:#647089;background:#fff;font-weight:750;cursor:pointer;transition:.15s}.slot-choices input:checked+span{border-color:var(--blue);color:#fff;background:linear-gradient(135deg,var(--blue),var(--violet));box-shadow:0 5px 12px rgba(79,109,245,.2)}.slot-choices input:focus-visible+span{outline:3px solid rgba(79,109,245,.22);outline-offset:2px}.step-parameter-form{padding:4px}.table-tags{display:flex;flex-wrap:wrap;gap:5px}.table-tags span{padding:3px 7px;border-radius:999px;color:#52627d;background:#eef2f8;font-size:11px}.proxy-filters{grid-template-columns:2fr repeat(7,minmax(110px,1fr)) auto}.log-row small{display:block;margin-top:5px;color:var(--muted)}
.login-shell{position:relative;isolation:isolate;background:linear-gradient(135deg,#eef3ff 0%,#f9fbff 52%,#eefafb 100%)}.login-shell:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(68,94,160,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(68,94,160,.045) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,transparent 45%,#000)}.login-art{box-shadow:32px 0 90px rgba(28,52,112,.16)}.login-art:before{content:"";position:absolute;width:260px;height:260px;left:-80px;top:-70px;border-radius:50%;background:rgba(36,191,209,.12);filter:blur(2px)}.login-card{position:relative;border:1px solid rgba(255,255,255,.85);background:rgba(255,255,255,.9);backdrop-filter:blur(20px) saturate(1.2);box-shadow:0 28px 80px rgba(36,58,112,.16)}.login-card:before{content:"安全登录";position:absolute;right:28px;top:28px;padding:5px 9px;border-radius:99px;color:#177b65;background:#e5f8f1;font-size:10px;font-weight:800;letter-spacing:.08em}.login-card input{min-height:48px;border-radius:11px;background:#fbfcff}.login-card .btn{margin-top:7px;border-radius:11px}
@media(max-width:1100px){.slot-choices{grid-template-columns:repeat(6,1fr)}.proxy-filters{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.combo-step{grid-template-columns:30px minmax(0,1fr)}.combo-actions{grid-column:2;justify-content:flex-end}.combo-add{grid-template-columns:1fr}.slot-choices{grid-template-columns:repeat(4,1fr)}.proxy-filters{grid-template-columns:1fr}.modal-card>header{cursor:default}.login-card:before{display:none}}

/* v1.4 resource filters, cards, parameter choices and announcements */
.resource-panel{overflow:visible}.filter-board{padding:18px 20px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbfcff,#f7f9fd)}.filter-search-box{display:flex;align-items:center;gap:10px;max-width:720px;margin-bottom:13px;padding:0 13px;border:1px solid #dce2ee;border-radius:11px;background:#fff;box-shadow:0 4px 14px rgba(31,48,89,.035)}.filter-search-box>span{color:#8190ad;font-size:21px}.filter-search-box input{min-height:44px;padding-left:0;border:0;box-shadow:none}.filter-groups{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-menu{position:relative}.filter-menu>summary{min-height:36px;display:flex;align-items:center;gap:7px;padding:7px 31px 7px 11px;border:1px solid #dce2ee;border-radius:9px;color:#4f5d77;background:#fff;font-size:12px;font-weight:750;cursor:pointer;list-style:none}.filter-menu>summary::-webkit-details-marker{display:none}.filter-menu>summary:after{content:'⌄';position:absolute;right:10px;color:#8b96aa}.filter-menu>summary b:empty{display:none}.filter-menu>summary b{min-width:18px;height:18px;display:grid;place-items:center;border-radius:99px;color:#fff;background:var(--blue);font-size:10px}.filter-menu[open]>summary{border-color:#8da2ef;color:#334fb9;box-shadow:0 0 0 3px rgba(79,109,245,.1)}.filter-menu-pop{position:absolute;z-index:35;top:calc(100% + 7px);left:0;min-width:210px;max-height:280px;overflow:auto;padding:7px;border:1px solid #dde3ee;border-radius:11px;background:#fff;box-shadow:0 20px 50px rgba(21,33,62,.17)}.filter-menu-pop label{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:7px;color:#526078;font-size:12px;cursor:pointer}.filter-menu-pop label:hover{background:#f0f4ff}.filter-reset{min-height:35px;padding:6px 10px;border:0;color:#6f7b91;background:transparent;font-size:12px}.filter-reset:hover{color:var(--blue)}.filter-state{display:flex;align-items:center;gap:7px}.filter-state strong{min-width:24px;height:24px;display:grid;place-items:center;border-radius:7px;color:#3152bd;background:#edf2ff}.resource-table{min-width:1080px}.resource-table .id-column{width:82px}.id-chip{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:5px 8px;border:1px solid #dbe3f7;border-radius:8px;color:#3655b6;background:#f1f5ff;font:750 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.button.id-chip,.id-chip[type=button]{cursor:copy}.resource-primary{display:grid;gap:5px}.resource-primary strong{font-size:13px}.resource-primary small,.binding-stack span,.expiry-cell small{color:var(--muted);font-size:11px}.table-tags{max-width:320px}.table-tags span{border:1px solid transparent}.table-tags .tag-app{color:#3758b3;background:#edf2ff;border-color:#dbe4ff}.table-tags .tag-group{color:#177760;background:#eaf8f3;border-color:#d5f0e6}.table-tags .tag-protocol{color:#8a5911;background:#fff5df;border-color:#f7e6bd}.binding-stack,.expiry-cell{display:grid;gap:5px}.count-chip{min-width:28px;height:28px;display:inline-grid;place-items:center;border-radius:9px;color:#4b5d79;background:#eef2f7;font-weight:800}.row-actions{display:flex;gap:5px;white-space:nowrap}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin-top:9px}.choice-grid label{position:relative;display:block;margin:0!important}.choice-grid input{position:absolute;opacity:0;pointer-events:none}.choice-grid span{min-height:43px;display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid #dfe4ee;border-radius:10px;color:#5d6980;background:#fff;font-size:12px;font-weight:700;cursor:pointer;transition:.15s}.choice-grid span i{width:18px;height:18px;display:grid;place-items:center;flex:0 0 auto;border:1.5px solid #b9c3d5;color:transparent;background:#fff;font-size:10px;font-style:normal}.choice-radio span i{border-radius:50%}.choice-checkbox span i{border-radius:5px}.choice-radio input:checked+span{border-color:#8298ec;color:#304ba8;background:#f2f5ff;box-shadow:inset 3px 0 #5975ee}.choice-radio input:checked+span i{border:5px solid #5975ee}.choice-checkbox input:checked+span{border-color:#60bca9;color:#126c59;background:#edfaf6}.choice-checkbox input:checked+span i{border-color:#27a78c;color:#fff;background:#27a78c}.choice-grid input:focus-visible+span{outline:3px solid rgba(79,109,245,.18);outline-offset:2px}
.selector-filter-board{margin:-22px -24px 14px;padding:18px 24px 14px}.selector-result{display:flex;justify-content:space-between;margin:4px 2px 9px;color:var(--muted);font-size:11px}.resource-selector-list{max-height:45vh}.selector-id{display:inline-flex;margin-right:8px;padding:3px 6px;border-radius:6px;color:#3f5bb5;background:#eef2ff;font-size:10px;font-style:normal}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.7fr);gap:18px;align-items:start}.announcement-panel{min-width:0}.announcement-panel .panel-head small{display:block;margin-top:4px}.announcement-list{display:grid}.announcement-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 18px;border:0;border-bottom:1px solid var(--line);color:#34415a;background:#fff;text-align:left}.announcement-list button:last-child{border-bottom:0}.announcement-list button:hover{background:#f7f9ff}.announcement-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.announcement-list time{color:var(--muted);font-size:11px}.announcement-empty{padding:34px;text-align:center;color:var(--muted)}.announcement-editor{height:340px;background:#fff;font-weight:400}.announcement-reader{min-height:240px;border:0!important}.announcement-reader .ql-editor{padding:4px 2px;font-size:14px;line-height:1.8}.announcement-reader .ql-editor.ql-blank:before{display:none}.modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.ql-toolbar.ql-snow{border-color:#dfe4ee;border-radius:10px 10px 0 0}.ql-container.ql-snow{border-color:#dfe4ee;border-radius:0 0 10px 10px}
@media(max-width:1100px){.dashboard-columns{grid-template-columns:1fr}.filter-search-box{max-width:none}}@media(max-width:700px){.filter-board{padding:14px}.filter-menu{flex:1 1 calc(50% - 8px)}.filter-menu>summary{width:100%}.filter-menu-pop{position:fixed;left:12px;right:12px;top:auto;min-width:0}.selector-filter-board{margin:-18px -16px 12px}.choice-grid{grid-template-columns:1fr}.modal-toolbar{align-items:stretch;flex-direction:column}.announcement-editor{height:300px}}

/* v1.4 maintenance: task/function/APP editors, announcements and account menu */
.task-builder-form{display:grid;gap:14px}.builder-section{padding:17px;border:1px solid #e1e6f0;border-radius:14px;background:#fbfcff}.builder-section-head{display:flex;align-items:center;gap:11px;margin-bottom:14px}.builder-section-head>div{display:grid;gap:3px}.builder-section-head strong{font-size:15px}.builder-section-head small,.builder-tip,.slot-picker-head small,.selector-field>span>small{color:var(--muted);font-size:11px;font-weight:500}.section-number{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--violet));font-size:10px;font-weight:850;box-shadow:0 6px 14px rgba(70,91,202,.18)}.task-basics label{display:grid;gap:7px;color:#4c5870;font-size:12px;font-weight:750}.task-basics input{background:#fff}.task-builder-form .combo-builder{background:linear-gradient(180deg,#f8faff,#f4f7fc)}.task-builder-form .combo-builder .builder-section-head{margin-bottom:12px}.task-builder-form .combo-add{margin-top:10px}.builder-tip{margin:9px 2px 0;line-height:1.55}.resource-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.task-resources .selector-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:13px;background:#fff}.task-resources .selector-field>span{display:grid;gap:3px}.task-resources .selection-summary{grid-column:1/-1;padding-top:8px;border-top:1px dashed #e3e7ef;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.required-resource{border-color:#cfd9fb!important;box-shadow:inset 3px 0 #6580ed}.task-resources .slot-picker{margin-top:12px;padding:13px;background:#fff}.slot-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.task-resources .slot-choices{max-height:none;padding:0;border:0;background:transparent}
.editor-section-card{margin-bottom:14px;padding:17px;border:1px solid #e1e6ef;border-radius:14px;background:#fbfcff}.editor-section-card:last-child{margin-bottom:0}.editor-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid #e5e9f1}.editor-section-head>div{display:grid;gap:3px}.editor-section-head>div>span{font-size:15px;font-weight:800}.editor-section-head small{color:var(--muted);font-size:11px}.switch-line,.switch-field>span{display:flex!important;align-items:center;gap:7px;margin:0!important;color:#536078;font-size:12px;font-weight:750}.feature-editor-main{min-width:0}.feature-editor .editor-section-card .form-grid label{margin-bottom:13px}.feature-editor .param-row{background:#fff}.code-section{padding:0;overflow:hidden;background:#0c1425}.code-section .editor-heading{margin:0;padding:13px 16px;color:#eef4ff;background:#121e34}.code-section .editor-heading>div{display:grid;gap:2px}.code-section .editor-heading small{color:#91a0bc}.code-section .CodeMirror{height:500px;border:0;border-radius:0}.sdk-sticky{position:sticky;top:0}.app-model-editor{display:grid;gap:14px}.app-model-editor .editor-section-card{margin:0}.app-field-list{display:grid;gap:10px}.app-field-card{display:grid;grid-template-columns:34px 1fr 1fr 150px auto auto;align-items:end;gap:10px;padding:13px;border:1px solid #e1e6ef;border-radius:12px;background:#fff}.app-field-card label{display:grid;gap:6px;margin:0!important;color:#647088;font-size:11px;font-weight:700}.app-field-card .field-required{display:flex;align-items:center;align-self:center;gap:6px;white-space:nowrap}.field-order{width:30px;height:30px;display:grid;place-items:center;align-self:center;border-radius:9px;color:#4059bd;background:#edf2ff;font-size:11px;font-weight:850}
.form-field{display:grid;gap:8px;margin-bottom:18px;color:#4c5670;font-size:13px;font-weight:700}.richtext-shell{position:relative;isolation:isolate;border-radius:11px;background:#fff}.announcement-form{overflow:visible}.richtext-field{position:relative;z-index:2}.richtext-shell .ql-toolbar{position:relative;z-index:4;background:#f9faff}.richtext-shell .ql-container{position:relative;z-index:1}.richtext-shell .ql-picker-options{z-index:20}.richtext-field>small{color:var(--muted);font-size:11px;font-weight:500}.field-label{display:block}
@media(max-width:1000px){.resource-pick-grid{grid-template-columns:1fr}.app-field-card{grid-template-columns:34px 1fr 1fr}.feature-editor{grid-template-columns:1fr}.sdk-panel{max-height:none}}
@media(max-width:700px){.builder-section{padding:13px}.task-resources .selector-field{grid-template-columns:1fr}.task-resources .selector-field .btn{width:100%}.slot-picker-head{align-items:flex-start;flex-direction:column}.app-field-card{grid-template-columns:30px 1fr}.app-field-card label,.app-field-card .field-required,.app-field-card .btn{grid-column:2}.editor-section-head{align-items:flex-start;flex-direction:column}.user-chip>span:nth-child(2),.user-chevron{display:none}.user-menu{position:fixed;right:12px;top:70px;width:min(280px,calc(100vw - 24px))}}

.feature-main{grid-template-columns:58px minmax(0,1fr) auto}.feature-image-wrap{position:relative;width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto}.feature-image-wrap .feature-image,.feature-image-wrap .feature-image-fallback{position:absolute;inset:0;width:58px;height:58px}.feature-image-wrap .feature-image{z-index:2;background:#edf2ff}.feature-image-fallback{z-index:1}.feature-image-wrap.load-failed .feature-image{display:none}

/* v1.4.6 device filters, compact logs and site branding */
.device-filter-panel{overflow:visible}.device-filter-panel .filter-groups label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.device-filter-panel select{width:auto;min-height:36px}.site-footer{display:flex;justify-content:center;gap:18px;padding:8px 24px 22px;color:var(--muted);font-size:12px}.brand-mark.brand-image{border:1px solid var(--line);background-color:#fff;background-position:center;background-size:cover}
.log-entry{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.log-entry+.log-entry{margin-top:7px}.log-entry summary{display:grid;grid-template-columns:150px 72px minmax(220px,1fr) 155px;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;list-style:none}.log-entry summary::-webkit-details-marker{display:none}.log-entry summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.log-entry summary small{color:var(--muted);text-align:right}.log-detail{padding:10px 14px;border-top:1px solid var(--line);background:#f8faff}.log-detail p{margin:0 0 7px}.log-detail pre{max-height:320px;overflow:auto;margin:0;white-space:pre-wrap;word-break:break-word;font-size:11px}
@media(max-width:700px){.log-entry summary{grid-template-columns:1fr auto}.log-entry summary time,.log-entry summary small{font-size:10px;text-align:left}.site-footer{flex-direction:column;align-items:center;gap:4px}}

/* v1.4.8 collapsible navigation and transparent branding */
.brand-mark.brand-image{border:0!important;border-radius:0!important;background-color:transparent!important;background-position:center;background-repeat:no-repeat;background-size:contain;box-shadow:none!important;filter:var(--logo-filter,none)}
.app-shell.sidebar-collapsed{grid-template-columns:82px minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar{padding-left:10px;padding-right:10px}.app-shell.sidebar-collapsed .brand>span:last-child,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .nav-item>span:last-child,.app-shell.sidebar-collapsed .sidebar-foot>span:last-child{display:none}.app-shell.sidebar-collapsed .brand,.app-shell.sidebar-collapsed .nav-item,.app-shell.sidebar-collapsed .sidebar-foot{justify-content:center}.select-all-line{display:flex;align-items:center;gap:7px;margin:0 0 9px;color:var(--blue);font-weight:750}.select-all-line input{width:auto;min-height:auto}
.resource-select-all{margin:10px 0 8px;padding:0 2px;color:var(--ink)}
.resource-select-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.resource-select-toolbar .select-all-line{margin:10px 0 8px;padding:0 2px;color:var(--ink)}
.execution-basis-field{grid-column:span 2;display:grid;gap:6px;align-content:start}.execution-basis-field small{color:var(--muted);font-weight:500}
.initializer-current-file{display:grid;gap:7px;margin:0 18px 18px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.initializer-current-file code{overflow-wrap:anywhere}.initializer-current-file .btn{justify-self:start}
@media(max-width:1000px){.app-shell.sidebar-collapsed{grid-template-columns:1fr}.app-shell.sidebar-collapsed .brand>span:last-child,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .nav-item>span:last-child,.app-shell.sidebar-collapsed .sidebar-foot>span:last-child{display:initial}}

/* v1.5 operation console, favorites and execution policies */
.required-tag,.execution-tag{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid #ffd3d8;border-radius:999px;color:#bd3345;background:#fff0f2;font-size:10px;font-weight:850;line-height:1}.parameter-label{display:flex;align-items:center;gap:7px}.resource-policy .check-field{min-height:62px}.editor-heading,.editor-tools{display:flex;align-items:center;justify-content:space-between;gap:10px}.editor-tools small{white-space:nowrap}.editor-history-btn{width:32px;height:32px;border:1px solid #31405d;border-radius:8px;color:#dce6ff;background:#1a2943;font-size:19px;cursor:pointer}.editor-history-btn:hover{border-color:#6684c5;background:#23375b}.favorite-toolbar{display:flex;align-items:center;gap:14px;padding:15px 18px;margin-bottom:15px}.favorite-toolbar .filter-search-box{flex:1;margin:0}.favorite-toolbar label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.favorite-toolbar select{min-width:180px}.favorite-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.favorite-card{display:grid;gap:14px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(30,48,90,.055)}.favorite-card header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px}.favorite-card header>label{position:relative}.favorite-card header>label input{position:absolute;opacity:0}.favorite-card header>label span{width:34px;height:34px;display:grid;place-items:center;border:1px solid #e6dcae;border-radius:10px;color:#b48613;background:#fff9df;cursor:pointer}.favorite-card header>label input:checked+span{color:#fff;background:#e5ad24}.favorite-card h3,.favorite-card p{margin:0}.favorite-card header p,.favorite-remark{margin-top:5px!important;color:var(--muted);font-size:11px}.favorite-remark{min-height:34px;line-height:1.55}.favorite-card footer{display:flex;gap:7px;padding-top:12px;border-top:1px solid var(--line)}.favorite-step-editor{margin-top:16px}.console-favorite-option{width:100%;border:1px solid var(--line);text-align:left;background:#fff;cursor:pointer}.operation-console{padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#f8faff,#f4f8fb);box-shadow:0 14px 38px rgba(28,46,89,.07)}.console-legend{display:flex;align-items:center;gap:18px;margin-bottom:14px;padding:10px 13px;border-radius:11px;color:#647089;background:#fff;font-size:11px}.console-legend span{display:flex;align-items:center;gap:6px}.console-legend .alarm-hint{margin-left:auto;color:#c6404d}.console-device-list{display:grid;gap:12px}.console-device-row{position:relative;display:grid;grid-template-columns:270px minmax(0,1fr);min-height:132px;border:1px solid #dfe5ef;border-radius:16px;background:#fff;overflow:visible;box-shadow:0 6px 18px rgba(32,51,91,.045)}.console-device-row.has-alarm{border-color:#f0a6ae;box-shadow:inset 5px 0 #e65463,0 8px 22px rgba(195,51,67,.09)}.console-device-summary{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-content:center;gap:8px 10px;padding:15px;border-right:1px solid var(--line);background:linear-gradient(155deg,#fafcff,#f5f8fc)}.console-alarm,.console-ok{position:absolute;left:-13px;top:50%;width:27px;height:27px;display:grid;place-items:center;transform:translateY(-50%);border-radius:50%;background:#fff;box-shadow:0 3px 10px rgba(22,35,65,.14)}.console-alarm{color:#df3949}.console-ok{color:#28a47e}.console-device-select{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.console-device-link{min-width:0;border:0;color:var(--ink);background:transparent;text-align:left;cursor:pointer}.console-device-link strong,.console-device-link small{display:block}.console-device-link strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.console-device-link small{margin-top:3px;color:var(--muted)}.console-slots{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.slot-light{width:25px;height:25px;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:7px;font-size:9px;font-weight:850;font-style:normal}.slot-light.running{border-color:#78c6a8;color:#08724e;background:#a7e3c9}.slot-light.idle{border-color:#d8dee7;color:#7b8799;background:#e8ecf2}.slot-light.blocked{border-color:#eb8994;color:#fff;background:#df4555;box-shadow:0 0 0 3px rgba(223,69,85,.12)}.console-task-queue{display:flex;align-items:center;gap:9px;padding:18px;overflow:hidden}.queue-label{align-self:flex-start;padding-top:12px;color:var(--muted);font-size:10px;font-weight:800}.queue-task{width:150px;height:72px;display:grid;grid-template-columns:29px minmax(0,1fr);align-items:center;gap:7px;flex:0 0 150px;padding:10px;border:1px solid #dce3ee;border-radius:12px;color:#46536b;background:#fafbfe;text-align:left;cursor:pointer}.queue-task:hover{border-color:#95a9e8;background:#f1f5ff}.queue-task.blocked{border-color:#e98490;background:#fff1f3}.queue-task b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--blue),var(--violet));font-size:11px}.queue-task span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;font-weight:750;line-height:1.4}.queue-empty{min-width:120px;color:#a1a9b7;font-size:11px}.console-add-task{width:84px;height:72px;display:grid;place-items:center;align-content:center;gap:3px;flex:0 0 84px;border:1px dashed #aebbd5;border-radius:12px;color:#4059a7;background:#f7f9ff;cursor:pointer}.console-add-task b{font-size:26px;line-height:1}.console-add-task span{font-size:10px}.queue-more{position:relative;flex:0 0 auto}.queue-more>summary{padding:8px;color:var(--blue);font-size:10px;cursor:pointer}.queue-more>div{position:absolute;z-index:20;right:0;top:32px;display:grid;grid-template-columns:repeat(2,150px);gap:7px;padding:9px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 18px 45px rgba(25,39,72,.18)}.console-add-device{display:grid;place-items:center;gap:2px;margin:16px auto 0;padding:9px 24px;border:1px dashed #aab7ce;border-radius:13px;color:#52617b;background:rgba(255,255,255,.75)}.console-add-device b{font-size:24px}.console-add-device small{color:var(--muted);font-size:9px}.console-batch{position:relative}.console-batch>summary{list-style:none;cursor:pointer}.console-batch>div{position:absolute;z-index:30;right:0;top:44px;min-width:150px;padding:7px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 15px 35px rgba(25,39,72,.16)}.console-batch>div button{width:100%;padding:9px;border:0;border-radius:7px;color:#405172;background:#f6f8fc;text-align:left}.log-time{display:grid;gap:4px}.log-time .execution-tag{justify-self:start;color:#3d59ad;border-color:#d9e2ff;background:#eff3ff;font-style:normal}.log-entry summary{grid-template-columns:180px 72px minmax(220px,1fr) 155px}
@media(max-width:1100px){.console-device-row{grid-template-columns:220px minmax(0,1fr)}.queue-task{width:128px;flex-basis:128px}.favorite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.favorite-toolbar{align-items:stretch;flex-direction:column}.favorite-toolbar select{width:100%}.favorite-grid{grid-template-columns:1fr}.editor-heading{align-items:flex-start;flex-direction:column}.editor-tools{width:100%;justify-content:flex-start;flex-wrap:wrap}.console-legend{align-items:flex-start;flex-wrap:wrap}.console-legend .alarm-hint{width:100%;margin-left:0}.console-device-row{grid-template-columns:1fr}.console-device-summary{border-right:0;border-bottom:1px solid var(--line)}.console-task-queue{overflow-x:auto}.operation-console{padding:11px}.log-entry summary{grid-template-columns:1fr auto}}
.alarm-lamp{position:absolute;right:13px;top:13px;width:10px;height:10px;border:2px solid #c7ced9;border-radius:50%;background:#e1e5eb}.alarm-lamp.on{border-color:#f17d89;background:#df3547;box-shadow:0 0 0 5px rgba(223,53,71,.12),0 0 12px rgba(223,53,71,.6)}

/* v1.5.1 operation console */
.console-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:13px 16px;overflow:visible}.console-filter-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.console-filter-group label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:700}.console-filter-group select{min-width:132px;min-height:36px;padding:7px 32px 7px 10px;border-radius:9px;background-color:#f9fbff;font-size:11px}.console-filter-group #console-filter-count{padding-left:3px;white-space:nowrap}.operation-console{padding:14px}.console-device-row{grid-template-columns:300px minmax(0,1fr);min-height:148px;overflow:visible;border-radius:17px}.console-device-row.has-alarm{border-color:#f3bd8c;box-shadow:inset 6px 0 #f28b32,0 8px 24px rgba(198,104,30,.1)}.console-device-summary{display:block;padding:13px 14px 11px;border-radius:16px 0 0 16px;background:linear-gradient(155deg,#fbfdff,#f4f7fb)}.console-device-row.has-alarm .console-device-summary{background:linear-gradient(135deg,#fff6eb,#fffaf3)}.console-alarm,.console-ok,.alarm-lamp{display:none!important}.console-device-heading{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:10px}.console-device-select{position:relative;width:22px;height:22px;margin:0}.console-device-select input{position:absolute;opacity:0;pointer-events:none}.console-device-select span{width:20px;height:20px;display:grid;place-items:center;border:1.5px solid #b8c2d2;border-radius:6px;background:#fff;box-shadow:0 2px 5px rgba(31,47,78,.06);cursor:pointer;transition:.16s}.console-device-select span:after{content:"✓";color:#fff;font-size:11px;font-weight:900;transform:scale(0);transition:.14s}.console-device-select input:checked+span{border-color:#5875e8;background:#5875e8;box-shadow:0 0 0 3px rgba(88,117,232,.14)}.console-device-select input:checked+span:after{transform:scale(1)}.console-device-select input:focus-visible+span{outline:3px solid rgba(79,109,245,.18);outline-offset:2px}.console-device-link{display:flex;align-items:center;justify-content:flex-start;gap:7px;padding:2px 0}.console-device-link strong{color:#243d7e;font-size:14px;text-decoration:underline;text-decoration-color:#cad5f5;text-underline-offset:4px}.console-device-link strong i{display:inline-flex;margin-left:2px;color:#6880c9;font-size:10px;font-style:normal;text-decoration:none}.console-device-link:hover strong{color:var(--blue);text-decoration-color:var(--blue)}.device-status-tag{display:inline-flex;padding:2px 6px;border-radius:999px;font-size:9px;font-weight:850;line-height:1.35}.device-status-tag.online{color:#087456;background:#dff7ed}.device-status-tag.offline{color:#9a4350;background:#fce8eb}.console-category-tag{max-width:90px;padding:4px 7px;overflow:hidden;border:1px solid #d9e2f5;border-radius:999px;color:#526aa9;background:#f3f6ff;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800;cursor:pointer}.console-category-tag:hover{border-color:#8198df;background:#eaf0ff}.console-slots{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.console-slots .slot-light{width:auto;height:23px}.console-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}.console-metrics>div{min-width:0}.console-metrics span{display:flex;justify-content:space-between;gap:4px;margin-bottom:3px;color:#7a8597;font-size:8px;font-weight:700}.console-metrics span b{color:#56637a;font-size:8px}.console-metrics i{height:3px;display:block;overflow:hidden;border-radius:999px;background:#e4e9f1}.console-metrics i em{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#5b7bea,#7c91e9)}.console-metrics .disk i em{background:linear-gradient(90deg,#8a69d9,#ae83e1)}.console-metrics .cpu i em{background:linear-gradient(90deg,#2caf8f,#65c8ae)}.console-task-queue{align-items:center;gap:9px;min-width:0;padding:20px 16px;overflow:visible}.queue-label{display:none}.queue-task{width:148px;height:88px;display:flex;flex-direction:column;justify-content:space-between;flex:0 0 148px;padding:10px 11px;border-radius:12px;background:#f9fbfe}.queue-task.running{border-color:#75b5a3;background:linear-gradient(145deg,#f0fbf7,#f8fffc);box-shadow:inset 0 3px #31a77f}.queue-task.waiting{border-color:#dce3ee;background:#fafbfe}.queue-task.blocked{border-color:#e98490;background:#fff1f3;box-shadow:inset 0 3px #df4555}.queue-task-main{display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:7px}.queue-task-main>b{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--blue),var(--violet));font-size:10px}.queue-task.running .queue-task-main>b{background:linear-gradient(135deg,#18966f,#55b89a)}.queue-task.blocked .queue-task-main>b{background:linear-gradient(135deg,#cf3949,#ed6877)}.queue-task-main>span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;font-weight:800;line-height:1.35}.queue-task-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}.queue-task-progress i{height:4px;display:block;overflow:hidden;border-radius:999px;background:#e2e7ef}.queue-task-progress i em{height:100%;display:block;border-radius:inherit;background:#758ae5}.queue-task.running .queue-task-progress i em{background:#35ab83}.queue-task.blocked .queue-task-progress i em{background:#df4555}.queue-task-progress small{color:#8490a2;font-size:8px;white-space:nowrap}.queue-empty{width:148px;height:88px;display:grid;place-content:center;gap:4px;flex:0 0 148px;border:1px dashed #bcc7d8;border-radius:12px;color:#7d899b;background:#fbfcfe;text-align:center}.queue-empty b{font-size:11px}.queue-empty small{color:#a3acb9;font-size:8px}.queue-more{position:relative;align-self:stretch;display:grid;place-items:center;flex:0 0 68px}.queue-more>button{display:flex;align-items:center;gap:5px;padding:8px 9px;border:1px solid #d9e1ee;border-radius:9px;color:#5067ac;background:#f7f9fe;font-size:10px;font-weight:800;cursor:pointer}.queue-more>button span{min-width:17px;padding:2px 4px;border-radius:999px;color:#fff;background:#6880d8;font-size:8px}.queue-more-popover{position:absolute;z-index:40;right:0;top:calc(50% + 21px);width:350px;display:none;grid-template-columns:repeat(2,148px);gap:8px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(24,38,70,.2)}.queue-more-popover>strong{grid-column:1/-1;color:#4c5870;font-size:11px}.queue-more:hover .queue-more-popover,.queue-more:focus-within .queue-more-popover{display:grid}.console-add-task{width:82px;height:88px;flex:0 0 82px;margin-left:auto;border-color:#9faed0;background:#f7f9ff}.console-add-task:hover{border-color:#6079c9;background:#edf2ff}.console-add-task b{font-size:24px}.console-feature-browser{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;min-height:390px}.console-feature-browser .catalog-sidebar{position:static}.console-feature-browser .feature-groups{max-height:58vh;overflow:auto;padding-right:4px}.console-feature-browser .feature-section:first-child{margin-top:0}.console-device-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.console-device-actions button,.console-device-actions a{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px;color:#40506d;background:#fff;text-align:left;text-decoration:none;cursor:pointer}.console-device-actions button:hover,.console-device-actions a:hover{border-color:#8ba0df;background:#f5f8ff}.console-device-actions button:disabled{cursor:not-allowed;opacity:.5}.console-device-actions>*>span{display:grid;gap:3px}.console-device-actions strong{font-size:12px}.console-device-actions small{color:var(--muted);font-size:9px}.console-batch{margin-left:auto}.console-batch>summary{min-height:36px;padding:8px 12px}
@media(max-width:1100px){.console-device-row{grid-template-columns:265px minmax(0,1fr)}.queue-task{width:132px;flex-basis:132px}.queue-empty{width:132px;flex-basis:132px}.console-add-task{width:72px;flex-basis:72px}.queue-more-popover{right:-80px}}
@media(max-width:760px){.console-toolbar{align-items:stretch;flex-direction:column}.console-filter-group{display:grid;grid-template-columns:1fr 1fr}.console-filter-group label{align-items:stretch;flex-direction:column}.console-filter-group select{width:100%}.console-batch{align-self:flex-end}.console-device-row{grid-template-columns:1fr}.console-device-summary{border-right:0;border-bottom:1px solid var(--line);border-radius:16px 16px 0 0}.console-task-queue{overflow-x:auto}.queue-more-popover{position:fixed;left:14px;right:14px;top:30%;width:auto}.console-feature-browser{grid-template-columns:1fr}.console-feature-browser .catalog-sidebar{display:flex;overflow-x:auto}.console-feature-browser .catalog-sidebar input{min-width:180px}.console-device-actions{grid-template-columns:1fr}}

@media(max-width:760px){
  .inspection-results-panel{overflow:visible}
  .inspection-detail-table{width:100%;max-height:calc(100dvh - 300px);overflow-x:auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-inline:contain}
  .inspection-detail-table table{min-width:1460px!important}
  .console-device-row{overflow:visible}
  .console-task-queue{position:relative;overflow-x:auto;overflow-y:hidden}
  .console-inline-menu.task-menu{position:fixed;z-index:240}
  .console-device-list{gap:16px}
  .list-pager{align-items:stretch;flex-direction:column;padding:9px}
  .list-pager>div{width:100%;justify-content:space-between;overflow-x:auto}
  .list-pager button{min-width:58px}
}
.console-metrics .low i em{background:linear-gradient(90deg,#25a982,#5fc5a5)}.console-metrics .medium i em{background:linear-gradient(90deg,#e69a2e,#f2bb55)}.console-metrics .high i em{background:linear-gradient(90deg,#d84455,#ed6a76)}.console-metrics .low span b{color:#178465}.console-metrics .medium span b{color:#bd7416}.console-metrics .high span b{color:#c53345}

/* v1.5.2 scheduled queue, inline menus and startup polish */
.boot-screen{position:fixed;inset:0;z-index:999;display:none;place-items:center;align-content:center;gap:16px;background:linear-gradient(145deg,#f4f7ff,#eef8fa)}body.booting .boot-screen{display:grid}body.booting #login-view,body.booting #app-view{visibility:hidden}.boot-screen i{width:36px;height:4px;overflow:hidden;border-radius:999px;background:#dce4f5}.boot-screen i:after{content:"";display:block;width:45%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan));animation:boot-slide .9s ease-in-out infinite alternate}@keyframes boot-slide{to{transform:translateX(122%)}}
.sidebar nav{padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(124,145,184,.45) transparent}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-track{background:transparent}.sidebar nav::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(124,145,184,.38)}.sidebar nav::-webkit-scrollbar-thumb:hover{background:rgba(150,171,212,.62)}
.console-source-tabs{display:flex;gap:5px;margin-bottom:15px;padding:4px;border:1px solid var(--line);border-radius:11px;background:#f4f6fb}.console-source-tabs button{flex:1;min-height:38px;border:0;border-radius:8px;color:#71809a;background:transparent;font-size:12px;font-weight:800}.console-source-tabs button.active{color:#3158c8;background:#fff;box-shadow:0 4px 13px rgba(39,62,112,.1)}.console-favorite-filter{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;margin-bottom:13px}.console-favorite-grid{max-height:58vh;overflow:auto;padding:2px}.favorite-star{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#b48613;background:#fff5c8}.schedule-choice{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.schedule-choice>label{display:flex;align-items:center;gap:7px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.schedule-choice input[type=radio]{width:auto;min-height:auto}.schedule-choice .schedule-time{min-width:270px;display:grid;gap:5px;padding:0;border:0;background:transparent}.schedule-choice .schedule-time input{min-height:39px}
.console-category-tag.classified{border-color:#cfdcff;color:#3e5fb8;background:#edf2ff}.console-category-tag.unclassified{border-color:#e0e3e9;color:#808a9b;background:#f4f5f7}.console-slot-warning{position:absolute;z-index:12;left:-14px;top:50%;width:29px;height:29px;display:grid;place-items:center;transform:translateY(-50%);border:1px solid #f3b26f;border-radius:50%;color:#d76d12;background:#fff8ed;box-shadow:0 4px 12px rgba(181,92,19,.2);font-size:14px}.console-device-menu-wrap,.queue-task-wrap{position:relative;min-width:0}.console-inline-menu{position:absolute;z-index:70;left:0;top:calc(100% + 7px);min-width:145px;padding:6px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 16px 40px rgba(23,37,70,.2)}.console-inline-menu button,.console-inline-menu a{width:100%;display:block;padding:9px 10px;border:0;border-radius:7px;color:#40506c;background:transparent;text-align:left;font-size:11px}.console-inline-menu button:hover,.console-inline-menu a:hover{color:#3158c8;background:#eef3ff}.console-inline-menu button:disabled{opacity:.45;cursor:not-allowed}.queue-task-wrap{flex:0 0 148px}.queue-task-wrap>.queue-task{width:100%;position:relative;overflow:hidden}.queue-task-wrap .queue-task>*{position:relative;z-index:1}.queue-task-fill{position:absolute!important;z-index:0!important;left:0;top:0;bottom:0;background:linear-gradient(105deg,rgba(49,173,126,.36),rgba(20,143,97,.58));transition:width .35s}.queue-task.running{color:#164b39;border-color:#69b797;background:linear-gradient(145deg,#e7f8ef,#f4fcf8);box-shadow:none}.queue-task.waiting{color:#294b9e;border-color:#b9c9f4;background:linear-gradient(145deg,#eaf0ff,#f4f7ff)}.queue-task.planned{color:#606b7e;border-color:#d5dae2;background:linear-gradient(145deg,#eceff3,#f7f8fa)}.queue-task.planned .queue-task-main>b{background:linear-gradient(135deg,#818b9d,#aeb6c2)}.queue-task.planned .queue-task-progress small{white-space:normal;line-height:1.25}.task-menu{left:0;top:calc(100% + 6px)}.queue-more-popover .queue-task-wrap{width:148px;flex-basis:148px}.queue-more-popover .task-menu{left:auto;right:0}.param-row{grid-template-columns:repeat(4,minmax(105px,1fr))}.param-options{grid-column:span 2}.param-actions{align-self:end}.editor-tools{justify-content:flex-end;flex-wrap:nowrap}.navigation-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.navigation-entry-grid label{margin:0!important;padding:9px;border:1px solid var(--line);border-radius:9px}
@media(max-width:1100px){.queue-task-wrap{flex-basis:132px}.param-row{grid-template-columns:repeat(2,minmax(0,1fr))}.navigation-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.console-favorite-filter{grid-template-columns:1fr}.schedule-choice{align-items:stretch;flex-direction:column}.schedule-choice>label,.schedule-choice .schedule-time{width:100%;min-width:0}.console-slot-warning{left:-9px;top:112px}.queue-task-wrap{flex-basis:132px}.navigation-entry-grid{grid-template-columns:1fr}}

/* v1.5.3 task control, initial tasks and live log detail */
.queue-task.blocked{position:relative;color:#8c2431;border-color:#e68b96;background:linear-gradient(145deg,#ffe7ea,#fff4f5);box-shadow:none}.queue-task.blocked .queue-task-fill{background:linear-gradient(105deg,rgba(224,61,79,.34),rgba(196,32,51,.62))}.queue-task.blocked .queue-task-main>b{background:linear-gradient(135deg,#cc3042,#ec6171)}.console-inline-menu .menu-danger{margin-top:4px;border-top:1px solid #f5d7db;border-radius:0 0 7px 7px;color:#c33748}.console-inline-menu .menu-danger:hover{color:#a91f31;background:#fff0f2}.confirm-task-stop{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;padding:12px}.confirm-task-stop>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,#d83e50,#ef7180);font-size:24px;font-weight:900}.confirm-task-stop strong{font-size:16px}.confirm-task-stop p{margin:7px 0 0;color:var(--muted);line-height:1.6}.initial-task-field{border-color:#e4d8ff!important;background:linear-gradient(145deg,#faf7ff,#f5f1ff)!important}.initial-task-field small{color:#7965a8!important}
.inline-loading{min-height:360px;display:grid;place-items:center;align-content:center;gap:13px;color:var(--muted)}.inline-loading>i{width:42px;height:4px;display:block;overflow:hidden;border-radius:999px;background:#dce4f5}.inline-loading>i:after{content:"";display:block;width:45%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan));animation:boot-slide .9s ease-in-out infinite alternate}.inline-loading small{font-size:11px;letter-spacing:.08em}.inline-loading .brand-mark.brand-image{width:68px;height:68px}
.task-detail-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.task-detail-overview>article{min-height:126px;display:flex;align-items:flex-start;flex-direction:column;gap:7px;padding:18px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#fff,#f8faff);box-shadow:0 7px 22px rgba(30,48,90,.05)}.task-detail-overview article>small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}.task-detail-overview article>strong{overflow:hidden;max-width:100%;color:#25375c;font-size:22px;text-overflow:ellipsis;white-space:nowrap}.task-detail-overview article>span:not(.status){color:var(--muted);font-size:11px}.task-detail-overview .progress{width:100%;min-width:0;margin-top:auto}.task-detail-overview .progress+small{align-self:flex-end}.task-log-panel{overflow:visible}.task-log-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:17px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbfcff,#f7f9fd)}.task-log-head h2,.task-log-head p{margin:0}.task-log-head h2{font-size:17px}.task-log-head p{margin-top:5px;color:var(--muted);font-size:10px}.task-log-filters{display:flex;align-items:flex-end;gap:9px}.task-log-filters label{display:grid;gap:5px;color:#65718a;font-size:10px;font-weight:800}.task-log-filters select{min-width:160px;min-height:36px;padding:7px 31px 7px 10px;font-size:11px}.task-log-panel .log-list{padding:12px}.log-entry{border-left:4px solid #8ea2c7}.log-entry.log-info{border-left-color:#4d79e8}.log-entry.log-warn,.log-entry.log-warning{border-left-color:#e59a2b}.log-entry.log-error{border-left-color:#d94858}.log-entry.log-debug{border-left-color:#8a6bd7}.log-level{display:inline-flex;justify-content:center;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase}.log-level.info{color:#315fc3;background:#e9f0ff}.log-level.warn,.log-level.warning{color:#a8670d;background:#fff2d9}.log-level.error{color:#b82c3d;background:#ffe7ea}.log-level.debug{color:#6849ad;background:#f0eaff}.log-entry summary{grid-template-columns:185px 68px minmax(220px,1fr) 170px}.log-entry summary:hover{background:#f8faff}.log-detail{background:#fafbfe}.log-detail pre{padding:11px;border:1px solid #e8ebf2;border-radius:9px;color:#3d4b66;background:#fff}
@media(max-width:1000px){.task-detail-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.task-log-head{align-items:stretch;flex-direction:column}.task-log-filters{width:100%}.task-log-filters label{flex:1}.task-log-filters select{width:100%}}
@media(max-width:700px){.task-detail-overview{grid-template-columns:1fr}.task-log-filters{align-items:stretch;flex-direction:column}.task-log-filters label{width:100%}.log-entry summary{grid-template-columns:1fr auto}.log-entry summary>small{grid-column:1/-1;text-align:left}}

/* v1.5.4 stable live refresh, log choice tabs and queue overflow panel */
.task-log-head{align-items:center}.task-log-filters{display:grid;gap:0;padding:7px 18px 12px;border-bottom:1px solid var(--line);background:#fafbfe}.task-log-filter-row{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;padding:9px 0}.task-log-filter-row+.task-log-filter-row{border-top:1px dashed #e2e7f0}.task-log-filter-row>strong{color:#536078;font-size:11px}.log-filter-tabs{min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:7px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.log-filter-chip{min-height:28px;flex:0 0 auto;padding:5px 11px;border:1px solid #dbe2ee;border-radius:8px;color:#65718a;background:#fff;font-size:10px;font-weight:750;cursor:pointer;transition:border-color .15s,color .15s,background .15s,box-shadow .15s}.log-filter-chip:hover{border-color:#9babe0;color:#3957ad;background:#f5f7ff}.log-filter-chip.active{border-color:#6e87db;color:#304fa9;background:#eaf0ff;box-shadow:0 2px 7px rgba(66,91,170,.12)}
.task-log-load-all{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px;border-top:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8faff)}.task-log-load-all.hidden{display:none}.task-log-load-all small{color:var(--muted);font-size:11px}.task-log-load-all .btn{min-width:132px}
.queue-more{position:relative}.queue-more-popover,.queue-more:hover .queue-more-popover,.queue-more:focus-within .queue-more-popover{display:none}.queue-more .queue-more-popover.open{position:absolute;z-index:80;right:0;top:calc(50% + 23px);width:min(440px,calc(100vw - 48px));display:block;padding:0;overflow:visible;border:1px solid #dbe2ee;border-radius:15px;background:#fff;box-shadow:0 22px 58px rgba(25,39,72,.22)}.queue-more-popover>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbfcff,#f6f8fd);border-radius:15px 15px 0 0}.queue-more-popover>header>div{display:grid;gap:2px}.queue-more-popover>header strong{color:#34425d;font-size:12px}.queue-more-popover>header small{color:var(--muted);font-size:9px}.queue-more-close{width:28px;height:28px;display:grid;place-items:center;border:1px solid #e2e6ed;border-radius:8px;color:#778399;background:#fff;font-size:18px;line-height:1;cursor:pointer}.queue-more-close:hover{border-color:#efb8bf;color:#c23b4b;background:#fff1f3}.queue-more-list{max-height:360px;display:grid;gap:7px;padding:10px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c8d1e2 transparent}.queue-more-list::-webkit-scrollbar{width:5px}.queue-more-list::-webkit-scrollbar-thumb{border-radius:999px;background:#c8d1e2}.queue-more-list .queue-task-wrap{width:100%;min-width:0;flex:0 0 auto}.queue-more-list .queue-task-wrap>.queue-task{width:100%;height:62px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:9px 12px}.queue-more-list .queue-task-main{grid-template-columns:30px minmax(0,1fr)}.queue-more-list .queue-task-progress{justify-items:end}.queue-more-list .queue-task-progress small{font-size:9px}.queue-more-list .task-menu{left:auto;right:8px;top:calc(100% - 5px)}
@media(max-width:760px){.task-log-filter-row{grid-template-columns:1fr;gap:6px}.task-log-filter-row>strong{padding-top:0}.queue-more .queue-more-popover.open{position:fixed;left:14px;right:14px;top:18%;width:auto}.queue-more-list{max-height:58vh}}
@media(max-width:760px){.task-log-load-all{align-items:stretch;flex-direction:column;text-align:center}.task-log-load-all .btn{width:100%}}

/* v1.5.5 width-aware queue overflow and click-only remaining tasks */
.queue-more .queue-more-popover{display:none!important}.queue-more .queue-more-popover.open{display:block!important}.queue-more-list .queue-task-wrap{display:grid}.queue-more-list .task-menu{position:static;z-index:auto;width:auto;margin:5px 0 0;padding:5px;box-shadow:none}.queue-more-list .task-menu:not(.hidden){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.queue-more-list .task-menu button,.queue-more-list .task-menu a{display:flex;align-items:center;justify-content:center;padding:8px 6px;text-align:center}.queue-more-list .task-menu .menu-danger{margin:0;border:0;border-radius:7px}.console-task-queue>.queue-task-wrap.hidden,.queue-more-list>.queue-task-wrap.hidden{display:none!important}
@media(max-width:760px){.queue-more-list .task-menu:not(.hidden){grid-template-columns:1fr}}

/* v1.6.8 sortable resources, task column filters and console history */
.table-sort{display:inline-flex;align-items:center;gap:5px;padding:3px 0;border:0;color:inherit;background:transparent;font-size:inherit;font-weight:inherit;white-space:nowrap;cursor:pointer}.table-sort span{color:#9aa5b8;font-size:10px}.table-sort.active{color:var(--blue)}.table-sort.active span{color:var(--blue)}.resource-selected-count{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:5px 10px;border:1px solid #d7e1ff;border-radius:999px;color:#3655b6;background:#f1f5ff;font-size:11px;font-weight:750}.resource-selected-count strong{min-width:auto!important;height:auto!important;display:inline!important;padding:0!important;color:inherit!important;background:transparent!important}.account-resource-table{min-width:1460px}.account-metric{font-variant-numeric:tabular-nums;font-weight:750;white-space:nowrap}.field-readonly-tag{display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:999px;color:#7c8798;background:#eef1f5;font-size:9px;font-weight:700}.field-access{display:grid;gap:5px;align-self:center}.field-access label{display:flex!important;align-items:center;gap:6px;white-space:nowrap}.field-access input{width:auto;min-height:auto}.app-field-card{grid-template-columns:34px minmax(150px,1fr) minmax(150px,1fr) 150px auto auto}
.task-table-wrap{overflow-x:auto}.task-column-filter{position:relative;display:inline-block}.task-column-filter>summary{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;white-space:nowrap}.task-column-filter>summary::-webkit-details-marker{display:none}.task-column-filter>summary:after{content:'⌄';color:#8995aa;font-size:10px}.task-column-filter>summary b:empty{display:none}.task-column-filter>summary b{min-width:17px;height:17px;display:grid;place-items:center;border-radius:999px;color:#fff;background:var(--blue);font-size:9px}.task-column-filter[open]>summary{color:var(--blue)}.task-column-filter>div{position:fixed;z-index:150;left:var(--column-filter-left,10px);top:var(--column-filter-top,80px);min-width:180px;max-height:260px;overflow:auto;padding:7px;border:1px solid #dce3ef;border-radius:11px;background:#fff;box-shadow:0 18px 45px rgba(22,35,66,.18)}.task-column-filter>div label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:7px;color:#526078;font-size:11px;font-weight:600;cursor:pointer}.task-column-filter>div label:hover{background:#f1f5ff}.task-column-filter>div input{width:auto;min-height:auto}.task-filter-empty td,.user-filter-empty td{padding:28px!important;color:var(--muted);text-align:center}.console-queue-actions{width:82px;display:grid;gap:6px;flex:0 0 82px;margin-left:auto}.console-queue-actions .console-add-task{width:100%;height:88px;min-width:0;flex:none;margin:0}.console-history-task{min-height:26px;display:flex;align-items:center;justify-content:center;padding:5px 6px;border:1px solid #d9e2f7;border-radius:8px;color:#4c64ad;background:#f7f9ff;text-decoration:none;font-size:9px;font-weight:800;white-space:nowrap}.console-history-task:hover{border-color:#8297d8;color:#304fae;background:#edf2ff}
@media(max-width:1100px){.console-queue-actions{width:72px;flex-basis:72px}.app-field-card{grid-template-columns:34px 1fr 1fr}.field-access{grid-column:2/-1;grid-template-columns:repeat(3,max-content)}.app-field-card>.btn{align-self:center}}
@media(max-width:760px){.task-column-filter>div{right:auto;max-width:calc(100vw - 20px)}.resource-selected-count{width:100%;margin-left:0;justify-content:center}.console-queue-actions{width:72px;flex-basis:72px}.field-access{grid-column:2;grid-template-columns:1fr}}

/* v1.5.8 visual theme picker */
:root[data-theme="blue"]{--blue:#4f6df5;--blue-dark:#3b55d6;--cyan:#64d6ca;--violet:#7865de;--nav:#111827;--nav-soft:#25304a;--canvas:#f3f5f9;--paper:#fff;--ink:#172033;--muted:#75809a;--line:#e4e8f0}
:root[data-theme="mint"]{--blue:#159b82;--blue-dark:#0f7966;--cyan:#55caa9;--violet:#3eaa97;--nav:#102a28;--nav-soft:#183c38;--canvas:#f2f8f6;--paper:#fff;--ink:#19302d;--muted:#6d8882;--line:#dceae6}
:root[data-theme="violet"]{--blue:#7455d9;--blue-dark:#5b3db9;--cyan:#b36ee5;--violet:#8a62df;--nav:#201735;--nav-soft:#32244d;--canvas:#f6f3fb;--paper:#fff;--ink:#28203b;--muted:#817792;--line:#e7e0ef}
:root[data-theme="amber"]{--blue:#dc7a22;--blue-dark:#b95d11;--cyan:#f0b64f;--violet:#b76835;--nav:#302217;--nav-soft:#4a3422;--canvas:#fbf6ee;--paper:#fff;--ink:#34281e;--muted:#8b7a68;--line:#eee2d3}
:root[data-theme="rose"]{--blue:#db5d86;--blue-dark:#bc3f6b;--cyan:#f2a0aa;--violet:#ba6ccf;--nav:#301d2b;--nav-soft:#4c2c42;--canvas:#fbf3f6;--paper:#fff;--ink:#35212b;--muted:#8d7480;--line:#eddfe5}
:root[data-theme] .btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue-dark))}
:root[data-theme] .nav-item.active{background:linear-gradient(90deg,color-mix(in srgb,var(--blue) 32%,transparent),color-mix(in srgb,var(--blue) 10%,transparent))}
:root[data-theme] .nav-item.active span:first-child{background:var(--blue)}
:root[data-theme] .brand-mark:not(.brand-image){background:linear-gradient(135deg,var(--blue),var(--cyan))}
.brand-mark.brand-image{background:transparent center/contain no-repeat!important;background-image:var(--site-logo-image)!important}
.theme-picker-wrap{position:relative}
.theme-menu{position:absolute;z-index:80;right:0;top:calc(100% + 9px);width:292px;padding:8px;border:1px solid var(--line);border-radius:15px;color:var(--ink);background:var(--paper);box-shadow:0 22px 60px rgba(16,31,62,.22)}
.theme-menu header{display:grid;gap:3px;padding:8px 9px 11px;border-bottom:1px solid var(--line)}
.theme-menu header strong{font-size:13px}.theme-menu header small{color:var(--muted);font-size:10px;font-weight:500}
.theme-menu button{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:10px;padding:9px;border:0;border-radius:10px;color:var(--ink);background:transparent;text-align:left}
.theme-menu button:hover{background:color-mix(in srgb,var(--blue) 9%,var(--paper))}
.theme-menu button.active{background:color-mix(in srgb,var(--blue) 13%,var(--paper))}
.theme-menu button span strong,.theme-menu button span small{display:block}.theme-menu button span strong{font-size:12px}.theme-menu button span small{margin-top:2px;color:var(--muted);font-size:9px;font-weight:500}
.theme-menu button>b{visibility:hidden;color:var(--blue);font-size:14px}.theme-menu button.active>b{visibility:visible}
.theme-preview{width:36px;height:28px;display:block;border:1px solid rgba(100,110,130,.18);border-radius:8px;box-shadow:inset 10px 0 rgba(16,25,43,.88)}
.theme-preview.blue{background:#eef2fb}.theme-preview.mint{background:#eef8f5;box-shadow:inset 10px 0 #12312e}.theme-preview.violet{background:#f4f0fb;box-shadow:inset 10px 0 #271b3c}.theme-preview.amber{background:#fbf3e8;box-shadow:inset 10px 0 #392719}.theme-preview.rose{background:#fbf0f4;box-shadow:inset 10px 0 #38202f}
@media(max-width:700px){.theme-menu{position:fixed;left:12px;right:12px;top:72px;width:auto}}
/* v1.6.5 inspection workflow */
:root{--panel:var(--paper);--text:var(--ink);--primary:var(--blue);--primary-soft:color-mix(in srgb,var(--blue) 10%,var(--paper))}
.inspection-result{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:155px}.inspection-result>div{display:flex;flex-direction:column;gap:4px;min-width:0}.inspection-result small{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-chip,.twofa-chip{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;border:1px solid transparent}.inspection-chip.succeeded,.twofa-chip.present{color:#087a55;background:#e8fbf3;border-color:#bcebd8}.inspection-chip.failed{color:#b42335;background:#fff0f1;border-color:#f7c8ce}.inspection-chip.running{color:#1765b5;background:#eaf4ff;border-color:#c3dcf8}.inspection-chip.untested,.twofa-chip.absent{color:#667085;background:#f2f4f7;border-color:#e4e7ec}.btn.tiny{min-height:26px;padding:3px 7px;font-size:12px}.inspection-button{flex:0 0 auto}.operation-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.operation-choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.operation-choice{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:105px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer}.operation-choice:hover{border-color:var(--primary);box-shadow:0 8px 24px rgba(26,91,171,.10)}.operation-choice b{font-size:16px}.operation-choice span{color:var(--muted);line-height:1.5}.channel-choice{display:grid;gap:12px}.channel-choice label{display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid var(--line);border-radius:13px;cursor:pointer}.channel-choice label:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.channel-choice span{display:flex;flex-direction:column;gap:5px}.channel-choice small{color:var(--muted)}.inspection-stats{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));overflow:hidden;padding:0}.inspection-stats>div{padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.inspection-stats>div strong{font-size:22px}.inspection-stats>div span{color:var(--muted);font-size:13px}.inspection-stats .inspection-progress-wide{grid-column:1/4;flex-direction:row;align-items:center}.inspection-progress-wide .compact-progress{flex:1}.inspection-stats>p{grid-column:4/-1;margin:0;padding:16px;color:#b42335;font-size:13px;line-height:1.6}.compact-progress{height:8px;min-width:100px;overflow:hidden;border-radius:999px;background:#edf0f4}.compact-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#55b8ff)}.inspection-detail-table{max-height:calc(100vh - 400px)}.inspection-detail-table th{position:sticky;top:0;background:var(--panel);z-index:2}.error-cell{max-width:240px;color:#b42335;white-space:normal}.inspection-stats+.panel{margin-top:16px}
@media(max-width:900px){.inspection-stats{grid-template-columns:repeat(2,1fr)}.inspection-stats .inspection-progress-wide,.inspection-stats>p{grid-column:1/-1}.operation-choice-grid,.operation-choice-grid.three{grid-template-columns:1fr}}
/* v1.6.6: inspection results, navigation customization and embedded local panel */
.form-grid{align-items:start}.form-grid>label{align-self:start;align-content:start}.modal-body .form-grid label{align-self:start;align-content:start}
.navigation-entry-grid{gap:12px}.navigation-entry-card{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);gap:9px 10px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfcff}.navigation-entry-card>label{display:grid;gap:6px;padding:0;border:0;border-radius:0;color:#667085;font-size:11px}.navigation-entry-card>label:nth-of-type(3){grid-column:2}.navigation-entry-card>small{grid-column:1/-1;color:#98a2b3}.navigation-entry-card .navigation-hidden{display:flex;align-items:center;gap:6px;grid-row:1/3;align-self:center;padding:10px;border-radius:9px;background:#f2f4f7}.navigation-entry-card .navigation-hidden input{width:auto}.navigation-entry-grid>.settings-actions{grid-column:1/-1}
.inspection-result.compact{display:grid;min-width:150px;justify-content:start;gap:3px}.inspection-result.compact .inspection-result-line{display:flex;flex-direction:row;flex-wrap:nowrap;min-width:0;align-items:center;gap:5px}.inspection-result.compact .inspection-result-line.secondary{min-height:20px}.inspection-result.compact small{display:block;max-width:118px;overflow:hidden;color:#667085;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.inspection-result button.inspection-chip{font:inherit;cursor:pointer}.inspection-result.compact .inspection-chip{padding:2px 7px;font-size:11px}.country-chip{display:inline-flex;align-items:center;padding:2px 5px;border:1px solid #d7e2f6;border-radius:999px;color:#36557e;background:#f1f6ff;font-size:10px;font-weight:800;white-space:nowrap}.inspection-text-button{padding:1px 3px;border:0;color:var(--primary);background:transparent;font-size:11px;font-weight:750;white-space:nowrap;cursor:pointer}.inspection-text-button:hover{text-decoration:underline}.inspection-chip.banned{color:#8b2cb1;background:#f9edff;border-color:#e8c6f7}.inspection-detail-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--line)}.inspection-detail-list>div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:13px;background:#fff}.inspection-detail-list>div.full{grid-column:1/-1}.inspection-detail-list dt{color:var(--muted)}.inspection-detail-list dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.channel-choice .channel-option{margin-top:3px;border-style:dashed}.inline-inspection-progress{display:grid;gap:14px;padding:8px 2px}.inline-inspection-progress .compact-progress{height:11px}.inspection-batch-summary{display:flex;gap:10px}.inspection-batch-summary span{padding:7px 11px;border-radius:9px;background:#f2f5fa;font-weight:700}
.inspection-results-panel{overflow:hidden}.inspection-detail-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafbfe}.inspection-detail-toolbar input{min-width:220px;flex:1}.inspection-detail-toolbar select{width:auto;min-width:125px}.inspection-sort{display:flex;align-items:center;gap:4px;width:100%;padding:0;border:0;color:inherit;background:transparent;font:inherit;font-weight:800;white-space:nowrap;cursor:pointer}.inspection-sort i{color:#98a2b3;font-size:10px;font-style:normal}.inspection-detail-table{max-height:calc(100vh - 335px)}.inspection-detail-table table{min-width:1460px}.inspection-detail-table th,.inspection-detail-table td{padding:6px 7px;font-size:11px;white-space:nowrap}.inspection-detail-table td small{font-size:9px}.inspection-number{cursor:default}.inspection-videos-cell{width:38%;min-width:320px;max-width:560px}.inspection-video-grid{display:flex;gap:4px;width:100%;max-width:100%;padding:2px 0 4px;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:stable;overscroll-behavior-inline:contain}.inspection-video-grid::-webkit-scrollbar{height:5px}.inspection-video-card{display:inline-flex;align-items:center;justify-content:center;flex:0 0 54px;height:24px;padding:0 5px;border:1px solid transparent;border-radius:6px;color:#344054;font-size:10px;font-weight:800;line-height:1;text-decoration:none;transition:.15s}.inspection-video-card:hover{transform:translateY(-1px);box-shadow:0 3px 9px rgba(24,39,75,.1)}.inspection-video-card.today{border-color:#a9dfc6;background:#eaf9f1}.inspection-video-card.yesterday{border-color:#edd38b;background:#fff8dc}.inspection-video-card.older{border-color:#d8dde6;background:#f1f3f6}
@media(max-width:760px){.navigation-entry-card{grid-template-columns:78px minmax(0,1fr)}.inspection-detail-list{grid-template-columns:1fr}.inspection-detail-list>div.full{grid-column:auto}.inspection-detail-toolbar>*{width:100%!important}}
.proxy-inline-progress{display:grid;gap:9px;margin:0 16px 14px;padding:13px 15px;border:1px solid #cddcf7;border-radius:12px;background:linear-gradient(135deg,#f4f7ff,#f8fbff)}.proxy-inline-progress.hidden{display:none}.proxy-inline-progress>div:first-child{display:flex;align-items:center;gap:12px}.proxy-inline-progress>div:first-child strong{flex:1;color:#334f83}.proxy-inline-progress>div:first-child span{color:#667085;font-size:12px;font-weight:750}.proxy-inline-progress>div:first-child button{width:26px;height:26px;padding:0;border:0;border-radius:8px;color:#667085;background:#e9eef8;cursor:pointer}.proxy-inline-progress p{margin:0;color:#667085;font-size:12px}.proxy-inline-progress .compact-progress{height:9px}

/* v1.7 smart imports and compact resource batch menus */
.resource-batch-menu{position:relative;margin-left:auto}.resource-batch-menu>summary{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid #cbd7f2;border-radius:9px;color:#3156b7;background:linear-gradient(180deg,#fff,#f4f7ff);font-size:12px;font-weight:800;cursor:pointer;list-style:none;box-shadow:0 2px 7px rgba(48,81,170,.08);transition:.16s}.resource-batch-menu>summary::-webkit-details-marker{display:none}.resource-batch-menu>summary:hover,.resource-batch-menu[open]>summary{border-color:#89a5ed;background:#edf3ff;box-shadow:0 4px 12px rgba(48,81,170,.13)}.resource-batch-menu[open]>summary span{transform:rotate(180deg)}.resource-batch-menu>div{position:absolute;z-index:30;right:0;top:calc(100% + 7px);display:grid;width:248px;padding:7px;border:1px solid #dbe2ef;border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(25,39,73,.16)}.resource-batch-menu>div button{display:grid;gap:3px;width:100%;padding:10px 12px;border:0;border-radius:8px;text-align:left;color:#26334d;background:transparent;cursor:pointer}.resource-batch-menu>div button:hover{color:#234eb1;background:#f1f5ff}.resource-batch-menu>div b{font-size:12px}.resource-batch-menu>div small{color:#7d8799;font-size:10px;font-weight:500}
.import-preview-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;border:1px solid #dce5fa;border-radius:10px;background:#f7f9ff;font-size:12px}.import-preview-summary span,.import-preview-summary label{display:flex;align-items:center;gap:5px}.import-mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin-bottom:14px}.import-column-card{display:grid;align-content:start;gap:8px;min-width:0;padding:11px;border:1px solid #d9e2ef;border-radius:11px;background:#fff}.import-column-card.needs-confirmation{border-color:#e5bd6e;background:#fffbf1}.import-column-card header{display:flex;align-items:center;justify-content:space-between}.import-column-card header span{font-size:11px;font-weight:800}.import-column-card header b{padding:3px 7px;border-radius:999px;color:#3156b7;background:#edf3ff;font-size:10px}.import-column-card.needs-confirmation header b{color:#91600c;background:#fff0c9}.import-column-card select{width:100%}.import-column-card p{display:flex;gap:4px;flex-wrap:wrap;min-height:24px;margin:0;color:#8a94a6;font-size:10px}.import-column-card code{max-width:100%;padding:3px 5px;border-radius:5px;overflow:hidden;text-overflow:ellipsis;color:#536078;background:#f1f3f7;white-space:nowrap}.import-column-card>label,.import-column-card .confirmed{font-size:10px}.import-column-card>label{color:#8b5e12}.import-column-card .confirmed{color:#27825a}.import-preview-table{max-height:300px;border:1px solid var(--line);border-radius:10px}.import-preview-table table{min-width:max-content}.import-preview-table th,.import-preview-table td{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-field-card{grid-template-columns:34px minmax(140px,1fr) minmax(140px,1fr) 130px auto auto}.field-recognition{grid-column:2/-1;border-top:1px dashed #dbe2ed;padding-top:8px}.field-recognition>summary{color:#53678f;font-size:11px;font-weight:800;cursor:pointer}.field-recognition>div{display:grid;grid-template-columns:2fr 2fr repeat(3,minmax(90px,1fr));gap:8px;margin-top:9px}.field-recognition label{display:grid;gap:4px;font-size:10px}.field-recognition input{min-width:0}
@media(max-width:900px){.resource-batch-menu{margin-left:0}.resource-batch-menu>div{right:auto;left:0}.field-recognition>div{grid-template-columns:1fr}.import-mapping-grid{grid-template-columns:1fr}.app-field-card{grid-template-columns:28px 1fr}.app-field-card>*{grid-column:2}.app-field-card>.field-order{grid-column:1}.field-recognition{grid-column:1/-1}}

/* v1.7.2 stable responsive shell, unclipped filters and user table tools */
.workspace{width:100%;min-width:0}.user-list-panel{overflow:visible}.user-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);background:#fafbfe}.user-toolbar>span{color:var(--muted);font-size:11px;white-space:nowrap}.user-search{display:grid;grid-template-columns:auto minmax(240px,420px);align-items:center;gap:10px;color:#59657d;font-size:12px;font-weight:750}.user-search input{width:min(420px,42vw)}.user-table-wrap{overflow-x:auto}.user-table-wrap table{min-width:1050px}
@media(min-width:761px) and (max-width:1000px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:264px minmax(0,1fr)}.sidebar{position:sticky;left:auto;width:auto}.app-shell.sidebar-collapsed{grid-template-columns:82px minmax(0,1fr)}.content{padding:18px}.menu-button{display:grid}}
@media(max-width:760px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:min(264px,calc(100vw - 52px));transition:left .2s}.app-shell.menu-open .sidebar{left:0}.app-shell.menu-open:after{content:"";position:fixed;inset:0;z-index:19;background:rgba(15,23,42,.28)}.user-toolbar{align-items:stretch;flex-direction:column}.user-search{grid-template-columns:1fr}.user-search input{width:100%}}

/* v1.7 contextual import matching, field ordering and destructive batch actions */
.resource-batch-menu>div .batch-danger{margin-top:4px;border-top:1px solid #f2d4d8;border-radius:4px 4px 8px 8px;color:#b42335}.resource-batch-menu>div .batch-danger:hover{color:#9f1628;background:#fff0f1}.resource-batch-menu>div .batch-danger small{color:#c14b59}
.import-column-card code{display:block;width:100%;max-width:100%;box-sizing:border-box}.import-column-card .low-confidence{color:#8b5e12;font-size:10px}
.import-column-card{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.import-column-card>*{min-width:0;max-width:100%}.import-column-card select,.import-column-card p{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.import-column-card code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-field-card{grid-template-columns:74px minmax(140px,1fr) minmax(140px,1fr) 130px auto auto}.field-order-tools{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:4px}.field-order-tools .field-order{grid-column:1/-1}.field-order-tools .icon-btn{width:31px;height:27px;padding:0;font-size:13px}.field-recognition>div{grid-template-columns:repeat(4,minmax(120px,1fr))}.field-recognition .association-primary{align-content:end}.field-recognition .association-primary input{width:18px;height:18px}.batch-delete-warning{padding:17px;border:1px solid #f1b9c1;border-radius:13px;color:#922033;background:#fff4f5}.batch-delete-warning strong{font-size:16px}.batch-delete-warning p{margin:8px 0 0}.batch-delete-warning small{display:block;margin-top:9px;color:#a83a49}
@media(max-width:900px){.field-recognition>div{grid-template-columns:1fr}.app-field-card{grid-template-columns:74px 1fr}.app-field-card>*{grid-column:2}.app-field-card>.field-order-tools{grid-column:1}.field-recognition{grid-column:1/-1}}

/* v1.7.3 mobile workspace */
.mobile-filter-toggle,.mobile-table-filter-bar,.mobile-sheet-backdrop{display:none}
.mobile-sheet-backdrop{position:fixed;inset:0;z-index:160;border:0;background:rgba(15,23,42,.46);backdrop-filter:blur(2px)}

@media(max-width:900px){
  html{scroll-padding-top:68px}
  body.mobile-menu-open,body.mobile-sheet-open{overflow:hidden}
  .app-shell,.app-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}
  .workspace{max-width:100vw;overflow-x:clip}
  .sidebar{position:fixed;inset:0 auto 0 0;left:0;width:min(300px,86vw);height:100dvh;padding:max(16px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom));visibility:hidden;transform:translateX(-102%);transition:transform .22s ease,visibility .22s;box-shadow:18px 0 55px rgba(8,18,38,.28);z-index:190}
  .app-shell.menu-open .sidebar{left:0;visibility:visible;transform:translateX(0)}
  .app-shell.menu-open:after{content:"";position:fixed;inset:0;z-index:180;background:rgba(15,23,42,.42);backdrop-filter:blur(2px)}
  .brand{min-height:56px;margin-bottom:4px;padding-bottom:13px}
  .sidebar nav{padding-top:4px}
  .nav-label{margin-top:5px;padding-top:10px}
  .nav-item{min-height:48px;margin-bottom:3px;padding:9px 11px;font-size:14px}
  .nav-item span:first-child{width:31px;height:31px}
  .sidebar-foot{min-height:52px}

  .topbar{min-height:60px;padding:7px max(10px,env(safe-area-inset-right)) 7px max(10px,env(safe-area-inset-left));gap:9px;z-index:70}
  .menu-button{width:44px;height:44px;display:grid;flex:0 0 44px;font-size:19px}
  .topbar>div:nth-child(2){min-width:0;flex:1}
  .topbar .eyebrow{display:none}
  .topbar h2{overflow:hidden;margin:0;font-size:17px;text-overflow:ellipsis;white-space:nowrap}
  .top-actions{gap:5px}
  .topbar .theme-picker-wrap{display:none}
  .topbar #refresh-button{width:44px;height:44px;display:grid}
  .user-chip{min-width:44px;min-height:44px;padding:5px;border-radius:12px}
  .user-chip>span:nth-child(2),.user-chevron{display:none}
  .user-chip .avatar{width:34px;height:34px}
  .user-menu{position:fixed;top:64px;right:10px;width:min(290px,calc(100vw - 20px));z-index:175}

  .content{max-width:100vw;padding:12px 10px calc(96px + env(safe-area-inset-bottom))}
  .page-head{align-items:flex-start;gap:8px;margin:1px 2px 12px}
  .page-head h1{display:none}
  .page-head .muted{margin:0;font-size:11px;line-height:1.55}
  .page-actions{position:fixed;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:65;display:flex;width:auto;gap:7px;max-width:none;padding:8px;overflow-x:auto;flex-wrap:nowrap;border:1px solid rgba(216,224,239,.95);border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 14px 40px rgba(25,42,77,.2);backdrop-filter:blur(12px);scrollbar-width:none}
  .page-actions:empty{display:none}
  .page-actions::-webkit-scrollbar{display:none}
  .page-actions>.btn,.page-actions>a.btn{min-height:44px;flex:1 0 auto;white-space:nowrap}
  .panel{border-radius:13px}
  .panel-head{padding:13px 14px}
  .panel-body{padding:14px}
  .site-footer{padding:10px 14px calc(18px + env(safe-area-inset-bottom));text-align:center}

  .btn,.btn.small,.btn.tiny,.icon-button,.icon-btn,.filter-reset,.catalog-filter{min-height:44px}
  .btn.small,.btn.tiny{padding:8px 11px}
  input,select,textarea{font-size:16px}
  input[type=checkbox],input[type=radio]{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important}
  .row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;white-space:normal}
  .row-actions>.btn{width:100%}
  .slot-choices{grid-template-columns:repeat(4,minmax(42px,1fr));gap:8px}
  .slot-choices span{min-height:44px}
  .choice-line label,.selector-row{min-height:48px}

  .filter-board{padding:12px}
  .filter-search-box{max-width:none;margin:0;box-shadow:none}
  .filter-search-box input{min-height:46px}
  .mobile-filter-toggle{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding:9px 12px;border:1px solid #dce3ef;border-radius:10px;color:#4b5b77;background:#fff;font-size:12px;font-weight:800}
  .mobile-filter-toggle b{transition:transform .18s}
  .mobile-filter-toggle[aria-expanded="true"] b{transform:rotate(180deg)}
  .filter-board>.filter-groups{display:none;margin-top:9px;padding-top:9px;border-top:1px dashed var(--line)}
  .filter-board.mobile-filters-expanded>.filter-groups{display:flex}
  .filter-menu{flex:1 1 calc(50% - 5px)}
  .filter-menu>summary{width:100%;min-height:44px}
  .filter-reset{flex:1 1 100%;border:1px dashed #d8dfec;border-radius:9px}
  .filter-state{align-items:flex-start;flex-wrap:wrap;padding:10px 12px}
  .resource-selected-count{width:100%;margin-left:0;justify-content:center}
  .mobile-table-filter-bar{display:flex;align-items:center;gap:7px;padding:9px 0 10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
  .mobile-table-filter-bar::-webkit-scrollbar{display:none}
  .mobile-table-filter-bar>strong{padding-left:2px;color:#69758a;font-size:11px;white-space:nowrap}
  .mobile-table-filter{position:relative;flex:0 0 auto;scroll-snap-align:start}
  .mobile-table-filter>summary{min-height:40px;display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #dce3ef;border-radius:10px;color:#526078;background:#fff;font-size:12px;font-weight:800;list-style:none}
  .mobile-table-filter>summary::-webkit-details-marker{display:none}
  .mobile-table-filter>summary:after{content:'⌄';color:#8b96aa}
  .mobile-table-filter>summary b:empty{display:none}
  .mobile-table-filter>summary b{min-width:18px;height:18px;display:grid;place-items:center;border-radius:999px;color:#fff;background:var(--blue);font-size:9px}
  .mobile-table-filter[open]>summary{border-color:var(--blue);color:var(--blue);background:var(--primary-soft)}
  .mobile-sheet-backdrop{display:block}
  .filter-menu-pop,.multi-filter-menu,.mobile-table-filter>div,.resource-batch-menu>div,.console-batch>div{position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;z-index:170!important;width:100%!important;min-width:0!important;max-width:none!important;max-height:min(72dvh,620px)!important;margin:0!important;padding:24px 14px calc(14px + env(safe-area-inset-bottom))!important;overflow:auto!important;border:0!important;border-radius:20px 20px 0 0!important;background:#fff!important;box-shadow:0 -18px 55px rgba(14,28,57,.24)!important}
  .filter-menu-pop:before,.multi-filter-menu:before,.mobile-table-filter>div:before,.resource-batch-menu>div:before,.console-batch>div:before{content:"";position:absolute;top:8px;left:50%;width:42px;height:4px;transform:translateX(-50%);border-radius:999px;background:#d7ddea}
  .filter-menu-pop label,.multi-filter-menu label,.mobile-table-filter>div label{min-height:48px;padding:10px 8px;border-bottom:1px solid #eef1f6;font-size:14px}
  .resource-batch-menu{flex:1 1 100%;margin-left:0}
  .resource-batch-menu>summary{min-height:44px;justify-content:center}
  .resource-batch-menu>div button{min-height:58px;padding:11px 12px}
  .console-batch>div button{min-height:48px}

  .table-wrap{overflow:visible}
  .mobile-card-table,.mobile-card-table tbody{width:100%;min-width:0!important;display:block}
  .mobile-card-table thead{display:none}
  .mobile-card-table tbody{display:grid;gap:10px;padding:10px;background:#f5f7fb}
  .mobile-card-table tbody>tr{display:block;overflow:hidden;border:1px solid #e0e6f0;border-radius:13px;background:#fff;box-shadow:0 4px 14px rgba(27,43,78,.045)}
  .mobile-card-table tbody>tr>td{width:100%;min-height:42px;display:grid;grid-template-columns:minmax(82px,30%) minmax(0,1fr);align-items:center;gap:11px;padding:9px 11px!important;border:0;border-bottom:1px solid #eef1f5;white-space:normal;overflow-wrap:anywhere}
  .mobile-card-table tbody>tr>td:last-child{border-bottom:0}
  .mobile-card-table tbody>tr>td:before{content:attr(data-mobile-label);align-self:start;padding-top:2px;color:#8490a3;font-size:10px;font-weight:800;line-height:1.45}
  .mobile-card-table tbody>tr>td[colspan]{display:block;padding:25px 12px!important;text-align:center}
  .mobile-card-table tbody>tr>td[colspan]:before{display:none}
  .mobile-card-table .check-cell{justify-items:start}
  .mobile-card-table .progress{width:100%;min-width:0}
  .mobile-card-table .remark-cell,.mobile-card-table .account-metric{max-width:none}
  .mobile-card-table .table-tags{max-width:100%}
  .mobile-card-table td:last-child>.btn:not(:only-child){width:calc(50% - 4px);margin:2px}
  .task-table-wrap,.user-table-wrap{overflow:visible}
  .user-toolbar{gap:9px;padding:12px}
  .user-search{display:grid;grid-template-columns:1fr;gap:6px}
  .user-search input{width:100%;font-size:16px}

  .modal{padding:0;place-items:stretch;z-index:210}
  .modal-backdrop{display:none}
  .modal-card,.modal-card.wide{width:100%;height:100dvh;max-height:none;border:0;border-radius:0;transform:none!important;animation:mobile-modal-in .18s ease-out}
  .modal-card>header{min-height:64px;flex:0 0 auto;padding:max(10px,env(safe-area-inset-top)) 13px 10px;cursor:default;touch-action:auto}
  .modal-card>header h2{font-size:18px}
  .modal-accent{height:34px}
  .modal-close{width:44px;height:44px}
  .modal-body{min-height:0;flex:1;padding:16px 13px;overflow:auto;scrollbar-gutter:auto}
  .modal-card>footer{min-height:66px;flex:0 0 auto;padding:10px 12px calc(10px + env(safe-area-inset-bottom));flex-wrap:nowrap;overflow-x:auto}
  .modal-card>footer .btn{min-width:96px;min-height:46px;flex:1 0 auto}
  .selector-list{max-height:none}
  .selector-filter-board{margin:-16px -13px 12px}
  .form-grid,.content-settings-grid,.settings-grid{grid-template-columns:1fr}
  .form-grid .full,.content-settings-grid .settings-actions,.settings-actions{grid-column:auto}
  .operation-choice-grid,.operation-choice-grid.three{grid-template-columns:1fr}
  .operation-choice{min-height:92px;padding:14px}

  .console-toolbar{gap:10px;margin-bottom:10px;padding:11px}
  .console-filter-group{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .console-filter-group label{align-items:stretch;flex-direction:column;gap:5px}
  .console-filter-group label:nth-child(3),.console-filter-group #console-filter-count{grid-column:1/-1}
  .console-filter-group select{width:100%;min-height:44px;font-size:14px}
  .console-batch{width:100%;margin-left:0}
  .console-batch>summary{min-height:44px;justify-content:center}
  .operation-console{padding:0;border:0;background:transparent;box-shadow:none}
  .console-device-list{gap:10px}
  .console-device-row{min-height:0;grid-template-columns:1fr;border-radius:14px;overflow:hidden}
  .console-device-summary{padding:12px;border-right:0;border-bottom:1px solid var(--line);border-radius:14px 14px 0 0}
  .console-device-heading{grid-template-columns:30px minmax(0,1fr) auto}
  .console-device-select{width:28px;height:28px}
  .console-device-select span{width:26px;height:26px}
  .console-category-tag{min-height:36px;max-width:82px}
  .console-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .console-slots .slot-light{height:30px}
  .console-metrics{gap:9px}
  .console-metrics span,.console-metrics span b{font-size:9px}
  .console-metrics i{height:5px}
  .console-task-queue{gap:8px;padding:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin}
  .queue-task,.queue-empty{width:154px;flex-basis:154px;scroll-snap-align:start}
  .queue-more{flex-basis:68px;scroll-snap-align:start}
  .console-queue-actions{width:82px;flex-basis:82px;scroll-snap-align:start}
  .queue-more .queue-more-popover.open{left:8px;right:8px;top:15%;max-height:70dvh;overflow:auto}
  .console-add-device{min-height:54px;margin-top:11px}

  .task-detail-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .task-detail-overview>article{min-height:112px;padding:13px}
  .task-detail-overview article>strong{font-size:18px}
  .task-log-head{padding:14px}
  .task-log-filters{padding:7px 12px 10px}
  .log-filter-chip{min-height:42px;padding:8px 13px;font-size:11px;scroll-snap-align:start}
  .log-filter-tabs{scroll-snap-type:x proximity}
  .task-log-panel .log-list{padding:9px}
  .log-entry summary{grid-template-columns:minmax(0,1fr) auto;padding:11px 10px;gap:7px}
  .log-entry summary time{font-size:10px}
  .log-entry summary strong{grid-column:1/-1;white-space:normal;overflow-wrap:anywhere}
  .log-entry summary>small{grid-column:1/-1;text-align:left;white-space:normal;overflow-wrap:anywhere}
  .log-detail{padding:10px}
  .log-detail pre{max-height:none;font-size:11px}

  .favorite-grid,.device-grid,.modern-device-grid,.stat-grid,.dashboard-columns,.onboarding-grid,.capability-grid{grid-template-columns:1fr}
  .hero{grid-template-columns:1fr}
  .hero-main,.runtime-hero{min-height:0;padding:22px 18px}
  .hero-main h1,.runtime-hero h2{font-size:23px}
  .runtime-hero>strong{display:none}
  .catalog-layout{grid-template-columns:1fr}
  .catalog-sidebar{position:static;display:flex;gap:7px;padding:8px;overflow-x:auto}
  .catalog-sidebar .catalog-search{min-width:210px}
  .catalog-filter{min-width:max-content}
  .feature-grid,.favorite-grid{grid-template-columns:1fr}
  .CodeMirror{height:56dvh}
}

@media(max-width:520px){
  .content{padding-left:8px;padding-right:8px}
  .task-detail-overview{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr}
  .console-filter-group{grid-template-columns:1fr}
  .console-filter-group label:nth-child(3),.console-filter-group #console-filter-count{grid-column:auto}
  .mobile-card-table tbody>tr>td{grid-template-columns:78px minmax(0,1fr)}
  .modal-card>footer{justify-content:flex-start}
}

@media(max-width:900px) and (orientation:landscape){
  .console-slots{grid-template-columns:repeat(6,minmax(0,1fr))}
  .task-detail-overview{grid-template-columns:repeat(4,minmax(0,1fr))}
  .modal-card>header{min-height:56px;padding-top:7px;padding-bottom:7px}
  .modal-card>footer{min-height:58px;padding-top:7px;padding-bottom:max(7px,env(safe-area-inset-bottom))}
}

@keyframes mobile-modal-in{from{opacity:.35;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* v1.8.5 user roles, relative expiry, credentials and point adjustments */
.expiry-duration{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:9px}.credential-success{display:flex;align-items:center;gap:13px;margin-bottom:16px;padding:14px 16px;border:1px solid #bfe7d7;border-radius:14px;color:#145f47;background:#ecfbf5}.credential-success-mark{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#fff;background:#17966d;font-size:21px;font-weight:900}.credential-success strong,.credential-success p{display:block}.credential-success p{margin:4px 0 0;color:#4f7569;font-size:12px}.credential-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.credential-list>div{min-width:0;padding:12px 14px;border:1px solid #e1e6f0;border-radius:12px;background:#fafbfe}.credential-list>div.full{grid-column:1/-1}.credential-list dt{margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em}.credential-list dd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;color:#26334f;font-weight:750}.credential-list code{min-width:0;overflow-wrap:anywhere;color:#244a9b;font-size:14px}.points-adjust-preview{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid #dbe4f7;border-radius:12px;color:#52617b;background:#f6f8fd}.points-adjust-preview strong{color:#3155b5;font-size:22px}.points-adjust-preview strong.negative{color:#bf3346}
@media(max-width:700px){.expiry-duration{grid-template-columns:minmax(0,1fr) 96px}.credential-list{grid-template-columns:1fr}.credential-list>div.full{grid-column:auto}.credential-list dd{align-items:flex-start;flex-direction:column}.credential-list dd .btn{align-self:stretch}.credential-success{align-items:flex-start}}
/* v1.7.4 paged resource selection */
.selection-clear{margin-left:3px;padding:2px 7px;border:0;border-left:1px solid #c8d5fb;color:#6075b9;background:transparent;font-size:10px;line-height:1.2;cursor:pointer}.selection-clear:hover{color:#294bb9}
.editable-group-picker{position:relative;width:100%}.editable-group-picker>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) 38px}.editable-group-picker input{height:36px;min-height:36px;border-radius:9px 0 0 9px}.editable-group-picker [data-group-picker-toggle]{height:36px;min-height:36px;padding:0;border:1px solid #dce1eb;border-left:0;border-radius:0 9px 9px 0;color:#68758d;background:#f8faff;font-size:14px;line-height:34px;cursor:pointer}.editable-group-picker [data-group-picker-toggle][aria-expanded="true"]{color:var(--blue);background:#eef3ff}.editable-group-picker [data-group-picker-toggle]:disabled{opacity:.5;cursor:not-allowed}.editable-group-options{position:absolute;z-index:160;top:calc(100% + 6px);left:0;right:0;max-height:230px;display:grid;gap:3px;overflow-y:auto;padding:6px;border:1px solid #dce3ef;border-radius:11px;background:#fff;box-shadow:0 18px 45px rgba(22,35,66,.18)}.editable-group-options.floating{position:fixed;z-index:1200;right:auto;max-width:calc(100vw - 16px)}.editable-group-options button{width:100%;padding:9px 10px;border:0;border-radius:7px;color:#45536d;background:transparent;text-align:left;font-size:12px;cursor:pointer}.editable-group-options button:hover,.editable-group-options button:focus{color:#3158c8;background:#eef3ff}.editable-group-options small{padding:10px;line-height:1.5}
.account-batch-form{max-width:760px;margin:0 auto}.batch-assignment-section{display:grid;gap:11px;padding:15px;border:1px solid #e1e6f0;border-radius:13px;background:#fafbfe;transition:.16s}.batch-assignment-section.enabled{border-color:#b9c8ef;background:#f7f9ff;box-shadow:0 4px 16px rgba(44,72,142,.06)}.batch-assignment-toggle{display:flex!important;align-items:center!important;gap:7px;margin:0!important;font-size:14px;font-weight:800}.batch-assignment-toggle input{width:17px!important;height:17px;min-height:0!important;margin:0;accent-color:var(--blue)}.batch-assignment-toggle .parameter-info{margin-left:1px}.batch-proxy-controls{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.75fr);align-items:end;gap:12px}.batch-proxy-controls>.btn{min-height:40px}.batch-proxy-controls>label{display:grid!important;gap:5px;margin:0!important}.batch-proxy-controls>label>span{color:#61708a;font-size:11px;font-weight:750}.batch-assignment-section>.selection-summary{margin:0;padding:8px 10px;border-radius:8px;background:#fff}.batch-assignment-section:not(.enabled) .editable-group-picker,.batch-assignment-section:not(.enabled) .batch-proxy-controls,.batch-assignment-section:not(.enabled)>.selection-summary{opacity:.55}@media(max-width:700px){.batch-proxy-controls{grid-template-columns:1fr}.batch-proxy-controls>.btn{width:100%}}

/* v1.7.6 administrator resource center */
.resource-center-stats{margin-bottom:16px}.stock-count{display:inline-flex;min-width:72px;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.stock-count.ready{color:#087659;background:#e8faf3}.stock-count.empty-stock{color:#9a5b12;background:#fff4df}.resource-import-lines{min-height:340px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.55;resize:vertical}
.inventory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8faff}.inventory-toolbar>div{display:grid;gap:3px}.inventory-toolbar small{color:var(--muted)}.inventory-all-selected{margin-bottom:12px;padding:10px 13px;border:1px solid #bed0ff;border-radius:10px;color:#3154b3;background:#eef3ff;font-size:12px;font-weight:700}.inventory-table-wrap{max-height:56vh}.inventory-table-wrap table{min-width:760px}.inventory-content{display:block;max-width:720px;padding:5px 8px;overflow-wrap:anywhere;white-space:pre-wrap;color:#32405b;background:#f3f6fb;border-radius:6px}.inventory-content.decrypt-error{color:#a83b3b;background:#fff0f0}.inventory-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.inventory-selected-count{margin-right:auto;color:#64718a;font-size:12px}.inventory-selected-count strong{color:var(--blue);font-size:15px}
@media(max-width:900px){.inventory-toolbar{align-items:stretch;flex-direction:column}.inventory-table-wrap{max-height:none;overflow-x:auto}.inventory-pager{justify-content:space-between}.inventory-selected-count{width:100%;margin:0;text-align:center}}

/* v1.7.8 console select-all tri-state */
.console-filter-group>.console-select-visible{order:-1;width:36px;min-width:36px;padding:7px;justify-content:center}.console-select-visible span{width:19px;min-width:19px;max-width:19px;height:19px;min-height:19px;font-variant-numeric:tabular-nums}.console-select-visible[data-selection-state="none"] span{color:transparent;border-color:#b8c2d2;background:#fff}.console-select-visible.partial{border-color:#b7c5ef;color:#3f59b2;background:#f5f7ff}.console-select-visible.partial span{color:#4969cf;border-color:#8299e5;background:#eaf0ff;font-size:9px;line-height:1}.console-select-visible[data-selection-state="all"] span{color:#fff;border-color:#5478e4;background:#5478e4}
@media(max-width:760px){.console-filter-group>.console-select-visible{grid-column:1/-1;width:36px;justify-self:start}}
.slot-picker-head>div,.slot-quick-actions{display:flex;align-items:center;gap:8px}.slot-quick-actions button{min-height:25px;padding:3px 8px;border:1px solid #d7e0f2;border-radius:7px;color:#405cac;background:#f3f6ff;font-size:10px;font-weight:800;cursor:pointer}.slot-quick-actions button:hover{border-color:#91a6e4;background:#e9efff}.slot-quick-actions button:disabled{opacity:.45;cursor:not-allowed}

/* v1.7.9 compact ten-slot console and task builder */
.brand-mark.brand-pending{color:transparent}
.console-filter-group>.console-select-visible{width:auto;min-width:76px;padding:7px 10px;justify-content:flex-start}.console-select-visible>b{font-size:11px;font-weight:800}.console-slots{grid-template-columns:repeat(5,minmax(0,1fr))}.console-device-network{display:flex;align-items:center;gap:9px;min-width:0;margin-top:7px;font:650 11px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace}.console-device-ip{overflow:hidden;width:max-content;max-width:100%;color:#7a8598;font:inherit;text-overflow:ellipsis;white-space:nowrap}.console-device-ip span{display:none}.console-device-ip code{color:inherit;font:inherit}.console-device-relay{padding:0;border:0;background:transparent;font:inherit;white-space:nowrap;cursor:pointer}.console-device-relay.unset{color:#8a93a3}.console-device-relay.configured{color:#15936b}.console-device-relay:hover{filter:brightness(.78)}
@media(min-width:901px){.console-device-row{grid-template-columns:260px minmax(0,1fr)}}

.task-resources .resource-pick-grid{grid-template-columns:1fr}.resource-line{border:1px solid var(--line);border-radius:12px;background:#fff}.device-resource-line{display:grid;grid-template-columns:112px minmax(190px,.65fr) minmax(480px,1.7fr);align-items:center;gap:12px;padding:12px}.resource-line-title{display:flex!important;align-items:center;gap:7px;min-width:0}.resource-line-title strong{white-space:nowrap}.resource-required-tag{display:inline-flex;padding:3px 7px;border:1px solid #ffd0d7;border-radius:999px;color:#b93346;background:#fff0f2;font-size:9px;font-weight:850;line-height:1}.device-pick-controls{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px}.device-pick-controls .selection-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-resource-line .slot-picker{min-width:0;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}.device-resource-line .slot-picker-head{justify-content:flex-start;margin:0 0 7px}.device-resource-line .slot-picker-head>strong{color:#66738a;font-size:10px}.task-resources .slot-choices{grid-template-columns:repeat(10,minmax(32px,1fr));gap:5px;margin:0}.task-resources .slot-choices span{min-height:34px;border-radius:8px;font-size:11px}.task-resources .selector-field.resource-line{grid-template-columns:112px 122px minmax(0,1fr);gap:12px}.task-resources .resource-line.selection-summary{min-width:0}.task-resources .resource-line .selection-summary{grid-column:auto;padding-top:0;border-top:0}.combo-add{display:flex;justify-content:center}.combo-add .btn{min-width:190px}.append-task-list{display:grid;gap:8px}.append-task-list>button{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;color:#3f4d68;background:#fff;text-align:left}.append-task-list>button:hover{border-color:#9aade8;background:#f5f8ff}.append-task-list .feature-icon{width:34px;height:34px;font-size:15px}.append-task-list strong,.append-task-list small{display:block}.append-task-list small{margin-top:3px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.append-task-list>button>b{color:var(--blue);font-size:18px}

.parameter-info{position:relative;width:18px;height:18px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid #cbd6ee;border-radius:50%;color:#5670ba;background:#f4f7ff;cursor:help;font-size:10px;font-weight:850;line-height:1}.parameter-info>i{font-style:normal}.parameter-info>[role="tooltip"]{position:absolute;z-index:180;left:50%;bottom:calc(100% + 8px);width:max-content;max-width:min(320px,70vw);padding:8px 10px;border:1px solid #dce3ef;border-radius:9px;color:#48556d;background:#fff;box-shadow:0 12px 32px rgba(27,42,75,.18);font-size:11px;font-weight:500;line-height:1.55;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:.15s}.parameter-info:hover>[role="tooltip"],.parameter-info:focus>[role="tooltip"],.parameter-info.open>[role="tooltip"]{opacity:1;transform:translate(-50%,0)}

.recent-account-groups{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-left:3px}.recent-account-groups>span{color:#8a94a7;font-size:9px;font-weight:800;white-space:nowrap}.recent-account-groups>button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:6px 9px;border:1px solid #dce3f0;border-radius:9px;color:#58677f;background:#fff;font-size:10px;font-weight:750}.recent-account-groups>button:hover{border-color:#9cafe6;color:#3654ad;background:#f6f8ff}.recent-account-groups>button.active{border-color:#7892df;color:#3152b2;background:#eaf0ff;box-shadow:0 2px 7px rgba(64,87,166,.1)}.recent-account-groups b{min-width:20px;padding:2px 5px;border-radius:999px;color:#6f7d92;background:#eef2f7;font-size:8px;text-align:center}.recent-account-groups>button.active b{color:#fff;background:#617bd0}

.navigation-entry-card{grid-template-columns:74px minmax(0,1fr) minmax(0,1fr)}.navigation-entry-card .navigation-hidden{grid-column:1;grid-row:1/3}.navigation-entry-card>label:nth-of-type(2){grid-column:2;grid-row:1}.navigation-entry-card>label:nth-of-type(3){grid-column:3;grid-row:1}.navigation-entry-card>label:nth-of-type(4){grid-column:2;grid-row:2}.navigation-entry-card>label:nth-of-type(5){grid-column:3;grid-row:2}.navigation-entry-card>small{grid-column:1/-1}.navigation-entry-grid>datalist{display:none}
@media(max-width:1100px){.device-resource-line{grid-template-columns:112px minmax(0,1fr)}.device-resource-line .slot-picker{grid-column:2}.task-resources .slot-choices{grid-template-columns:repeat(5,minmax(36px,1fr))}}
@media(max-width:760px){.console-filter-group>.console-select-visible{grid-column:1/-1;width:auto;justify-self:start}.device-resource-line,.task-resources .selector-field.resource-line{grid-template-columns:1fr}.device-resource-line .slot-picker{grid-column:1}.device-pick-controls{grid-template-columns:1fr}.task-resources .resource-line .selection-summary{white-space:normal}.navigation-entry-card{grid-template-columns:68px minmax(0,1fr)}.navigation-entry-card .navigation-hidden{grid-column:1;grid-row:1/5}.navigation-entry-card>label:nth-of-type(n+2):nth-of-type(-n+5){grid-column:2;grid-row:auto}}

/* v1.7.9 compact task resource rows and append-task artwork */
@media(min-width:761px){.task-resources .resource-line [data-pick]{width:122px;min-width:122px}}
@media(min-width:1101px){.device-resource-line{grid-template-columns:112px 122px minmax(110px,.35fr) minmax(424px,1.45fr);min-height:62px;padding:10px 12px}.device-pick-controls{display:contents}.device-pick-controls .selection-summary{min-width:0}.device-resource-line .slot-picker{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.device-resource-line .slot-picker-head{margin:0}.device-resource-line .slot-picker-head,.device-resource-line .slot-quick-actions{gap:4px}.device-resource-line .slot-quick-actions button{min-height:22px;padding:2px 5px;font-size:9px}.task-resources .device-resource-line .slot-choices{grid-template-columns:repeat(10,minmax(24px,30px));justify-content:start;gap:4px}.task-resources .device-resource-line .slot-choices span{min-height:30px}}
.append-task-list .feature-image-wrap{width:34px;height:34px}.append-task-list .feature-image-wrap .feature-image,.append-task-list .feature-image-wrap .feature-image-fallback{width:34px;height:34px;border-radius:9px}
.inspection-chip.failed{color:#a65a08;background:#fff4df;border-color:#f2d29c}.inspection-chip.banned{color:#b42335;background:#fff0f1;border-color:#f7c8ce}
.parameter-info>[role="tooltip"]{display:none!important}.parameter-floating-tooltip{position:fixed;z-index:1000;width:max-content;max-width:min(320px,calc(100vw - 16px));max-height:calc(100vh - 16px);padding:8px 10px;overflow:auto;border:1px solid #dce3ef;border-radius:9px;color:#48556d;background:#fff;box-shadow:0 12px 32px rgba(27,42,75,.18);font-size:11px;font-weight:500;line-height:1.55;pointer-events:none}.parameter-floating-tooltip[hidden]{display:none}

/* v1.8 relay assignment and encrypted VLESS URL editing */
.console-device-relay{margin-left:auto;padding:2px 7px;border:1px solid transparent;border-radius:7px;font-family:inherit;font-size:9px;font-weight:800;line-height:1.45;letter-spacing:.01em;transition:border-color .15s ease,background .15s ease,color .15s ease}.console-device-relay.unset{border-color:#e1e6ee;background:#f6f8fa;color:#7f8998}.console-device-relay.configured{border-color:#cde9dd;background:#f0faf6;color:#188d68}.console-device-relay:hover{filter:none;border-color:#b7c5d8;background:#fff}
.proxy-vless-url textarea{min-height:94px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.55;overflow-wrap:anywhere}.relay-picker{display:grid;gap:8px;max-height:min(58vh,520px);overflow:auto;padding:2px}.relay-option{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer}.relay-option:hover{border-color:#a9bae9;background:#f8faff}.relay-option.selected{border-color:#7896e7;background:#eef3ff;box-shadow:0 3px 12px rgba(57,86,170,.1)}.relay-option input{width:16px;height:16px;margin:0;accent-color:var(--blue)}.relay-option span{display:grid;gap:3px;min-width:0}.relay-option strong{overflow:hidden;color:#37445d;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.relay-option strong i{color:#6176b9;font-style:normal}.relay-option small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.relay-empty{padding:18px;border:1px dashed #d8deea;border-radius:10px;color:#858fa1;background:#fafbfc;text-align:center;font-size:11px}

/* v1.8 quiet batch controls: white at rest, highlighted only on interaction */
.console-batch>div{display:grid;gap:3px}.console-batch>div button{display:block;color:#405172;background:#fff;cursor:pointer;transition:background .16s,box-shadow .16s,color .16s}.console-batch>div button:hover,.console-batch>div button:focus-visible{color:#3156b7;background:#f6f8fc;box-shadow:0 3px 8px rgba(42,63,105,.07)}

/* v1.8.3 proxy forms, batch assignment and compact queue titles */
.field-label{display:flex;align-items:center;gap:6px;min-height:18px}.field-label .parameter-info{margin-left:1px}.batch-proxy-controls>.btn,.batch-proxy-controls>label>select{height:36px;min-height:36px;font-size:13px}.batch-proxy-controls>.btn{align-self:end;min-width:0;overflow:hidden;padding:7px 10px}.batch-proxy-controls>.btn>[data-batch-proxy-label]{display:block;width:100%;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.queue-task-main>span{display:block;overflow:hidden;-webkit-line-clamp:unset;white-space:nowrap;text-overflow:clip}
@media(min-width:701px){.batch-proxy-controls{grid-template-columns:minmax(0,3fr) minmax(150px,1fr)}}
.resource-batch-menu>summary{min-height:36px;padding:0 12px;border-color:#d8e0ee;color:#52617a;background:#fff;font-size:11px;font-weight:750;box-shadow:none;transform:translateY(0);transition:border-color .16s,background .16s,color .16s,box-shadow .16s,transform .16s}.resource-batch-menu>summary:hover,.resource-batch-menu>summary:focus-visible{border-color:#91a7dc;color:#3156b7;background:#f7f9ff;box-shadow:0 5px 13px rgba(48,81,170,.11);transform:translateY(-1px)}.resource-batch-menu[open]>summary{border-color:#a6b6dc;color:#3156b7;background:#f8faff;box-shadow:0 3px 9px rgba(48,81,170,.08)}
