:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-base:#0e0e10;--surface-raised:#161618;--surface-overlay:#1c1c1f;--surface-inset:#111113;--surface-hover:#202024;--text-primary:#f2f2f3;--text-secondary:#a4a4ad;--text-muted:#7a7a85;--text-inverted:#0e0e10;--border-subtle:#242427;--border-default:#303035;--border-strong:#44444b;--accent:#238636;--accent-hover:#2ea043;--accent-muted:#12291a;--accent-text:#fff;--accent-glow:color-mix(in oklab, var(--accent) 42%, transparent);--accent-ring:color-mix(in oklab, var(--accent) 55%, transparent);--success:#3fb950;--success-bg:#10251a;--success-border:#1c4a2b;--warning:#d29922;--warning-bg:#2a1f0a;--warning-border:#57420f;--danger:#f85149;--danger-bg:#2a1315;--danger-border:#5c2326;--info:#58a6ff;--info-bg:#0e1c30;--info-border:#1c3a5c;--neutral:#8b8b95;--neutral-bg:#1a1a1d;--neutral-border:#303035;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-full:9999px;--edge-highlight:inset 0 1px 0 #ffffff0a;--shadow-sm:var(--edge-highlight), 0 1px 2px #0006;--shadow-md:var(--edge-highlight), 0 4px 12px #0006;--shadow-lg:var(--edge-highlight), 0 16px 40px #00000080;--control-sm:1.75rem;--control-md:2rem;--control-lg:2.5rem;--sidebar-width:15rem}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-base:#fff;--surface-raised:#f6f6f7;--surface-overlay:#fff;--surface-inset:#f1f1f3;--surface-hover:#ebebee;--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#71717a;--text-inverted:#fff;--border-subtle:#e4e4e7;--border-default:#d4d4d8;--border-strong:#a1a1aa;--accent:#1f883d;--accent-hover:#1a7f37;--accent-muted:#dafbe1;--accent-text:#fff;--accent-glow:color-mix(in oklab, var(--accent) 26%, transparent);--accent-ring:color-mix(in oklab, var(--accent) 45%, transparent);--success:#1a7f37;--success-bg:#e8f6ec;--success-border:#b5e3c1;--warning:#9a6700;--warning-bg:#fdf5e3;--warning-border:#ecd7a3;--danger:#cf222e;--danger-bg:#fdecee;--danger-border:#f3c2c7;--info:#0969da;--info-bg:#e8f1fd;--info-border:#bcd8f8;--neutral:#6a737d;--neutral-bg:#f2f4f7;--neutral-border:#d5d9e0;--edge-highlight:inset 0 1px 0 #fff0;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 12px #10182814;--shadow-lg:0 12px 32px #1018281f}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-base:#fff;--surface-raised:#f6f6f7;--surface-overlay:#fff;--surface-inset:#f1f1f3;--surface-hover:#ebebee;--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#71717a;--text-inverted:#fff;--border-subtle:#e4e4e7;--border-default:#d4d4d8;--border-strong:#a1a1aa;--accent:#1f883d;--accent-hover:#1a7f37;--accent-muted:#dafbe1;--accent-text:#fff;--accent-glow:color-mix(in oklab, var(--accent) 26%, transparent);--accent-ring:color-mix(in oklab, var(--accent) 45%, transparent);--success:#1a7f37;--success-bg:#e8f6ec;--success-border:#b5e3c1;--warning:#9a6700;--warning-bg:#fdf5e3;--warning-border:#ecd7a3;--danger:#cf222e;--danger-bg:#fdecee;--danger-border:#f3c2c7;--info:#0969da;--info-bg:#e8f1fd;--info-border:#bcd8f8;--neutral:#6a737d;--neutral-bg:#f2f4f7;--neutral-border:#d5d9e0;--edge-highlight:inset 0 1px 0 #fff0;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 12px #10182814;--shadow-lg:0 12px 32px #1018281f}*,:before,:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}body{background:var(--surface-base);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:.875rem;line-height:1.55}::selection{background:var(--accent-glow)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:inherit;text-decoration:none;transition:color .15s}p a,li a,dd a,.stub a,.hint a{color:var(--text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}p a:hover,li a:hover,dd a:hover,.stub a:hover,.hint a:hover{color:var(--accent-hover);text-decoration-color:currentColor}code{font-family:var(--font-mono);color:var(--text-secondary);font-size:.85em}p code,li code,.stub code{border-radius:var(--radius-sm);background:var(--surface-hover);border:1px solid var(--border-subtle);padding:.1em .35em}a code{color:inherit}h1,h2,h3{letter-spacing:-.01em}button{font:inherit;font-size:var(--text-sm);min-height:var(--control-md);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-sm);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.3125rem .75rem;font-weight:500;line-height:1.25;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}button:where(:hover:not(:disabled)){background:var(--surface-hover);border-color:var(--border-strong)}button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.6);box-shadow:none}button .count{opacity:.75;font-weight:400}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger)}button.danger-ghost{box-shadow:none;color:var(--danger);background:0 0;border-color:#0000}button.danger-ghost:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger-border)}button.ghost{box-shadow:none;color:var(--text-secondary);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary);border-color:#0000}.link-button{min-height:0;box-shadow:none;font-size:var(--text-xs);color:var(--text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;background:0 0;border:none;padding:0;font-weight:400}.link-button:hover:not(:disabled){color:var(--accent-hover);background:0 0;text-decoration-color:currentColor}a.button{min-height:var(--control-md);border-radius:var(--radius-md);font-size:var(--text-sm);justify-content:center;align-items:center;gap:.5rem;padding:.3125rem .75rem;font-weight:500;line-height:1.25;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}a.button.ghost{color:var(--text-secondary)}a.button.ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.back-link{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:.5rem;display:inline-flex}.back-link:hover{color:var(--text-primary)}.menu{display:inline-flex;position:relative}.menu-list{z-index:20;background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:13rem;box-shadow:var(--shadow-md);text-align:left;padding:.25rem;position:absolute;top:calc(100% + 4px);left:0}.menu-list.align-end{left:auto;right:0}.menu-list a{border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;padding:.4375rem .625rem;display:block}.menu-list a:hover,.menu-list a:focus-visible{background:var(--surface-hover)}.menu-label{display:block}.menu-hint{font-size:var(--text-xs);color:var(--text-muted);display:block}input,select,textarea{font:inherit;color:var(--text-primary);font-size:.875rem}input:where(:not([type=checkbox],[type=radio])),select,textarea{border:1px solid var(--border-default);border-radius:var(--radius-md);background-color:var(--surface-inset);width:100%;transition:border-color .15s,box-shadow .2s}input:where(:not([type=checkbox],[type=radio])),select{height:var(--control-lg);padding:0 .75rem}textarea{resize:vertical;padding:.625rem .75rem;line-height:1.5}::placeholder{color:var(--text-muted)}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23858590' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.25rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0}input.tiny{width:70px}.field input.invalid{border-color:var(--danger)}.field{margin-bottom:1rem}.field label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:.375rem;font-weight:500;line-height:1.25rem;display:block}.field .req{color:var(--danger)}.field .count{float:right;color:var(--text-muted);font-weight:400;font-size:var(--text-xs)}.hint{font-size:var(--text-xs);color:var(--text-muted);margin:.375rem 0 0;line-height:1.5}.field-error{font-size:var(--text-xs);color:var(--danger);margin:.375rem 0 0}label.check{color:var(--text-primary);cursor:pointer;align-items:center;gap:.5rem;margin:0;padding:.5rem 0;font-size:.875rem;font-weight:400;display:flex}.checkbox{cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.row{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}fieldset{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin:1.25rem 0 0;padding:1rem 1.25rem .25rem}.format-fields{margin-bottom:1rem}.format-grid{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:0 1rem;display:grid}.format-grid label{align-items:flex-end;min-height:2.6em;display:flex}.format-grid input{max-width:6rem}.format-cell{white-space:nowrap;font-size:var(--text-sm)}.format-questions{font-size:var(--text-sm);color:var(--text-secondary);margin:.25rem 0 .75rem;padding-left:1.25rem}legend{font-size:var(--text-sm);color:var(--text-primary);padding:0 .5rem;font-weight:600}.form-actions{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:.5rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.form-actions button{min-height:var(--control-lg);padding:0 1rem;font-size:.875rem}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 1.25rem;display:grid}.error{border-radius:var(--radius-md);background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);font-size:var(--text-sm);margin:0 0 1rem;padding:.625rem .75rem}p.warning{border-radius:var(--radius-md);background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning);font-size:var(--text-sm);margin:0 0 1rem;padding:.625rem .75rem}.row-error{font-size:var(--text-xs);color:var(--danger);max-width:46ch;margin-top:.25rem}.row-warning{font-size:var(--text-xs);color:var(--warning);max-width:46ch;margin-top:.25rem}.row-warning ul{margin:4px 0 0;padding-left:18px}.row-ok{font-size:var(--text-xs);color:var(--success);margin-top:.25rem}.warn-inline{color:var(--warning)}.muted{color:var(--text-muted)}.muted.mono,.mono{font-family:var(--font-mono);font-size:.6875rem}.small{font-size:.6875rem}.stub{border:1px dashed var(--border-default);border-radius:var(--radius-lg);color:var(--text-secondary);margin-top:1rem;padding:1.25rem 1.5rem;font-size:.875rem}.center-note{min-height:100vh;color:var(--text-muted);place-items:center;display:grid}.login-wrap{flex:1;place-items:center;padding:3rem 1rem;display:grid}.login-card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-md);padding:2rem}.login-card .brand-mark{width:2.75rem;height:2.75rem;margin-bottom:1.25rem}.login-card h1{font-size:var(--text-xl);margin:0 0 .25rem;font-weight:600}.login-card p.sub{color:var(--text-muted);margin:0 0 1.5rem;font-size:.875rem}.login-card button[type=submit]{width:100%;min-height:var(--control-lg);margin-top:.5rem;font-size:.875rem}.app{flex-direction:column;height:100dvh;display:flex}.app.app-plain{height:auto;min-height:100vh}.env-badge{min-width:0;font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:.5rem;padding:.25rem .375rem;line-height:1.3;display:flex}.env-badge:before{content:"";background:var(--neutral);border-radius:50%;flex-shrink:0;width:.375rem;height:.375rem}.env-name{color:var(--text-secondary);flex-shrink:0}.env-build{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.6875rem;overflow:hidden}.env-stage:before{background:var(--warning)}.env-prod:before{background:var(--success)}.login-card .env-badge{margin-top:1rem;padding:0}.shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);flex:1;min-height:0;display:grid}.sidebar{background:var(--surface-inset);border-right:1px solid var(--border-subtle);flex-direction:column;gap:1.25rem;min-height:0;padding:.75rem;display:flex;overflow-y:auto}.brand{min-height:var(--control-lg);border-radius:var(--radius-md);color:var(--text-primary);align-items:center;gap:.625rem;padding:0 .375rem;font-weight:600;display:flex}.brand-version{font-weight:400;font-size:var(--text-xs);color:var(--text-muted)}.brand-mark{flex-shrink:0;width:1.75rem;height:1.75rem;display:flex}.brand-svg{width:100%;height:100%;display:block}.brand-svg.live .brand-caret{animation:1.1s step-end infinite brand-caret-blink}@keyframes brand-caret-blink{50%{opacity:0}}.nav{flex-direction:column;gap:1.25rem;display:flex}.nav-group{flex-direction:column;gap:1px;display:flex}.nav-title{font-size:var(--text-xs);color:var(--text-muted);padding:0 .625rem .375rem;font-weight:500}.nav a{min-height:var(--control-md);border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:.625rem;padding:0 .625rem;transition:background-color .15s,color .15s;display:flex}.nav a:hover{background:var(--surface-hover);color:var(--text-primary)}.nav a.active{background:var(--surface-hover);color:var(--text-primary);font-weight:500}.icon{flex-shrink:0;width:1rem;height:1rem}.nav .icon{color:var(--text-muted);transition:color .15s}.nav a:hover .icon{color:var(--text-secondary)}.nav a.active .icon{color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border-subtle);flex-direction:column;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.user-card{align-items:center;gap:.625rem;min-width:0;padding:.25rem .375rem;display:flex}.avatar{border:1px solid var(--border-default);background:var(--surface-hover);width:1.75rem;height:1.75rem;color:var(--text-secondary);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.6875rem;font-weight:600;display:flex}.user-meta{flex-direction:column;min-width:0;line-height:1.3;display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:500;overflow:hidden}.user-role{font-size:var(--text-xs);color:var(--text-muted)}.sidebar-actions{grid-template-columns:1fr 1fr;gap:.25rem;display:grid}.sidebar-actions a,.sidebar-actions button{min-height:var(--control-md);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary);justify-content:flex-start;align-items:center;gap:.5rem;padding:0 .625rem;font-weight:400;display:inline-flex}.sidebar-actions a:hover,.sidebar-actions a.active{background:var(--surface-hover);color:var(--text-primary)}.theme-switch{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-base);grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;display:grid}.theme-switch button{min-height:var(--control-sm);border-radius:calc(var(--radius-md) - 2px);box-shadow:none;color:var(--text-muted);background:0 0;border:none;padding:0}.theme-switch button:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.theme-switch button[aria-pressed=true]{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-sm)}.content{min-width:0;overflow-y:auto}.content-inner{max-width:1360px;margin:0 auto;padding:2rem 2.5rem 4rem}.content h1{font-size:var(--text-2xl);letter-spacing:-.02em;margin:0 0 .25rem;font-weight:600;line-height:2rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-head>div:first-child{flex:24rem;min-width:0}.page-head>:last-child:not(:first-child){flex:none}.page-head h1{margin:0 0 .25rem}.page-head .sub{color:var(--text-muted);margin:0;font-size:.875rem}.head-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.head-actions select{width:auto;height:var(--control-md);font-size:var(--text-sm)}.toolbar{font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:.625rem;margin-bottom:1rem;display:flex}.toolbar.wrap{flex-wrap:wrap}.toolbar input:where(:not([type=checkbox],[type=radio])),.toolbar select{height:var(--control-md);font-size:var(--text-sm)}.toolbar select{width:auto;min-width:180px}.toolbar input.search{width:260px}.panel{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:1.5rem;padding:1.25rem 1.5rem}.panel h2{font-size:var(--text-base);margin:0 0 1rem;font-weight:600}.panel>h2:first-child{border-bottom:1px solid var(--border-subtle);margin:-1.25rem -1.5rem 1.25rem;padding:.875rem 1.5rem}.panel>h2:first-child+.hint{font-size:var(--text-sm);margin:-.25rem 0 1rem}.panel h3{margin:1.5rem 0 .5rem;font-size:.875rem;font-weight:600}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:.5rem;display:grid}.tile{border-radius:var(--radius-lg);background:var(--surface-raised);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);flex-direction:column;gap:.375rem;padding:1rem 1.125rem;display:flex}.panel .tile{background:var(--surface-inset);box-shadow:none}.tile-label{font-size:var(--text-sm);color:var(--text-secondary);order:-1}.tile-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.625rem;font-weight:600;line-height:2rem}.tile-label .warn{color:var(--warning);font-weight:600}.tile-label .bad{color:var(--danger);font-weight:600}table.grid{border-collapse:separate;border-spacing:0;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);font-size:var(--text-sm);overflow:hidden}.panel table.grid{border-radius:var(--radius-md);box-shadow:none;background:0 0}table.grid th,table.grid td{text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:.625rem .875rem}table.grid thead th{border-bottom-color:var(--border-default);color:var(--text-muted);font-weight:500;font-size:var(--text-xs);white-space:nowrap;padding-top:.5rem;padding-bottom:.5rem}table.grid tbody tr:last-child td{border-bottom:none}table.grid tbody tr{transition:background-color .12s}table.grid tbody tr:hover{background:var(--surface-hover)}table.grid td a{color:var(--text-primary);font-weight:500}table.grid td a:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}table.grid code{font-size:var(--text-xs);white-space:nowrap}table.grid .num{text-align:right;font-variant-numeric:tabular-nums}table.grid td.wide{min-width:22rem}table.grid td.actions{text-align:right;white-space:nowrap}table.grid td.actions button,table.grid td.actions a.button{min-height:var(--control-sm);font-size:var(--text-xs);margin-left:.375rem;padding:.1875rem .625rem}tr.log-row td{background:var(--surface-inset);padding:0 .875rem .875rem}table.grid tbody tr.log-row:hover{background:var(--surface-inset)}tr.inherited td:not(.actions){opacity:.62}tr.row-good td{background:var(--success-bg)}.table-scroll{overflow-x:auto}.pager{font-size:var(--text-sm);color:var(--text-secondary);justify-content:center;align-items:center;gap:.875rem;margin-top:1rem;display:flex}.badge{border-radius:var(--radius-full);border:1px solid var(--neutral-border);background:var(--neutral-bg);height:1.25rem;color:var(--neutral);font-size:var(--text-xs);white-space:nowrap;vertical-align:middle;align-items:center;gap:.375rem;padding:0 .5rem;font-weight:500;line-height:1;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:.375rem;height:.375rem}.badge.active,.badge.status-active,.badge.status-done,.badge.status-ok,.badge.status-delivered{color:var(--success);border-color:var(--success-border);background:var(--success-bg)}.badge.status-running,.badge.status-in_process{color:var(--info);border-color:var(--info-border);background:var(--info-bg)}.badge.status-running:before,.badge.status-in_process:before{animation:1.8s ease-in-out infinite dot-breathe}@keyframes dot-breathe{0%,to{opacity:1}50%{opacity:.35}}.badge.status-partial,.badge.override{color:var(--warning);border-color:var(--warning-border);background:var(--warning-bg)}.badge.status-failed,.badge.status-error,.badge.failed{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}.badge.status-skipped,.badge.status-cancelled{opacity:.75}.badge.images-missing{color:var(--warning);border-color:var(--warning-border);background:var(--warning-bg);margin-left:.375rem}.badge.status-on_site{color:var(--info);border-color:var(--info-border);background:var(--info-bg)}.badge.added{color:var(--info);border-color:var(--info-border);background:var(--info-bg);margin-bottom:.25rem}.tag-input{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-inset);flex-wrap:wrap;gap:.375rem;padding:.375rem;transition:border-color .15s,box-shadow .2s;display:flex}.tag-input.invalid{border-color:var(--danger)}.tag-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.tag-input input{background:0 0;border:none;flex:140px;min-width:140px;height:1.625rem;padding:0 .375rem}.tag-input input:focus{box-shadow:none;outline:none}.chip{border-radius:var(--radius-sm);background:var(--surface-hover);border:1px solid var(--border-subtle);height:1.625rem;font-size:var(--text-xs);align-items:center;gap:.375rem;padding:0 .25rem 0 .5rem;display:inline-flex}.chip button{min-height:0;box-shadow:none;color:var(--text-muted);background:0 0;border:none;padding:0 .25rem;font-size:.875rem;line-height:1}.chip button:hover:not(:disabled){color:var(--danger);background:0 0}.modal-backdrop{z-index:10;background:#0009;place-items:center;padding:1.5rem;animation:.15s ease-out fade-in;display:grid;position:fixed;inset:0}.modal{background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:100%;max-width:460px;box-shadow:var(--shadow-lg);animation:.18s ease-out rise-in;overflow:hidden}.modal h2{border-bottom:1px solid var(--border-subtle);font-size:var(--text-base);margin:0;padding:.875rem 1.25rem;font-weight:600}.modal-body{padding:1rem 1.25rem}.modal-body p{font-size:var(--text-sm);margin:0 0 .5rem;line-height:1.55}.modal-body>:last-child{margin-bottom:0}.modal .error{margin:0 1.25rem 1rem}.modal-actions{border-top:1px solid var(--border-subtle);background:var(--surface-raised);justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(.5rem)}}.tabs{border-bottom:1px solid var(--border-subtle);gap:.25rem;margin-top:1.5rem;display:flex;overflow-x:auto}button.tab{min-height:0;box-shadow:none;color:var(--text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:.5rem .75rem .625rem;font-size:.875rem;font-weight:400}button.tab:hover:not(:disabled){color:var(--text-primary);border-bottom-color:var(--border-strong);background:0 0}button.tab.active,button.tab.active:hover:not(:disabled){color:var(--text-primary);border-bottom-color:var(--accent);font-weight:500}.tabs+.panel{margin-top:1rem}.tabs.plan-mode{margin-top:0}.plan-mode-hint{font-size:var(--text-sm);margin:.75rem 0 1rem}.keyword-file,.file-pick{margin-top:.375rem}.keyword-file input[type=file],.file-pick input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}dl.kv{font-size:var(--text-sm);grid-template-columns:180px 1fr;gap:.5rem 1rem;margin:0 0 1rem;display:grid}dl.kv dt{color:var(--text-muted)}dl.kv dd{margin:0}pre.json,pre.step-log{border-radius:var(--radius-md);background:var(--surface-inset);border:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word;max-height:420px;margin:0;padding:.75rem .875rem;line-height:1.6;overflow-x:auto}.budget{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.meter-head{font-size:var(--text-sm);font-variant-numeric:tabular-nums;justify-content:space-between;margin-bottom:.375rem;display:flex}.meter-track{border-radius:var(--radius-full);background:var(--surface-hover);height:6px;overflow:hidden}.meter-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .3s}.meter-fill.hot{background:var(--danger)}iframe.preview{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#fff;width:100%;height:60vh;min-height:380px}.image-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.image-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-inset);margin:0;overflow:hidden}.image-card img{object-fit:cover;background:var(--surface-hover);width:100%;height:170px;display:block}.image-card figcaption{font-size:var(--text-sm);gap:3px;padding:.625rem .75rem;line-height:1.5;display:grid}.qa-attempt{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-inset);margin-bottom:.875rem;padding:.875rem 1rem}.qa-attempt h3{margin:0 0 .25rem;font-size:.9375rem}.qa-attempt .ok{color:var(--success)}.qa-attempt .bad{color:var(--danger)}.qa-problems{gap:.625rem;margin:.5rem 0 0;padding-left:18px;display:grid}.qa-problems blockquote{border-left:3px solid var(--border-default);color:var(--text-secondary);font-size:var(--text-sm);margin:.25rem 0 0;padding:.375rem .625rem}.qa-fix{border-top:1px dashed var(--border-default);font-size:var(--text-sm);margin-top:.625rem;padding-top:.625rem}.qa-fix ul{color:var(--text-secondary);margin:.375rem 0 0;padding-left:18px}.qa-diff{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem;display:grid}@media (width<=900px){.qa-diff{grid-template-columns:1fr}}.qa-diff-side{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-raised);padding:.375rem .625rem}.qa-diff-before{border-left:3px solid var(--danger)}.qa-diff-after{border-left:3px solid var(--success)}.qa-diff-side p,.qa-insert p{white-space:pre-wrap;margin:.25rem 0 0}.qa-diff-label{color:var(--text-muted);font-size:.6875rem;font-weight:500}.qa-insert{border:1px solid var(--border-subtle);border-left:3px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);margin-top:.5rem;padding:.375rem .625rem}.qa-insert-off{border-left-color:var(--warning)}.qa-insert .warn{color:var(--warning)}.funnel{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.625rem;display:grid}.funnel-stage{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-inset);align-items:baseline;gap:.625rem;padding:.5rem .75rem;display:flex}.funnel-value{text-align:right;min-width:40px;font-size:var(--text-xl);font-variant-numeric:tabular-nums;font-weight:600}.funnel-label{font-size:var(--text-sm);color:var(--text-secondary)}.off-limits-preview{font-size:var(--text-xs);margin:.25rem 0 .5rem;padding-left:2px}.off-limits-preview ul{margin:2px 0 0;padding-left:18px}.off-limits-preview li{margin-bottom:.25rem}.field.inherit{border-left:2px solid var(--border-default);padding-left:.625rem}.inherit-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.inherit-label{font-size:var(--text-sm);color:var(--text-primary)}.inherit-value{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.inherit-value.pre{white-space:pre-wrap}.usage-list{font-size:var(--text-xs);margin:.375rem 0 0;padding-left:16px}.combobox,.combobox-shell{position:relative}.combobox-list{z-index:20;background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);max-height:280px;box-shadow:var(--shadow-lg);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combobox-list li{border-radius:var(--radius-sm);cursor:pointer;padding:.375rem .5rem}.combobox-list li.active{background:var(--surface-hover)}.combobox-list li.chosen .combobox-label{color:var(--accent-hover);font-weight:500}.combobox-label{display:block}.combobox-secondary{color:var(--text-muted);font-size:.6875rem;font-family:var(--font-mono);display:block}.combobox-warning{color:var(--warning);font-size:.6875rem;display:block}.combobox-empty{font-size:var(--text-xs);color:var(--text-muted);padding:.5rem}.combobox-code{color:var(--text-muted);margin:.3125rem 0 0;font-size:.6875rem}.combobox-code code{color:var(--text-primary);font-size:.6875rem}.calibration{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-inset);margin:.875rem 0 .25rem;padding:.875rem 1rem}.calibration-head{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.calibration .panel{box-shadow:none;margin-top:.875rem;padding:.875rem 1rem}.calibration .panel>h2:first-child{margin:-.875rem -1rem .875rem;padding:.75rem 1rem}.calibration-apply{flex-wrap:wrap;align-items:center;gap:.625rem;margin-top:.875rem;display:flex}.calibration-apply label{font-size:var(--text-sm);color:var(--text-secondary);margin:0;font-weight:500}.calibration-apply input{width:110px}.issued-password{font-family:var(--font-mono);letter-spacing:.06em;border:1px dashed var(--accent);border-radius:var(--radius-md);background:var(--surface-inset);-webkit-user-select:all;user-select:all;padding:.625rem .875rem;font-size:1.125rem;display:inline-block}@media (width<=860px){.app{height:auto;min-height:100vh}.shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}table.grid{display:block;overflow-x:auto}.theme-switch{display:none}.toolbar{flex-wrap:wrap}.toolbar input.search{width:100%}.sidebar{z-index:5;border-right:none;border-bottom:1px solid var(--border-subtle);flex-flow:wrap;align-items:center;gap:.5rem;padding:.5rem 1rem;position:sticky;top:0;overflow:visible}.nav{flex-direction:row;order:3;gap:.25rem;width:100%;overflow-x:auto}.nav-group{flex-direction:row;gap:.25rem}.nav-title,.user-meta{display:none}.nav a{white-space:nowrap}.sidebar-footer{border-top:none;flex-direction:row;align-items:center;margin:0 0 0 auto;padding-top:0}.user-card{padding:0}.sidebar .env-build,.sidebar-actions a span,.sidebar-actions button span{display:none}.content{overflow:visible}.content-inner{padding:1.5rem 1rem 3rem}.row{grid-template-columns:1fr}dl.kv{grid-template-columns:1fr;gap:.125rem 0}dl.kv dd{margin-bottom:.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
