:root{--bg: #fbfcfd;--surface: #ffffff;--surface-subtle: #f6f8fa;--surface-hover: #f3f4f6;--border: #d8dee4;--border-strong: #c2c9d0;--border-subtle: #e8ebee;--text: #1f2328;--text-secondary: #59636e;--text-muted: #818b96;--accent: #1f2328;--accent-hover: #32383f;--accent-active: #15181c;--on-accent: #ffffff;--blue: #0969da;--blue-bg: #ddf4ff;--blue-border: #b6e3ff;--danger: #cf222e;--danger-hover: #a40e26;--danger-bg: #fff0f0;--danger-border: #ffcecb;--green: #1a7f37;--focus-ring: rgba(31, 35, 40, .18);--r-sm: 5px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px;--shadow-sm: 0 1px 2px rgba(31, 35, 40, .07);--shadow-md: 0 8px 24px rgba(31, 35, 40, .16);--shadow-lg: 0 16px 48px rgba(31, 35, 40, .22);--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font-ui);color:var(--text);background:var(--bg);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{height:100%}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}::selection{background:#0969da29}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 12px;font-size:13px;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);white-space:nowrap;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.btn:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.btn:active{background:var(--surface-hover)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn svg{flex:none}.btn--primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-sm)}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn--primary:active{background:var(--accent-active)}.btn--primary:focus-visible{box-shadow:0 0 0 3px var(--focus-ring)}.btn--danger{color:var(--danger);border-color:var(--border)}.btn--danger:hover{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-hover)}.btn--ghost{background:transparent;border-color:transparent;box-shadow:none}.btn--ghost:hover{background:var(--surface-hover);border-color:transparent}.btn--sm{height:26px;padding:0 9px;font-size:12.5px}.btn--block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--r-md);transition:background .12s ease,color .12s ease,border-color .12s ease}.icon-btn:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-subtle)}.icon-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.icon-btn--danger:hover{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-border)}.field-label{display:block;font-size:12.5px;font-weight:600;color:var(--text);margin-bottom:6px}.field-hint{font-size:12px;color:var(--text-muted);margin-top:5px}.input{width:100%;height:32px;padding:0 10px;font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:inset 0 1px #1f232805;transition:border-color .12s ease,box-shadow .12s ease}.input::placeholder{color:var(--text-muted)}.input:focus{outline:none;border-color:#6b7785;box-shadow:0 0 0 3px var(--focus-ring)}textarea.input{height:auto;padding:7px 10px;resize:vertical;line-height:1.5}.input-wrap{position:relative}.input-wrap .input{padding-left:30px}.input-wrap .input-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.input-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);border-radius:4px}.input-clear:hover{background:var(--surface-hover);color:var(--text)}.badge{display:inline-flex;align-items:center;gap:4px;height:19px;padding:0 7px;font-size:11.5px;font-weight:500;border-radius:999px;border:1px solid transparent;white-space:nowrap;line-height:1}.badge--type{color:var(--text-secondary);background:var(--surface-subtle);border-color:var(--border-subtle);text-transform:lowercase}.badge--public{color:var(--blue);background:var(--blue-bg);border-color:var(--blue-border)}.badge--private{color:var(--text-secondary);background:var(--surface-subtle);border-color:var(--border)}.badge--dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.chip{display:inline-flex;align-items:center;gap:4px;height:19px;padding:0 7px;font-size:11.5px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:999px;white-space:nowrap;line-height:1}.chip__x{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;margin-right:-2px;border:none;background:transparent;color:inherit;opacity:.6;border-radius:50%;padding:0}.chip__x:hover{opacity:1;background:#00000014}.mono{font-family:var(--font-mono);font-size:12px}.muted{color:var(--text-muted)}.topbar{flex:none;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar__right{display:flex;align-items:center;gap:6px}.topbar__sep{width:1px;height:22px;background:var(--border);margin:0 4px}.user-pill{display:flex;align-items:center;gap:8px;padding:3px 4px;border-radius:999px}.avatar{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:11px;font-weight:600;line-height:1;text-align:center;flex:none}.user-name{font-size:13px;font-weight:500}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 20px;text-align:center;color:var(--text-muted)}.empty__icon{width:44px;height:44px;border-radius:12px;background:var(--surface-subtle);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);margin-bottom:14px}.empty__title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.empty__text{font-size:13px;max-width:280px}.pager{flex:none;display:flex;align-items:center;justify-content:space-between;padding:12px 20px 18px}.pager__info{font-size:12.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(-6px) scale(.99)}to{opacity:1;transform:none}}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border-subtle)}.modal__title{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;margin:0}.modal__title-icon{width:26px;height:26px;border-radius:7px;background:var(--surface-subtle);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.modal__body{padding:18px}.modal__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-top:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:0 0 var(--r-xl) var(--r-xl)}.spinner{width:13px;height:13px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--blue);animation:spin .6s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.modal--wide{width:760px}.ckbox{width:16px;height:16px;flex:none;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--border-strong);border-radius:4px;background:var(--surface);color:#fff;transition:background .1s ease,border-color .1s ease}.ckbox:hover{border-color:#8a94a0}.ckbox[aria-checked=true],.ckbox[aria-checked=mixed]{background:var(--accent);border-color:var(--accent)}.ckbox:disabled{opacity:.4;cursor:not-allowed}.ckbox:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#cfd6dd;border-radius:999px;border:3px solid var(--surface)}::-webkit-scrollbar-thumb:hover{background:#b3bcc6}::-webkit-scrollbar-track{background:transparent}.gz-opt{display:flex;align-items:center;gap:9px;padding:6px;border-radius:var(--r-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s ease}.gz-opt:hover{background:var(--surface-subtle)}.gz-opt__text{font-size:13px;color:var(--text)}.gz-daychip{display:inline-flex;align-items:center;gap:6px;height:25px;padding:0 5px 0 10px;font-size:12px;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:999px;font-variant-numeric:tabular-nums}.gz-daychip .chip__x{width:16px;height:16px}.gz-inline-note{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-muted);margin-top:8px;padding:0 4px}.gz-inline-note.is-warn{color:var(--danger)}.gz-select-wrap{position:relative}.gz-select{width:100%;min-height:38px;padding:0 36px 0 12px;display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;text-align:left;transition:border-color .12s ease,box-shadow .12s ease}.gz-select:hover{border-color:var(--border-strong)}.gz-select.is-open{border-color:#6b7785;box-shadow:0 0 0 3px var(--focus-ring)}.gz-select__chev{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.gz-select__main{min-width:0;display:flex;flex-direction:column;line-height:1.25}.gz-select__title{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gz-select__placeholder{font-size:13px;color:var(--text-muted)}.gz-pop{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:4px;max-height:280px;overflow-y:auto;animation:gz-pop-in .12s ease}@keyframes gz-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.gz-pop__search{padding:4px 4px 6px;position:sticky;top:0;background:var(--surface)}.gz-pop__item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);cursor:pointer}.gz-pop__item:hover{background:var(--surface-hover)}.gz-pop__item.is-sel{background:var(--surface-subtle)}.gz-pop__item-main{min-width:0;flex:1}.gz-pop__item-title{font-size:13px;font-weight:500;color:var(--text)}.gz-pop__check{color:var(--accent);flex:none;opacity:0}.gz-pop__item.is-sel .gz-pop__check{opacity:1}.gz-pop__empty{padding:16px;text-align:center;font-size:12.5px;color:var(--text-muted)}.gz-vendor-box{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-height:38px;padding:5px 7px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.gz-vendor-box:hover{border-color:var(--border-strong)}.gz-vendor-box.is-open{border-color:#6b7785;box-shadow:0 0 0 3px var(--focus-ring)}.gz-vendor-box .chip{height:22px;background:var(--surface-subtle)}.gz-vendor-add{font-size:12.5px;color:var(--text-muted);padding:0 4px}.gz-switch{flex:none;width:38px;height:22px;border-radius:999px;background:var(--border-strong);border:none;position:relative;transition:background .15s ease;cursor:pointer}.gz-switch.is-on{background:var(--accent)}.gz-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .15s ease}.gz-switch.is-on:after{transform:translate(16px)}.gz-run__head{flex:none;display:flex;align-items:center;gap:10px;padding:13px 20px 0}.gz-run__head h2{font-size:15px;font-weight:600;margin:0}.gz-sum-rows{display:flex;flex-direction:column}.gz-sum-row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:start;padding:9px 0;border-bottom:1px solid var(--border-subtle)}.gz-sum-row:last-child{border-bottom:none}.gz-sum-row__k{font-size:12px;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:7px;padding-top:1px}.gz-sum-row__k svg{color:var(--text-muted);flex:none}.gz-sum-row__v{font-size:13px;color:var(--text);line-height:1.5;min-width:0}@keyframes gz-log-in{0%{transform:translateY(3px)}to{transform:none}}@keyframes gz-blink{50%{opacity:0}}.gz-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#1f23286b;display:flex;align-items:center;justify-content:center;padding:28px;animation:overlay-in .12s ease}.gz-modal{width:480px;max-width:100%;display:flex;flex-direction:column;max-height:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);animation:modal-in .14s cubic-bezier(.2,.7,.3,1);overflow:hidden}.gz-modal .modal__body{overflow-y:auto}.pg-head__title{font-size:15px;font-weight:600}.pg-head__title span{font-weight:400;color:var(--text-muted)}.runbar__spacer{flex:1}.runbar__hint{font-size:12.5px;color:var(--text-muted);display:flex;align-items:center;gap:7px}.runbar__hint.is-warn{color:var(--amber)}.btn--run{height:38px;padding:0 20px;font-size:13.5px;font-weight:600}.icon-btn--framed{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-sm);color:var(--text-muted)}.icon-btn--framed:hover{color:var(--text);border-color:var(--border-strong)}a.btn{text-decoration:none}@media (max-width: 640px){.pg-head__title{min-width:0}.runbar__hint{display:none}.gz-sum-row{grid-template-columns:minmax(0,1fr);gap:3px}.gz-sum-row__k{font-size:11px}}.gz-vendor-box.is-off{background:var(--surface-subtle);cursor:default}.badge--ok{color:var(--green);background:var(--green-bg);border-color:var(--green-border)}.badge--run{color:var(--blue);background:var(--blue-bg);border-color:var(--blue-border)}.badge--err{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-border)}.badge--soon{color:var(--text-muted);background:var(--surface-subtle);border-color:var(--border-subtle)}.badge--ver{color:var(--text-secondary);background:var(--surface);border-color:var(--border);font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums}.jp{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.jp__sep{color:var(--text-muted)}.flex-none{flex:none}@media (max-width: 768px){.user-name{display:none}}.gz-setup{flex:1;min-height:0;display:flex;flex-direction:column}.pg-head{flex:none;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--border);background:var(--surface)}.runbar{flex:none;height:64px;padding:0 32px;display:flex;align-items:center;gap:14px;border-top:1px solid var(--border);background:var(--surface)}.p-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable}.p-doc{padding:24px 32px 28px;display:flex;flex-direction:column;gap:22px}.s{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.s-head{display:flex;align-items:center;gap:11px;padding:14px 18px;border-bottom:1px solid var(--border-subtle)}.s-n{font-family:var(--font-mono);font-size:11px;color:var(--on-accent);background:var(--accent);border-radius:5px;padding:2px 6px}.s-t{font-size:15px;font-weight:600;margin:0}.s-sum{margin-left:auto;font-size:12.5px;color:var(--text-muted);display:flex;align-items:center;gap:9px}.s-sum b{color:var(--text-secondary);font-weight:600}.s-pad{padding:16px 18px 18px}.s-two-sel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}.s-pad>.gz-toggle-row{width:fit-content;gap:18px}@media (max-width: 1280px){.pg-head,.runbar{padding:0 22px}.p-doc{padding:18px 22px 22px;gap:16px}}@media (max-width: 768px){.s-two-sel{grid-template-columns:minmax(0,1fr);gap:14px}.s-two-sel .gz-select-wrap{max-width:420px}}@media (max-width: 640px){.pg-head{padding:0 14px;gap:10px}.pg-head .btn{padding:0;width:32px;flex:none}.runbar{padding:0 14px}.p-doc{padding:14px 14px 18px;gap:14px}.s-head{padding:12px 14px}.s-pad{padding:12px 14px 14px}.s-t{font-size:14px}.s-sum{font-size:11.5px}.s-two-sel .gz-select-wrap{max-width:none}.runbar{height:auto;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))}.runbar .btn--run{width:100%;height:42px}}:root{--green-bg: #eaf6ec;--green-border: #b7e0bf;--amber: #9a6700;--amber-bg: #fff8c5;--amber-border: #eed888}.mg-app{height:100%;display:flex;flex-direction:column}.mg-body{flex:1;display:flex;min-height:0}.mg-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.mg-logo{display:block;object-fit:contain;flex:none}.mg-logo--bar{height:30px;width:auto}.mg-logo--lg{height:84px;width:auto}.mg-side{flex:none;width:232px;border-right:1px solid var(--border);background:var(--surface);padding:16px 14px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.mg-side__title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:12px 6px 8px}.mg-nav{display:flex;align-items:center;gap:9px;height:30px;padding:0 9px;font-size:12.5px;font-weight:500;color:var(--text-secondary);border-radius:var(--r-md);border:1px solid transparent;background:none;width:100%;text-align:left;text-decoration:none;transition:background .1s ease,color .1s ease}.mg-nav svg{flex:none;opacity:.85}.mg-nav>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mg-nav:hover{color:var(--text);background:var(--surface-hover)}.mg-nav.is-on{background:var(--surface-subtle);color:var(--text);border-color:var(--border);box-shadow:var(--shadow-sm)}.mg-nav.is-soon{color:var(--text-muted)}.mg-nav.is-soon:hover{background:var(--surface-subtle)}.mg-topbar__brand{display:flex;align-items:center;gap:10px}.mg-topbar__sub{font-size:13px;color:var(--text-secondary);font-weight:600}.mg-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:18px 24px 12px}.mg-head__titles{display:flex;align-items:baseline;gap:10px}.mg-head__title{font-size:17px;font-weight:600;margin:0;letter-spacing:-.01em}.mg-head__count{font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums}.mg-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable}.mg-pad{padding:0 24px 24px}.mg-login{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 1px 1px,var(--border-subtle) 1px,transparent 0) 0 0 / 22px 22px,var(--bg)}.mg-login__brand{display:flex;flex-direction:column;align-items:center;margin-bottom:18px}.mg-login__kicker{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);text-align:center}.mg-login__card{width:332px;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md);padding:24px 28px 20px}.mg-login__title{text-align:center;font-size:16px;font-weight:600;margin:0 0 2px}.mg-login__sub{text-align:center;font-size:13px;color:var(--text-muted);margin:0 0 16px}.mg-login__field{margin-bottom:12px}.mg-login__err{display:flex;gap:7px;align-items:flex-start;font-size:12.5px;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--r-md);padding:8px 10px;margin-bottom:12px}.mg-login__foot{text-align:center;font-size:12px;color:var(--text-muted);margin-top:12px}.mg-svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mg-svc{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;text-align:left;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color .12s ease,box-shadow .12s ease}.mg-svc:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.mg-svc.is-soon{cursor:default}.mg-svc.is-soon:hover{border-color:var(--border);box-shadow:none}.mg-svc__ico{width:34px;height:34px;border-radius:9px;flex:none;background:var(--surface-subtle);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.mg-svc.is-live .mg-svc__ico{background:var(--accent);border-color:var(--accent);color:#fff}.mg-svc__name{font-size:13.5px;font-weight:600}.mg-svc__desc{font-size:12px;color:var(--text-muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mg-svc__meta{display:flex;align-items:center;gap:8px;margin-top:7px;min-height:19px}.mg-table-wrap{flex:1;min-height:0;margin:0 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:auto}table.mg-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}.mg-table thead th{position:sticky;top:0;z-index:1;background:var(--surface-subtle);border-bottom:1px solid var(--border);font-size:11.5px;font-weight:600;color:var(--text-secondary);text-align:left;padding:8px 12px;white-space:nowrap}.mg-table tbody td{padding:7px 12px;border-bottom:1px solid var(--border-subtle);vertical-align:middle;white-space:nowrap}.mg-table tbody tr:last-child td{border-bottom:none}.mg-table tbody tr{cursor:pointer}.mg-table tbody tr:hover{background:var(--surface-subtle)}.mg-num{display:block;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted)}.mg-svc-cell{display:flex;align-items:center;gap:7px;min-width:0;color:var(--text-secondary)}.mg-svc-cell svg{flex:none}.mg-svc-cell__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.mg-dur{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.mg-toolbar{flex:none;display:flex;align-items:center;gap:8px;padding:0 24px 14px;flex-wrap:wrap}.mg-seg{display:inline-flex;height:30px;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm)}.mg-seg button{display:inline-flex;align-items:center;gap:6px;padding:0 11px;font-size:12.5px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-right:1px solid var(--border)}.mg-seg button:last-child{border-right:none}.mg-seg button:hover{background:var(--surface-subtle);color:var(--text)}.mg-seg button[aria-pressed=true]{background:var(--accent);color:#fff}.mg-seg .cnt{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.mg-seg button[aria-pressed=true] .cnt{color:#ffffffb8}.mg-chips{flex:none;display:flex;align-items:center;gap:6px;margin-top:-4px;padding:0 24px 14px;flex-wrap:wrap}.mg-chips__label{font-size:12px;color:var(--text-muted);margin-right:2px}.mg-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px 0 9px;font-size:12.5px;font-weight:500;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-sm);white-space:nowrap;transition:background .12s ease,border-color .12s ease,color .12s ease}.mg-chip svg{flex:none}.mg-chip:hover{background:var(--surface-subtle);color:var(--text);border-color:var(--border-strong)}.mg-chip:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.mg-chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.mg-chip[aria-pressed=true]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.mg-soon{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-muted);text-align:center;padding:40px 20px}.mg-soon__ico{width:44px;height:44px;border-radius:12px;background:var(--surface-subtle);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.mg-soon__title{font-size:15px;font-weight:600;color:var(--text)}.mg-soon__text{font-size:13px;max-width:340px}.mg-grow{flex:1}.mg-hint{font-size:12px;color:var(--text-muted)}.mg-center{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;gap:9px}.mg-burger{display:none;width:32px;height:32px;margin-right:2px;align-items:center;justify-content:center;color:var(--text-secondary);background:none;border:1px solid transparent;border-radius:var(--r-md)}.mg-burger:hover{background:var(--surface-hover);color:var(--text)}.mg-burger:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}@media (max-width: 1024px){.mg-svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mg-head,.mg-toolbar{flex-wrap:wrap;row-gap:8px}.mg-table-wrap{overflow-x:auto}}@media (max-width: 768px){.mg-burger{display:inline-flex}.mg-side{position:fixed;z-index:60;top:52px;left:0;bottom:0;width:264px;transform:translate(-100%);transition:transform .18s ease;box-shadow:var(--shadow-md)}.mg-side.is-open{transform:none}.mg-scrim{position:fixed;z-index:50;top:52px;right:0;bottom:0;left:0;background:#1f232852}.mg-topbar__sub{display:none}}@media (max-width: 640px){.mg-side{width:82vw;max-width:300px}.mg-svc-grid{grid-template-columns:minmax(0,1fr)}.mg-pad{padding:0 14px 18px}.mg-head{padding:14px 14px 10px}}.jb-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;display:flex;flex-direction:column}.gz-term{flex:1 1 0;min-height:320px}.gz-term{display:flex;flex-direction:column;--t-bg: #15181c;--t-bg2: #1b1f24;--t-line: #2a2f37;--t-text: #c9d3de;--t-muted: #6b7785;--t-time: #59636e;--t-green: #57d98a;--t-blue: #6cb6ff;--t-amber: #e3b341;--t-red: #ff7b72;background:var(--t-bg);border-top:1px solid var(--border)}.gz-term.is-light{--t-bg: #ffffff;--t-bg2: #f6f8fa;--t-line: #e8ebee;--t-text: #1f2328;--t-muted: #818b96;--t-time: #818b96;--t-green: #1a7f37;--t-blue: #0969da;--t-amber: #9a6700;--t-red: #cf222e}.gz-term__live{display:inline-flex;align-items:center;gap:6px}.gz-term__spin{width:12px;height:12px;border-radius:50%;border:2px solid var(--t-line);border-top-color:var(--t-blue);animation:spin .6s linear infinite}.gz-term__elapsed{color:var(--t-muted);font-variant-numeric:tabular-nums}.gz-term__body{flex:1;min-height:0;overflow-y:auto;padding:14px 0;font-family:var(--font-mono);font-size:12.5px;line-height:1.65;color:var(--t-text)}.gz-term__body::-webkit-scrollbar{width:10px}.gz-term__body::-webkit-scrollbar-thumb{background:#3a414b;border-radius:999px;border:3px solid var(--t-bg)}.gz-term.is-light .gz-term__body::-webkit-scrollbar-thumb{background:#cfd6dd;border-color:#fff}.gz-logline{display:grid;grid-template-columns:44px 80px minmax(0,1fr);gap:0 12px;padding:0 16px;align-items:baseline;animation:gz-log-in .2s ease both}.gz-logline:hover{background:#ffffff08}.gz-term.is-light .gz-logline:hover{background:var(--surface-subtle)}.gz-logline__n{color:var(--t-muted);opacity:.5;text-align:right;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.gz-logline__m{min-width:0}.gz-logline__t{color:var(--t-time);font-variant-numeric:tabular-nums}.gz-logline__m{color:var(--t-text);white-space:pre-wrap;word-break:break-word}.gz-logline__m .tag{font-weight:600;margin-right:7px}.gz-logline--ok .tag{color:var(--t-green)}.gz-logline--ok .gz-logline__m{color:#aee9c4}.gz-term.is-light .gz-logline--ok .gz-logline__m{color:var(--green)}.gz-logline--warn .tag,.gz-logline--warn .gz-logline__m{color:var(--t-amber)}.gz-logline--error{background:#ff7b7212}.gz-term.is-light .gz-logline--error{background:var(--danger-bg)}.gz-logline--error .tag,.gz-logline--error .gz-logline__m{color:var(--t-red)}.gz-caret{display:inline-block;width:8px;height:15px;vertical-align:text-bottom;background:var(--t-green);margin-left:2px;border-radius:1px;animation:gz-blink 1s steps(2,start) infinite}.gz-term__foot{flex:none;display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--t-line);background:var(--t-bg2);font-family:var(--font-mono);font-size:12px}.gz-term__foot .gz-term__live{color:var(--t-text)}.gz-term__foot .gz-term__elapsed{margin-left:2px}.gz-term__done{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--t-green)}.gz-term__done svg{color:var(--t-green)}.gz-term__foot-spacer{flex:1}.gz-term__metric{font-family:var(--font-mono);font-size:11.5px;color:var(--t-muted)}.gz-term__metric b{color:var(--t-text)}.fd-top{display:flex;align-items:center;gap:14px;margin-bottom:10px}.fd-lab{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.fd-lab b{font-family:var(--font-mono);font-weight:500;color:var(--text-secondary)}.fd-all{height:30px;padding:0 13px;font-size:12.5px;font-weight:500}.fd-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.fd-cols--flat{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 12px;column-gap:10px}.fd-col{padding:0 22px;min-width:0;border-right:1px solid var(--border-subtle)}.fd-col:first-child{padding-left:0}.fd-col:last-child{padding-right:0;border-right:none}.fd-h{display:flex;align-items:baseline;gap:8px;padding:0 7px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.fd-h b{font-family:var(--font-mono);font-weight:500;font-size:11px;color:var(--text-secondary);background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:5px;padding:0 5px}.fd-r{display:flex;align-items:center;gap:7px;height:27px;padding:0 7px;border-radius:var(--r-sm)}.fd-r:hover{background:var(--surface-subtle)}.fd-n{flex:1;min-width:0;font-size:12.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-n b{color:var(--text);font-weight:600}.fd-s{flex:none;width:46px;text-align:right;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.fd-r .icon-btn{width:24px;height:24px}.rp-box{padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.rp-row{display:flex;flex-wrap:wrap;gap:8px}.rp-b{display:inline-flex;align-items:center;gap:7px;max-width:100%;height:30px;padding:0 12px 0 10px;font-family:inherit;font-size:12.5px;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:background .12s ease,border-color .12s ease}.rp-b:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.rp-b:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.rp-b svg{color:var(--text-muted);flex:none}.rp-b.is-open{font-weight:600;background:var(--surface-subtle);border-color:var(--border-strong)}.rp-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-gone{display:flex;align-items:flex-start;gap:9px}.rp-gone svg{color:var(--text-muted);flex:none;margin-top:1px}.rp-view{margin-top:14px;padding-top:12px;border-top:1px solid var(--border-subtle)}.rp-head{display:flex;align-items:center;gap:10px;margin-bottom:9px}.rp-title{font-size:13px;font-weight:600}.rp-text{font-family:var(--font-mono);font-size:12.5px;line-height:1.65;color:var(--text);background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:12px 14px;max-height:300px;overflow:auto;white-space:pre-wrap;word-break:break-word}@media (max-width: 1024px){.fd-cols--flat{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.fd-cols{grid-template-columns:minmax(0,1fr)!important;padding:4px 10px 10px}.fd-cols--flat{padding:6px 10px 10px}.fd-col{padding:0;border-right:none}.fd-col+.fd-col .fd-h{margin:4px -10px 0;padding-left:14px;padding-right:14px;border-top:1px solid var(--border-subtle)}.fd-top{flex-wrap:wrap;row-gap:8px}.fd-all{width:100%}.rp-box{padding:10px 12px}.rp-row{flex-direction:column;align-items:stretch}.rp-b{justify-content:flex-start}.gz-logline{grid-template-columns:62px minmax(0,1fr);padding:0 14px}.gz-logline__n{display:none}.r-jobhead .btn{flex:1}}.mg-crumb{font-size:12.5px;color:var(--text-muted)}.mg-crumb a{color:var(--blue);text-decoration:none}.mg-crumb a:hover{text-decoration:underline}.jb-warning{overflow-wrap:anywhere}.jb-warning+.jb-warning{margin-top:3px}.jb-warning.is-clamped{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jb-banner-toggle{flex:none;padding:0;border:none;background:none;cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:2px}
