:root{--primary:#4a9eff;--primary-hover:#3a8eef;--success:#27ae60;--warning:#f39c12;--danger:#e74c3c;--info:#3498db;--bg:#1a1a1a;--surface:#2d2d2d;--surface-hover:#353535;--border:#404040;--text:#e0e0e0;--text-muted:#a0a0a0;--font:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--input-bg:#1f1f1f;--input-border:#404040;--input-focus-ring:#3490db40;--radius-card:10px;--radius-btn:8px;--radius-input:8px;--radius-badge:20px;--shadow:0 4px 6px #0000004d;--shadow-lg:0 8px 24px #0006;--transition:.2s ease;--transition-card:transform .3s ease, background-color .3s ease;--z-toast:300;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--navbar-height:60px;--sidebar-width:240px;--sidebar-width-collapsed:64px;--sidebar-current-width:var(--sidebar-width);--text-xs:.72rem;--text-sm:.8125rem;--text-md:.875rem;--text-base:.95rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--lh-tight:1.2;--lh-normal:1.45;--lh-relaxed:1.6;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--icon-xs:12px;--icon-sm:14px;--icon-md:16px;--icon-lg:20px;--icon-xl:24px;--bg-hover:#ffffff0a;--bg-active:#ffffff12;--bg-selected:#4a9eff1a;--bg-selected-strong:#4a9eff2e;--border-subtle:#ffffff0f;--border-strong:#ffffff24;--text-tertiary:silver;--opacity-disabled:.45;--opacity-hover-icon:.85;--row-xs:24px;--row-sm:28px;--row-md:32px;--row-lg:40px;--space-2xs:.125rem;--bg-sidebar:#131313;--bg-drawer:#171a21;--tree-guide:#ffffff0f;--tree-guide-strong:#ffffff1a}body.sidebar-collapsed{--sidebar-current-width:var(--sidebar-width-collapsed)}@media (width<=768px){:root{--sidebar-current-width:var(--sidebar-width-collapsed)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}body{font-family:var(--font);background-color:var(--bg);color:var(--text);min-height:100vh}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:var(--text);line-height:1.3}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}p{color:var(--text);line-height:1.6}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.page-content{padding:var(--space-lg);margin-top:var(--navbar-height);margin-left:var(--sidebar-current-width);transition:margin-left var(--transition);flex:1;min-width:0}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.icon-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition), background-color var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover:not(:disabled){color:var(--text);background-color:var(--bg-hover)}.icon-btn:focus-visible{border-color:var(--primary);box-shadow:0 0 0 2px var(--input-focus-ring);outline:none}.icon-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.icon-btn--sm{width:22px;height:22px}.icon-btn--md{width:28px;height:28px}.icon-btn--danger:hover:not(:disabled){color:var(--danger);background-color:#e74c3c14}.icon-btn--primary{color:var(--primary)}.icon-btn--primary:hover:not(:disabled),.icon-btn--active{color:var(--primary);background-color:var(--bg-selected)}.icon-btn--active:hover:not(:disabled){background-color:var(--bg-selected-strong)}.qh-confirm__overlay{padding:var(--space-md);z-index:280;background-color:#0000008c;justify-content:center;align-items:center;animation:.14s ease-out qh-confirm-overlay-in;display:flex;position:fixed;inset:0}@keyframes qh-confirm-overlay-in{0%{opacity:0}to{opacity:1}}.qh-confirm{background-color:var(--bg-drawer);border-radius:var(--radius-card);border:1px solid #ffffff1a;flex-direction:column;width:100%;max-width:440px;animation:.18s cubic-bezier(.2,.8,.2,1) qh-confirm-in;display:flex;box-shadow:0 24px 48px #00000080,0 4px 12px #0000004d}@keyframes qh-confirm-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.qh-confirm__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-subtle);display:flex}.qh-confirm__heading{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.qh-confirm__icon{width:28px;height:28px;color:var(--warning);background-color:#f39c121f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.qh-confirm__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-tight);word-wrap:break-word}.qh-confirm__body{padding:var(--space-md) var(--space-lg)}.qh-confirm__description{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--lh-normal)}.qh-confirm__footer{justify-content:flex-end;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg) var(--space-md);display:flex}.qh-confirm__btn{border-radius:var(--radius-btn);font-size:var(--text-sm);font-weight:var(--fw-semibold);font-family:var(--font);cursor:pointer;transition:background-color var(--transition), border-color var(--transition), color var(--transition);border:1px solid #0000;align-items:center;gap:6px;padding:8px 16px;display:inline-flex}.qh-confirm__btn--ghost{color:var(--text-muted);background:0 0}.qh-confirm__btn--ghost:hover{background-color:var(--bg-hover);color:var(--text)}.qh-confirm__btn--ghost:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.qh-confirm__btn--default{background-color:var(--primary);border-color:var(--primary);color:#fff}.qh-confirm__btn--default:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.qh-confirm__btn--default:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.qh-confirm__btn--danger{background-color:var(--danger);border-color:var(--danger);color:#fff}.qh-confirm__btn--danger:hover{background-color:#c0392b;border-color:#c0392b}.qh-confirm__btn--danger:focus-visible{outline:2px solid var(--danger);outline-offset:2px}@media (width<=600px){.qh-confirm{max-width:100%}.qh-confirm__footer{flex-direction:column-reverse}.qh-confirm__btn{justify-content:center;width:100%}}.qh-toast-viewport{bottom:var(--space-lg);right:var(--space-lg);gap:var(--space-sm);z-index:var(--z-toast);width:360px;max-width:calc(100vw - 2 * var(--space-md));pointer-events:none;flex-direction:column-reverse;margin:0;padding:0;list-style:none;display:flex;position:fixed}.qh-toast-viewport>*{pointer-events:auto}@media (width<=600px){.qh-toast-viewport{top:var(--space-md);bottom:auto;left:var(--space-md);right:var(--space-md);flex-direction:column;width:auto}}.qh-toast{align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background-color:var(--bg-drawer);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);color:var(--text);font-size:var(--text-sm);animation:.16s cubic-bezier(.2,.8,.2,1) qh-toast-in;display:flex;position:relative;overflow:hidden}.qh-toast:before{content:"";opacity:.7;background-color:currentColor;width:3px;position:absolute;inset:0 auto 0 0}.qh-toast--success{color:var(--success);border-color:#27ae6033}.qh-toast--error{color:var(--danger);border-color:#e74c3c33}.qh-toast--warning{color:var(--warning);border-color:#f39c1233}.qh-toast--info{color:var(--info);border-color:#3498db33}.qh-toast__icon{color:currentColor;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.qh-toast--success .qh-toast__icon{background-color:#27ae601f}.qh-toast--error .qh-toast__icon{background-color:#e74c3c1f}.qh-toast--warning .qh-toast__icon{background-color:#f39c121f}.qh-toast--info .qh-toast__icon{background-color:#3498db1f}.qh-toast__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.qh-toast__title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-tight);letter-spacing:-.005em;word-wrap:break-word}.qh-toast__description{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--lh-normal);word-wrap:break-word}.qh-toast__action{color:currentColor;font-family:var(--font);font-size:var(--text-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-btn);cursor:pointer;transition:background-color var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;align-self:flex-start;margin-top:2px;padding:4px 10px}.qh-toast__action:hover{border-color:var(--border-subtle);background-color:#ffffff0a}.qh-toast__action:focus-visible{outline-offset:2px;outline:2px solid}.qh-toast__close{width:22px;height:22px;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition), color var(--transition);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-top:-2px;margin-right:-4px;display:inline-flex}.qh-toast__close:hover{background-color:var(--bg-hover);color:var(--text)}.qh-toast__close:focus-visible{outline:2px solid var(--primary);outline-offset:1px}@keyframes qh-toast-in{0%{opacity:0;transform:translate(16px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}.qh-toast--leaving{pointer-events:none;animation:.18s ease-in forwards qh-toast-out}@keyframes qh-toast-out{0%{opacity:1;max-height:200px;margin-bottom:0;transform:translate(0)scale(1)}to{opacity:0;max-height:0;margin-bottom:calc(var(--space-sm) * -1);border-top-width:0;border-bottom-width:0;padding-top:0;padding-bottom:0;transform:translate(16px)scale(.96)}}@media (prefers-reduced-motion:reduce){.qh-toast{animation:.12s ease-out qh-toast-fade-in}.qh-toast--leaving{animation:.12s ease-out forwards qh-toast-fade-out}@keyframes qh-toast-fade-in{0%{opacity:0}to{opacity:1}}@keyframes qh-toast-fade-out{0%{opacity:1}to{opacity:0}}}.btn{border-radius:var(--radius-btn);cursor:pointer;transition:background-color var(--transition), opacity var(--transition), transform var(--transition);white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 3px var(--input-focus-ring)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background-color:var(--primary);color:#fff}.btn--primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn--secondary{background-color:var(--surface-hover);color:var(--text);border:1px solid var(--border)}.btn--secondary:hover:not(:disabled){background-color:var(--border)}.btn--danger{background-color:var(--danger);color:#fff}.btn--danger:hover:not(:disabled){background-color:#c0392b}.btn--ghost{color:var(--text-muted);background-color:#0000;border:1px solid #0000}.btn--ghost:hover:not(:disabled){color:var(--text);background-color:var(--surface-hover)}.btn--sm{padding:.4rem .9rem;font-size:.85rem}.btn--full{width:100%}.btn__spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}.input-wrapper{flex-direction:column;gap:.35rem;display:flex}.input-label{color:var(--text);font-size:.875rem;font-weight:600}.input-field{align-items:center;display:flex;position:relative}.input-field__icon{color:var(--text-muted);pointer-events:none;flex-shrink:0;align-items:center;display:flex;position:absolute;left:.85rem}.input-field__action{color:var(--text-muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;align-items:center;padding:0;line-height:0;display:flex;position:absolute;right:.85rem}.input-field__action:hover{color:var(--text)}.input-field input{background-color:var(--input-bg);border:2px solid var(--input-border);border-radius:var(--radius-input);width:100%;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.7rem 1rem}.input-field--has-icon input{padding-left:2.6rem}.input-field--has-action input{padding-right:2.6rem}.input-field--sm input{font-size:var(--text-sm);border-width:1px;padding:.4rem .85rem}.input-field--sm.input-field--has-icon input{padding-left:2.2rem}.input-field--sm.input-field--has-action input{padding-right:2.2rem}.input-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--input-focus-ring)}.input-field input::placeholder{color:var(--text-muted)}.input-field input:disabled{opacity:.55;cursor:not-allowed}.input-field--error input{border-color:var(--danger)}.input-field--error input:focus{box-shadow:0 0 0 3px #e74c3c40}.input-error{color:var(--danger);font-size:.8rem}.login-page{background-color:var(--bg);min-height:100vh;padding:var(--space-lg);justify-content:center;align-items:center;display:flex}.login-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);width:100%;max-width:420px;box-shadow:var(--shadow-lg);overflow:hidden}.login-card__header{padding:var(--space-xl) var(--space-xl) var(--space-lg);text-align:center;border-bottom:1px solid var(--border);background-color:var(--input-bg)}.login-card__logo{width:52px;height:52px;margin-bottom:var(--space-md);color:var(--primary);background-color:#4a9eff1f;border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.login-card__title{color:var(--text);margin-bottom:var(--space-xs);font-size:1.5rem;font-weight:700}.login-card__subtitle{color:var(--text-muted);font-size:.875rem}.login-card__body{padding:var(--space-xl)}.login-form{gap:var(--space-md);flex-direction:column;display:flex}.login-alert{align-items:center;gap:var(--space-sm);padding:.75rem var(--space-md);color:var(--danger);background-color:#e74c3c1a;border:1px solid #e74c3c66;border-radius:10px;font-size:.875rem;line-height:1.4;display:flex}.login-alert__icon{flex-shrink:0}.login-submit{margin-top:var(--space-sm)}.login-card__footer{padding:var(--space-md) var(--space-xl);border-top:1px solid var(--border);text-align:center}.login-card__footer p{color:var(--text-muted);font-size:.8rem}.password-toggle{cursor:pointer;color:var(--text-muted);transition:color var(--transition);background:0 0;border:none;align-items:center;padding:0;display:flex}.password-toggle:hover{color:var(--text)}.card{background-color:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);transition:background-color var(--transition), border-color var(--transition), transform var(--transition)}.card--hoverable:hover{background-color:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-1px)}.card__header{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--space-md);min-height:44px;display:flex}.card__header-title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text);align-items:center;gap:var(--space-sm);letter-spacing:.01em;display:flex}.card__body{padding:var(--space-md)}.card__footer{padding:var(--space-sm) var(--space-md);border-top:1px solid var(--border-subtle)}.metric-card{background:var(--surface);border-radius:var(--radius-card);border:1px solid var(--border-subtle);padding:var(--space-md);align-items:center;gap:var(--space-md);transition:background-color var(--transition), border-color var(--transition);display:flex}.metric-card:hover{background:var(--surface-hover);border-color:var(--border-strong)}.metric-card__icon{background:var(--bg-selected);width:36px;height:36px;color:var(--primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.metric-card--success .metric-card__icon{color:var(--success);background:#27ae601a}.metric-card--warning .metric-card__icon{color:var(--warning);background:#f39c121a}.metric-card--danger .metric-card__icon{color:var(--danger);background:#e74c3c1a}.metric-card--info .metric-card__icon{color:var(--info);background:#3498db1a}.metric-card__body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.metric-card__label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--fw-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.metric-card__value{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--text);letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1.15}.metric-card--success .metric-card__value{color:var(--success)}.metric-card--warning .metric-card__value{color:var(--warning)}.metric-card--danger .metric-card__value{color:var(--danger)}.metric-card--info .metric-card__value{color:var(--info)}.metric-card__detail{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.phase-card{background:var(--surface);border-radius:var(--radius-card);border:1px solid var(--border-subtle);padding:var(--space-md);transition:background-color var(--transition), border-color var(--transition)}.phase-card:hover{background:var(--surface-hover);border-color:var(--border-strong)}.phase-card__header{margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.phase-card__phase{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text)}.phase-card__count{font-size:var(--text-xs);background:var(--bg-selected);color:var(--primary);border-radius:var(--radius-badge);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;padding:2px 10px}.phase-card__costs{flex-direction:column;gap:6px;display:flex}.phase-card__row{justify-content:space-between;align-items:center;display:flex}.phase-card__cost-label{font-size:var(--text-sm);color:var(--text-muted)}.phase-card__cost-value{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text);font-variant-numeric:tabular-nums}.phase-card__row--total{border-top:1px solid var(--border-subtle);margin-top:4px;padding-top:6px}.phase-card__row--total .phase-card__cost-label{font-weight:var(--fw-semibold);color:var(--text)}.phase-card__cost-value--total{font-size:var(--text-base);color:var(--warning)}.progress-card{background:var(--surface);border-radius:var(--radius-card);border:1px solid var(--border-subtle);padding:var(--space-md);transition:background-color var(--transition), border-color var(--transition)}.progress-card:hover{background:var(--surface-hover);border-color:var(--border-strong)}.progress-card__header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:baseline;display:flex}.progress-card__label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--fw-semibold)}.progress-card__value{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.progress-card__bar-track{height:6px;margin-bottom:var(--space-sm);background:#ffffff0f;border-radius:3px;overflow:hidden}.progress-card__bar-fill{background:linear-gradient(90deg, var(--primary), #6cb4ff);border-radius:3px;height:100%;transition:width .6s}.progress-card__detail{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.dashboard{gap:var(--space-lg);flex-direction:column;display:flex}.dashboard__header{padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:2px;display:flex}.dashboard__title{font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text)}.dashboard__subtitle{color:var(--text-muted);font-size:var(--text-xs)}.dashboard__loading{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--text-muted);flex-direction:column;display:flex}.dashboard__spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard__error{color:var(--danger);padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);background:#e74c3c14;border:1px solid #e74c3c40;border-radius:8px}.dashboard__empty{align-items:center;gap:var(--space-sm);padding:var(--space-2xl);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.dashboard__empty h2{font-size:var(--text-lg);font-weight:var(--fw-medium);color:var(--text)}.dashboard__section{gap:var(--space-sm);flex-direction:column;display:flex}.dashboard__section-title{font-size:.75rem;font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;padding-bottom:4px}.dashboard__grid-2{gap:var(--space-sm);grid-template-columns:repeat(2,1fr);display:grid}.dashboard__grid-3{gap:var(--space-sm);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=900px){.dashboard__grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.dashboard__grid-2,.dashboard__grid-3{grid-template-columns:1fr}}.dashboard__chart-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);margin-bottom:var(--space-sm);color:var(--text);letter-spacing:.01em}.dashboard__chart-wrap{height:220px;position:relative}.dashboard__phase-total{justify-content:flex-end;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--surface);border-radius:var(--radius-card);border:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-muted);display:flex}.dashboard__phase-total strong{font-size:var(--text-base);color:var(--warning);font-variant-numeric:tabular-nums}.dashboard__info-alert{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);font-size:var(--text-xs);color:var(--info);background:#3498db14;border:1px solid #3498db33;border-radius:8px;display:flex}.dashboard__no-config{align-items:flex-start;gap:var(--space-md);padding:var(--space-sm) var(--space-md);color:var(--warning);font-size:var(--text-sm);background:#f39c1214;border:1px solid #f39c1240;border-radius:8px;display:flex}.dashboard__no-config p{color:var(--text-muted);margin-top:4px}.dashboard__points-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);font-size:var(--text-sm);font-weight:var(--fw-semibold);display:flex}.dashboard__points-header--positive{color:var(--success)}.dashboard__points-header--atencao{color:var(--warning)}.dashboard__points-list{flex-direction:column;gap:6px;list-style:none;display:flex}.dashboard__points-item{font-size:var(--text-sm);line-height:var(--lh-normal);border-left:2px solid #0000;border-radius:6px;padding:8px 12px}.dashboard__points-item--positive{border-left-color:var(--success);color:var(--text);background:#27ae600f}.dashboard__points-item--atencao{border-left-color:var(--warning);color:var(--text);background:#f39c120f}.snapshot-form{gap:var(--space-lg);flex-direction:column;display:flex}.snapshot-form__group{gap:var(--space-sm);flex-direction:column;display:flex}.snapshot-form__group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding-bottom:var(--space-xs);border-bottom:1px solid var(--border);font-size:.85rem;font-weight:600}.snapshot-form__fields{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.snapshot-form__field{gap:var(--space-xs);flex-direction:column;display:flex}.snapshot-form__label{color:var(--text-muted);font-size:.8rem;font-weight:500}.snapshot-form__actions{justify-content:flex-end;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--border);display:flex}.config-header{margin-bottom:var(--space-xl)}.config-header h1{margin-bottom:var(--space-xs);font-size:1.75rem;font-weight:700}.config-admin-badge{color:var(--primary);border-radius:var(--radius-badge);background:#4a9eff1f;border:1px solid #4a9eff40;align-items:center;gap:5px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.config-alert{align-items:center;gap:var(--space-sm);border-radius:var(--radius-card);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);font-size:.875rem;display:flex}.config-alert--error{color:var(--danger);background:#e74c3c1a;border:1px solid #e74c3c4d}.config-alert--success{color:var(--success);background:#27ae601a;border:1px solid #27ae604d}.config-loading{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--text-muted);display:flex}.config-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite config-spin}@keyframes config-spin{to{transform:rotate(360deg)}}.config-form{gap:var(--space-xl);flex-direction:column;display:flex}.config-group__title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border);font-size:.85rem;font-weight:600}.config-group__fields{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=900px){.config-group__fields{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.config-group__fields{grid-template-columns:1fr}}.config-field{gap:var(--space-xs);flex-direction:column;display:flex}.config-field__label{color:var(--text-muted);font-size:.8rem;font-weight:500}.config-actions{padding-top:var(--space-md);border-top:1px solid var(--border);justify-content:flex-end;display:flex}.config-readonly-note{color:var(--text-muted);text-align:center;padding:var(--space-md);background:var(--surface);border-radius:var(--radius-card);border:1px dashed var(--border);font-size:.8rem}.config-snapshot-section{gap:var(--space-md);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.config-snapshot-intro{color:var(--text-muted);margin-bottom:var(--space-lg);font-size:.85rem;line-height:1.6}.config-period-badge{color:var(--success);border-radius:var(--radius-badge);background:#27ae601f;border:1px solid #27ae6040;padding:3px 10px;font-size:.75rem;font-weight:600}.config-group__fields--narrow{grid-template-columns:240px}.config-alert--with-action{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.config-alert__link{border-radius:var(--radius-btn);color:inherit;cursor:pointer;opacity:.85;transition:opacity var(--transition);background:0 0;border:1px solid;align-items:center;gap:5px;margin-left:auto;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.config-alert__link:hover{opacity:1}.qh-select{flex-direction:column;width:100%;display:inline-flex;position:relative}.qh-select__trigger{justify-content:space-between;align-items:center;gap:var(--space-sm);background-color:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--input-border);border-radius:var(--radius-input);font-family:var(--font);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:border-color var(--transition), background-color var(--transition), box-shadow var(--transition);text-align:left;outline:none;display:inline-flex}.qh-select__trigger--md{height:36px;padding:0 .75rem}.qh-select__trigger--sm{height:30px;font-size:var(--text-xs);padding:0 .6rem}.qh-select__trigger:hover:not(.qh-select__trigger--disabled){border-color:var(--border-strong);background-color:var(--bg-hover)}.qh-select__trigger:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--input-focus-ring)}.qh-select__trigger--open{border-color:var(--primary);background-color:var(--bg-hover);box-shadow:0 0 0 3px var(--input-focus-ring)}.qh-select__trigger--disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.qh-select__trigger--placeholder .qh-select__trigger-label{color:var(--text-muted);font-weight:var(--fw-regular)}.qh-select__trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.qh-select__chevron{color:var(--text-muted);transition:transform var(--transition), color var(--transition);flex-shrink:0}.qh-select__chevron--open{color:var(--primary);transform:rotate(180deg)}.qh-select__menu{background-color:var(--bg-drawer);z-index:250;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;max-height:320px;padding:4px;animation:.14s ease-out qh-select-pop;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 16px 32px #00000073,0 2px 6px #0000004d}@keyframes qh-select-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.qh-select__search{border-bottom:1px solid var(--border-subtle);color:var(--text-muted);align-items:center;gap:6px;padding:6px 8px;display:flex}.qh-select__search-input{color:var(--text);font-family:var(--font);font-size:var(--text-xs);background:0 0;border:none;outline:none;flex:1;padding:2px 0}.qh-select__search-input::placeholder{color:var(--text-muted)}.qh-select__list{outline:none;flex:1;padding:2px 0;overflow-y:auto}.qh-select__empty{color:var(--text-muted);font-size:var(--text-xs);text-align:center;padding:10px 12px}.qh-select__option{min-height:28px;font-size:var(--text-sm);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition), color var(--transition);border-radius:6px;align-items:center;gap:8px;margin:1px 2px;padding:4px 10px;display:flex;position:relative}.qh-select__option--highlighted{background-color:var(--bg-hover)}.qh-select__option--selected{color:var(--primary);background-color:var(--bg-selected)}.qh-select__option--selected.qh-select__option--highlighted{background-color:var(--bg-selected-strong)}.qh-select__option--disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.qh-select__option--null .qh-select__option-label{color:var(--text-muted);font-style:italic}.qh-select__option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.qh-select__option-meta{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.qh-select__option-check{color:var(--primary);flex-shrink:0}.qh-select__list::-webkit-scrollbar{width:8px}.qh-select__list::-webkit-scrollbar-track{background:0 0}.qh-select__list::-webkit-scrollbar-thumb{background-color:#ffffff14;border-radius:4px}.qh-select__list::-webkit-scrollbar-thumb:hover{background-color:#ffffff29}.projects{gap:var(--space-xl);flex-direction:column;display:flex}.projects__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;display:flex}.projects__header h1{margin-bottom:var(--space-xs);font-size:1.75rem;font-weight:700}.projects__error{color:var(--danger);border-radius:var(--radius-card);padding:var(--space-md) var(--space-lg);background:#e74c3c1a;border:1px solid #e74c3c4d;font-size:.875rem}.projects__loading{align-items:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--text-muted);flex-direction:column;display:flex}.projects__spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite projects-spin}@keyframes projects-spin{to{transform:rotate(360deg)}}.projects__empty{align-items:center;gap:var(--space-md);padding:var(--space-2xl);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.projects__empty h2{font-size:1.1rem;font-weight:500}.projects__grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.projects__card{align-items:flex-start;gap:var(--space-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-lg);cursor:pointer;text-align:left;transition:var(--transition-card);color:var(--text);font-family:var(--font);display:flex}.projects__card:hover{background:var(--surface-hover);border-color:var(--primary);transform:translateY(-2px)}.projects__card-icon{color:var(--primary);flex-shrink:0}.projects__card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.projects__card-name{font-size:1rem;font-weight:600}.projects__card-client{color:var(--text-muted);font-size:.78rem}.projects__form{gap:var(--space-md);grid-template-columns:repeat(3,1fr);align-items:end;display:grid}@media (width<=768px){.projects__form{grid-template-columns:1fr}}.projects__form-field{gap:var(--space-xs);flex-direction:column;display:flex}.projects__label{color:var(--text-muted);font-size:.8rem;font-weight:500}.projects__field-hint{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--lh-normal)}.projects__form-actions{align-items:flex-end;display:flex}.overview{gap:var(--space-lg);flex-direction:column;display:flex}.overview__header{padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:2px;display:flex}.overview__title{font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text)}.overview__subtitle{color:var(--text-muted);font-size:var(--text-xs)}.overview__badges{margin-top:var(--space-sm);flex-wrap:wrap;gap:6px;display:flex}.overview__badge{border-radius:var(--radius-badge);color:var(--primary);font-size:var(--text-xs);font-weight:var(--fw-medium);cursor:pointer;transition:background-color var(--transition), border-color var(--transition);background-color:#4a9eff14;border:1px solid #4a9eff38;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.overview__badge:hover{background-color:#4a9eff24;border-color:#4a9eff66}.overview__loading{align-items:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--text-muted);flex-direction:column;display:flex}.overview__spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.overview__error{color:var(--danger);padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);background:#e74c3c14;border:1px solid #e74c3c40;border-radius:8px}.overview__empty{align-items:center;gap:var(--space-sm);padding:var(--space-2xl);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.overview__empty h2{font-size:var(--text-lg);font-weight:var(--fw-medium);color:var(--text)}.overview__section{gap:var(--space-sm);flex-direction:column;display:flex}.overview__section-title{font-size:.7rem;font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;padding-bottom:4px}.overview__grid-2{gap:var(--space-sm);grid-template-columns:repeat(2,1fr);display:grid}.overview__grid-3{gap:var(--space-sm);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=900px){.overview__grid-2,.overview__grid-3{grid-template-columns:1fr}}.overview__chart-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);margin-bottom:var(--space-sm);color:var(--text);letter-spacing:.01em}.overview__chart-wrap{height:250px}.overview__info-alert{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);color:var(--warning);font-size:var(--text-xs);background:#f39c1214;border:1px solid #f39c1233;border-radius:8px;display:flex}.overview__phase-total{justify-content:flex-end;gap:var(--space-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);color:var(--text-muted);display:flex}.overview__phase-total strong{color:var(--primary);font-size:var(--text-base);font-variant-numeric:tabular-nums}.overview__clients-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.overview__client-card{align-items:center;gap:var(--space-md);padding:var(--space-md);background-color:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);color:var(--text);cursor:pointer;transition:background-color var(--transition), border-color var(--transition), transform var(--transition);text-align:left;display:flex}.overview__client-card:hover{background-color:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-1px)}.overview__client-icon{color:var(--primary);flex-shrink:0}.overview__client-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.overview__client-name{font-size:var(--text-md);font-weight:var(--fw-semibold)}.overview__client-status{font-size:var(--text-xs);color:var(--text-muted)}.overview__client-arrow{color:var(--text-muted);flex-shrink:0}.overview__table-wrap{overflow-x:auto}.overview__table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.overview__table th,.overview__table td{padding:8px var(--space-md);text-align:left;border-bottom:1px solid var(--border-subtle)}.overview__table th{color:var(--text-muted);text-transform:uppercase;font-size:.7rem;font-weight:var(--fw-semibold);letter-spacing:.08em}.overview__table tbody tr:hover{background-color:var(--bg-hover)}.overview__table tbody tr:last-child td{border-bottom:none}.overview__table--right{text-align:right;font-variant-numeric:tabular-nums}.overview__table-link{color:var(--primary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--fw-medium);background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.overview__table-link:hover{text-decoration:underline}.project-switcher{flex-direction:column;gap:4px;display:inline-flex;position:relative}.project-switcher__context-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.6875rem;font-weight:var(--fw-semibold);padding-left:2px}.project-switcher__trigger{align-items:center;gap:var(--space-sm);background-color:var(--input-bg);height:40px;color:var(--text);border:1px solid var(--input-border);border-radius:var(--radius-btn);font-family:var(--font);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:border-color var(--transition), background-color var(--transition);outline:none;padding:0 .75rem;display:inline-flex}.project-switcher__trigger:hover:not(:disabled){border-color:var(--border-strong);background-color:var(--bg-hover)}.project-switcher__trigger:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--input-focus-ring)}.project-switcher__trigger:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.project-switcher--open .project-switcher__trigger{border-color:var(--primary);background-color:var(--bg-hover)}.project-switcher__avatar{background-color:var(--bg-selected-strong);width:22px;height:22px;color:var(--primary);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.project-switcher__icon{color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.project-switcher__name{text-align:left;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-medium);flex:1;overflow:hidden}.project-switcher__chevron{color:var(--text-muted);transition:transform var(--transition);flex-shrink:0}.project-switcher--open .project-switcher__chevron{color:var(--primary);transform:rotate(180deg)}.project-switcher__menu{background-color:var(--bg-drawer);z-index:150;border:1px solid #ffffff1a;border-radius:8px;outline:none;min-width:240px;max-height:320px;margin:0;padding:4px;list-style:none;animation:.12s ease-out project-switcher-fade;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 32px #00000073}@keyframes project-switcher-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.project-switcher__menu-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.65rem;font-weight:var(--fw-semibold);padding:8px 10px 4px}.project-switcher__option{align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--text-sm);color:var(--text);-webkit-user-select:none;user-select:none;transition:background-color var(--transition);border-radius:6px;padding:7px 10px;display:flex}.project-switcher__option--highlighted{background-color:var(--bg-hover)}.project-switcher__option--selected{background-color:var(--bg-selected)}.project-switcher__option--selected.project-switcher__option--highlighted{background-color:var(--bg-selected-strong)}.project-switcher__option-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.project-switcher__option-name{text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-medium);overflow:hidden}.project-switcher__option-meta{font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-switcher__check{color:var(--primary);flex-shrink:0}@media (width<=600px){.project-switcher{flex:1;min-width:0!important}}.evolution{gap:var(--space-xl);flex-direction:column;display:flex}.evolution__header{gap:var(--space-xs);flex-direction:column;display:flex}.evolution__title{font-size:1.75rem;font-weight:700}.evolution__subtitle{color:var(--text-muted);font-size:.95rem}.evolution__empty{align-items:center;gap:var(--space-md);padding:var(--space-2xl);text-align:center;color:var(--text-muted);flex-direction:column;max-width:520px;margin:0 auto;display:flex}.evolution__empty svg{color:var(--primary)}.evolution__empty h2{color:var(--text);font-size:1.25rem;font-weight:600}.evolution__empty p{color:var(--text-muted);line-height:1.6}.evolution__toolbar{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.evolution__label{color:var(--text-muted);font-size:.875rem;font-weight:500}.evolution__select{background-color:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:var(--radius-input);cursor:pointer;min-width:240px;transition:border-color var(--transition);padding:.5rem .85rem;font-size:.9rem}.evolution__select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--input-focus-ring);outline:none}.evolution__select:disabled{opacity:.6;cursor:not-allowed}.evolution__loading{align-items:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--text-muted);flex-direction:column;display:flex}.evolution__spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.evolution__error{color:var(--danger);border-radius:var(--radius-card);padding:var(--space-md) var(--space-lg);background:#e74c3c1a;border:1px solid #e74c3c4d;font-size:.875rem}.evolution__info-alert{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-card);color:var(--warning);background:#f39c1214;border:1px solid #f39c1240;font-size:.875rem;display:flex}.evolution__grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=900px){.evolution__grid{grid-template-columns:1fr}}.evolution__chart-title{margin-bottom:var(--space-md);font-size:1rem;font-weight:600}.evolution__chart-wrap{height:260px}.snapshots{gap:var(--space-xl);flex-direction:column;display:flex}.snapshots__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.snapshots__header h1{margin-bottom:var(--space-xs);font-size:1.75rem;font-weight:700}.snapshots__alert{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-card);font-size:.875rem;display:flex}.snapshots__alert--error{color:var(--danger);background:#e74c3c1a;border:1px solid #e74c3c4d}.snapshots__alert--success{color:var(--success);background:#27ae601a;border:1px solid #27ae604d}.snapshots__loading{align-items:center;gap:var(--space-md);padding:var(--space-xl);color:var(--text-muted);flex-direction:column;display:flex}.snapshots__spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.snapshots__empty{align-items:center;gap:var(--space-md);padding:var(--space-xl);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.snapshots__empty h2{font-size:1.1rem;font-weight:500}.snapshots__table-wrap{overflow-x:auto}.snapshots__table{border-collapse:collapse;width:100%;font-size:.9rem}.snapshots__table th,.snapshots__table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--border)}.snapshots__table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.snapshots__table tbody tr:last-child td{border-bottom:none}.snapshots__table tbody tr:hover{background-color:var(--surface-hover)}.snapshots__table--right{text-align:right}.snapshots__row-actions{justify-content:flex-end;gap:4px;display:flex}.snapshots__icon-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-btn);transition:color var(--transition), background-color var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:6px;display:inline-flex}.snapshots__icon-btn:hover{color:var(--text);background-color:var(--surface-hover);border-color:var(--border)}.snapshots__icon-btn--danger:hover{color:var(--danger);border-color:#e74c3c66}.snapshots__modal-overlay{padding:var(--space-md);z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.snapshots__modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-lg);width:100%;max-width:460px;box-shadow:var(--shadow-lg)}.snapshots__modal-title{margin-bottom:var(--space-sm);font-size:1.1rem;font-weight:600}.snapshots__modal-body{color:var(--text-muted);margin-bottom:var(--space-lg);line-height:1.5}.snapshots__modal-body strong{color:var(--text)}.snapshots__modal-actions{justify-content:flex-end;gap:var(--space-sm);display:flex}.reference{gap:var(--space-xl);flex-direction:column;display:flex}.reference__header{gap:var(--space-xs);flex-direction:column;display:flex}.reference__title{align-items:center;gap:var(--space-sm);font-size:1.75rem;font-weight:700;display:flex}.reference__subtitle{color:var(--text-muted);max-width:720px;font-size:.95rem;line-height:1.6}.reference__group{gap:var(--space-md);flex-direction:column;display:flex}.reference__group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding-bottom:var(--space-sm);border-bottom:1px solid var(--border);font-size:1rem;font-weight:600}.reference__grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(360px,1fr));display:grid}.reference__metric-name{color:var(--text);margin-bottom:var(--space-sm);font-size:1rem;font-weight:600}.reference__formula{background-color:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-input);padding:var(--space-sm) var(--space-md);color:var(--primary);margin-bottom:var(--space-sm);white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.82rem;display:block}.reference__description{color:var(--text-muted);font-size:.875rem;line-height:1.6}.qh-bulk-bar{z-index:150;align-items:center;gap:var(--space-sm);background-color:var(--bg-drawer);border-radius:var(--radius-card);border:1px solid #ffffff1a;padding:8px 12px;animation:.18s ease-out qh-bulk-bar-in;display:inline-flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 16px 32px #00000080,0 2px 6px #0000004d}@keyframes qh-bulk-bar-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.qh-bulk-bar__count{font-size:var(--text-sm);color:var(--text);font-variant-numeric:tabular-nums;padding:0 6px}.qh-bulk-bar__count strong{color:var(--primary);font-weight:var(--fw-semibold)}.qh-bulk-bar__divider{background-color:var(--border-subtle);width:1px;height:22px}.qh-bulk-bar__btn{font-size:var(--text-xs);font-weight:var(--fw-semibold);font-family:var(--font);cursor:pointer;transition:background-color var(--transition), border-color var(--transition), color var(--transition);border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.qh-bulk-bar__btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.qh-bulk-bar__btn--primary{background-color:var(--primary);border-color:var(--primary);color:#fff}.qh-bulk-bar__btn--primary:hover:not(:disabled){background-color:var(--primary-hover);border-color:var(--primary-hover)}.qh-bulk-bar__btn--danger{color:var(--danger);background-color:#0000;border-color:#e74c3c59}.qh-bulk-bar__btn--danger:hover:not(:disabled){border-color:var(--danger);background-color:#e74c3c1a}.qh-bulk-bar__clear{color:var(--text-muted);font-size:var(--text-xs);font-family:var(--font);cursor:pointer;transition:color var(--transition), background-color var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.qh-bulk-bar__clear:hover:not(:disabled){color:var(--text);background-color:var(--bg-hover);border-color:var(--border-subtle)}.qh-bulk-bar__clear:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}@media (width<=700px){.qh-bulk-bar{flex-wrap:wrap;justify-content:center;bottom:12px;left:12px;right:12px;transform:none}@keyframes qh-bulk-bar-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}.spinner{border-style:solid;border-color:var(--border);border-top-color:var(--primary);border-radius:50%;flex-shrink:0;animation:.8s linear infinite spinner-rotate;display:inline-block}.spinner--sm{border-width:2px;width:16px;height:16px}.spinner--md{border-width:3px;width:24px;height:24px}.spinner--lg{border-width:3px;width:32px;height:32px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.qh-steps-editor__textarea{background-color:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--input-border);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-family:var(--font);resize:vertical;min-height:60px;line-height:var(--lh-normal);transition:border-color var(--transition), box-shadow var(--transition);border-radius:6px}.qh-steps-editor__textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--input-focus-ring);outline:none}.qh-steps-editor__textarea::placeholder{color:var(--text-muted)}.qh-steps-editor__textarea:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.qh-steps-editor__hint{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--lh-normal);margin:6px 0 0}.qh-steps-editor__hint kbd{color:var(--text-tertiary);background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:3px;padding:1px 5px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.68rem;display:inline-block}.case-drawer__overlay{z-index:190;background-color:#00000073;animation:.18s ease-out case-drawer-fade-in;position:fixed;inset:0}@keyframes case-drawer-fade-in{0%{opacity:0}to{opacity:1}}.case-drawer{background-color:var(--bg-drawer);z-index:200;border-left:1px solid #ffffff14;flex-direction:column;width:min(480px,100vw);animation:.22s cubic-bezier(.2,.8,.2,1) case-drawer-slide-in;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-16px 0 32px #00000052}@keyframes case-drawer-slide-in{0%{opacity:.6;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.case-drawer__header{z-index:1;gap:var(--space-sm);padding:var(--space-md) var(--space-lg) var(--space-md);background-color:var(--bg-drawer);border-bottom:1px solid #ffffff14;flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0}.case-drawer__header-meta{align-items:center;gap:var(--space-sm);font-size:var(--text-xs);color:var(--text-muted);min-width:0;display:flex}.case-drawer__code{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);color:var(--text-tertiary);letter-spacing:.02em;background-color:#ffffff0a;border:1px solid #ffffff14;border-radius:4px;flex-shrink:0;padding:2px 7px}.case-drawer__breadcrumb{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;overflow:hidden}.case-drawer__header-main{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.case-drawer__title{font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text);word-break:break-word;flex:1;min-width:0}.case-drawer__title-input{flex:1}.case-drawer__loading{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);font-weight:var(--fw-regular);color:var(--text-muted);display:inline-flex}.case-drawer__header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.case-drawer__attrs{align-items:center;gap:var(--space-sm);row-gap:var(--space-sm);flex-wrap:wrap;margin-top:6px;display:flex}.case-drawer__chip{border-radius:var(--radius-badge);font-size:var(--text-xs);font-weight:var(--fw-medium);border:1px solid var(--border-subtle);color:var(--text-muted);background-color:#ffffff08;align-items:center;gap:4px;padding:2px 10px;display:inline-flex}.case-drawer__chip--priority-high{color:var(--danger);background-color:#e74c3c0f;border-color:#e74c3c40}.case-drawer__chip--priority-medium{color:var(--warning);background-color:#f39c120f;border-color:#f39c1240}.case-drawer__chip--priority-low{color:var(--success);background-color:#27ae600f;border-color:#27ae6040}.case-drawer__chip--type-manual{color:var(--text-muted)}.case-drawer__chip--type-automated{color:var(--primary);background-color:#4a9eff0f;border-color:#4a9eff40}.case-drawer__chip--type-to_automate{color:var(--warning);background-color:#f39c120f;border-color:#f39c1240}.case-drawer__chip--test_type-e2e{color:#16a085;background-color:#16a0850f;border-color:#16a08540}.case-drawer__chip--test_type-api{color:#9b59b6;background-color:#9b59b60f;border-color:#9b59b640}.case-drawer__attr-select{width:auto;min-width:160px}.case-drawer__body{padding:var(--space-md) var(--space-lg) var(--space-xl);flex-direction:column;flex:1;display:flex;overflow-y:auto}.case-drawer__body::-webkit-scrollbar{width:8px}.case-drawer__body::-webkit-scrollbar-track{background:0 0}.case-drawer__body::-webkit-scrollbar-thumb{background-color:#ffffff14;border-radius:4px}.case-drawer__body::-webkit-scrollbar-thumb:hover{background-color:#ffffff29}.case-drawer__alert{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);margin-bottom:var(--space-md);border-radius:6px;display:flex}.case-drawer__alert--error{color:var(--danger);background:#e74c3c14;border:1px solid #e74c3c40}.case-drawer__alert--success{color:var(--success);background:#27ae6014;border:1px solid #27ae6040}.case-drawer__section{gap:var(--space-sm);padding:var(--space-md) 0;flex-direction:column;display:flex}.case-drawer__section+.case-drawer__section{border-top:1px solid #ffffff0d}.case-drawer__section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.7rem;font-weight:var(--fw-semibold);margin:0}.case-drawer__section-body{font-size:var(--text-sm);line-height:var(--lh-relaxed);color:var(--text)}.case-drawer__paragraph{color:var(--text);font-size:var(--text-sm);line-height:var(--lh-relaxed);white-space:pre-wrap;word-break:break-word}.case-drawer__empty-value{color:var(--text-muted);font-style:italic;font-size:var(--text-sm);opacity:.7}.case-drawer__pre{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);line-height:var(--lh-normal);color:var(--text);white-space:pre-wrap;word-break:break-word;padding:var(--space-sm) var(--space-md);background-color:#ffffff06;border:1px solid #ffffff0f;border-radius:6px;margin:0}.case-drawer__steps{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.case-drawer__step{align-items:flex-start;gap:var(--space-sm);padding:8px var(--space-sm);border-radius:4px;display:flex}.case-drawer__step+.case-drawer__step{border-top:1px solid #ffffff0a}.case-drawer__step-index{min-width:22px;height:22px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.7rem;font-weight:var(--fw-semibold);color:var(--text-tertiary);background-color:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;line-height:1;display:inline-flex}.case-drawer__step-text{font-size:var(--text-sm);line-height:var(--lh-relaxed);color:var(--text);word-break:break-word;flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.case-drawer__step-main{color:var(--text)}.case-drawer__step-sub{color:var(--text-muted);font-size:var(--text-xs);line-height:var(--lh-relaxed);padding-left:var(--space-sm);border-left:2px solid #ffffff14}.case-drawer__expected{font-size:var(--text-sm);line-height:var(--lh-relaxed);color:var(--text);white-space:pre-wrap;word-break:break-word;padding:var(--space-sm) var(--space-md);border:1px solid #4a9eff2e;border-left:2px solid var(--primary);background-color:#4a9eff0f;border-radius:6px}.case-drawer__textarea{background-color:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--input-border);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-family:var(--font);resize:vertical;min-height:60px;line-height:var(--lh-normal);transition:border-color var(--transition), box-shadow var(--transition);border-radius:6px}.case-drawer__textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--input-focus-ring);outline:none}.case-drawer__textarea::placeholder{color:var(--text-muted)}.case-drawer__automation-loading{padding:var(--space-sm);justify-content:center;display:flex}.case-drawer__automation-empty{font-size:var(--text-xs);color:var(--text-muted);margin:0}.case-drawer__footer{justify-content:flex-end;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background-color:var(--bg-drawer);border-top:1px solid #ffffff14;flex-shrink:0;display:flex}@media (width<=600px){.case-drawer{width:100vw;box-shadow:none;border-left:none}.case-drawer__header,.case-drawer__body,.case-drawer__footer{padding-left:var(--space-md);padding-right:var(--space-md)}}.case-drawer__exec{flex-direction:column;gap:10px;display:flex}.case-drawer__exec-source{font-weight:var(--fw-medium);letter-spacing:.01em;align-items:center;gap:4px;display:inline-flex}.case-drawer__exec-source--automation{color:var(--primary)}.case-drawer__exec-source--manual{color:var(--text-muted)}.case-drawer__exec-sep{color:#ffffff2e}.case-drawer__exec-latest{background-color:#ffffff09;border:1px solid #ffffff12;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex;position:relative;overflow:hidden}.case-drawer__exec-latest:before{content:"";width:3px;position:absolute;inset:0 auto 0 0}.case-drawer__exec-latest--success:before{background-color:var(--success)}.case-drawer__exec-latest--danger:before{background-color:var(--danger)}.case-drawer__exec-latest--warning:before{background-color:var(--warning)}.case-drawer__exec-latest--neutral:before{background-color:#ffffff2e}.case-drawer__exec-latest-status{font-size:var(--text-sm);font-weight:var(--fw-semibold);letter-spacing:.01em;align-items:center;gap:6px;display:inline-flex}.case-drawer__exec-latest-status--success{color:var(--success)}.case-drawer__exec-latest-status--danger{color:var(--danger)}.case-drawer__exec-latest-status--warning{color:var(--warning)}.case-drawer__exec-latest-status--neutral{color:var(--text-muted)}.case-drawer__exec-latest-title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.case-drawer__exec-latest-meta{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.case-drawer__exec-metrics{grid-template-columns:1fr 1fr;gap:6px;display:grid}.case-drawer__exec-metric{background-color:#ffffff06;border:1px solid #ffffff0f;border-radius:6px;flex-direction:column;padding:8px 10px;display:flex}.case-drawer__exec-metric-value{font-size:var(--text-lg);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:-.01em;line-height:1.15}.case-drawer__exec-metric--success .case-drawer__exec-metric-value{color:var(--success)}.case-drawer__exec-metric--danger .case-drawer__exec-metric-value{color:var(--danger)}.case-drawer__exec-metric-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:2px;font-size:.65rem}.case-drawer__exec-accordion{border-top:1px solid #ffffff0d;padding-top:6px}.case-drawer__exec-accordion-trigger{cursor:pointer;width:100%;color:var(--text-muted);font-family:var(--font);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:var(--fw-semibold);text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;transition:color .15s;display:flex}.case-drawer__exec-accordion-trigger:hover{color:var(--text)}.case-drawer__exec-accordion-trigger:focus-visible{color:var(--text);outline:none}.case-drawer__exec-accordion-chevron{color:var(--text-tertiary);flex-shrink:0;transition:transform .18s}.case-drawer__exec-accordion--open .case-drawer__exec-accordion-chevron{transform:rotate(90deg)}.case-drawer__exec-accordion-content{margin-top:8px}.case-drawer__exec-timeline{margin:0;padding:0;list-style:none}.case-drawer__exec-tl-item{grid-template-columns:20px 1fr;gap:8px;padding:6px 0;display:grid;position:relative}.case-drawer__exec-tl-rail{justify-content:center;padding-top:2px;display:flex;position:relative}.case-drawer__exec-tl-item:not(:last-child) .case-drawer__exec-tl-rail:after{content:"";background-color:#ffffff14;width:1px;position:absolute;top:22px;bottom:-6px;left:50%;transform:translate(-50%)}.case-drawer__exec-tl-dot{background-color:var(--bg-drawer);z-index:1;width:20px;height:20px;color:var(--text-muted);border:1px solid #ffffff24;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.case-drawer__exec-tl-dot--success{color:var(--success);background-color:#27ae6014;border-color:#27ae6073}.case-drawer__exec-tl-dot--danger{color:var(--danger);background-color:#e74c3c14;border-color:#e74c3c73}.case-drawer__exec-tl-dot--warning{color:var(--warning);background-color:#f39c1214;border-color:#f39c1273}.case-drawer__exec-tl-dot--neutral{color:var(--text-muted);background-color:#ffffff08}.case-drawer__exec-tl-body{border-radius:6px;flex-direction:column;gap:2px;min-width:0;padding:1px 6px 4px;transition:background-color .15s;display:flex}.case-drawer__exec-tl-item:hover .case-drawer__exec-tl-body{background-color:#ffffff08}.case-drawer__exec-tl-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.case-drawer__exec-tl-name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.case-drawer__exec-tl-link{color:var(--text-muted);opacity:0;flex-shrink:0;align-items:center;text-decoration:none;transition:opacity .15s,color .15s;display:inline-flex}.case-drawer__exec-tl-item:hover .case-drawer__exec-tl-link,.case-drawer__exec-tl-link:focus-visible{opacity:1}.case-drawer__exec-tl-link:hover{color:var(--primary)}.case-drawer__exec-tl-meta{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:5px;display:flex}.case-drawer__exec-tl-extra{font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.case-drawer__exec-tl-retry{color:var(--warning);font-weight:var(--fw-medium);align-items:center;gap:3px;display:inline-flex}.case-drawer__exec-tl-executor{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.case-drawer__exec-tl-notes{font-size:var(--text-xs);color:var(--text-muted);white-space:pre-wrap;margin:2px 0 0}.case-drawer__exec-tl-more{width:100%;font-size:var(--text-xs);font-family:var(--font);color:var(--text-muted);cursor:pointer;background-color:#ffffff06;border:1px solid #ffffff12;border-radius:6px;justify-content:center;align-items:center;margin-top:6px;padding:7px 10px;transition:background-color .15s,color .15s,border-color .15s;display:flex}.case-drawer__exec-tl-more:hover{color:var(--text);background-color:#ffffff0d;border-color:#ffffff24}.case-drawer__exec-tl-more:focus-visible{border-color:var(--primary);box-shadow:0 0 0 2px var(--input-focus-ring);outline:none}.empty-state{text-align:center;color:var(--text-muted);justify-content:center;align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.empty-state--sm{padding:var(--space-lg) var(--space-md)}.empty-state--md{padding:var(--space-2xl) var(--space-lg)}.empty-state__icon{color:var(--text-muted);opacity:.75;display:inline-flex}.empty-state__title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--text);margin:0}.empty-state__description{font-size:var(--text-sm);line-height:var(--lh-relaxed);color:var(--text-muted);max-width:420px;margin:0}.empty-state__action{margin-top:var(--space-sm)}.qh-import{max-width:480px;min-height:0}.qh-import__error{border-radius:var(--radius-input);color:var(--danger);font-size:var(--text-sm);background-color:#e74c3c14;border:1px solid #e74c3c4d;align-items:center;gap:6px;padding:8px 12px;display:flex}.qh-import__select{gap:var(--space-sm);flex-direction:column;display:flex}.qh-import__dropzone{width:100%;padding:var(--space-xl) var(--space-md);background-color:var(--input-bg);border:2px dashed var(--input-border);border-radius:var(--radius-card);color:var(--text);font-family:var(--font);cursor:pointer;transition:border-color var(--transition), background-color var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.qh-import__dropzone:hover:not(:disabled){border-color:var(--primary);background-color:var(--bg-hover)}.qh-import__dropzone:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--input-focus-ring);outline:none}.qh-import__dropzone:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.qh-import__dropzone-icon{color:var(--text-muted);margin-bottom:4px}.qh-import__dropzone:hover:not(:disabled) .qh-import__dropzone-icon{color:var(--primary)}.qh-import__file-name{font-size:var(--text-sm);font-weight:var(--fw-semibold)}.qh-import__file-meta{font-size:var(--text-xs);color:var(--text-muted)}.qh-import__file-input{display:none}.qh-import__preview{gap:var(--space-md);flex-direction:column;display:flex}.qh-import__format-row{justify-content:space-between;align-items:baseline;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background-color:var(--bg-active);border:1px solid var(--border-subtle);border-radius:var(--radius-input);display:flex}.qh-import__format-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.6875rem;font-weight:var(--fw-semibold)}.qh-import__format-value{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--primary)}.qh-import__stats{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.qh-import__stats li{font-size:var(--text-sm);color:var(--text);line-height:var(--lh-normal)}.qh-import__stats strong{font-variant-numeric:tabular-nums;color:var(--primary);font-weight:var(--fw-bold)}.qh-import__renames{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-input);background-color:#f39c120f;border:1px solid #f39c1240;flex-direction:column;gap:6px;display:flex}.qh-import__renames-label{font-size:var(--text-xs);color:var(--warning);font-weight:var(--fw-semibold)}.qh-import__renames-list{flex-direction:column;gap:2px;max-height:180px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.qh-import__renames-list li{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font);line-height:var(--lh-normal)}.qh-import__renames-more{color:var(--text-muted);padding-top:2px;font-style:italic}.qh-import__empty{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-input);color:var(--success);font-size:var(--text-sm);background-color:#27ae600f;border:1px solid #27ae6040;align-items:center;gap:6px;display:flex}.qh-import__back{margin-right:auto}.qh-bulk-checkbox{border:1.5px solid var(--border-strong);background-color:var(--input-bg);cursor:pointer;width:14px;height:14px;transition:border-color var(--transition), background-color var(--transition), opacity var(--transition);color:#fff;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.qh-bulk-checkbox:hover{border-color:var(--primary)}.qh-bulk-checkbox:focus-visible{border-color:var(--primary);box-shadow:0 0 0 2px var(--input-focus-ring);outline:none}.qh-bulk-checkbox--checked,.qh-bulk-checkbox--indeterminate{background-color:var(--primary);border-color:var(--primary)}.qh-bulk-checkbox__dash{background-color:#fff;border-radius:1px;width:8px;height:2px;display:block}.repo{gap:var(--space-md);flex-direction:column;display:flex}.repo__page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding-bottom:var(--space-xs);flex-wrap:wrap;display:flex}.repo__page-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.repo__page-title{align-items:center;gap:var(--space-sm);font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text);display:flex}.repo__page-subtitle{font-size:var(--text-xs);color:var(--text-muted)}.repo__page-counts{align-items:center;gap:var(--space-xs);margin-top:var(--space-xs);color:var(--text-muted);font-size:var(--text-sm);display:flex}.repo__count strong{color:var(--text-tertiary);font-weight:var(--fw-semibold);margin-right:4px}.repo__count-divider{color:var(--border-strong)}.repo__project-select{background-color:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:var(--radius-input);font-size:var(--text-sm);cursor:pointer;min-width:220px;transition:border-color var(--transition);padding:.4rem .75rem}.repo__toolbar{align-items:center;gap:var(--space-sm);border:1px solid var(--border-subtle);border-radius:calc(var(--radius-btn) + 4px);background-color:#ffffff05;padding:4px;display:inline-flex}.repo__toolbar>.btn{border-radius:var(--radius-btn);height:40px;font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:0 1rem}.repo__toolbar-divider{background-color:var(--border-subtle);width:1px;height:22px;margin:0}.repo__project-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--input-focus-ring);outline:none}.repo__search{align-items:center;gap:var(--space-sm);display:flex}.repo__search-input-wrap{flex:1;max-width:480px;position:relative}.repo__search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.repo__search-input{width:100%;height:var(--row-md);background-color:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:var(--radius-input);font-size:var(--text-sm);font-family:var(--font);padding:0 2rem}.repo__search-input::placeholder{color:var(--text-muted)}.repo__search-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--input-focus-ring);outline:none}.repo__search-clear{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.repo__search-field{width:auto;min-width:160px}.repo__search-field .qh-select__trigger{height:var(--row-md)}.repo__filter{position:relative}.repo__filter-trigger{height:var(--row-md);background-color:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:var(--radius-input);font-family:var(--font);font-size:var(--text-xs);font-weight:var(--fw-medium);cursor:pointer;transition:border-color var(--transition), background-color var(--transition), box-shadow var(--transition), color var(--transition);align-items:center;gap:6px;padding:0 .75rem;display:inline-flex}.repo__filter-trigger:hover{border-color:var(--border-strong);background-color:var(--bg-hover)}.repo__filter-trigger:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--input-focus-ring);outline:none}.repo__filter-trigger--open,.repo__filter-trigger--active{color:var(--primary);background-color:var(--bg-selected);border-color:#4a9eff73}.repo__filter-trigger--open{box-shadow:0 0 0 3px var(--input-focus-ring)}.repo__filter-badge{background-color:var(--primary);color:#fff;min-width:18px;height:18px;font-size:.65rem;font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;border-radius:9px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.repo__filter-popover{background-color:var(--bg-drawer);min-width:280px;padding:var(--space-md);z-index:250;gap:var(--space-md);border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;animation:.14s ease-out repo-filter-pop;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 32px #00000073,0 2px 6px #0000004d}@keyframes repo-filter-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.repo__filter-group{gap:var(--space-sm);flex-direction:column;display:flex}.repo__filter-group-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.6875rem;font-weight:var(--fw-semibold)}.repo__filter-chips{flex-wrap:wrap;gap:6px;display:flex}.repo__filter-chip{background-color:var(--input-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-badge);color:var(--text-muted);font-family:var(--font);font-size:var(--text-xs);font-weight:var(--fw-medium);cursor:pointer;transition:background-color var(--transition), border-color var(--transition), color var(--transition);align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.repo__filter-chip:hover{border-color:var(--border-strong);color:var(--text)}.repo__filter-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.repo__filter-chip--priority-high.repo__filter-chip--active{color:var(--danger);background-color:#e74c3c1f;border-color:#e74c3c66}.repo__filter-chip--priority-medium.repo__filter-chip--active{color:var(--warning);background-color:#f39c121f;border-color:#f39c1266}.repo__filter-chip--priority-low.repo__filter-chip--active{color:var(--success);background-color:#27ae601f;border-color:#27ae6066}.repo__filter-chip--type-manual.repo__filter-chip--active{background-color:var(--bg-active);border-color:var(--border-strong);color:var(--text)}.repo__filter-chip--type-automated.repo__filter-chip--active{color:var(--primary);background-color:#4a9eff1f;border-color:#4a9eff66}.repo__filter-chip--type-to_automate.repo__filter-chip--active{color:var(--warning);background-color:#f39c121f;border-color:#f39c1266}.repo__filter-chip--test_type-e2e.repo__filter-chip--active{color:#16a085;background-color:#16a0851f;border-color:#16a08566}.repo__filter-chip--test_type-api.repo__filter-chip--active{color:#9b59b6;background-color:#9b59b61f;border-color:#9b59b666}.repo__filter-footer{padding-top:var(--space-sm);border-top:1px solid var(--border-subtle);justify-content:flex-end;display:flex}.repo__filter-clear{color:var(--text-muted);font-family:var(--font);font-size:var(--text-xs);font-weight:var(--fw-semibold);cursor:pointer;transition:color var(--transition), background-color var(--transition);background:0 0;border:none;border-radius:6px;padding:4px 8px}.repo__filter-clear:hover:not(:disabled){color:var(--text);background-color:var(--bg-hover)}.repo__filter-clear:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}@media (width<=600px){.repo__filter-popover{min-width:240px;max-width:calc(100vw - 32px);left:0;right:auto}}.repo__alert{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-input);color:var(--danger);font-size:var(--text-sm);background:#e74c3c14;border:1px solid #e74c3c4d;display:flex}.repo__layout{min-height:calc(100vh - var(--navbar-height) - 200px);grid-template-columns:260px 1fr;align-items:stretch;gap:0;display:grid}@media (width<=1000px){.repo__layout{grid-template-columns:1fr}}.repo__tree{top:var(--navbar-height);background-color:var(--bg-sidebar);border:none;border-right:1px solid var(--border-subtle);height:calc(100vh - var(--navbar-height));border-radius:0;align-self:start;padding:0;position:sticky;overflow-y:auto}.repo__tree-header{padding:10px var(--space-sm) 8px var(--space-md);border-bottom:1px solid var(--border-subtle);background-color:var(--bg-sidebar);z-index:1;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.repo__tree-header-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--fw-semibold);color:var(--text-muted)}.repo__tree-header-actions{align-items:center;gap:0;display:flex}.repo__inline-form{padding:4px var(--space-sm)}.repo__inline-form--in-section{margin-bottom:var(--space-xs);padding:0}.repo__inline-input{background-color:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--primary);font-size:var(--text-sm);font-family:var(--font);border-radius:4px;padding:.25rem .5rem}.repo__inline-input:focus{box-shadow:0 0 0 2px var(--input-focus-ring);outline:none}.repo__tree-body{padding:4px 0 var(--space-lg);flex-direction:column;display:flex}.repo__tree-empty{font-size:var(--text-sm);color:var(--text-muted);padding:var(--space-sm) var(--space-md)}.repo__tree-row{height:var(--row-sm);padding-right:var(--space-sm);cursor:pointer;transition:background-color var(--transition);border-radius:0;align-items:center;gap:1px;padding-left:4px;display:flex;position:relative}.repo__tree-row:hover{background-color:var(--bg-hover)}.repo__tree-row--active{background-color:var(--bg-selected)}.repo__tree-row--active:before{content:"";background-color:var(--primary);width:2px;position:absolute;top:0;bottom:0;left:0}.repo__tree-chevron{width:16px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.repo__tree-chevron:hover{color:var(--text)}.repo__tree-spacer{width:12px;display:inline-block}.repo__tree-label{justify-content:space-between;align-items:center;gap:var(--space-sm);color:var(--text);cursor:pointer;text-align:left;font-size:var(--text-sm);padding:0 var(--space-xs) 0 2px;background:0 0;border:none;flex:1;min-width:0;height:100%;display:flex}.repo__tree-name{text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-regular);line-height:1.5;overflow:hidden}.repo__tree-row--active .repo__tree-name{color:var(--primary);font-weight:var(--fw-medium)}.repo__tree-count{color:var(--text-muted);opacity:.7;font-variant-numeric:tabular-nums;font-size:.65rem;font-weight:var(--fw-regular);flex-shrink:0}.repo__tree-row--active .repo__tree-count{color:var(--primary);opacity:.7}.repo__tree-children{padding-left:16px;position:relative}.repo__tree-children:before{content:"";background-color:var(--tree-guide);pointer-events:none;width:1px;position:absolute;top:0;bottom:0;left:11px}.repo__main{gap:var(--space-lg);min-width:0;padding-left:var(--space-lg);padding-top:var(--space-sm);flex-direction:column;display:flex}.repo__section{background:0 0;border:none;flex-direction:column;padding:0;display:flex;position:relative}.repo__section--nested{padding-left:var(--space-md);margin-top:var(--space-sm)}.repo__section-header{align-items:center;gap:var(--space-xs);padding:var(--space-xs) 0;border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-2xs);display:flex}.repo__section-toggle{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.repo__section-toggle:hover{color:var(--text);background-color:var(--bg-hover)}.repo__section-title{font-weight:var(--fw-semibold);color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:var(--space-xs);flex:1;overflow:hidden}.repo__section-title--lg{font-size:var(--text-xl)}.repo__section-title--md{font-size:var(--text-lg)}.repo__section-title--sm{font-size:var(--text-base)}.repo__section-actions{align-items:center;gap:2px;display:flex}.repo__cases{flex-direction:column;display:flex}.repo__cases-loading{padding:var(--space-sm) var(--space-md);justify-content:flex-start;display:flex}.repo__cases-empty{font-size:var(--text-sm);color:var(--text-muted);padding:var(--space-sm) var(--space-md);font-style:italic}.repo__case-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.repo__case-row{align-items:center;gap:var(--space-sm);width:100%;height:var(--row-md);padding:0 var(--space-sm);border-bottom:1px solid var(--border-subtle);color:var(--text);transition:background-color var(--transition);background:0 0;display:flex}.repo__case-list li:last-child .repo__case-row{border-bottom:none}.repo__case-row:hover{background-color:var(--bg-hover)}.repo__case-row--selected{background-color:var(--bg-selected)}.repo__case-row--selected:hover{background-color:var(--bg-selected-strong)}.repo__case-row--bulk-selected{box-shadow:inset 2px 0 0 var(--primary);background-color:#4a9eff0f}.repo__case-row--bulk-selected:hover{background-color:#4a9eff1a}.repo__case-row-body{align-items:center;gap:var(--space-sm);font-family:var(--font);font-size:var(--text-sm);color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;min-width:0;height:100%;padding:0;display:flex}.repo__case-marker{width:var(--icon-md);height:var(--icon-md);color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.repo__case-marker--priority-high{color:var(--danger)}.repo__case-marker--priority-medium{color:var(--warning)}.repo__case-marker--priority-low{color:var(--success)}.repo__case-marker--type-manual{color:var(--text-muted)}.repo__case-marker--type-automated{color:var(--primary)}.repo__case-marker--type-to_automate{color:var(--warning)}.repo__case-marker--test_type-e2e{color:#16a085}.repo__case-marker--test_type-api{color:#9b59b6}.repo__case-code{color:var(--text-muted);font-size:var(--text-xs);flex-shrink:0;min-width:56px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace}.repo__case-row--selected .repo__case-code{color:var(--primary)}.repo__case-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.repo__highlight{color:inherit;background-color:#ffd7002e;border-radius:3px;padding:0 2px}.repo__quick-create{align-items:center;gap:var(--space-sm);height:var(--row-md);padding:0 var(--space-sm);border-top:1px dashed var(--border-subtle);color:var(--text-muted);display:flex}.repo__quick-create-plus{color:var(--text-muted);font-size:var(--text-base);font-weight:var(--fw-regular);min-width:56px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs)}.repo__quick-create-input{color:var(--text);font-size:var(--text-sm);font-family:var(--font);background:0 0;border:none;flex:1;padding:0;font-style:italic}.repo__quick-create-input::placeholder{color:var(--text-muted);font-style:italic}.repo__quick-create-input:focus{outline:none;font-style:normal}.repo__section-children{gap:var(--space-md);margin-top:var(--space-sm);flex-direction:column;padding-left:16px;display:flex;position:relative}.repo__section-children:before{content:"";background-color:var(--tree-guide);pointer-events:none;width:1px;position:absolute;top:0;bottom:8px;left:7px}.repo__case-row .qh-bulk-checkbox,.repo__section-header .qh-bulk-checkbox{visibility:hidden;opacity:0;transition:visibility var(--transition), opacity var(--transition)}.repo__case-row:hover .qh-bulk-checkbox,.repo__case-row--bulk-selected .qh-bulk-checkbox,.repo__section-header:hover .qh-bulk-checkbox,.qh-bulk-checkbox--checked,.qh-bulk-checkbox--indeterminate{visibility:visible;opacity:1}.repo__case-checkbox-spacer{flex-shrink:0;width:14px;display:inline-block}.repo__modal-overlay{padding:var(--space-md);z-index:200;background-color:#0000008c;justify-content:center;align-items:center;animation:.15s ease-out repo-modal-overlay-in;display:flex;position:fixed;inset:0}@keyframes repo-modal-overlay-in{0%{opacity:0}to{opacity:1}}.repo__modal{background-color:var(--bg-drawer);border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;width:100%;max-width:520px;min-height:520px;max-height:calc(100vh - 48px);animation:.18s cubic-bezier(.2,.8,.2,1) repo-modal-in;display:flex;box-shadow:0 24px 48px #00000080,0 4px 12px #0000004d}.repo__modal--compact{max-width:440px;min-height:0}@keyframes repo-modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.repo__modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid #ffffff0f;display:flex}.repo__modal-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-tight)}.repo__modal-subtitle{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.01em;margin-top:2px}.repo__modal-body{padding:var(--space-md) var(--space-lg);gap:var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.repo__modal-helper{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--lh-normal)}.repo__modal-subtitle-hint{color:var(--text-muted)}.repo__modal-fields{gap:var(--space-lg);flex-direction:column;display:flex}.repo__modal-field{flex-direction:column;gap:6px;min-width:0;display:flex}.repo__modal-field-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.6875rem;font-weight:var(--fw-semibold)}.repo__modal-field-hint{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--lh-normal)}.repo__modal-textarea{background-color:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--input-border);border-radius:var(--radius-input);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-family:var(--font);resize:vertical;min-height:64px;line-height:var(--lh-normal);transition:border-color var(--transition), box-shadow var(--transition)}.repo__modal-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--input-focus-ring);outline:none}.repo__modal-textarea::placeholder{color:var(--text-muted)}.repo__modal-textarea:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.repo__modal-footer{justify-content:flex-end;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-top:1px solid #ffffff0f;display:flex}.repo__modal-btn{font-size:var(--text-sm);font-weight:var(--fw-semibold);font-family:var(--font);cursor:pointer;transition:background-color var(--transition), color var(--transition);border-radius:6px;align-items:center;gap:6px;padding:8px 16px;display:inline-flex}.repo__modal-btn--ghost{color:var(--text-muted);background:0 0;border:1px solid #0000}.repo__modal-btn--ghost:hover:not(:disabled){color:var(--text);background-color:var(--bg-hover)}.repo__modal-btn--primary{background-color:var(--primary);border:1px solid var(--primary);color:#fff}.repo__modal-btn--primary:hover:not(:disabled){background-color:var(--primary-hover)}.repo__modal-btn--danger{background-color:var(--danger);border:1px solid var(--danger);color:#fff}.repo__modal-btn--danger:hover:not(:disabled){background-color:#c0392b;border-color:#c0392b}.repo__modal-btn--danger:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.repo__modal-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}@media (width<=600px){.repo__modal{min-height:0}.repo__modal-fields{gap:var(--space-md)}}.runs{gap:var(--space-md);flex-direction:column;display:flex}.runs__top{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle);display:flex}.runs__top-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.runs__title{align-items:center;gap:var(--space-sm);font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text);display:flex}.runs__subtitle{font-size:var(--text-xs);color:var(--text-muted)}.runs__top-actions{align-items:center;gap:var(--space-sm);display:flex}.runs__toolbar{align-items:center;gap:var(--space-sm);border:1px solid var(--border-subtle);border-radius:calc(var(--radius-btn) + 4px);background-color:#ffffff05;padding:4px;display:inline-flex}.runs__toolbar>.btn{border-radius:var(--radius-btn);height:40px;font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:0 1rem}.runs__toolbar-divider{background-color:var(--border-subtle);width:1px;height:22px;margin:0}.runs__chips{gap:var(--space-sm);flex-wrap:wrap;display:flex}.runs__chip{border:1px solid var(--border-subtle);border-radius:var(--radius-badge);font-size:var(--text-xs);background-color:#ffffff08;align-items:baseline;gap:6px;padding:4px 12px;display:inline-flex}.runs__chip-value{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text);font-variant-numeric:tabular-nums}.runs__chip-label{color:var(--text-muted);letter-spacing:.02em}.runs__chip--success .runs__chip-value{color:var(--success)}.runs__chip--danger .runs__chip-value{color:var(--danger)}.runs__chip--warning .runs__chip-value{color:var(--warning)}.runs__chip--primary .runs__chip-value{color:var(--primary)}.runs__alert{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);border-radius:6px;display:flex}.runs__alert--error{color:var(--danger);background:#e74c3c14;border:1px solid #e74c3c40}.runs__loading{padding:var(--space-xl);justify-content:center;display:flex}.runs__empty{align-items:center;gap:var(--space-sm);padding:var(--space-2xl) var(--space-md);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.runs__empty h2{font-size:var(--text-lg);font-weight:var(--fw-medium);color:var(--text)}.runs__empty p{font-size:var(--text-sm);max-width:360px}.runs__empty-text{color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-sm) 0}.runs__table-wrap{border:1px solid var(--border-subtle);border-radius:8px;overflow-x:auto}.runs__table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.runs__table thead{background-color:#ffffff05}.runs__table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:var(--fw-semibold);color:var(--text-muted);padding:10px var(--space-md);border-bottom:1px solid var(--border-subtle);white-space:nowrap}.runs__th-name{min-width:200px}.runs__th-progress{width:240px}.runs__th-num{text-align:right;width:90px}.runs__th-check,.runs__td-check{width:32px;padding-left:var(--space-md);padding-right:0}.runs__row{cursor:pointer;transition:background-color var(--transition)}.runs__row:hover{background-color:var(--bg-hover)}.runs__row--bulk-selected{box-shadow:inset 2px 0 0 var(--primary);background-color:#4a9eff0f}.runs__row--bulk-selected:hover{background-color:#4a9eff1a}.runs__row td{padding:10px var(--space-md);border-bottom:1px solid var(--border-subtle);color:var(--text);vertical-align:middle}.runs__table tbody tr:last-child td{border-bottom:none}.runs__row-name{color:var(--text);font-weight:var(--fw-medium)}.runs__td-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-muted)}.runs__td-num--success{color:var(--success)}.runs__td-num--danger{color:var(--danger)}.runs__td-date{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.runs__td-action{text-align:right;white-space:nowrap}.runs__open-link{color:var(--primary);font-size:var(--text-xs);font-weight:var(--fw-medium);opacity:.7;transition:opacity var(--transition);align-items:center;gap:4px;display:inline-flex}.runs__row:hover .runs__open-link{opacity:1}.runs__status-pill{border-radius:var(--radius-badge);font-size:var(--text-xs);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;gap:6px;padding:2px 10px;display:inline-flex}.runs__status-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.runs__status-pill--done{color:var(--success);background-color:#27ae601a;border:1px solid #27ae6040}.runs__status-pill--done .runs__status-dot{background-color:var(--success)}.runs__status-pill--inprogress{color:var(--warning);background-color:#f39c121a;border:1px solid #f39c1240}.runs__status-pill--inprogress .runs__status-dot{background-color:var(--warning)}.runs__status-pill--idle{color:var(--text-muted);background-color:#ffffff0a;border:1px solid #ffffff14}.runs__status-pill--idle .runs__status-dot{background-color:var(--text-muted)}.runs__progress{align-items:center;gap:var(--space-sm);min-width:140px;display:flex}.runs__progress-track{background-color:#ffffff0d;border-radius:2px;flex:1;height:4px;overflow:hidden}.runs__progress-fill{background-color:var(--warning);height:100%;transition:width var(--transition);border-radius:2px}.runs__progress-fill--done{background-color:var(--success)}.runs__progress-text{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;flex-shrink:0;width:56px}.runs__modal-overlay{padding:var(--space-md);z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.runs__modal{background:var(--bg-drawer);padding:var(--space-lg);gap:var(--space-md);border:1px solid #ffffff14;border-radius:10px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 24px 48px #00000073}.runs__modal-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text)}.runs__field{gap:var(--space-xs);flex-direction:column;display:flex}.runs__label{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--fw-medium);justify-content:space-between;align-items:center;display:flex}.runs__counter{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);color:var(--text-tertiary);border:1px solid var(--border-subtle);background-color:#ffffff0a;border-radius:4px;padding:1px 6px}.runs__suite-tree{gap:var(--space-sm);border:1px solid var(--border-subtle);max-height:320px;padding:var(--space-sm);border-radius:6px;flex-direction:column;display:flex;overflow-y:auto}.runs__suite-block{flex-direction:column;gap:4px;display:flex}.runs__suite-header{align-items:center;gap:var(--space-sm);font-weight:var(--fw-medium);font-size:var(--text-sm);cursor:pointer;padding:4px 0;display:flex}.runs__suite-count{font-size:var(--text-xs);color:var(--text-muted);border:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;background-color:#ffffff0a;border-radius:4px;margin-left:auto;padding:1px 6px}.runs__case-row{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text);cursor:pointer;padding:3px 0 3px 24px;display:flex}.runs__modal-actions{justify-content:flex-end;gap:var(--space-sm);border-top:1px solid var(--border-subtle);padding-top:var(--space-md);display:flex}@media (width<=768px){.runs__top{flex-direction:column;align-items:stretch}.runs__top-actions{flex-wrap:wrap}.runs__th-progress,.runs__th-num:nth-of-type(4),.runs__td-num:nth-of-type(4),.runs__td-date{display:none}}.tooltip-wrap{display:inline-flex;position:relative}.tooltip{--tooltip-bg:#111827f5;--tooltip-border:#ffffff14;--tooltip-shift:6px;z-index:1000;pointer-events:none;background-color:var(--tooltip-bg);color:#e5e7eb;border:1px solid var(--tooltip-border);font-size:13px;font-family:var(--font);letter-spacing:.005em;white-space:nowrap;text-align:center;-webkit-backdrop-filter:blur(8px)saturate(1.2);opacity:0;visibility:hidden;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-weight:500;line-height:1.4;transition:opacity .16s ease-out,transform .16s ease-out,visibility .16s ease-out;display:inline-flex;position:absolute;box-shadow:0 12px 32px #00000052,0 4px 12px #00000029,inset 0 1px #ffffff0a}.tooltip--with-icon{padding:8px 14px 8px 10px}.tooltip__icon{color:#e5e7ebd9;flex-shrink:0;align-items:center;display:inline-flex}.tooltip__text{display:inline-block}.tooltip--multiline{white-space:normal;text-align:left;max-width:280px}.tooltip:after{content:"";background-color:var(--tooltip-bg);border-right:1px solid var(--tooltip-border);border-bottom:1px solid var(--tooltip-border);pointer-events:none;width:9px;height:9px;position:absolute}.tooltip--top{transform:translateX(-50%) translateY(var(--tooltip-shift));bottom:calc(100% + 10px);left:50%}.tooltip--top.tooltip--visible{transform:translate(-50%)translateY(0)}.tooltip--top:after{bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.tooltip--bottom{transform:translateX(-50%) translateY(calc(var(--tooltip-shift) * -1));top:calc(100% + 10px);left:50%}.tooltip--bottom.tooltip--visible{transform:translate(-50%)translateY(0)}.tooltip--bottom:after{top:-5px;left:50%;transform:translate(-50%)rotate(225deg)}.tooltip--left{transform:translateY(-50%) translateX(var(--tooltip-shift));top:50%;right:calc(100% + 10px)}.tooltip--left.tooltip--visible{transform:translateY(-50%)translate(0)}.tooltip--left:after{top:50%;right:-5px;transform:translateY(-50%)rotate(-45deg)}.tooltip--right{transform:translateY(-50%) translateX(calc(var(--tooltip-shift) * -1));top:50%;left:calc(100% + 10px)}.tooltip--right.tooltip--visible{transform:translateY(-50%)translate(0)}.tooltip--right:after{top:50%;left:-5px;transform:translateY(-50%)rotate(135deg)}.tooltip--visible{opacity:1;visibility:visible}@media (prefers-reduced-motion:reduce){.tooltip{transition:opacity,visibility}.tooltip--top,.tooltip--top.tooltip--visible,.tooltip--bottom,.tooltip--bottom.tooltip--visible{transform:translate(-50%)}.tooltip--left,.tooltip--left.tooltip--visible,.tooltip--right,.tooltip--right.tooltip--visible{transform:translateY(-50%)}}.edit-run-modal-overlay{padding:var(--space-md);z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.edit-run-modal{background:var(--bg-drawer);padding:var(--space-lg);gap:var(--space-md);border:1px solid #ffffff14;border-radius:10px;flex-direction:column;width:100%;max-width:520px;max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 24px 48px #00000073}.edit-run-modal__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text)}.edit-run-modal__field{gap:var(--space-xs);flex-direction:column;display:flex}.edit-run-modal__label{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--fw-medium)}.edit-run-modal__actions{justify-content:flex-end;gap:var(--space-sm);border-top:1px solid var(--border-subtle);padding-top:var(--space-md);display:flex}.manage-run-modal-overlay{padding:var(--space-md);z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.manage-run-modal{background:var(--bg-drawer);padding:var(--space-lg);gap:var(--space-md);border:1px solid #ffffff14;border-radius:10px;flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 24px 48px #00000073}.manage-run-modal__header{flex-direction:column;gap:2px;display:flex}.manage-run-modal__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text)}.manage-run-modal__subtitle{font-size:var(--text-xs);color:var(--text-muted)}.manage-run-modal__field{gap:var(--space-xs);flex-direction:column;display:flex}.manage-run-modal__label{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--fw-medium);justify-content:space-between;align-items:center;display:flex}.manage-run-modal__counter{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);color:var(--text-tertiary);border:1px solid var(--border-subtle);background-color:#ffffff0a;border-radius:4px;padding:1px 6px}.manage-run-modal__tree{gap:var(--space-sm);border:1px solid var(--border-subtle);max-height:420px;padding:var(--space-sm);border-radius:6px;flex-direction:column;display:flex;overflow-y:auto}.manage-run-modal__suite-block{flex-direction:column;gap:4px;display:flex}.manage-run-modal__suite-header{align-items:center;gap:var(--space-sm);font-weight:var(--fw-medium);font-size:var(--text-sm);padding:4px 0;display:flex}.manage-run-modal__suite-header--locked .manage-run-modal__suite-name{cursor:default;color:var(--text-muted)}.manage-run-modal__suite-name{cursor:pointer}.manage-run-modal__suite-count{font-size:var(--text-xs);color:var(--text-muted);border:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;background-color:#ffffff0a;border-radius:4px;margin-left:auto;padding:1px 6px}.manage-run-modal__case-row{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text);cursor:pointer;transition:background-color var(--transition);border-radius:4px;padding:4px 0 4px 24px;display:flex}.manage-run-modal__case-row:hover{background-color:var(--bg-hover)}.manage-run-modal__case-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.manage-run-modal__case-row--locked{cursor:not-allowed;color:var(--text-muted)}.manage-run-modal__case-row--locked:hover{background-color:#0000}.manage-run-modal__check--locked{opacity:.55;pointer-events:none}.manage-run-modal__status-tag{text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:var(--fw-semibold);border:1px solid var(--border-subtle);background-color:#ffffff08;border-radius:4px;margin-left:auto;padding:1px 6px}.manage-run-modal__status-tag--passed{color:var(--success);border-color:#27ae604d}.manage-run-modal__status-tag--failed{color:var(--danger);border-color:#e74c3c4d}.manage-run-modal__status-tag--blocked{color:var(--warning);border-color:#f39c124d}.manage-run-modal__status-tag--skipped{color:#b48fd1;border-color:#9b59b64d}.manage-run-modal__empty{color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-sm) 0}.manage-run-modal__loading{padding:var(--space-xl);justify-content:center;display:flex}.manage-run-modal__hint{font-size:var(--text-xs);color:var(--text-muted);padding-left:var(--space-xs)}.manage-run-modal__actions{justify-content:flex-end;gap:var(--space-sm);border-top:1px solid var(--border-subtle);padding-top:var(--space-md);display:flex}.start-validation-modal-overlay{padding:var(--space-md);z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.start-validation-modal{background:var(--bg-drawer);padding:var(--space-lg);gap:var(--space-md);border:1px solid #ffffff14;border-radius:10px;flex-direction:column;width:100%;max-width:760px;max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 24px 48px #00000073}.start-validation-modal__header{flex-direction:column;gap:2px;display:flex}.start-validation-modal__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text)}.start-validation-modal__subtitle{font-size:var(--text-xs);color:var(--text-muted)}.start-validation-modal__field{gap:var(--space-xs);flex-direction:column;display:flex}.start-validation-modal__label{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--fw-medium);justify-content:space-between;align-items:center;display:flex}.start-validation-modal__counter{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);color:var(--text-tertiary);border:1px solid var(--border-subtle);background-color:#ffffff0a;border-radius:4px;padding:1px 6px}.start-validation-modal__tree{gap:var(--space-sm);border:1px solid var(--border-subtle);max-height:380px;padding:var(--space-sm);border-radius:6px;flex-direction:column;display:flex;overflow-y:auto}.start-validation-modal__suite-block{flex-direction:column;gap:4px;display:flex}.start-validation-modal__suite-header{align-items:center;gap:var(--space-sm);font-weight:var(--fw-medium);font-size:var(--text-sm);padding:4px 0;display:flex}.start-validation-modal__suite-name{cursor:pointer}.start-validation-modal__suite-count{font-size:var(--text-xs);color:var(--text-muted);border:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;background-color:#ffffff0a;border-radius:4px;margin-left:auto;padding:1px 6px}.start-validation-modal__case-row{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text);cursor:pointer;transition:background-color var(--transition);border-radius:4px;min-width:0;padding:4px 8px 4px 24px;display:flex}.start-validation-modal__case-row:hover{background-color:var(--bg-hover)}.start-validation-modal__case-code{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.start-validation-modal__case-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.start-validation-modal__hint{font-size:var(--text-xs);color:var(--text-muted);padding-left:var(--space-xs)}.start-validation-modal__empty{color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-sm) 0}.start-validation-modal__actions{justify-content:flex-end;gap:var(--space-sm);border-top:1px solid var(--border-subtle);padding-top:var(--space-md);display:flex}.run-detail{gap:var(--space-md);transition:padding-right var(--transition);min-height:calc(100vh - var(--navbar-height) - var(--space-lg) * 2);flex-direction:column;padding-right:0;display:flex}.run-detail--with-panel{padding-right:460px}.run-detail__top{justify-content:space-between;align-items:center;gap:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle);display:flex}.run-detail__top-left{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.run-detail__top-titles{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.run-detail__title{font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.run-detail__top-meta{font-size:var(--text-xs);color:var(--text-muted)}.run-detail__top-right{align-items:center;gap:var(--space-sm);display:flex}.run-detail__status-tag{border-radius:var(--radius-badge);font-size:var(--text-xs);font-weight:var(--fw-semibold);white-space:nowrap;align-items:center;padding:2px 10px;display:inline-flex}.run-detail__status-tag--inprogress{color:var(--warning);background-color:#f39c121f}.run-detail__status-tag--done{color:var(--success);background-color:#27ae6024}.run-detail__progress-bar{align-items:center;gap:var(--space-md);display:flex}.run-detail__progress-track{background-color:#ffffff0f;border-radius:3px;flex:1;height:6px;overflow:hidden}.run-detail__progress-fill{background:linear-gradient(90deg, var(--primary), var(--success));height:100%;transition:width var(--transition);border-radius:3px}.run-detail__progress-label{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.run-detail__chips{gap:var(--space-sm);flex-wrap:wrap;display:flex}.run-detail__chip{border:1px solid var(--border-subtle);border-radius:var(--radius-badge);font-size:var(--text-xs);background-color:#ffffff08;align-items:baseline;gap:6px;padding:4px 12px;display:inline-flex}.run-detail__chip-value{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text);font-variant-numeric:tabular-nums}.run-detail__chip-label{color:var(--text-muted);letter-spacing:.02em}.run-detail__chip--success .run-detail__chip-value{color:var(--success)}.run-detail__chip--danger .run-detail__chip-value{color:var(--danger)}.run-detail__chip--warning .run-detail__chip-value{color:var(--warning)}.run-detail__chip--primary .run-detail__chip-value{color:var(--primary)}.run-detail__chip--muted .run-detail__chip-value{color:var(--text-muted)}.run-detail__validation-banner{align-items:center;gap:var(--space-sm);padding:6px var(--space-md);border:1px solid #4a9eff40;border-left:3px solid var(--primary);color:var(--primary);font-size:var(--text-sm);background-color:#4a9eff14;border-radius:6px;display:flex}.run-detail__validation-banner-text{font-weight:var(--fw-medium);flex:1}.run-detail__validation-banner-clear{color:var(--primary);border-radius:var(--radius-badge);font-size:var(--text-xs);font-weight:var(--fw-medium);cursor:pointer;font-family:var(--font);transition:background-color var(--transition);background:0 0;border:1px solid #4a9eff59;padding:2px 10px}.run-detail__validation-banner-clear:hover{background-color:#4a9eff1f}.run-detail__alert{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);border-radius:6px;display:flex}.run-detail__alert--error{color:var(--danger);background:#e74c3c14;border:1px solid #e74c3c40}.run-detail__tree{flex-direction:column;display:flex}.run-detail__empty{padding:var(--space-xl);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.run-detail__suite{flex-direction:column;display:flex}.run-detail__suite-header{align-items:center;gap:var(--space-sm);color:var(--text);cursor:pointer;text-align:left;width:100%;font-family:var(--font);transition:background-color var(--transition);background:0 0;border:none;border-radius:6px;padding:8px 10px;display:flex}.run-detail__suite-header:hover{background-color:var(--bg-hover)}.run-detail__suite-chevron{width:16px;height:16px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.run-detail__suite-name{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.run-detail__suite-header--depth-0 .run-detail__suite-name{font-size:var(--text-md)}.run-detail__suite-header--depth-1 .run-detail__suite-name{font-size:var(--text-sm);font-weight:var(--fw-medium)}.run-detail__suite-header--depth-2 .run-detail__suite-name,.run-detail__suite-header--depth-3 .run-detail__suite-name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-muted)}.run-detail__suite-summary{font-size:var(--text-xs);color:var(--text-muted);flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.run-detail__suite-summary-num{font-variant-numeric:tabular-nums;font-weight:var(--fw-medium)}.run-detail__dot{border-radius:50%;width:6px;height:6px;display:inline-block}.run-detail__dot--success{background-color:var(--success)}.run-detail__dot--danger{background-color:var(--danger)}.run-detail__dot--warning{background-color:var(--warning)}.run-detail__suite-children{padding-left:18px;position:relative}.run-detail__suite-children:before{content:"";border-left:1px solid var(--tree-guide);pointer-events:none;position:absolute;top:0;bottom:6px;left:14px}.run-detail__row{align-items:center;gap:var(--space-sm);width:100%;color:var(--text);cursor:pointer;text-align:left;font-family:var(--font);font-size:var(--text-sm);min-height:var(--row-sm);transition:background-color var(--transition);background:0 0;border:none;border-radius:6px;padding:6px 10px;display:flex;position:relative}.run-detail__row:hover{background-color:var(--bg-hover)}.run-detail__row--selected{background-color:var(--bg-selected)}.run-detail__row:before{content:"";background-color:var(--primary);opacity:0;width:2px;transition:opacity var(--transition);border-radius:0 2px 2px 0;position:absolute;top:4px;bottom:4px;left:-10px}.run-detail__row--selected:before{opacity:1}.run-detail__row-code{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);color:var(--text-tertiary);flex-shrink:0;min-width:60px}.run-detail__row-title{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;overflow:hidden}.run-detail__row-executor{font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;flex-shrink:0;max-width:120px;overflow:hidden}.run-detail__row-attempts{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-muted);border-radius:var(--radius-badge);border:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;background-color:#ffffff0a;flex-shrink:0;padding:1px 6px}.run-detail__row--dirty{background-color:#f39c120f}.run-detail__row--dirty:hover{background-color:#f39c121a}.run-detail__row-dirty-dot{background-color:var(--warning);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.run-detail__row--invalid{background-color:#e74c3c0f}.run-detail__row--invalid:hover{background-color:#e74c3c1a}.run-detail__row-invalid-icon{color:var(--danger);flex-shrink:0}.run-detail__dirty-count{min-width:18px;height:18px;font-size:.7rem;font-weight:var(--fw-bold);color:#fff;font-variant-numeric:tabular-nums;background-color:#ffffff40;border-radius:9px;justify-content:center;align-items:center;margin-left:4px;padding:0 5px;display:inline-flex}.run-detail__panel-dirty-tag{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--warning);border-radius:var(--radius-badge);white-space:nowrap;background-color:#f39c121a;border:1px solid #f39c1240;padding:2px 8px}.run-detail__panel-section-count{color:var(--text-tertiary);font-variant-numeric:tabular-nums;background-color:#ffffff0d;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:.65rem}.run-detail__history-loading,.run-detail__history-empty{align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;font-size:var(--text-xs);color:var(--text-muted);display:flex}.run-detail__history-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:relative}.run-detail__history-list:before{content:"";background-color:var(--tree-guide);width:1px;position:absolute;top:14px;bottom:14px;left:13px}.run-detail__history-item{align-items:flex-start;gap:var(--space-sm);display:flex;position:relative}.run-detail__history-marker{background-color:var(--surface);border:1px solid var(--border-subtle);width:26px;height:26px;color:var(--text-muted);font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.7rem;font-weight:var(--fw-semibold);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.run-detail__history-item--current .run-detail__history-marker{background-color:var(--bg-selected-strong);border-color:var(--primary);color:var(--primary)}.run-detail__history-marker--pending{color:var(--warning);background-color:#f39c121f;border-color:#f39c1266}.run-detail__history-body{flex-direction:column;flex:1;gap:4px;min-width:0;padding-bottom:2px;display:flex}.run-detail__history-top{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.run-detail__history-time{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto}.run-detail__history-meta{align-items:center;gap:var(--space-sm);font-size:var(--text-xs);color:var(--text-muted);display:flex}.run-detail__history-tag{border-radius:var(--radius-badge);font-size:var(--text-xs);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;padding:1px 8px;display:inline-flex}.run-detail__history-tag--current{color:var(--primary);background-color:#4a9eff1a;border:1px solid #4a9eff40}.run-detail__history-tag--pending{color:var(--warning);background-color:#f39c121a;border:1px solid #f39c1240}.run-detail__history-notes{background-color:var(--input-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-input);font-size:var(--text-xs);color:var(--text);white-space:pre-wrap;margin:0;padding:6px 10px}.run-detail__status-badge{border-radius:var(--radius-badge);font-size:.7rem;font-weight:var(--fw-medium);letter-spacing:.02em;flex-shrink:0;justify-content:flex-start;align-items:center;gap:5px;min-width:88px;padding:2px 8px;display:inline-flex}.run-detail__status-dot{border-radius:50%;width:5px;height:5px;display:inline-block}.run-detail__status-badge--not_run{color:var(--text-muted);background-color:#ffffff0a;border:1px solid #ffffff14}.run-detail__status-badge--not_run .run-detail__status-dot{background-color:var(--text-muted)}.run-detail__status-badge--passed{color:var(--success);background-color:#27ae601a;border:1px solid #27ae6040}.run-detail__status-badge--passed .run-detail__status-dot{background-color:var(--success)}.run-detail__status-badge--failed{color:var(--danger);background-color:#e74c3c1a;border:1px solid #e74c3c40}.run-detail__status-badge--failed .run-detail__status-dot{background-color:var(--danger)}.run-detail__status-badge--blocked{color:var(--warning);background-color:#f39c121a;border:1px solid #f39c1240}.run-detail__status-badge--blocked .run-detail__status-dot{background-color:var(--warning)}.run-detail__status-badge--skipped{color:#b48fd1;background-color:#9b59b614;border:1px solid #9b59b638}.run-detail__status-badge--skipped .run-detail__status-dot{background-color:#b48fd1}.run-detail__loading{padding:var(--space-2xl);justify-content:center;display:flex}.run-detail__panel{top:var(--navbar-height);background-color:var(--bg-drawer);z-index:80;border-left:1px solid #ffffff14;flex-direction:column;width:460px;animation:.18s ease-out panel-slide;display:flex;position:fixed;bottom:0;right:0;box-shadow:-16px 0 32px #00000052}@keyframes panel-slide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.run-detail__panel-header{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-bottom:1px solid #ffffff14;flex-shrink:0;display:flex}.run-detail__panel-meta{align-items:center;gap:var(--space-sm);min-width:0;font-size:var(--text-xs);color:var(--text-muted);display:flex}.run-detail__panel-code{color:var(--text-tertiary);letter-spacing:.02em;background-color:#ffffff0a;border:1px solid #ffffff14;border-radius:4px;flex-shrink:0;padding:2px 7px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace}.run-detail__panel-breadcrumb{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.run-detail__panel-header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.run-detail__panel-content{flex-direction:column;flex:1;min-height:0;animation:.16s ease-out panel-content-swap;display:flex}@keyframes panel-content-swap{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.run-detail__panel-content{animation:none}}.run-detail__panel-title-row{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg) 0;flex-shrink:0;display:flex}.run-detail__panel-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-tight);word-break:break-word;flex:1;min-width:0}.run-detail__panel-body{padding:var(--space-md) var(--space-lg) var(--space-xl);gap:var(--space-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.run-detail__panel-body::-webkit-scrollbar{width:8px}.run-detail__panel-body::-webkit-scrollbar-track{background:0 0}.run-detail__panel-body::-webkit-scrollbar-thumb{background-color:#ffffff14;border-radius:4px}.run-detail__panel-body::-webkit-scrollbar-thumb:hover{background-color:#ffffff29}.run-detail__panel-section{gap:var(--space-sm);flex-direction:column;display:flex}.run-detail__panel-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.7rem;font-weight:var(--fw-semibold)}.run-detail__panel-helper{font-size:var(--text-xs);color:var(--text-muted);margin-top:4px}.run-detail__status-grid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr);display:grid}.run-detail__status-btn{align-items:center;gap:var(--space-sm);border:1px solid var(--border-subtle);color:var(--text);font-family:var(--font);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;text-align:left;transition:background-color var(--transition), border-color var(--transition), color var(--transition);background-color:#ffffff08;border-radius:8px;padding:10px 12px;display:flex;position:relative}.run-detail__status-btn:hover:not(:disabled){background-color:#ffffff0f}.run-detail__status-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.run-detail__kbd{color:var(--text-muted);background-color:#ffffff0f;border:1px solid #ffffff1a;border-radius:3px;margin-left:auto;padding:1px 6px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.7rem}.run-detail__status-btn--success{color:var(--success)}.run-detail__status-btn--success:hover:not(:disabled){background-color:#27ae601a;border-color:#27ae6059}.run-detail__status-btn--success.run-detail__status-btn--active{background-color:#27ae6024;border-color:#27ae6073}.run-detail__status-btn--danger{color:var(--danger)}.run-detail__status-btn--danger:hover:not(:disabled){background-color:#e74c3c1a;border-color:#e74c3c59}.run-detail__status-btn--danger.run-detail__status-btn--active{background-color:#e74c3c24;border-color:#e74c3c73}.run-detail__status-btn--warning{color:var(--warning)}.run-detail__status-btn--warning:hover:not(:disabled){background-color:#f39c121a;border-color:#f39c1259}.run-detail__status-btn--warning.run-detail__status-btn--active{background-color:#f39c1224;border-color:#f39c1273}.run-detail__status-btn--neutral{color:#b48fd1}.run-detail__status-btn--neutral:hover:not(:disabled){background-color:#9b59b61a;border-color:#9b59b659}.run-detail__status-btn--neutral.run-detail__status-btn--active{background-color:#9b59b624;border-color:#9b59b673}.run-detail__notes{background-color:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--input-border);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-family:var(--font);resize:vertical;min-height:60px;line-height:var(--lh-normal);transition:border-color var(--transition);border-radius:6px}.run-detail__notes:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--input-focus-ring);outline:none}.run-detail__notes--invalid{border-color:var(--danger)}.run-detail__notes--invalid:focus{border-color:var(--danger);box-shadow:0 0 0 2px #e74c3c33}.run-detail__notes::placeholder{color:var(--text-muted)}.run-detail__notes:disabled{opacity:.7;cursor:not-allowed}.run-detail__notes-error{font-size:var(--text-xs);color:var(--danger);margin:6px 0 0}.run-detail__panel-section-required{color:var(--danger)}.run-detail__case-block{gap:var(--space-md);flex-direction:column;display:flex}.run-detail__case-field-wrap{flex-direction:column;gap:4px;display:flex}.run-detail__case-field-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--fw-medium)}.run-detail__case-field{font-size:var(--text-sm);line-height:var(--lh-relaxed);color:var(--text);white-space:pre-wrap;word-break:break-word}.run-detail__case-field--mono{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);padding:var(--space-sm) var(--space-md);background-color:#ffffff06;border:1px solid #ffffff0f;border-radius:6px}.run-detail__case-field--highlight{padding:var(--space-sm) var(--space-md);border:1px solid #4a9eff2e;border-left:2px solid var(--primary);background-color:#4a9eff0f;border-radius:6px}.run-detail__case-empty{color:var(--text-muted);font-style:italic;font-size:var(--text-sm);opacity:.7}.run-detail__case-loading{align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:var(--text-sm);display:flex}@media (width<=1100px){.run-detail--with-panel{padding-right:0}.run-detail__panel{z-index:200;width:min(420px,100vw)}}@media (width<=700px){.run-detail__panel{width:100vw;top:var(--navbar-height);border-left:none}.run-detail__top{flex-wrap:wrap}.run-detail__status-grid{grid-template-columns:1fr}}.upload-modal-overlay{padding:var(--space-md);z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.upload-modal{background:var(--bg-drawer);border:1px solid #ffffff14;border-radius:10px;flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 48px #00000073}.upload-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid #ffffff14;display:flex}.upload-modal__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-tight)}.upload-modal__subtitle{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.upload-modal__subtitle code{background-color:#ffffff0a;border-radius:3px;padding:1px 4px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace}.upload-modal__body{padding:var(--space-lg);gap:var(--space-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.upload-modal__drop{align-items:center;gap:var(--space-xs);padding:var(--space-2xl) var(--space-md);border:2px dashed var(--border-strong);border-radius:var(--radius-card);background-color:var(--input-bg);cursor:pointer;color:var(--text-muted);text-align:center;transition:border-color var(--transition), background-color var(--transition);flex-direction:column;display:flex}.upload-modal__drop:hover,.upload-modal__drop--active{border-color:var(--primary);background-color:var(--bg-selected);color:var(--text)}.upload-modal__drop-title{font-size:var(--text-sm);color:var(--text);font-weight:var(--fw-medium)}.upload-modal__drop-hint{font-size:var(--text-xs);color:var(--text-muted);max-width:50ch}.upload-modal__file-list-header{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.upload-modal__file-list-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.7rem;font-weight:var(--fw-semibold)}.upload-modal__file-list-meta{align-items:center;gap:var(--space-sm);font-size:var(--text-xs);color:var(--text-muted);display:flex}.upload-modal__counter{font-variant-numeric:tabular-nums;font-family:SF Mono,Menlo,Monaco,Consolas,monospace}.upload-modal__counter-divider{color:var(--border-strong)}.upload-modal__warning{padding:var(--space-xs) var(--space-md);color:var(--warning);font-size:var(--text-sm);background:#f39c1214;border:1px solid #f39c1240;border-radius:6px}.upload-modal__file-list{border:1px solid var(--border-subtle);border-radius:var(--radius-input);background-color:var(--input-bg);flex-direction:column;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.upload-modal__file-row{align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--border-subtle);font-size:var(--text-xs);transition:background-color var(--transition);padding:6px 10px;display:flex}.upload-modal__file-row:last-child{border-bottom:none}.upload-modal__file-row:hover{background-color:var(--bg-hover)}.upload-modal__file-row--report{background-color:#4a9eff0f}.upload-modal__file-row--report:hover{background-color:#4a9eff1a}.upload-modal__file-radio{color:var(--text-muted);cursor:pointer;flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.upload-modal__file-radio input[type=radio]{margin:0}.upload-modal__file-radio-icon{color:var(--text-muted)}.upload-modal__file-radio-icon--active{color:var(--primary)}.upload-modal__file-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;overflow:hidden}.upload-modal__file-badge{border-radius:var(--radius-badge);background-color:var(--bg-selected-strong);color:var(--primary);font-size:.65rem;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding:1px 6px}.upload-modal__file-size{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.upload-modal__file-remove{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-btn);width:22px;height:22px;transition:background-color var(--transition), color var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.upload-modal__file-remove:hover:not(:disabled){color:var(--danger);background-color:#e74c3c1f}.upload-modal__file-remove:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.upload-modal__fields{gap:var(--space-sm) var(--space-md);grid-template-columns:1fr 1fr;display:grid}.upload-modal__field{gap:var(--space-xs);flex-direction:column;display:flex}.upload-modal__label{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--fw-medium)}.upload-modal__actions{justify-content:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background-color:#0000001f;border-top:1px solid #ffffff14;display:flex}@media (width<=600px){.upload-modal__fields{grid-template-columns:1fr}}.automation-runs{gap:var(--space-md);flex-direction:column;display:flex}.automation-runs__top{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle);display:flex}.automation-runs__top-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.automation-runs__title{align-items:center;gap:var(--space-sm);font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text);display:flex}.automation-runs__subtitle{font-size:var(--text-xs);color:var(--text-muted);max-width:60ch}.automation-runs__toolbar{align-items:center;gap:var(--space-sm);border:1px solid var(--border-subtle);border-radius:calc(var(--radius-btn) + 4px);background-color:#ffffff05;padding:4px;display:inline-flex}.automation-runs__toolbar>.btn{border-radius:var(--radius-btn);height:40px;font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:0 1rem}.automation-runs__toolbar-divider{background-color:var(--border-subtle);width:1px;height:22px;margin:0}.automation-runs__chips{gap:var(--space-sm);flex-wrap:wrap;display:flex}.automation-runs__chip{border:1px solid var(--border-subtle);border-radius:var(--radius-badge);font-size:var(--text-xs);background-color:#ffffff08;align-items:baseline;gap:6px;padding:4px 12px;display:inline-flex}.automation-runs__chip-value{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text);font-variant-numeric:tabular-nums}.automation-runs__chip-label{color:var(--text-muted);letter-spacing:.02em}.automation-runs__chip--success .automation-runs__chip-value{color:var(--success)}.automation-runs__chip--danger .automation-runs__chip-value{color:var(--danger)}.automation-runs__chip--warning .automation-runs__chip-value{color:var(--warning)}.automation-runs__loading{padding:var(--space-xl);justify-content:center;display:flex}.automation-runs__empty{align-items:center;gap:var(--space-sm);padding:var(--space-2xl) var(--space-md);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.automation-runs__empty h2{font-size:var(--text-lg);font-weight:var(--fw-medium);color:var(--text)}.automation-runs__empty p{font-size:var(--text-sm);max-width:360px}.automation-runs__table-wrap{border:1px solid var(--border-subtle);border-radius:8px;overflow-x:auto}.automation-runs__table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.automation-runs__table thead{background-color:#ffffff05}.automation-runs__table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:var(--fw-semibold);color:var(--text-muted);padding:10px var(--space-md);border-bottom:1px solid var(--border-subtle);white-space:nowrap}.automation-runs__th-num{text-align:right;width:90px}.automation-runs__row{cursor:pointer;transition:background-color var(--transition)}.automation-runs__row:hover{background-color:var(--bg-hover)}.automation-runs__row td{padding:10px var(--space-md);border-bottom:1px solid var(--border-subtle);color:var(--text);vertical-align:middle}.automation-runs__table tbody tr:last-child td{border-bottom:none}.automation-runs__td-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-muted)}.automation-runs__td-num--success{color:var(--success)}.automation-runs__td-num--danger{color:var(--danger)}.automation-runs__td-num--warning{color:var(--warning)}.automation-runs__td-date{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.automation-runs__td-action{text-align:right;white-space:nowrap}.automation-runs__open-link{color:var(--primary);font-size:var(--text-xs);font-weight:var(--fw-medium);opacity:.7;transition:opacity var(--transition);align-items:center;gap:4px;display:inline-flex}.automation-runs__row:hover .automation-runs__open-link{opacity:1}.automation-runs__identity{flex-direction:column;gap:2px;min-width:0;display:flex}.automation-runs__identity-line{color:var(--text);font-weight:var(--fw-medium);align-items:center;gap:6px;display:inline-flex}.automation-runs__identity-line--meta{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--fw-regular)}.automation-runs__identity-branch{font-weight:var(--fw-medium)}.automation-runs__identity-sep{color:var(--text-muted)}.automation-runs__identity-sha{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);color:var(--text-muted)}.automation-runs__identity-trigger{color:var(--text-muted)}.automation-runs__identity-link{color:var(--primary);align-items:center;gap:3px;text-decoration:none;display:inline-flex}.automation-runs__identity-link:hover{text-decoration:underline}.automation-runs__pill{border-radius:var(--radius-badge);font-size:var(--text-xs);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;gap:6px;padding:2px 10px;display:inline-flex}.automation-runs__pill-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.automation-runs__pill--ready{color:var(--success);background-color:#27ae601a;border:1px solid #27ae6040}.automation-runs__pill--ready .automation-runs__pill-dot{background-color:var(--success)}.automation-runs__pill--processing{color:var(--info);background-color:#3498db1a;border:1px solid #3498db40}.automation-runs__pill--processing .automation-runs__pill-dot{background-color:var(--info)}.automation-runs__pill--failed{color:var(--danger);background-color:#e74c3c1a;border:1px solid #e74c3c40}.automation-runs__pill--failed .automation-runs__pill-dot{background-color:var(--danger)}.automation-runs__pill--flaky{color:var(--warning);background-color:#f39c121a;border:1px solid #f39c1240}.automation-runs__pill--flaky .automation-runs__pill-dot{background-color:var(--warning)}.automation-runs__pill--idle{color:var(--text-muted);background-color:#ffffff0a;border:1px solid #ffffff14}.automation-runs__pill--idle .automation-runs__pill-dot{background-color:var(--text-muted)}.automation-runs__pill-spin{animation:1s linear infinite automation-runs-spin}@keyframes automation-runs-spin{to{transform:rotate(360deg)}}@media (width<=768px){.automation-runs__top{flex-direction:column;align-items:stretch}.automation-runs__td-date,.automation-runs__th-num:nth-of-type(5),.automation-runs__td-num:nth-of-type(5){display:none}}.result-panel{top:var(--navbar-height);background-color:var(--bg-drawer);z-index:80;border-left:1px solid #ffffff14;flex-direction:column;width:480px;animation:.18s ease-out result-panel-slide;display:flex;position:fixed;bottom:0;right:0;box-shadow:-16px 0 32px #00000052}@keyframes result-panel-slide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.result-panel__header{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-bottom:1px solid #ffffff14;flex-shrink:0;display:flex}.result-panel__header-meta{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.result-panel__status{border-radius:var(--radius-badge);font-size:var(--text-xs);font-weight:var(--fw-semibold);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.result-panel__status--success{color:var(--success);background-color:#27ae6024}.result-panel__status--danger{color:var(--danger);background-color:#e74c3c24}.result-panel__status--warning{color:var(--warning);background-color:#f39c1224}.result-panel__status--neutral{color:var(--text-muted);background-color:#a0a0a01f}.result-panel__code{color:var(--text-tertiary);font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);letter-spacing:.02em;background-color:#ffffff0a;border:1px solid #ffffff14;border-radius:4px;flex-shrink:0;padding:2px 7px}.result-panel__path{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.result-panel__header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.result-panel__counter{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;padding:0 4px}.result-panel__title-row{padding:var(--space-md) var(--space-lg) 0;gap:var(--space-xs);flex-direction:column;flex-shrink:0;display:flex}.result-panel__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-tight);word-break:break-word}.result-panel__title-meta{align-items:center;gap:var(--space-sm);font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.result-panel__duration{font-variant-numeric:tabular-nums;align-items:center;gap:3px;display:inline-flex}.result-panel__retry,.result-panel__browser{color:var(--text-muted)}.result-panel__tags{flex-wrap:wrap;gap:4px;display:flex}.result-panel__tag{border-radius:var(--radius-badge);border:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-muted);background-color:#ffffff0a;padding:2px 8px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace}.result-panel__body{padding:var(--space-md) var(--space-lg) var(--space-xl);gap:var(--space-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.result-panel__body::-webkit-scrollbar{width:8px}.result-panel__body::-webkit-scrollbar-track{background:0 0}.result-panel__body::-webkit-scrollbar-thumb{background-color:#ffffff14;border-radius:4px}.result-panel__body::-webkit-scrollbar-thumb:hover{background-color:#ffffff29}.result-panel__section{gap:var(--space-sm);flex-direction:column;display:flex}.result-panel__section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.7rem;font-weight:var(--fw-semibold);align-items:center;gap:6px;display:flex}.result-panel__section-actions{text-transform:none;letter-spacing:normal;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.result-panel__inline-btn{border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--radius-badge);font-size:var(--text-xs);font-weight:var(--fw-medium);cursor:pointer;font-family:var(--font);transition:background-color var(--transition), color var(--transition);background:0 0;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.result-panel__inline-btn:hover:not(:disabled){background-color:var(--bg-hover);color:var(--text)}.result-panel__inline-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.result-panel__no-error{font-size:var(--text-sm);color:var(--text-muted)}.result-panel__error-message{padding:var(--space-sm) var(--space-md);border-left:3px solid var(--danger);border-radius:0 var(--radius-input) var(--radius-input) 0;color:var(--text);font-size:var(--text-sm);word-break:break-word;white-space:pre-wrap;background-color:#e74c3c14}.result-panel__snippet,.result-panel__stack{padding:var(--space-sm) var(--space-md);background-color:var(--input-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-input);color:var(--text);font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);line-height:var(--lh-normal);white-space:pre-wrap;max-height:320px;margin:0;overflow-x:auto}.result-panel__qh-card{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background-color:var(--input-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-input);display:flex}.result-panel__qh-code{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--primary);background-color:var(--bg-selected-strong);border-radius:var(--radius-badge);flex-shrink:0;padding:2px 8px}.result-panel__qh-title{font-size:var(--text-sm);color:var(--text);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.result-panel__qh-source{font-size:var(--text-xs);color:var(--text-muted)}.result-panel__qh-source code,.result-panel__qh-empty-hint code{background-color:#ffffff0a;border-radius:3px;padding:1px 4px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.95em}.result-panel__qh-empty-hint{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--lh-normal)}.result-panel__qh-input{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-input);width:100%;color:var(--text);font-size:var(--text-sm);padding:8px 12px}.result-panel__qh-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--input-focus-ring);outline:none}.result-panel__qh-empty{font-size:var(--text-xs);color:var(--text-muted);padding:var(--space-sm)}.result-panel__qh-results{border:1px solid var(--border-subtle);border-radius:var(--radius-input);background-color:var(--input-bg);max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.result-panel__qh-result{align-items:center;gap:var(--space-sm);border:none;border-bottom:1px solid var(--border-subtle);text-align:left;cursor:pointer;width:100%;transition:background-color var(--transition);background:0 0;padding:8px 12px;display:flex}.result-panel__qh-result:last-child{border-bottom:none}.result-panel__qh-result:hover:not(:disabled){background-color:var(--bg-hover)}.result-panel__qh-result-code{border-radius:var(--radius-badge);background-color:var(--bg-selected);color:var(--primary);font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);font-weight:var(--fw-semibold);flex-shrink:0;padding:2px 6px}.result-panel__qh-result-title{font-size:var(--text-sm);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}@media (width<=1080px){.result-panel{width:100%;box-shadow:none}}.automation-detail{gap:var(--space-md);transition:padding-right var(--transition);min-height:calc(100vh - var(--navbar-height) - var(--space-lg) * 2);flex-direction:column;padding-right:0;display:flex}.automation-detail--with-panel{padding-right:480px}.automation-detail__loading,.automation-detail__empty{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--text-muted);flex-direction:column;display:flex}.automation-detail__top{justify-content:space-between;align-items:center;gap:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle);display:flex}.automation-detail__top-left{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.automation-detail__top-titles{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.automation-detail__title{font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex-wrap:wrap;align-items:center;gap:6px;display:flex;overflow:hidden}.automation-detail__title-sep{color:var(--text-muted);font-weight:var(--fw-regular);margin:0 2px}.automation-detail__title-sha{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-sm);color:var(--text-muted)}.automation-detail__top-meta{font-size:var(--text-xs);color:var(--text-muted)}.automation-detail__top-right{align-items:center;gap:var(--space-sm);display:flex}.automation-detail__status-tag{border-radius:var(--radius-badge);font-size:var(--text-xs);font-weight:var(--fw-semibold);white-space:nowrap;align-items:center;padding:2px 10px;display:inline-flex}.automation-detail__status-tag--done{color:var(--success);background-color:#27ae6024}.automation-detail__status-tag--danger{color:var(--danger);background-color:#e74c3c24}.automation-detail__status-tag--warning{color:var(--warning);background-color:#f39c1224}.automation-detail__status-tag--idle{color:var(--text-muted);background-color:#ffffff0f}.automation-detail__chips{gap:var(--space-sm);flex-wrap:wrap;display:flex}.automation-detail__chip{border:1px solid var(--border-subtle);border-radius:var(--radius-badge);font-size:var(--text-xs);background-color:#ffffff08;align-items:baseline;gap:6px;padding:4px 12px;display:inline-flex}.automation-detail__chip-value{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text);font-variant-numeric:tabular-nums}.automation-detail__chip-label{color:var(--text-muted);letter-spacing:.02em}.automation-detail__chip--success .automation-detail__chip-value{color:var(--success)}.automation-detail__chip--danger .automation-detail__chip-value{color:var(--danger)}.automation-detail__chip--warning .automation-detail__chip-value{color:var(--warning)}.automation-detail__chip--muted .automation-detail__chip-value{color:var(--text-muted)}.automation-detail__chip--time{color:var(--text-muted);font-variant-numeric:tabular-nums;align-items:center}.automation-detail__alert{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);border-radius:6px;display:flex}.automation-detail__alert--error{color:var(--danger);background:#e74c3c14;border:1px solid #e74c3c40}.automation-detail__warnings{padding:var(--space-xs) var(--space-md);font-size:var(--text-xs);background-color:#f39c120d;border:1px solid #f39c1233;border-radius:6px}.automation-detail__warnings summary{cursor:pointer;color:var(--warning);font-weight:var(--fw-medium)}.automation-detail__warnings pre{margin-top:var(--space-xs);font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);color:var(--text-muted);white-space:pre-wrap;word-break:break-word}.automation-detail__tree{gap:var(--space-xs);flex-direction:column;display:flex}.automation-detail__tree-empty{padding:var(--space-xl);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.automation-detail__file{flex-direction:column;display:flex}.automation-detail__file-header{align-items:center;gap:var(--space-sm);color:var(--text);cursor:pointer;text-align:left;width:100%;font-family:var(--font);transition:background-color var(--transition);background:0 0;border:none;border-radius:6px;padding:8px 10px;display:flex}.automation-detail__file-header:hover{background-color:var(--bg-hover)}.automation-detail__file-chevron{width:16px;height:16px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.automation-detail__file-icon{color:var(--text-muted);flex-shrink:0}.automation-detail__file-path{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-sm);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.automation-detail__file-summary{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.automation-detail__file-dots{align-items:center;gap:2px;display:inline-flex}.automation-detail__dot{border-radius:50%;width:6px;height:6px;display:inline-block}.automation-detail__dot--success{background-color:var(--success)}.automation-detail__dot--danger{background-color:var(--danger)}.automation-detail__dot--warning{background-color:var(--warning)}.automation-detail__file-count{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;border:1px solid var(--border-subtle);background-color:#ffffff0a;border-radius:4px;padding:1px 6px}.automation-detail__rows{margin:0;padding:0 0 0 18px;list-style:none;position:relative}.automation-detail__rows:before{content:"";border-left:1px solid var(--tree-guide);pointer-events:none;position:absolute;top:0;bottom:6px;left:14px}.automation-detail__row{align-items:center;gap:var(--space-sm);color:var(--text);cursor:pointer;font-size:var(--text-sm);min-height:var(--row-sm);transition:background-color var(--transition);border-radius:6px;padding:6px 10px;display:flex;position:relative}.automation-detail__row:hover{background-color:var(--bg-hover)}.automation-detail__row--selected{background-color:var(--bg-selected)}.automation-detail__row--selected:before{content:"";background-color:var(--primary);border-radius:0 2px 2px 0;width:2px;position:absolute;top:4px;bottom:4px;left:-10px}.automation-detail__row-status{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.automation-detail__row-status--success{color:var(--success);background-color:#27ae6026}.automation-detail__row-status--danger{color:var(--danger);background-color:#e74c3c26}.automation-detail__row-status--warning{color:var(--warning);background-color:#f39c1226}.automation-detail__row-status--neutral{color:var(--text-muted);background-color:#a0a0a026}.automation-detail__row-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.automation-detail__row-line{color:var(--text-muted);font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);margin-left:2px}.automation-detail__row-code{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--text-xs);color:var(--text-tertiary);border:1px solid var(--border-subtle);background-color:#ffffff0a;border-radius:4px;flex-shrink:0;padding:1px 6px}.automation-detail__row-duration{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}@media (width<=1080px){.automation-detail--with-panel{padding-right:0}}.error-boundary{min-height:60vh;padding:var(--space-xl);justify-content:center;align-items:center;display:flex}.error-boundary__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);width:100%;max-width:520px;padding:var(--space-xl);box-shadow:var(--shadow);color:var(--text)}.error-boundary__title{margin:0 0 var(--space-sm);font-size:var(--text-2xl);font-weight:var(--fw-semibold);color:var(--danger)}.error-boundary__message{margin:0 0 var(--space-md);color:var(--text-muted);line-height:var(--lh-relaxed)}.error-boundary__detail{margin:0 0 var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-input);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);color:var(--text-muted);white-space:pre-wrap;word-break:break-word;max-height:160px;overflow:auto}.error-boundary__actions{gap:var(--space-sm);justify-content:flex-end;display:flex}.navbar{height:var(--navbar-height);background-color:var(--surface);border-bottom:1px solid var(--border);z-index:100;padding:0 var(--space-lg);align-items:center;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #0000004d}.navbar__inner{align-items:center;gap:var(--space-md);width:100%;display:flex}.navbar__brand-logo{object-fit:contain;width:26px;height:26px}.navbar__brand{color:var(--primary);letter-spacing:.3px;align-items:center;gap:var(--space-sm);transition:opacity var(--transition);font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.navbar__brand:hover{opacity:.85}.navbar__sections{align-items:center;gap:var(--space-xs);margin-left:var(--space-lg);display:flex}.navbar__section{color:var(--text-muted);transition:color var(--transition), background-color var(--transition);border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .95rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.navbar__section:hover{color:var(--text);background-color:var(--surface-hover)}.navbar__section--active{color:var(--primary);background-color:#4a9eff1f}.navbar__nav{align-items:center;gap:var(--space-xs);display:flex}.navbar__link{color:var(--text-muted);transition:color var(--transition), background-color var(--transition);border-radius:8px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.navbar__link:hover{color:var(--text);background-color:var(--surface-hover)}.navbar__link--active{color:var(--primary);background-color:#4a9eff1f}.navbar__actions{align-items:center;gap:var(--space-sm);margin-left:auto;display:flex}.navbar__user{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.8rem;overflow:hidden}@media (width<=600px){.navbar{padding:0 var(--space-md)}.navbar__user,.navbar__link span{display:none}}.sidebar{top:var(--navbar-height);width:var(--sidebar-current-width);height:calc(100vh - var(--navbar-height));background-color:var(--bg-sidebar);border-right:1px solid var(--border-subtle);padding:var(--space-sm) 0;z-index:90;transition:width var(--transition);flex-direction:column;display:flex;position:fixed;left:0;overflow:hidden}.sidebar__nav{padding:0 var(--space-sm);flex-direction:column;flex:1;gap:1px;display:flex;overflow-y:auto}.sidebar__link{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-muted);transition:color var(--transition), background-color var(--transition);white-space:nowrap;border-radius:6px;min-height:32px;padding:.45rem .7rem;text-decoration:none;display:flex;position:relative}.sidebar__link:hover{color:var(--text);background-color:var(--bg-hover)}.sidebar__link--active{color:var(--primary);background-color:var(--bg-selected)}.sidebar__link--active:before{content:"";background-color:var(--primary);border-radius:0 2px 2px 0;width:2px;position:absolute;top:6px;bottom:6px;left:-8px}.sidebar__icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.sidebar__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sidebar__section-label{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-sm) .7rem 4px;margin-top:var(--space-xs);align-items:center;gap:6px;display:flex}.sidebar__section-label-icon{opacity:.7;display:inline-flex}.sidebar__footer{padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--border-subtle);margin-top:var(--space-xs)}.sidebar__collapse-toggle{align-items:center;gap:var(--space-sm);width:100%;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;font-family:var(--font);transition:color var(--transition), background-color var(--transition);background:0 0;border:none;border-radius:6px;padding:.45rem .7rem;display:flex}.sidebar__collapse-toggle:hover{color:var(--text);background-color:var(--bg-hover)}.sidebar--collapsed .sidebar__link{justify-content:center;gap:0;padding:.45rem 0}.sidebar--collapsed .sidebar__label{display:none}.sidebar--collapsed .sidebar__section-label{padding:var(--space-sm) 0 4px;justify-content:center}.sidebar--collapsed .sidebar__section-label .sidebar__label{display:none}.sidebar--collapsed .sidebar__section-label:after{content:"";border-top:1px solid var(--border-subtle);width:22px;display:block}.sidebar--collapsed .sidebar__collapse-toggle{justify-content:center;padding:.45rem 0}.sidebar--collapsed .sidebar__link--active:before{left:-2px}@media (width<=768px){.sidebar__link{justify-content:center;gap:0;padding:.45rem 0}.sidebar__label{display:none}.sidebar__section-label{padding:var(--space-sm) 0 4px;justify-content:center}.sidebar__section-label .sidebar__label,.sidebar__footer{display:none}}
