:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: #e74c3c;--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient( to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55 );--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width : 480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}}.Toastify__toast{--y: 0;position:relative;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width : 480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sidebar{width:var(--sidebar-width);height:100vh;background:var(--sidebar-bg);display:flex;flex-direction:column;position:sticky;top:0;z-index:200;transition:width .2s ease;border-right:1px solid rgba(255,255,255,.04)}.sidebar--collapsed{width:var(--sidebar-width-collapsed)}.sidebar-header{height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:10px;text-decoration:none;overflow:hidden}.sidebar-brand-icon{width:32px;height:32px;border-radius:8px;background:var(--gradient-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;flex-shrink:0}.sidebar-brand-text{font-size:1.1rem;font-weight:700;color:#f1f5f9;letter-spacing:.5px;white-space:nowrap}.sidebar-collapse-btn{background:none;border:none;color:var(--sidebar-text);cursor:pointer;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.sidebar-collapse-btn:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-active)}.sidebar--collapsed .sidebar-collapse-btn{display:none}.sidebar--collapsed:hover .sidebar-collapse-btn{display:flex}.sidebar-nav{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--sidebar-text);text-decoration:none;font-size:.875rem;font-weight:500;transition:all .15s;border-left:3px solid transparent;white-space:nowrap;overflow:hidden}.sidebar-nav-item:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-active)}.sidebar-nav-item--active{background:var(--sidebar-active-bg);color:var(--sidebar-text-active);border-left-color:var(--sidebar-active-border)}.sidebar-nav-icon{flex-shrink:0}.sidebar-nav-label{overflow:hidden;text-overflow:ellipsis}.sidebar--collapsed .sidebar-nav-item{justify-content:center;padding:10px;border-left-width:0;border-radius:8px}.sidebar--collapsed .sidebar-nav-item--active{background:var(--sidebar-active-bg);border-left-width:0;box-shadow:inset 0 0 0 1px var(--sidebar-active-border)}.sidebar--collapsed .sidebar-header{justify-content:center;padding:0 8px}.mobile-only,.sidebar-backdrop{display:none}.sidebar-close-btn{background:none;border:none;color:var(--sidebar-text);cursor:pointer;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center}.sidebar-close-btn:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-active)}.sidebar-section-divider{padding:16px 12px 4px}.sidebar-section-label{font-size:.65rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--sidebar-text);opacity:.5;font-weight:600}.sidebar-section-line{border:none;border-top:1px solid rgba(255,255,255,.08);margin:8px 12px}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--sidebar-divider);border-radius:2px}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);width:var(--sidebar-width);box-shadow:none}.sidebar--mobile-open{transform:translate(0);box-shadow:4px 0 24px #0006}.sidebar--collapsed{width:var(--sidebar-width)}.sidebar--collapsed .sidebar-section-line{display:none}.sidebar--collapsed .sidebar-section-divider{display:block}.sidebar--collapsed .sidebar-nav-item{justify-content:flex-start;padding:10px 12px;gap:12px;border-left-width:3px}.sidebar--collapsed .sidebar-nav-item--active{box-shadow:none;border-left-color:var(--sidebar-active-border)}.sidebar--collapsed .sidebar-header{justify-content:space-between;padding:0 12px}.desktop-only{display:none}.mobile-only{display:flex}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:199}}.search-bar-container{position:relative;width:220px;flex-shrink:0}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-bar-container .search-input{width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);font-size:13px;background:#ffffff26;color:#fff;transition:all .2s}.search-bar-container .search-input::placeholder{color:#fff9}.search-bar-container .search-input:focus{outline:none;background:var(--color-bg-card);color:var(--color-text-primary);border-color:var(--color-bg-card);box-shadow:0 0 0 3px #ffffff26}.search-bar-container .search-input:focus::placeholder{color:#94a3b8}.search-loading{position:absolute;right:12px;font-size:14px;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.search-results{position:absolute;top:calc(100% + 8px);left:0;min-width:400px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 10px 30px var(--color-shadow-md);max-height:500px;overflow-y:auto;z-index:1000}.search-results-section{border-bottom:1px solid var(--color-border-light)}.search-results-section:last-child{border-bottom:none}.search-results-header{padding:10px 16px;font-size:12px;font-weight:600;color:var(--color-text-muted);background:var(--color-bg-subtle);text-transform:uppercase;letter-spacing:.5px}.search-result-item{padding:12px 16px;cursor:pointer;transition:background .15s;border-left:3px solid transparent}.search-result-item:hover{background:var(--color-bg-hover);border-left-color:var(--color-primary)}.search-result-title{font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:4px;display:flex;align-items:center;gap:8px}.search-result-subtitle{font-size:12px;color:var(--color-text-muted)}.search-no-results{padding:24px 16px;text-align:center;color:var(--color-text-muted);font-size:14px}.priority-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.version-badge{display:inline-block;padding:2px 6px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;background:var(--color-primary-light);color:var(--color-primary)}.category-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.search-results::-webkit-scrollbar{width:8px}.search-results::-webkit-scrollbar-track{background:var(--color-scrollbar-track);border-radius:var(--radius-sm)}.search-results::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:var(--radius-sm)}.search-results::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}@media (max-width: 768px){.search-bar-container{width:auto;flex-shrink:1;min-width:120px;margin:0}.search-results{min-width:unset;width:calc(100vw - 2rem);left:50%;transform:translate(-50%);max-height:60vh}}@media (max-width: 480px){.search-bar-container{min-width:80px}.search-input{font-size:16px;padding:10px 12px}.search-results{position:fixed;top:64px;left:.5rem;right:.5rem;width:auto;transform:none;max-height:calc(100vh - 80px)}}.topbar{height:var(--topbar-height);background:var(--color-bg-card);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:100}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-right{display:flex;align-items:center;gap:10px}.topbar-menu-btn{display:none}.topbar-user-name{font-size:.825rem;font-weight:500;color:var(--color-text-primary);white-space:nowrap}.topbar-role-badge{padding:2px 8px;border-radius:var(--radius-pill);font-size:.65rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.topbar-role-badge.role-admin{background:var(--color-primary-light);color:var(--color-primary)}.topbar-role-badge.role-tester{background:var(--color-success-bg);color:var(--color-success)}.topbar-role-badge.role-developer{background:var(--color-info-bg);color:var(--color-info)}.topbar-icon-btn{background:none;border:1px solid var(--color-border);color:var(--color-text-secondary);width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.topbar-icon-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-hover)}.topbar-logout-btn:hover{color:var(--color-error);border-color:var(--color-error)}.topbar .search-bar-container{width:280px}.topbar .search-bar-container .search-input{background:var(--color-bg-subtle);color:var(--color-text-primary);border:1px solid var(--color-border)}.topbar .search-bar-container .search-input::placeholder{color:var(--color-text-muted)}.topbar .search-bar-container .search-input:focus{background:var(--color-bg-card);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring);color:var(--color-text-primary)}@media (max-width: 768px){.topbar{padding:0 12px}.topbar-menu-btn{display:flex;background:none;border:1px solid var(--color-border);color:var(--color-text-secondary);width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;align-items:center;justify-content:center}.topbar-menu-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.topbar .search-bar-container{width:auto;flex:1;min-width:100px}.topbar-user-name,.topbar-role-badge{display:none}}.app-layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;transition:grid-template-columns .2s ease}.app-layout--collapsed{grid-template-columns:var(--sidebar-width-collapsed) 1fr}.app-layout-main{display:flex;flex-direction:column;min-height:100vh;min-width:0}.app-layout-content{flex:1;overflow-y:auto}@media (max-width: 768px){.app-layout,.app-layout--collapsed{grid-template-columns:1fr}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-page);padding:1rem}.login-card{background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-elevated);padding:2.5rem;width:100%;max-width:400px}.login-brand{text-align:center;margin-bottom:2rem}.login-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--gradient-accent);color:#fff;border-radius:var(--radius-md);font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.login-brand h1{margin:0;font-size:1.75rem;color:var(--color-text-primary)}.login-brand p{margin:.25rem 0 0;color:var(--color-text-secondary);font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-field label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:600;color:var(--color-text-body)}.login-field input{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;color:var(--color-text-primary);background-color:var(--color-bg-input);transition:border-color .2s;box-sizing:border-box}.login-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}.login-field input:disabled{background-color:var(--color-bg-input-disabled);opacity:.7}.login-btn{width:100%;padding:.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s;margin-top:.5rem}.login-btn:hover:not(:disabled){background:var(--color-primary-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-back-btn{width:100%;padding:.625rem;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;transition:background-color .2s,color .2s}.login-back-btn:hover:not(:disabled){background:var(--color-bg-subtle);color:var(--color-text-primary)}.login-2fa-info{text-align:center;color:var(--color-text-secondary);font-size:.9rem;line-height:1.4}.login-2fa-info p{margin:0}.login-totp-input{text-align:center;font-size:1.5rem!important;font-family:monospace;letter-spacing:.3em}.login-forgot-link{display:block;text-align:center;color:var(--color-text-muted);font-size:.85rem;text-decoration:none;transition:color .2s}.login-forgot-link:hover{color:var(--color-primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content.modal-large{max-width:800px}.modal-subtitle{margin:.5rem 0 0;font-size:.875rem;color:var(--color-text-body);font-weight:400}.project-form{padding:1.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.form-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border-light)}.form-section h3{margin:0 0 .5rem;font-size:1.125rem;color:var(--color-text-heading)}.form-hint{margin:0 0 1.5rem;font-size:.875rem;color:var(--color-text-body)}.form-group{margin-bottom:1.5rem}.form-group label:not(.checkbox-label){display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text-heading)}.form-group input[type=text],.form-group input[type=url],.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group input[type=text]:focus,.form-group input[type=url]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary)}.form-group input[type=text]:disabled,.form-group input[type=url]:disabled,.form-group textarea:disabled,.form-group select:disabled{background-color:var(--color-bg-input-disabled);cursor:not-allowed}.required{color:var(--color-error)}.checkbox-label{display:flex;align-items:center;gap:1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:1rem;background-color:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all .2s ease}.checkbox-label:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-hover)}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;margin:0;accent-color:var(--color-primary);flex-shrink:0}.checkbox-label span{font-weight:500;color:var(--color-text-primary);font-size:.9375rem;line-height:1.2}.checkbox-label input[type=checkbox]:checked~span{color:var(--color-primary)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid var(--color-border-light)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-border-light);color:var(--color-text-heading)}.btn-secondary:hover:not(:disabled){background-color:var(--color-border)}.btn-danger{background-color:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--color-error-hover)}.delete-section{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:8px;margin-top:1rem}.delete-section-content{flex:1}.delete-section-content strong{display:block;color:var(--color-error);margin-bottom:.25rem;font-size:.9375rem}.delete-section-content p{margin:0;color:var(--color-error-text);font-size:.875rem;line-height:1.4}.archive-section{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;background-color:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:8px}.archive-section-content{flex:1}.archive-section-content strong{display:block;color:var(--color-warning);margin-bottom:.25rem;font-size:.9375rem}.archive-section-content p{margin:0;color:var(--color-warning-text);font-size:.875rem;line-height:1.4}.archive-toggle{display:flex;gap:.5rem;background-color:var(--color-bg-card);border:1px solid var(--color-warning-border);border-radius:6px;padding:.25rem;flex-shrink:0}.archive-toggle-option{padding:.5rem 1rem;border:none;background:none;cursor:pointer;border-radius:4px;font-weight:500;font-size:.875rem;transition:all .2s ease;color:var(--color-warning-text)}.archive-toggle-option.active{background-color:var(--color-success);color:#fff}.archive-toggle-option.archived{background-color:var(--color-warning);color:#fff}.archive-toggle-option:not(.active):not(.archived):hover{background-color:var(--color-warning-bg-solid)}@media (max-width: 480px){.modal-content{width:100%;max-width:100vw;border-radius:0;max-height:100vh}.delete-section,.archive-section{flex-direction:column;align-items:flex-start}.archive-toggle{width:100%}.archive-toggle-option{flex:1;text-align:center}.form-group input[type=text],.form-group input[type=url],.form-group textarea,.form-group select{font-size:16px}.project-form,.modal-header{padding:1rem}}.selection-mode-tabs{display:flex;gap:0;margin-bottom:.75rem;border:2px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.selection-mode-tab{flex:1;padding:.5rem 1rem;border:none;background:var(--color-bg-card);color:var(--color-text-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s}.selection-mode-tab:not(:last-child){border-right:1px solid var(--color-border)}.selection-mode-tab:hover:not(.active){background:var(--color-bg-hover)}.selection-mode-tab.active{background:var(--color-primary);color:#fff}.selection-hint{font-size:.85rem;color:var(--color-text-body);margin:0 0 .5rem}.tc-picker{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin-top:.5rem}.tc-picker-loading{padding:2rem;text-align:center;color:var(--color-text-muted);font-size:.9rem}.tc-picker-toolbar{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle, var(--color-bg-hover))}.tc-picker-search{flex:1}.tc-picker-search input{width:100%;padding:.4rem .625rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:.85rem;font-family:inherit;background:var(--color-bg-card)}.tc-picker-search input:focus{outline:none;border-color:var(--color-primary)}.tc-picker-actions{display:flex;gap:.25rem;flex-shrink:0}.tc-picker-actions button{padding:.35rem .625rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-primary);font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s}.tc-picker-actions button:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.tc-picker-list{max-height:280px;overflow-y:auto}.tc-picker-item{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem .75rem;cursor:pointer;transition:background .1s;border-bottom:1px solid var(--color-border-light, var(--color-border))}.tc-picker-item:last-child{border-bottom:none}.tc-picker-item:hover{background:var(--color-bg-hover)}.tc-picker-item.selected{background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.tc-picker-item input[type=checkbox]{width:18px;height:18px;margin-top:1px;cursor:pointer;flex-shrink:0;accent-color:var(--color-primary)}.tc-picker-item-content{display:flex;flex-direction:column;gap:.125rem;min-width:0}.tc-picker-item-title{font-size:.875rem;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-picker-item-meta{font-size:.75rem;color:var(--color-text-muted)}.tc-picker-footer{padding:.5rem .75rem;border-top:1px solid var(--color-border);background:var(--color-bg-subtle, var(--color-bg-hover));font-size:.8rem;color:var(--color-text-secondary);text-align:right;font-weight:500}.test-steps-editor{border:1px solid var(--color-border-input);border-radius:var(--radius-sm);padding:1rem;background-color:var(--color-bg-subtle)}.steps-empty-state{text-align:center;padding:2rem;color:var(--color-text-body)}.steps-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.step-item{display:flex;gap:.75rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.step-item.moving{z-index:10;box-shadow:0 2px 8px var(--color-shadow-md)}.step-item.move-up{animation:slideUp .4s cubic-bezier(.4,0,.2,1)}.step-item.move-down{animation:slideDown .4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(0)}50%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}50%{transform:translateY(100%)}to{transform:translateY(0)}}.step-item:hover{border-color:var(--color-border-hover)}.step-number{flex-shrink:0;width:28px;height:28px;background-color:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem}.step-content{flex:1}.step-display{cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);transition:background-color .2s}.step-display:hover{background-color:var(--color-bg-hover)}.step-action,.step-expected{margin-bottom:.5rem;font-size:.875rem;line-height:1.4}.step-action strong,.step-expected strong{color:var(--color-text-heading);margin-right:.5rem}.step-hint{font-size:.75rem;color:var(--color-text-muted);font-style:italic}.step-edit-form{display:flex;flex-direction:column;gap:.75rem}.step-actions{display:flex;flex-direction:column;gap:.25rem}.btn-icon-small{background:none;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-icon-small:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-border-hover)}.btn-icon-small:disabled{opacity:.3;cursor:not-allowed}.btn-icon-small.btn-delete:hover:not(:disabled){background-color:var(--color-error-bg);border-color:var(--color-error-border)}.btn-small{padding:.375rem .75rem;font-size:.875rem}.btn-add-step{width:100%;margin-top:.5rem}@media (max-width: 768px){.test-steps-editor .step-item{flex-wrap:wrap}.test-steps-editor .step-actions{flex-direction:row;width:100%;justify-content:flex-end;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border-light)}.test-steps-editor .btn-icon-small{width:36px;height:36px;min-width:36px}}.variable-highlight{background-color:var(--color-primary-bg, rgba(99, 102, 241, .1));color:var(--color-primary);padding:.125rem .25rem;border-radius:3px;font-family:SF Mono,Fira Code,Fira Mono,monospace;font-size:.85em}@media (max-width: 480px){.test-steps-editor .step-item{padding:.5rem;gap:.5rem}}.parameter-matrix-editor{border:1px solid var(--color-border-input);border-radius:var(--radius-sm);padding:1rem;background-color:var(--color-bg-subtle);margin-top:.5rem}.parameter-matrix-editor h4{margin:0 0 .5rem;font-size:.875rem;color:var(--color-text-heading)}.parameter-matrix-hint{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:var(--color-primary-bg, rgba(99, 102, 241, .08));border:1px solid var(--color-primary-border, rgba(99, 102, 241, .2));border-radius:var(--radius-sm);font-size:.8125rem;color:var(--color-text-body)}.parameter-matrix-hint .hint-icon{font-size:1rem;flex-shrink:0}.parameter-matrix-variables{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem}.parameter-variable-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background-color:var(--color-primary-bg, rgba(99, 102, 241, .1));border:1px solid var(--color-primary-border, rgba(99, 102, 241, .25));border-radius:3px;font-family:SF Mono,Fira Code,Fira Mono,monospace;font-size:.8125rem;color:var(--color-primary)}.parameter-matrix-table-wrapper{overflow-x:auto;margin-bottom:.75rem}.parameter-matrix-table{width:100%;border-collapse:collapse;font-size:.875rem}.parameter-matrix-table th{background-color:var(--color-bg-card);border:1px solid var(--color-border);padding:.5rem;font-weight:600;text-align:left;font-family:SF Mono,Fira Code,Fira Mono,monospace;font-size:.8125rem;color:var(--color-primary);white-space:nowrap}.parameter-matrix-table th .col-actions{width:32px;text-align:center}.parameter-matrix-table td{border:1px solid var(--color-border);padding:0}.parameter-matrix-table td.iteration-label{padding:.5rem;font-weight:500;color:var(--color-text-muted);font-size:.8125rem;background-color:var(--color-bg-card);white-space:nowrap;width:1%}.parameter-matrix-table td input{width:100%;border:none;background:transparent;padding:.5rem;font-size:.875rem;color:var(--color-text-body);outline:none}.parameter-matrix-table td input:focus{background-color:var(--color-primary-bg, rgba(99, 102, 241, .05))}.parameter-matrix-table td input::placeholder{color:var(--color-text-muted);opacity:.6}.parameter-matrix-table td.actions-cell{width:32px;text-align:center;padding:0}.parameter-matrix-table .btn-remove-row,.parameter-matrix-table .btn-remove-col{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--color-text-muted);font-size:.875rem;opacity:.5;transition:opacity .2s,color .2s}.parameter-matrix-table .btn-remove-row:hover,.parameter-matrix-table .btn-remove-col:hover{opacity:1;color:var(--color-error)}.parameter-matrix-actions{display:flex;gap:.5rem}.parameter-matrix-actions .btn-add-iteration{font-size:.8125rem;padding:.375rem .75rem}.parameter-generator-panel{margin-top:.75rem;border:1px solid var(--color-primary-border, rgba(99, 102, 241, .3));border-radius:var(--radius-sm);padding:1rem;background-color:var(--color-bg-card)}.generator-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.generator-header h5{margin:0;font-size:.875rem;color:var(--color-text-heading)}.generator-loading{padding:1rem;text-align:center;color:var(--color-text-muted);font-size:.8125rem}.generator-section{margin-bottom:.75rem}.generator-section-label{display:block;font-size:.8125rem;font-weight:600;color:var(--color-text-heading);margin-bottom:.375rem}.generator-dataset-list{display:flex;flex-direction:column;gap:.25rem;max-height:200px;overflow-y:auto;padding:.5rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background-color:var(--color-bg-subtle)}.generator-dataset-item{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.8125rem;cursor:pointer}.generator-dataset-item input[type=checkbox]{flex-shrink:0}.generator-dataset-name{font-weight:500;color:var(--color-text-body)}.generator-dataset-desc{color:var(--color-text-muted);font-size:.75rem}.generator-mapping-grid{display:flex;flex-direction:column;gap:.375rem}.generator-mapping-row{display:flex;align-items:center;gap:.5rem}.generator-mapping-var{font-family:SF Mono,Fira Code,Fira Mono,monospace;font-size:.8125rem;color:var(--color-primary);min-width:100px;font-weight:500}.generator-mapping-arrow{color:var(--color-text-muted);font-size:.875rem}.generator-mapping-select{flex:1;padding:.375rem .5rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background-color:var(--color-bg-card);color:var(--color-text-body);font-size:.8125rem}.generator-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}@media (max-width: 768px){.parameter-matrix-table-wrapper{margin-left:-.5rem;margin-right:-.5rem}.parameter-matrix-variables{gap:.25rem}}.category-picker{margin-bottom:1rem}.category-picker label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem;color:var(--color-text-body)}.selected-categories{display:flex;flex-wrap:wrap;gap:.5rem;min-height:40px;padding:.5rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background-color:var(--color-bg-subtle);margin-bottom:.5rem}.no-categories{color:var(--color-text-muted);font-size:.875rem;font-style:italic}.category-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:16px;color:#fff;font-size:.875rem;font-weight:500}.category-badge .remove-btn{background:#ffffff4d;border:none;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:1rem;line-height:1;padding:0;transition:background-color .2s}.category-badge .remove-btn:hover{background:#ffffff80}.category-dropdown-wrapper{position:relative}.category-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;background:var(--color-bg-card);border:1px solid var(--color-border-input);border-radius:var(--radius-md);box-shadow:0 4px 6px var(--color-shadow-sm);max-height:300px;overflow-y:auto;z-index:100;min-width:300px}.dropdown-empty{padding:1rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.category-option{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--color-border-light)}.category-option:last-child{border-bottom:none}.category-option:hover{background-color:var(--color-bg-hover)}.category-option.selected{background-color:var(--color-primary-light)}.category-option input[type=checkbox]{cursor:pointer}.category-color{width:20px;height:20px;border-radius:var(--radius-sm);flex-shrink:0}.category-info{flex:1}.category-name{font-weight:500;font-size:.875rem;color:var(--color-text-heading)}.category-description{font-size:.75rem;color:var(--color-text-body);margin-top:.125rem}@media (max-width: 480px){.category-dropdown{min-width:unset;width:100%}.category-option{padding:.875rem .75rem}}.dataset-picker{margin-bottom:1rem}.dataset-picker label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem;color:var(--color-text-body)}.selected-datasets{display:flex;flex-wrap:wrap;gap:.5rem;min-height:40px;padding:.5rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background-color:var(--color-bg-subtle);margin-bottom:.5rem}.no-datasets{color:var(--color-text-muted);font-size:.875rem;font-style:italic}.dataset-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:16px;color:#fff;font-size:.875rem;font-weight:500}.dataset-badge-count{background:#ffffff4d;padding:0 .4rem;border-radius:8px;font-size:.75rem}.dataset-badge .remove-btn{background:#ffffff4d;border:none;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:1rem;line-height:1;padding:0;transition:background-color .2s}.dataset-badge .remove-btn:hover{background:#ffffff80}.dataset-dropdown-wrapper{position:relative}.dataset-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;background:var(--color-bg-card);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);box-shadow:0 4px 6px var(--color-shadow-sm);z-index:100;min-width:350px;max-width:450px}.picker-search{position:relative;padding:.5rem .75rem;border-bottom:1px solid var(--color-border-light)}.picker-search-input{width:100%;padding:.4rem 1.75rem .4rem .5rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:.8rem;background:var(--color-bg-card);color:var(--color-text-body);box-sizing:border-box}.picker-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-focus-ring)}.picker-search-clear{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:1rem;padding:0 .25rem;line-height:1}.picker-search-clear:hover{color:var(--color-text-primary)}.picker-filters{padding:.5rem .75rem;border-bottom:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:.5rem}.picker-filter-select{width:100%;padding:.35rem .5rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:.8rem;background:var(--color-bg-card);color:var(--color-text-body)}.picker-filter-tags{display:flex;flex-wrap:wrap;gap:.25rem}.picker-filter-tag{padding:.15rem .5rem;border:1px solid var(--color-border-input);border-radius:12px;background:var(--color-bg-card);color:var(--color-text-body);font-size:.7rem;cursor:pointer;transition:all .15s}.picker-filter-tag:hover{border-color:var(--color-primary);color:var(--color-primary)}.picker-filter-tag.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.picker-bulk-actions{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;border-bottom:1px solid var(--color-border-light);background:var(--color-bg-subtle)}.picker-result-count{font-size:.75rem;color:var(--color-text-muted)}.picker-bulk-btn{background:none;border:none;color:var(--color-primary);font-size:.75rem;cursor:pointer;padding:.15rem .4rem;border-radius:var(--radius-sm);font-weight:500}.picker-bulk-btn:hover{background:var(--color-primary-light)}.picker-dataset-list{max-height:250px;overflow-y:auto}.dataset-option{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--color-border-light)}.dataset-option:last-child{border-bottom:none}.dataset-option:hover{background-color:var(--color-bg-hover)}.dataset-option.selected{background-color:var(--color-primary-light)}.dataset-option input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border:2px solid var(--color-border-input);border-radius:3px;background:var(--color-bg-card);cursor:pointer;flex-shrink:0;position:relative;transition:all .15s}.dataset-option input[type=checkbox]:hover{border-color:var(--color-primary)}.dataset-option input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary)}.dataset-option input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.dataset-option input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-primary-focus-ring)}.dataset-color{width:20px;height:20px;border-radius:var(--radius-sm);flex-shrink:0}.dataset-info{flex:1}.dataset-name{font-weight:500;font-size:.875rem;color:var(--color-text-heading)}.dataset-meta{font-size:.75rem;color:var(--color-text-body);margin-top:.125rem}.dropdown-empty{padding:1rem .75rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.dataset-popover{position:fixed;z-index:1000;min-width:260px;max-width:360px;background:var(--color-bg-card);border:1px solid var(--color-border-input);border-radius:var(--radius-md);box-shadow:0 8px 24px var(--color-shadow-md, rgba(0, 0, 0, .12));animation:popover-fade-in .15s ease-out}@keyframes popover-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dataset-popover-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;border-bottom:1px solid var(--color-border-light)}.dataset-popover-name{font-weight:600;font-size:.8rem;color:var(--color-text-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dataset-popover-link{background:none;border:none;color:var(--color-primary);font-size:.7rem;font-weight:500;cursor:pointer;white-space:nowrap;padding:0}.dataset-popover-link:hover{text-decoration:underline}.dataset-popover-body{padding:.5rem .75rem;max-height:280px;overflow-y:auto}.dataset-popover-loading,.dataset-popover-empty{font-size:.75rem;color:var(--color-text-muted);text-align:center;padding:.75rem 0}.dataset-popover-table{width:100%;border-collapse:collapse;font-size:.75rem}.dataset-popover-table td{padding:.25rem .375rem;border-bottom:1px solid var(--color-border-light);vertical-align:top}.dataset-popover-table tr:last-child td{border-bottom:none}.dataset-popover-table .popover-key{font-weight:500;color:var(--color-text-primary);width:40%;white-space:nowrap}.dataset-popover-table .popover-value{color:var(--color-text-secondary);font-family:monospace;font-size:.7rem;word-break:break-all}.dataset-popover-more{font-size:.7rem;color:var(--color-text-muted);text-align:center;padding:.375rem 0 .125rem}@media (max-width: 480px){.dataset-dropdown{min-width:unset;width:100%}.dataset-option{padding:.875rem .75rem}}.searchable-select{position:relative}.searchable-select-label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem;color:var(--color-text-body)}.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background-color:var(--color-bg-card);color:var(--color-text-body);font-size:.875rem;cursor:pointer;transition:border-color .2s;text-align:left}.searchable-select-trigger:hover:not(:disabled){border-color:var(--color-primary)}.searchable-select-trigger.open{border-color:var(--color-primary)}.searchable-select-trigger:disabled{opacity:.6;cursor:not-allowed}.searchable-select-trigger .placeholder{color:var(--color-text-muted)}.searchable-select-trigger .has-value{color:var(--color-text-heading)}.searchable-select-arrow{font-size:.625rem;color:var(--color-text-muted);margin-left:.5rem}.searchable-select-dropdown{background:var(--color-bg-card);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);box-shadow:0 8px 24px var(--color-shadow-md, rgba(0, 0, 0, .12));z-index:1100}.searchable-select-search{padding:.5rem;border-bottom:1px solid var(--color-border-light)}.searchable-select-input{width:100%;padding:.4rem .6rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:.875rem;background-color:var(--color-bg-subtle);color:var(--color-text-body);box-sizing:border-box}.searchable-select-input:focus{outline:none;border-color:var(--color-primary)}.searchable-select-options{max-height:200px;overflow-y:auto}.searchable-select-option{padding:.6rem .75rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--color-border-light)}.searchable-select-option:last-child{border-bottom:none}.searchable-select-option:hover{background-color:var(--color-bg-hover)}.searchable-select-option.selected{background-color:var(--color-primary-light)}.searchable-select-option-label{display:block;font-weight:500;font-size:.875rem;color:var(--color-text-heading)}.searchable-select-option-desc{display:block;font-size:.75rem;color:var(--color-text-muted);margin-top:.125rem}.searchable-select-empty{padding:.75rem;text-align:center;color:var(--color-text-muted);font-size:.875rem;font-style:italic}.modal-content.test-case-modal{max-width:1600px!important;max-height:90vh;width:90vw}@media (max-width: 768px){.modal-content.test-case-modal{width:95vw}}.test-case-form{max-height:calc(90vh - 120px);overflow-y:auto}.test-case-card{border-left-color:var(--color-success)}.form-group-inline{margin-bottom:1rem}.form-group-inline label{display:block;margin-bottom:.25rem;font-weight:500;font-size:.875rem;color:var(--color-text-body)}.form-group-inline textarea{width:100%;padding:.5rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:.875rem;font-family:inherit;resize:vertical}.form-group-inline textarea:focus{outline:none;border-color:var(--color-primary)}@media (max-width: 480px){.modal-content.test-case-modal{width:100vw;max-width:100vw;border-radius:0;max-height:100vh;height:100vh;display:flex;flex-direction:column;overflow:hidden}.modal-content.test-case-modal .modal-header{flex-shrink:0}.test-case-form{flex:1;max-height:none;overflow-y:auto;padding-bottom:2rem}.test-case-form .form-actions{flex-direction:column}.test-case-form .form-actions .btn{width:100%;text-align:center}.test-case-form .delete-section,.test-case-form .archive-section{flex-direction:column;align-items:flex-start}.test-case-form .archive-toggle{width:100%}.test-case-form .archive-toggle-option{flex:1;text-align:center}}.dashboard-page{padding:var(--spacing-page);max-width:1800px;margin:0 auto}.dashboard-header{margin-bottom:var(--spacing-section-gap)}.dashboard-header h1{margin:0 0 .5rem;font-size:2rem;font-weight:800;color:var(--color-text-primary)}.dashboard-subtitle{color:var(--color-text-secondary);font-size:1rem;margin:0}.stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:var(--spacing-section-gap)}.stat-chip{background:var(--color-bg-card);padding:1.5rem 1.25rem;border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;flex-direction:row;align-items:center;gap:1rem;transition:transform .2s,border-color .2s}.stat-chip:hover{border-color:var(--color-primary)}.stat-chip.highlight{background:var(--gradient-accent);border-color:transparent}.stat-chip.highlight .stat-chip-label,.stat-chip.highlight .stat-chip-value{color:#fff}.stat-chip-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-chip-icon.highlight-icon{background-color:#fff3!important;color:#fff!important}.stat-chip-content{display:flex;flex-direction:column;gap:.25rem}.stat-chip-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px;font-size:.7rem;font-weight:600}.stat-chip-value{font-weight:800;font-size:2rem;color:var(--color-text-primary);line-height:1}.quick-actions-bar{display:flex;gap:1.25rem;margin-bottom:var(--spacing-section-gap);flex-wrap:wrap}.action-button{flex:1;min-width:220px;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 1.5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:1rem;font-weight:500}.action-button:hover{background:var(--color-bg-card);border-color:var(--color-primary)}.action-button .action-icon{font-size:1.75rem}.action-button .action-label{color:var(--color-text-primary)}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-section-gap);margin-bottom:var(--spacing-section-gap)}@media (min-width: 1024px){.dashboard-grid{grid-template-columns:1.5fr 1fr}}.dashboard-section{background:var(--color-bg-card);padding:var(--spacing-card);border-radius:var(--radius-md);border:1px solid var(--color-border)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.section-header h2{margin:0;font-size:1.125rem;font-weight:700;color:var(--color-text-primary)}.btn-link{background:none;border:none;color:var(--color-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s}.btn-link:hover{color:var(--color-primary)}.run-card{padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.run-card:hover{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.run-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.run-title{font-weight:600;color:var(--color-text-primary);font-size:1rem}.status-badge{padding:.25rem .75rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;text-transform:uppercase}.run-meta{display:flex;gap:1rem;margin-bottom:.75rem;font-size:.875rem;color:var(--color-text-secondary);flex-wrap:wrap}.run-stats{display:flex;gap:1.5rem;margin-bottom:.5rem;flex-wrap:wrap}.run-stat{display:flex;gap:.5rem;font-size:.875rem}.run-stat .stat-label{color:var(--color-text-secondary);text-transform:none;letter-spacing:normal}.run-stat .stat-value{font-weight:600;font-size:.875rem}.run-footer{display:flex;justify-content:space-between;align-items:center}.run-date{font-size:.75rem;color:var(--color-text-muted)}.run-notes-indicator{font-size:.75rem;color:var(--color-warning);font-weight:500}.finding-card{padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all .2s}.finding-card.clickable{cursor:pointer}.finding-card:hover{border-color:var(--color-primary);background:var(--color-bg-hover)}.finding-header{display:flex;gap:.75rem;margin-bottom:.5rem;align-items:center}.finding-type{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-body)}.finding-status-badge,.priority-badge{padding:.25rem .5rem;border-radius:var(--radius-pill);font-size:.65rem;font-weight:600;text-transform:uppercase}.finding-title{font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem;font-size:.95rem}.finding-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--color-text-secondary);margin-bottom:.5rem;flex-wrap:wrap}.finding-date{font-size:.7rem;color:var(--color-text-muted)}.empty-state{text-align:center;padding:3rem 2rem;color:var(--color-text-muted)}.empty-state p{margin-bottom:1rem;font-size:1.1rem}.wizard-body{padding:1.5rem}.wizard-steps{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:2rem}.wizard-step{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted)}.wizard-step.active{color:var(--color-primary)}.wizard-step-number{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;border:2px solid var(--color-border);background:var(--color-bg-card)}.wizard-step.active .wizard-step-number{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.wizard-step-label{font-size:.875rem;font-weight:500}.wizard-step-divider{width:40px;height:2px;background:var(--color-border)}.stat-chip-subtitle{font-size:.65rem;color:var(--color-text-secondary);font-weight:500}.stat-chip.highlight .stat-chip-subtitle{color:#fffc}.fallback-note{font-size:.85rem;color:var(--color-text-muted);font-style:italic;margin:0 0 1rem}.loading-message{text-align:center;padding:4rem 2rem;color:var(--color-text-muted);font-size:1.1rem}@media (max-width: 768px){.dashboard-page{padding:1.25rem}.stats-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.stat-chip{padding:1rem;gap:.75rem}.stat-chip-icon{width:40px;height:40px}.stat-chip-value{font-size:1.5rem}.dashboard-grid{grid-template-columns:1fr}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.project-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:1.25rem 1.5rem;border:1px solid var(--color-border);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;min-height:180px}.project-card:hover{border-color:var(--color-primary);box-shadow:0 4px 16px var(--color-shadow-md)}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.project-card-title-section{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;flex-wrap:wrap}.project-card-title{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-heading);line-height:1.3}.project-card-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .375rem;background-color:var(--color-primary);color:#fff;font-size:.75rem;font-weight:600;border-radius:10px}.project-badge{padding:.15rem .5rem;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.project-badge.archived{background-color:var(--color-text-muted);color:#fff}.project-card-body{flex:1;padding:.5rem 0}.project-card-description{margin:0;color:var(--color-text-secondary);font-size:.8rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid var(--color-border-light);margin-top:auto}.project-card-date{font-size:.75rem;color:var(--color-text-muted)}.project-card-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s}.project-card:hover .project-card-actions{opacity:1}.project-card .btn-icon{background:none;border:none;font-size:1rem;color:var(--color-text-secondary);cursor:pointer;padding:.25rem .375rem;border-radius:var(--radius-sm);transition:all .15s}.project-card .btn-icon:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}@media (max-width: 768px){.project-card-actions{opacity:1}}.projects-page{max-width:1800px;margin:0 auto;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.page-header h1{margin:0 0 .5rem;font-size:2rem;color:var(--color-text-heading)}.page-header p{margin:0;color:var(--color-text-body);font-size:1rem}.header-actions{display:flex;gap:.75rem;align-items:center}.filter-select{padding:.625rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--color-text-primary);background-color:var(--color-bg-card);cursor:pointer;transition:all .2s ease}.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}.projects-grid,.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}@media (min-width: 1600px){.projects-grid,.categories-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}.loading-message,.error-message{text-align:center;padding:2rem;background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--color-border)}.error-message{background-color:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.empty-state{text-align:center;padding:4rem 2rem;background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--color-border)}.empty-state h2{margin:0 0 .5rem;color:var(--color-text-heading)}.empty-state p{margin:0 0 1.5rem;color:var(--color-text-body)}@media (max-width: 768px){.projects-page{padding:1rem}.page-header{flex-direction:column}.projects-grid{grid-template-columns:1fr}}.script-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:1.25rem 1.5rem;border:1px solid var(--color-border);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;min-height:180px}.script-card:hover{border-color:var(--color-primary);box-shadow:0 4px 16px var(--color-shadow-md)}.script-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.script-card-title-section{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;flex-wrap:wrap}.script-card-title{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-heading);line-height:1.3}.script-version{display:inline-block;padding:.125rem .4rem;background-color:var(--color-primary-light);color:var(--color-info);border-radius:4px;font-size:.65rem;font-weight:600;letter-spacing:.3px}.script-card-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .375rem;background-color:var(--color-primary);color:#fff;font-size:.75rem;font-weight:600;border-radius:10px}.script-badge{padding:.15rem .5rem;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.script-badge.archived{background-color:var(--color-text-muted);color:#fff}.script-card-body{flex:1;padding:.5rem 0}.script-card-description{margin:0;color:var(--color-text-secondary);font-size:.8rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.script-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid var(--color-border-light);margin-top:auto}.script-card-date{font-size:.75rem;color:var(--color-text-muted)}.script-card-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s}.script-card:hover .script-card-actions{opacity:1}.btn-icon{background:none;border:none;font-size:1rem;color:var(--color-text-secondary);cursor:pointer;padding:.25rem .375rem;border-radius:var(--radius-sm);transition:all .15s}.btn-icon:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.btn-icon-run{color:var(--color-success)}.btn-icon-run:hover{background-color:var(--color-success-bg)}.export-dropdown-inline{position:relative;display:inline-block}.dropdown-menu-inline{position:absolute;bottom:100%;left:0;margin-bottom:.25rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 4px 12px var(--color-shadow-md);z-index:100;min-width:100px;overflow:hidden}.dropdown-menu-inline button{display:block;width:100%;padding:.5rem .75rem;border:none;background:var(--color-bg-card);text-align:left;cursor:pointer;font-size:.8rem;transition:background-color .15s}.dropdown-menu-inline button:hover{background-color:var(--color-bg-hover)}.dropdown-menu-inline button:not(:last-child){border-bottom:1px solid var(--color-border)}@media (max-width: 768px){.script-card-actions{opacity:1}}.test-case-categories{display:flex;flex-wrap:wrap;gap:.5rem}.category-badge-small{display:inline-block;padding:.25rem .625rem;border-radius:12px;color:#fff;font-size:.75rem;font-weight:500}.test-case-header-badges{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.step-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 .5rem;background-color:var(--color-primary-light);color:var(--color-info);border-radius:16px;font-size:.875rem;font-weight:600}.project-detail-page{max-width:1800px;margin:0 auto;padding:2rem}.detail-header{margin-bottom:2rem}.btn-back{background:none;border:none;color:var(--color-primary);font-size:1rem;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;display:inline-block}.btn-back:hover{text-decoration:underline}.detail-header h1{margin:0 0 .5rem;font-size:1.75rem;color:var(--color-text-heading)}.project-description{margin:0;color:var(--color-text-body);font-size:1.125rem;line-height:1.6}.detail-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.detail-header-row .btn{flex-shrink:0;white-space:nowrap;margin-top:.25rem}.script-header-info h1{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.version-badge{display:inline-block;padding:.25rem .75rem;background-color:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-sm);font-size:1rem;font-weight:600}.project-stats-bar{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.project-stat-chip{display:flex;align-items:flex-start;gap:.75rem;flex:1;min-width:180px;padding:1rem 1.25rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:all .2s}.project-stat-chip.clickable{cursor:pointer}.project-stat-chip.clickable:hover{border-color:var(--color-primary);box-shadow:var(--shadow-card-hover)}.project-stat-icon{flex-shrink:0;color:var(--color-primary);margin-top:2px}.project-stat-content{display:flex;flex-direction:column;gap:.125rem;min-width:0}.project-stat-value{font-size:1.25rem;font-weight:700;color:var(--color-text-heading);line-height:1.2}.project-stat-label{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.project-stat-subtitle{font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.project-stat-status{display:inline-block;padding:.1rem .4rem;border-radius:8px;font-size:.65rem;font-weight:600;text-transform:uppercase;width:fit-content}.findings-empty-state{display:flex;align-items:center;gap:.75rem;padding:1.25rem;color:var(--color-success);font-size:.9rem;font-weight:500}.suites-section,.test-cases-section{margin-bottom:2rem}.content-section{margin-bottom:2rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.content-section h2,.suites-section h2,.test-cases-section h2{margin:0;font-size:1.5rem;color:var(--color-text-heading)}.empty-state{text-align:center;padding:2rem;color:var(--color-text-body)}.info-message{padding:1rem;background-color:var(--color-primary-light);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm)}.info-message p{margin:0;color:var(--color-text-heading)}.runs-list{display:flex;flex-direction:column;gap:.75rem}.run-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--color-bg-subtle);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.run-item:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-hover)}.run-name{font-weight:500;color:var(--color-text-heading);flex:1}.run-date{font-size:.8rem;color:var(--color-text-muted);margin:0 1rem}.run-status{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600;text-transform:uppercase}.status-not_started{background-color:var(--color-gray-100);color:var(--color-text-secondary)}.status-in_progress{background-color:var(--color-warning-bg-solid);color:var(--color-warning-text)}.loading-message{text-align:center;padding:3rem;font-size:1.125rem;color:var(--color-text-body)}.btn{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-secondary{background-color:var(--color-text-secondary);color:#fff}.btn-secondary:hover{background-color:var(--color-text-muted)}.section-actions{display:flex;gap:1rem;align-items:center}.export-dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card-hover);z-index:1000;min-width:180px;overflow:hidden}.dropdown-menu button{display:block;width:100%;padding:.75rem 1rem;border:none;background:var(--color-bg-card);text-align:left;cursor:pointer;font-size:.875rem;transition:background-color .2s}.dropdown-menu button:hover{background-color:var(--color-bg-hover)}.dropdown-menu button:not(:last-child){border-bottom:1px solid var(--color-border)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--color-bg-card);padding:2rem;border-radius:12px;max-width:800px;width:90%;box-shadow:0 4px 24px var(--color-shadow-lg)}.modal-content h2{margin:0 0 1rem;font-size:1.5rem;color:var(--color-text-heading)}.modal-content p{margin:0 0 1rem;color:var(--color-text-body);line-height:1.5}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.archive-banner{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);margin-bottom:2rem}.archive-banner-content{display:flex;align-items:center;gap:1rem;flex:1}.archive-icon{font-size:2rem;line-height:1}.archive-text{flex:1}.archive-text strong{display:block;color:var(--color-warning);font-size:1.125rem;margin-bottom:.25rem}.archive-text p{margin:0;color:var(--color-warning-text);font-size:.9rem;line-height:1.4}.archive-banner .btn{flex-shrink:0;white-space:nowrap}.project-findings-summary{display:flex;flex-direction:column;gap:1rem}.project-finding-group h3{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.priority-group-critical h3{color:var(--color-error);border-bottom-color:var(--color-error)}.priority-group-high h3{color:var(--color-warning);border-bottom-color:var(--color-warning)}.priority-group-medium h3{color:var(--color-text-body)}.priority-group-low h3{color:var(--color-text-secondary)}.project-finding-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;background-color:var(--color-bg-subtle);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;margin-bottom:.375rem}.project-finding-item:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-hover)}.project-finding-item .finding-title{font-weight:500;color:var(--color-text-heading);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-finding-item .finding-type-badge{padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-transform:uppercase;flex-shrink:0;margin-left:.5rem}.project-finding-item .type-bug{background-color:var(--color-error-bg-solid);color:var(--color-error-text)}.project-finding-item .type-observation{background-color:var(--color-info-bg-solid);color:var(--color-info-text)}.category-filter{display:flex;flex-wrap:wrap;gap:.375rem;align-items:center}.category-filter-chip{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:16px;font-size:.8rem;font-weight:500;cursor:pointer;border:2px solid;background:transparent;transition:all .2s;white-space:nowrap}.category-filter-chip:hover{opacity:.85}.category-filter-chip.active{color:#fff}.category-filter-row{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1.25rem}@media (max-width: 768px){.archive-banner{flex-direction:column;align-items:flex-start}.archive-banner .btn{width:100%}.project-detail-page{padding:1rem}.project-stats-bar{flex-direction:column}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.section-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.section-actions .btn,.section-actions select{width:100%;text-align:center;font-size:.8rem;padding:.625rem .5rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.detail-header-row{flex-direction:column;gap:1rem}.detail-header-row .btn{width:100%;text-align:center}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%;text-align:center}}.ai-generate-modal{max-width:900px;max-height:85vh;display:flex;flex-direction:column}.ai-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.ai-modal-title{display:flex;align-items:center;gap:.5rem}.ai-modal-title h2{margin:0;font-size:1.35rem;color:var(--color-text-heading)}.ai-modal-title svg{color:var(--color-primary)}.ai-step-input{display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0}.ai-input-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ai-field{display:flex;flex-direction:column;gap:.35rem}.ai-field label{font-size:.8rem;font-weight:600;color:var(--color-text-body);display:flex;align-items:center;justify-content:space-between}.ai-field select,.ai-field input[type=text],.ai-field textarea{padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-input);color:var(--color-text-body);font-size:.9rem;font-family:inherit}.ai-field select:focus,.ai-field input:focus,.ai-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha, rgba(99, 102, 241, .15))}.ai-field textarea{resize:vertical}.ai-field-grow{flex:1;min-height:0}.ai-field-grow textarea{flex:1;min-height:180px}.ai-optional,.ai-char-count{font-weight:400;color:var(--color-text-muted);font-size:.75rem}.ai-error{padding:.75rem 1rem;background:var(--color-danger-bg, rgba(239, 68, 68, .1));color:var(--color-danger);border-radius:6px;font-size:.85rem;line-height:1.4}.ai-no-providers{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.ai-no-providers p:first-child{font-size:1.1rem;font-weight:600;color:var(--color-text-body);margin-bottom:.5rem}.ai-step-preview{display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0;overflow:hidden}.ai-usage-bar{display:flex;align-items:center;justify-content:space-between;padding:.6rem .85rem;background:var(--color-bg-elevated, var(--color-bg-input));border-radius:6px;font-size:.82rem;flex-shrink:0}.ai-usage-bar>span:first-child{font-weight:600;color:var(--color-text-heading)}.ai-usage-details{color:var(--color-text-muted)}.ai-select-bar{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.ai-select-all{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--color-text-body);cursor:pointer}.ai-selected-count{font-size:.8rem;color:var(--color-text-muted)}.ai-cases-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;min-height:0;padding-right:.25rem}.ai-case-card{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-card);transition:border-color .15s}.ai-case-card.selected{border-color:var(--color-primary)}.ai-case-header{display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;cursor:pointer}.ai-case-header input[type=checkbox]{flex-shrink:0;width:16px;height:16px;cursor:pointer}.ai-case-title-input{flex:1;border:none!important;background:transparent!important;font-size:.9rem;font-weight:500;color:var(--color-text-heading);padding:.2rem .4rem!important;border-radius:4px!important}.ai-case-title-input:focus{background:var(--color-bg-input)!important;border:1px solid var(--color-border)!important}.ai-priority-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;padding:.15rem .5rem;border-radius:4px;flex-shrink:0;letter-spacing:.03em}.ai-priority-badge.priority-high{background:var(--color-danger-bg, rgba(239, 68, 68, .1));color:var(--color-danger)}.ai-priority-badge.priority-medium{background:var(--color-warning-bg, rgba(245, 158, 11, .1));color:var(--color-warning)}.ai-priority-badge.priority-low{background:var(--color-success-bg, rgba(34, 197, 94, .1));color:var(--color-success)}.ai-expand-btn{flex-shrink:0;transition:transform .2s}.ai-expand-btn .rotated{transform:rotate(180deg)}.ai-case-details{padding:.75rem .85rem .85rem;display:flex;flex-direction:column;gap:.75rem;border-top:1px solid var(--color-border);margin-top:0}.ai-case-details .ai-field label{font-size:.75rem}.ai-case-details textarea{font-size:.85rem;padding:.4rem .6rem}.ai-steps-section{display:flex;flex-direction:column;gap:.4rem}.ai-steps-section>label{font-size:.75rem;font-weight:600;color:var(--color-text-body)}.ai-step-row{display:flex;align-items:flex-start;gap:.5rem}.ai-step-num{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-bg-elevated, var(--color-bg-input));color:var(--color-text-muted);font-size:.7rem;font-weight:600;margin-top:.35rem}.ai-step-fields{flex:1;display:flex;flex-direction:column;gap:.25rem}.ai-step-fields input{padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-input);color:var(--color-text-body);font-size:.82rem;font-family:inherit}.ai-step-fields input:focus{outline:none;border-color:var(--color-primary)}.ai-step-fields input::placeholder{color:var(--color-text-muted);font-style:italic}.btn-remove-step{flex-shrink:0;color:var(--color-text-muted);margin-top:.3rem}.btn-remove-step:hover{color:var(--color-danger)}.ai-step-saving{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:var(--color-text-muted)}.ai-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:ai-spin .6s linear infinite}.ai-spinner.large{width:32px;height:32px;border-width:3px}@keyframes ai-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.ai-generate-modal{max-height:95vh;width:98%}.ai-input-row{grid-template-columns:1fr}.ai-usage-bar{flex-direction:column;align-items:flex-start;gap:.25rem}.ai-case-header{flex-wrap:wrap}.ai-case-title-input{min-width:0}}.category-card{position:relative;overflow:hidden}.category-color-bar{position:absolute;top:0;left:0;right:0;height:4px}.color-picker{display:flex;flex-direction:column;gap:.75rem}.color-picker input[type=color]{width:80px;height:40px;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);cursor:pointer}.color-presets{display:flex;gap:.5rem;flex-wrap:wrap}.color-preset{width:32px;height:32px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:all .2s}.color-preset:hover{opacity:.8}.color-preset.active{border-color:#333;box-shadow:0 0 0 2px #fff,0 0 0 4px #333}.category-detail-modal{max-width:600px}.category-detail-title-row{display:flex;align-items:center;gap:.75rem}.category-detail-color{width:16px;height:16px;border-radius:var(--radius-sm);flex-shrink:0}.category-detail-body{padding:1.5rem}.category-detail-section{margin-bottom:1.25rem}.category-detail-section h4{font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.category-detail-text{color:var(--color-text-primary);line-height:1.5;font-size:.9rem}.category-detail-muted{color:var(--color-text-muted);font-size:.875rem;font-style:italic}.category-test-cases-list{list-style:none;padding:0;margin:0}.category-test-cases-list li{padding:.4rem 0;border-bottom:1px solid var(--color-border-light);font-size:.875rem}.category-test-cases-list li:last-child{border-bottom:none}.category-test-cases-list li:before{content:"→";color:var(--color-text-muted)}.test-case-link{background:none;border:none;padding:0;color:var(--color-primary);font-size:.875rem;cursor:pointer;font-family:inherit}.category-detail-actions{display:flex;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.categories-page{padding:2rem;max-width:1400px;margin:0 auto}.categories-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.categories-page .page-header h1{font-size:1.75rem;font-weight:700;color:var(--color-text-primary)}.categories-search{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.categories-search .search-input{flex:1;max-width:400px;padding:.5rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;background:var(--color-bg-card);color:var(--color-text-primary);transition:border-color .2s}.categories-search .search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-focus-ring)}.search-result-count{font-size:.8rem;color:var(--color-text-muted)}.category-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.categories-page .category-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;min-height:160px}.categories-page .category-card:hover{border-color:var(--color-primary);box-shadow:0 4px 16px var(--color-shadow-md)}.category-card-color-bar{height:4px}.category-card-body{padding:1.25rem 1.5rem;flex:1;display:flex;flex-direction:column}.category-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.category-card-name{font-size:.95rem;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.3}.category-card-actions{display:flex;gap:.25rem;flex-shrink:0;opacity:0;transition:opacity .15s}.categories-page .category-card:hover .category-card-actions{opacity:1}.category-card-actions .btn-icon{background:none;border:none;cursor:pointer;padding:.125rem;font-size:.8rem;border-radius:var(--radius-sm);transition:background-color .15s}.category-card-actions .btn-icon:hover{background:var(--color-bg-subtle)}.category-card-description{font-size:.8rem;color:var(--color-text-secondary);margin:0 0 .75rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.category-card-footer{padding-top:.625rem;border-top:1px solid var(--color-border-light);font-size:.75rem;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:.25rem;margin-top:auto}.category-card-count{font-weight:600}.category-card-cases{display:flex;align-items:center}.category-card-cases-label{font-size:.7rem;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.categories-page .empty-state{text-align:center;padding:4rem 2rem;background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--color-border)}.categories-page .empty-state p{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:1rem}@media (max-width: 768px){.categories-page{padding:1rem}.category-cards-grid{grid-template-columns:1fr}.category-card-actions{opacity:1}}.dataset-modal{max-width:700px}.category-picker{display:flex;flex-direction:column;gap:.5rem}.category-options{display:flex;flex-wrap:wrap;gap:.375rem}.category-option{padding:.375rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.category-option:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.category-option.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.category-option-new{border-style:dashed;color:var(--color-text-muted)}.category-option-new:hover:not(:disabled){border-style:solid}.category-option-new.active{background:var(--color-bg-subtle);color:var(--color-primary);border-color:var(--color-primary);border-style:solid}.category-new-input{display:flex;gap:.5rem;align-items:center}.category-new-input input{flex:1;padding:.4rem .625rem;border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-size:.85rem;outline:none;box-shadow:0 0 0 2px var(--color-primary-focus-ring);color:var(--color-text-primary);background:var(--color-bg-card)}.category-option-custom{gap:.375rem;display:inline-flex;align-items:center}.category-custom-remove{font-size:.9rem;line-height:1;opacity:.7;cursor:pointer}.category-custom-remove:hover{opacity:1}.category-new-confirm{padding:.4rem .75rem;border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}.category-new-confirm:disabled{opacity:.4;cursor:not-allowed}.category-new-cancel{padding:.4rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;white-space:nowrap}.category-new-cancel:hover{background:var(--color-bg-subtle)}.tags-input-wrapper{position:relative}.tags-input-container{display:flex;flex-wrap:wrap;gap:.375rem;padding:.5rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background:var(--color-bg-card);min-height:42px;align-items:center;cursor:text}.tags-input-container:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-focus-ring)}.tag-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:var(--gradient-accent);color:#fff;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;letter-spacing:.5px}.tag-remove{background:none;border:none;color:#ffffffb3;font-size:.875rem;cursor:pointer;padding:0;line-height:1;display:flex;align-items:center}.tag-remove:hover{color:#fff}.tag-input{border:none;outline:none;background:transparent;font-size:.875rem;flex:1;min-width:120px;padding:.125rem 0;color:var(--color-text-primary)}.tag-suggestions{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:10}.tag-suggestions-header{padding:.375rem .625rem;font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border-light)}.tag-suggestion-item{display:block;width:100%;padding:.4rem .625rem;border:none;background:none;text-align:left;font-size:.85rem;font-weight:600;letter-spacing:.5px;color:var(--color-text-primary);cursor:pointer;transition:background-color .1s}.tag-suggestion-item:hover,.tag-suggestion-item.highlighted{background:var(--color-bg-subtle)}.tag-suggestion-item:first-of-type{border-top-left-radius:6px;border-top-right-radius:6px}.tag-suggestion-item:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.dataset-items-editor{border:1px solid var(--color-border-input);border-radius:var(--radius-sm);overflow:hidden}.dataset-items-header{display:grid;grid-template-columns:1fr 1fr 40px;gap:.5rem;padding:.5rem .75rem;background-color:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.dataset-item-row{display:grid;grid-template-columns:1fr 1fr 40px;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border-light);align-items:center}.dataset-item-row:last-of-type{border-bottom:none}.item-key-input,.item-value-input{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;transition:border-color .2s}.item-key-input:focus,.item-value-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-focus-ring)}.item-key-input:disabled,.item-value-input:disabled{background-color:var(--color-bg-input-disabled);cursor:not-allowed}.btn-remove-item{width:32px;height:32px;border:1px solid var(--color-border);background-color:var(--color-bg-card);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.btn-remove-item:hover:not(:disabled){background-color:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.btn-remove-item:disabled{opacity:.3;cursor:not-allowed}.btn-add-item{display:block;width:100%;padding:.625rem;background-color:var(--color-bg-subtle);border:none;border-top:1px solid var(--color-border);color:var(--color-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-add-item:hover:not(:disabled){background-color:var(--color-gray-100)}.btn-add-item:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.dataset-modal{max-width:95vw}}@media (max-width: 480px){.dataset-modal{max-width:100vw;border-radius:0}.dataset-items-header{grid-template-columns:1fr 1fr 36px;font-size:.7rem;padding:.5rem}.dataset-item-row{grid-template-columns:1fr 1fr 36px;padding:.375rem .5rem}.item-key-input,.item-value-input{font-size:16px;padding:.375rem}}.dataset-detail-modal{max-width:700px}.dataset-detail-title-row{display:flex;align-items:center;gap:.75rem}.dataset-detail-color{width:16px;height:16px;border-radius:var(--radius-sm);flex-shrink:0}.dataset-detail-body{padding:1.5rem}.dataset-detail-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1.25rem}.dataset-tag{display:inline-block;padding:.2rem .6rem;background:var(--gradient-accent);color:#fff;border-radius:var(--radius-sm);font-size:.7rem;font-weight:700;letter-spacing:.5px}.dataset-detail-section{margin-bottom:1.25rem}.dataset-detail-section h4{font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .375rem;background:var(--color-bg-subtle);color:var(--color-text-secondary);font-size:.75rem;font-weight:600;border-radius:var(--radius-sm)}.dataset-detail-text{color:var(--color-text-primary);line-height:1.5;font-size:.9rem}.dataset-detail-muted{color:var(--color-text-muted);font-size:.875rem;font-style:italic}.dataset-items-table{width:100%;border-collapse:collapse;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;font-size:.875rem}.dataset-items-table thead{background:var(--color-bg-subtle)}.dataset-items-table th{text-align:left;padding:.5rem .75rem;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.dataset-items-table td{padding:.5rem .75rem;border-bottom:1px solid var(--color-border-light)}.dataset-items-table tr:last-child td{border-bottom:none}.dataset-items-table .item-key{font-weight:500;color:var(--color-text-primary);width:40%}.dataset-items-table .item-value{color:var(--color-text-secondary);font-family:monospace;font-size:.8125rem}.dataset-test-cases-list{list-style:none;padding:0;margin:0}.dataset-test-cases-list li{padding:.4rem 0;border-bottom:1px solid var(--color-border-light);font-size:.875rem;color:var(--color-text-primary)}.dataset-test-cases-list li:last-child{border-bottom:none}.dataset-test-cases-list li:before{content:"→ ";color:var(--color-text-muted)}.test-case-link{background:none;border:none;padding:0;color:var(--color-primary);font-size:.875rem;cursor:pointer;text-decoration:none;font-family:inherit}.test-case-link:hover{text-decoration:underline;color:var(--color-primary-dark, #5a6fd6)}.dataset-detail-actions{display:flex;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.assign-modal{max-width:500px;overflow:visible}.assign-modal .modal-body{overflow:visible}.assign-modal-description{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:1.25rem;line-height:1.5}.assign-modal-loading{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.875rem}.test-data-page{padding:2rem;max-width:1400px;margin:0 auto}.test-data-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.test-data-page .page-header h1{font-size:1.75rem;font-weight:700;color:var(--color-text-primary)}.dataset-filters{display:flex;align-items:baseline;flex-wrap:wrap;gap:.625rem;margin-bottom:1.5rem;padding:.625rem 1rem;background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--color-border)}.filter-group{display:flex;align-items:baseline;gap:.375rem}.filter-label{font-size:.7rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.filter-select{padding:.3rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.8rem;background-color:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer;transition:border-color .15s}.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-focus-ring)}.filter-tags{display:inline-flex;flex-wrap:wrap;gap:.25rem;align-items:baseline}.filter-tag{padding:.3rem .625rem;display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-card);color:var(--color-text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:all .15s}.filter-tag:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-tag.active{background:var(--gradient-accent);color:#fff;border-color:transparent}.filter-input{padding:.3rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.8rem;background:var(--color-bg-card);color:var(--color-text-primary);min-width:140px}.filter-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-focus-ring)}.filter-clear{padding:.3rem .625rem;display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:none;color:var(--color-text-muted);font-size:.8rem;cursor:pointer;transition:all .15s}.filter-clear:hover{color:var(--color-error);border-color:var(--color-error);background:#dc26260d}.filter-result-count{font-size:.75rem;color:var(--color-text-muted);margin-left:auto}.dataset-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.dataset-table th{background:var(--color-bg-subtle);padding:.625rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.dataset-table td{padding:.625rem 1rem;border-bottom:1px solid var(--color-border-light);font-size:.875rem;vertical-align:middle}.dataset-table tbody tr{cursor:pointer;transition:background-color .15s}.dataset-table tbody tr:hover{background:var(--color-bg-hover)}.dataset-table tbody tr:last-child td{border-bottom:none}.dataset-table tbody tr.selected{background:var(--color-primary-subtle, rgba(59, 130, 246, .06))}.dataset-table .col-checkbox,.dataset-table .col-color{width:36px}.dataset-table .col-category{width:120px}.dataset-table .col-tags{width:160px}.dataset-table .col-items{width:60px}.dataset-table .col-used-by{width:200px}.dataset-table .col-actions{width:90px}.dataset-color-dot{display:inline-block;width:12px;height:12px;border-radius:50%}.dataset-name-cell{font-weight:600;color:var(--color-text-primary)}.dataset-category-cell{color:var(--color-text-secondary);font-size:.8rem}.dataset-card-category{display:inline-block;padding:.125rem .4rem;background:var(--color-bg-subtle);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:3px;font-size:.65rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.dataset-tags-inline{display:flex;flex-wrap:wrap;gap:.25rem}.dataset-tag{display:inline-block;padding:.125rem .4rem;background:var(--gradient-accent);color:#fff;border-radius:3px;font-size:.65rem;font-weight:700;letter-spacing:.5px}.dataset-items-count{font-weight:500}.dataset-used-by{color:var(--color-text-muted);font-size:.8rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataset-actions-cell{display:flex;gap:.25rem;opacity:0;transition:opacity .15s;white-space:nowrap}.dataset-table tbody tr:hover .dataset-actions-cell{opacity:1}.dataset-actions-cell .btn-icon{background:none;border:none;cursor:pointer;padding:.25rem;font-size:.8rem;border-radius:var(--radius-sm);transition:background-color .15s}.dataset-actions-cell .btn-icon:hover{background:var(--color-bg-subtle)}.dataset-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;flex-shrink:0;width:16px;height:16px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);position:relative;transition:all .15s}.dataset-checkbox:hover{border-color:var(--color-primary)}.dataset-checkbox:checked{background:var(--color-primary);border-color:var(--color-primary)}.dataset-checkbox:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.dataset-checkbox:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-primary-focus-ring)}.test-data-page .empty-state{text-align:center;padding:4rem 2rem;background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--color-border)}.test-data-page .empty-state p{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:1rem}.floating-action-bar{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000026;z-index:50;animation:floating-bar-slide-up .2s ease-out}@keyframes floating-bar-slide-up{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.floating-action-count{font-size:.85rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap}.floating-action-buttons{display:flex;gap:.5rem}@media (max-width: 768px){.test-data-page{padding:1rem}.dataset-table .col-tags,.dataset-table .col-used-by{display:none}.dataset-actions-cell{opacity:1}}.test-runs-page{padding:2rem;max-width:1600px;margin:0 auto}.page-header .subtitle{color:var(--color-text-secondary);font-size:1rem}.filters-bar{display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--color-border);flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.filter-group.search-group{flex:1;min-width:250px}.filter-group label{font-size:.875rem;font-weight:600;color:var(--color-text-body)}.filter-select,.search-input{padding:.5rem .75rem;border:1px solid var(--color-border-hover);border-radius:var(--radius-sm);font-size:.875rem;transition:border-color .2s}.filter-select:focus,.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}.clear-filters-btn{align-self:flex-end;padding:.5rem 1rem;background:var(--color-bg-subtle);border:1px solid var(--color-border-hover);border-radius:var(--radius-sm);color:var(--color-text-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.clear-filters-btn:hover{background:var(--color-gray-100);border-color:var(--color-text-muted)}.content-grid{display:grid;grid-template-columns:1fr 400px;gap:2rem;align-items:start}.runs-section{min-height:400px}.runs-list{display:flex;flex-direction:column;gap:1rem}.run-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:1.5rem;cursor:pointer;transition:all .2s;border:1px solid var(--color-border)}.run-card:hover{border-color:var(--color-primary);box-shadow:0 4px 16px var(--color-shadow-md)}.run-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem;gap:1rem}.run-name{font-size:1rem;color:var(--color-text-primary);margin:0;flex:1}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.status-badge.status-completed{background:var(--color-success-bg-solid);color:var(--color-success-text)}.status-badge.status-in-progress{background:var(--color-info-bg-solid);color:var(--color-info-text)}.status-badge.status-not-started{background:var(--color-border);color:var(--color-text-body)}.run-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.metadata-item{display:flex;gap:.5rem;font-size:.875rem}.metadata-item .label{font-weight:600;color:var(--color-text-secondary)}.metadata-item .value{color:var(--color-text-primary)}.run-stats{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.75rem;color:var(--color-text-secondary);font-weight:600;text-transform:uppercase}.stat-value{font-size:1rem;font-weight:700;color:var(--color-text-primary)}.stat-item.stat-passed .stat-value{color:var(--color-success-hover)}.stat-item.stat-failed .stat-value{color:var(--color-error-hover)}.stat-item.stat-pass-rate .stat-value{color:var(--color-primary)}.run-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.run-date{font-size:.875rem;color:var(--color-text-secondary)}.load-more-container{margin-top:2rem;text-align:center}.load-more-btn{padding:.75rem 2rem;background:var(--color-bg-card);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.load-more-btn:hover:not(:disabled){background:var(--color-primary);color:#fff}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}.statistics-panel{position:sticky;top:2rem}.stats-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-card);border:1px solid var(--color-border)}.stats-title{font-size:1.25rem;color:var(--color-text-primary);margin:0 0 1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--color-border)}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;border-radius:var(--radius-sm);transition:background .2s}.stat-row:hover{background:var(--color-bg-hover)}.stat-row.highlight{background:var(--gradient-accent);color:#fff;font-weight:600;margin-bottom:1rem}.stat-row.highlight .stat-name,.stat-row.highlight .stat-number{color:#fff}.stat-name{font-size:.875rem;color:var(--color-text-body);font-weight:500}.stat-number{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.stats-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1.5rem 0}.breakdown-item{padding:1rem;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.5rem}.breakdown-item.passed{background:var(--color-success-bg);border:1px solid var(--color-success-bg-solid)}.breakdown-item.failed{background:var(--color-error-bg);border:1px solid var(--color-error-bg-solid)}.breakdown-item.blocked{background:var(--color-warning-bg);border:1px solid var(--color-warning-bg-solid)}.breakdown-item.skipped{background:var(--color-bg-subtle);border:1px solid var(--color-border)}.breakdown-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary)}.breakdown-value{font-size:1.5rem;font-weight:700}.breakdown-item.passed .breakdown-value{color:var(--color-success-hover)}.breakdown-item.failed .breakdown-value{color:var(--color-error-hover)}.breakdown-item.blocked .breakdown-value{color:var(--color-warning-hover)}.breakdown-item.skipped .breakdown-value{color:var(--color-text-secondary)}.progress-bar-container{margin-top:1.5rem}.progress-bar{height:12px;background:var(--color-gray-100);border-radius:var(--radius-sm);overflow:hidden;display:flex}.progress-segment{height:100%;transition:width .3s ease}.progress-segment.passed{background:var(--color-success)}.progress-segment.failed{background:var(--color-error)}.progress-segment.blocked{background:var(--color-warning)}.progress-segment.skipped{background:var(--color-text-muted)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:var(--color-text-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--color-border)}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1.5rem;color:var(--color-text-primary);margin:0 0 .5rem}.empty-state p{color:var(--color-text-secondary);font-size:1rem;margin:0 0 1.5rem;max-width:400px}.btn-primary{padding:.75rem 1.5rem;background:var(--gradient-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--color-primary-shadow)}@media (max-width: 1200px){.content-grid{grid-template-columns:1fr 350px}}@media (max-width: 992px){.content-grid{grid-template-columns:1fr}.statistics-panel{position:static;order:-1}.stats-breakdown{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.test-runs-page{padding:1rem}.page-header h1{font-size:1.5rem}.filters-bar{flex-direction:column;padding:1rem}.filter-group{width:100%;min-width:auto}.clear-filters-btn{width:100%}.run-metadata{grid-template-columns:1fr}.run-stats{justify-content:space-between;gap:1rem}.stats-breakdown{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.run-header{flex-direction:column;align-items:start}.status-badge{align-self:flex-start}.run-stats{grid-template-columns:1fr 1fr;display:grid}}.screenshot-upload{margin-top:1rem}.drop-zone{border:2px dashed var(--color-border-hover);border-radius:var(--radius-md);padding:2rem;text-align:center;cursor:pointer;transition:all .3s;background-color:var(--color-bg-subtle);margin-bottom:1rem}.drop-zone:hover,.drop-zone.dragging{border-color:var(--color-primary);background-color:var(--color-primary-light)}.drop-zone.uploading{border-color:var(--color-success);background-color:#f0fff4;cursor:wait;opacity:.8}.drop-zone.uploading:hover{border-color:var(--color-success);background-color:#f0fff4}.drop-zone-content{pointer-events:none}.drop-zone-icon{font-size:3rem;display:block;margin-bottom:.75rem}.drop-zone-text{font-size:.9375rem;color:var(--color-text-body);font-weight:500;margin:0 0 .5rem}.drop-zone-hint{font-size:.8125rem;color:var(--color-text-secondary);margin:0}.btn-upload-confirm{width:100%;padding:.875rem 1.5rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9375rem;cursor:pointer;transition:background-color .2s;border:none;background:var(--color-primary);color:#fff;margin-bottom:1rem}.btn-upload-confirm:hover:not(:disabled){background:var(--color-primary-hover)}.btn-upload-confirm:disabled{opacity:.6;cursor:not-allowed}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.preview-item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background-color:var(--color-bg-subtle);transition:border-color .2s}.preview-item:hover{border-color:var(--color-border-hover)}.preview-item img{width:100%;height:100%;object-fit:cover}.btn-remove-preview{position:absolute;top:.5rem;right:.5rem;width:30px;height:30px;border-radius:50%;background-color:#ef4444f2;color:#fff;border:none;cursor:pointer;font-size:1.25rem;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.btn-remove-preview:hover:not(:disabled){background-color:#dc2626}.btn-remove-preview:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.drop-zone{padding:1.5rem 1rem}.drop-zone-icon{font-size:2rem}.drop-zone-text{font-size:.875rem}.preview-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.modal-header-content{flex:1;padding-right:2rem}.modal-header-content h2{margin:0;font-size:1.5rem;color:var(--color-text-heading)}.modal-header-content .modal-subtitle{margin:.5rem 0 0;font-size:.875rem;color:var(--color-text-body);font-weight:400}.form-group label{display:block;margin-bottom:.75rem}.btn-add-step{width:100%;background:var(--color-primary);color:#fff;border:none;padding:.75rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;margin-top:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-add-step:hover:not(:disabled){background:var(--color-primary-hover)}.btn-add-step:disabled{background:var(--color-border-hover);cursor:not-allowed;transform:none}.steps-list{display:flex;flex-direction:column;gap:.75rem}.step-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all .2s}.step-item:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.step-number{min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;border-radius:50%;font-weight:600;font-size:.875rem;flex-shrink:0}.step-input{flex:1;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;background:var(--color-bg-input);transition:border-color .2s}.step-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}.step-input:disabled{background:var(--color-bg-input-disabled);cursor:not-allowed}.step-actions{display:flex;gap:.25rem;flex-shrink:0}.btn-step-action{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;color:var(--color-text-muted);transition:all .2s}.btn-step-action:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-hover);color:#334155}.btn-step-action:disabled{opacity:.4;cursor:not-allowed}.btn-step-action.btn-delete{color:#ef4444}.btn-step-action.btn-delete:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:var(--color-error)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.screenshots-grid-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:1rem}.screenshot-item-form{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background-color:var(--color-bg-subtle);transition:border-color .2s}.screenshot-item-form:hover{border-color:var(--color-border-hover)}.screenshot-item-form img{width:100%;height:100%;object-fit:cover;cursor:pointer}.screenshot-caption-form{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;padding:.5rem;font-size:.75rem;margin:0}.btn-delete-screenshot-form{position:absolute;top:.5rem;right:.5rem;width:30px;height:30px;border-radius:50%;background-color:#ef4444f2;color:#fff;border:none;cursor:pointer;font-size:1.25rem;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.btn-delete-screenshot-form:hover:not(:disabled){background-color:#dc2626}.btn-delete-screenshot-form:disabled{opacity:.5;cursor:not-allowed}.resolution-notes-highlight{background:var(--color-success-bg);border:1px solid var(--color-success-bg-solid);border-radius:var(--radius-md);padding:1rem}.resolution-hint{font-weight:400;font-size:.8rem;color:var(--color-text-muted)}.process-finding-summary{padding:1.25rem 1.5rem;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-light)}.process-finding-title{margin:0 0 .5rem;font-size:1.125rem;color:var(--color-text-heading)}.process-finding-badges{display:flex;gap:.5rem;margin-bottom:.75rem}.process-finding-badges .type-badge{padding:.2rem .6rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:capitalize}.process-finding-badges .type-badge.type-bug{background:var(--color-error-bg);color:var(--color-error-text);border:1px solid var(--color-error-bg-solid)}.process-finding-badges .type-badge.type-observation{background:var(--color-info-bg);color:var(--color-info-text);border:1px solid var(--color-info-bg-solid)}.process-finding-badges .priority-badge{padding:.2rem .6rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:capitalize;color:#fff}.process-finding-badges .priority-critical{background:var(--color-error)}.process-finding-badges .priority-high{background:#ea580c}.process-finding-badges .priority-medium{background:#ca8a04}.process-finding-badges .priority-low{background:#65a30d}.process-finding-description{margin:0;font-size:.875rem;color:var(--color-text-body);line-height:1.5;white-space:pre-wrap}@media (max-width: 768px){.step-item{flex-wrap:wrap}.step-number{min-width:24px;height:24px;font-size:.75rem}.step-input{min-width:200px}.step-actions{width:100%;justify-content:flex-end;margin-top:.5rem}.form-row{grid-template-columns:1fr}}@media (max-width: 480px){.step-input{min-width:0;font-size:16px}.btn-step-action{width:36px;height:36px;min-width:36px}.screenshots-grid-form{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.image-lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999;padding:2rem;animation:fadeIn .2s ease-in-out}.image-lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;animation:zoomIn .2s ease-in-out}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.image-lightbox-content img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 8px 32px #0006}.lightbox-close{position:absolute;top:-3rem;right:0;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:2rem;width:3rem;height:3rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;padding:0}.lightbox-close:hover{background:#fff3;border-color:#ffffff80;transform:rotate(90deg)}.lightbox-caption{margin-top:1rem;color:#fff;font-size:1rem;text-align:center;background:#00000080;padding:.75rem 1.5rem;border-radius:var(--radius-sm);max-width:600px}.finding-detail-body{padding:1.5rem}.finding-detail-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.finding-detail-badges .detail-badge{padding:.3rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;text-transform:capitalize}.finding-detail-badges .type-badge.type-bug{background:var(--color-error-bg);color:var(--color-error-text);border:1px solid var(--color-error-bg-solid)}.finding-detail-badges .type-badge.type-observation{background:var(--color-info-bg);color:var(--color-info-text);border:1px solid var(--color-info-bg-solid)}.finding-detail-badges .priority-badge{color:#fff}.finding-detail-badges .priority-badge.priority-critical{background:var(--color-error)}.finding-detail-badges .priority-badge.priority-high{background:#ea580c}.finding-detail-badges .priority-badge.priority-medium{background:#ca8a04}.finding-detail-badges .priority-badge.priority-low{background:#65a30d}.finding-detail-badges .status-badge{color:#fff}.finding-detail-badges .status-badge.status-open{background:var(--color-info-bg-solid);color:var(--color-info-text)}.finding-detail-badges .status-badge.status-in_progress{background:var(--color-warning-bg-solid);color:var(--color-warning-text)}.finding-detail-badges .status-badge.status-resolved{background:var(--color-success-bg-solid);color:var(--color-success-text)}.finding-detail-badges .status-badge.status-verified{background:var(--color-verified);color:#fff}.finding-detail-badges .status-badge.status-wont_fix{background:var(--color-border);color:var(--color-text-body)}.finding-detail-badges .impact-badge{background:var(--color-bg-subtle);color:var(--color-text-secondary);border:1px solid var(--color-border)}.finding-detail-section{margin-bottom:1.5rem}.finding-detail-section h4{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.finding-detail-text{margin:0;color:var(--color-text-primary);line-height:1.6;white-space:pre-wrap}.finding-detail-muted{margin:0;color:var(--color-text-muted);font-style:italic;font-size:.875rem}.finding-detail-steps{margin:0;padding-left:1.25rem;color:var(--color-text-primary);line-height:1.8}.finding-detail-steps li{padding:.25rem 0}.finding-detail-resolution{background:var(--color-success-bg);border:1px solid var(--color-success-bg-solid);border-radius:var(--radius-md);padding:1rem}.finding-detail-screenshots{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.finding-detail-screenshot-item{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background-color:var(--color-bg-subtle);transition:border-color .2s}.finding-detail-screenshot-item:hover{border-color:var(--color-border-hover)}.finding-detail-screenshot-item img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block}.finding-detail-screenshot-caption{padding:.5rem;margin:0;font-size:.75rem;color:var(--color-text-secondary)}.finding-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;padding-top:1.5rem;border-top:1px solid var(--color-border-light)}.finding-meta-item{display:flex;flex-direction:column;gap:.25rem}.finding-meta-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.finding-meta-value{font-size:.875rem;color:var(--color-text-primary)}.finding-detail-actions{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--color-border-light);background:var(--color-bg-subtle);border-radius:0 0 var(--radius-md) var(--radius-md)}.finding-detail-actions-left{display:flex;align-items:center;gap:.75rem}.finding-detail-actions .btn-icon-small{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;transition:all .2s}.finding-detail-actions .btn-icon-small:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-hover)}.finding-detail-actions .btn-icon-small:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.finding-detail-body{padding:1rem}.finding-detail-actions{flex-direction:column-reverse;gap:.75rem;padding:1rem}.finding-detail-actions .btn{width:100%}.finding-detail-actions-left{width:100%;justify-content:space-between}.finding-detail-meta{grid-template-columns:1fr 1fr}.finding-detail-screenshots{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.findings-overview{margin-top:1.5rem;padding:1rem;background:var(--color-bg-subtle);border-radius:var(--radius-md);border-left:3px solid var(--color-warning)}.findings-overview-title{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.findings-overview-list{display:flex;flex-direction:column;gap:.75rem}.finding-item{background:var(--color-bg-card);border-radius:var(--radius-sm);border-left:3px solid var(--color-border-hover);overflow:hidden}.finding-item.finding-fail{border-left-color:var(--color-error)}.finding-item.finding-blocked{border-left-color:var(--color-warning)}.finding-item-header{padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:background-color .2s}.finding-item-header:hover{background:var(--color-bg-hover)}.finding-step-number{font-weight:600;color:var(--color-text-body);font-size:.875rem}.finding-status{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.finding-status.status-fail{background:var(--color-error-bg-solid);color:var(--color-error-text)}.finding-status.status-blocked{background:var(--color-warning-bg-solid);color:var(--color-warning-text)}.finding-toggle{margin-left:auto;color:var(--color-text-muted)}.finding-item-content{padding:1rem;border-top:1px solid var(--color-border);font-size:.875rem}.finding-item-content p{margin:.5rem 0;line-height:1.5}.finding-notes{margin-top:.75rem;padding:.75rem;background:var(--color-bg-subtle);border-radius:var(--radius-sm)}.finding-notes p{margin-top:.25rem;color:var(--color-text-body)}.finding-screenshots{margin-top:1rem}.screenshot-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-top:.5rem}.screenshot-thumbnail{position:relative;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border);cursor:pointer;transition:border-color .2s}.screenshot-thumbnail:hover{border-color:var(--color-border-hover)}.screenshot-thumbnail img{width:100%;height:100px;object-fit:cover;display:block}.screenshot-caption{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;padding:.25rem .5rem;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px);max-height:0}to{opacity:1;transform:translateY(0);max-height:1000px}}@keyframes expandHeight{0%{max-height:0;opacity:0}to{max-height:2000px;opacity:1}}.test-run-page{padding:2rem;max-width:1600px;margin:0 auto;animation:fadeIn .3s ease-out}.test-run-header{background:var(--color-bg-card);padding:2rem;border-radius:var(--radius-md);border:1px solid var(--color-border);margin-bottom:2rem}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:.75rem}.test-run-header h1{margin:0 0 .5rem;font-size:1.75rem;color:var(--color-text-heading)}.run-description{color:var(--color-text-body);margin-bottom:1rem}.run-meta{display:flex;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.run-meta span{font-size:.875rem;color:var(--color-text-body);display:flex;align-items:center;gap:.5rem}.env-url-link{color:var(--color-primary);text-decoration:none;font-weight:500;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:all .2s;display:inline-flex;align-items:center;gap:.25rem}.env-url-link:hover{background-color:var(--color-primary);color:#fff}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-not_started{background-color:var(--color-border);color:var(--color-text-body)}.status-in_progress{background-color:var(--color-info-bg-solid);color:var(--color-info-text)}.status-completed{background-color:var(--color-success-bg-solid);color:var(--color-success-text)}.status-cancelled{background-color:var(--color-error-bg-solid);color:var(--color-error-text)}.progress-section{margin-bottom:1.5rem}.progress-bar{width:100%;height:12px;background-color:var(--color-border);border-radius:6px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:var(--gradient-accent);transition:width .5s ease;position:relative;overflow:hidden}.progress-text{text-align:center;font-size:.875rem;font-weight:600;color:var(--color-text-body)}.stats-row{display:flex;gap:1rem;flex-wrap:wrap}.stat-item{flex:1;min-width:100px;text-align:center;padding:.75rem;background-color:var(--color-bg-subtle);border-radius:var(--radius-sm)}.stat-label{display:block;font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;margin-bottom:.25rem}.stat-value{display:block;font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.stat-pass .stat-value{color:var(--color-success)}.stat-fail .stat-value{color:var(--color-error)}.stat-blocked .stat-value{color:var(--color-warning)}.stat-skipped .stat-value{color:var(--color-text-muted)}.execution-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:2px solid var(--color-border)}.execution-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;font-size:.95rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.execution-tab:hover{color:var(--color-text-primary)}.execution-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}@media (max-width: 768px){.execution-tabs{overflow-x:auto}.execution-tab{padding:.625rem 1rem;font-size:.875rem;white-space:nowrap}}.test-results-list{display:flex;flex-direction:column;gap:1rem}.result-item{background:var(--color-bg-card);border-radius:var(--radius-md);padding:1.25rem;border:1px solid var(--color-border);border-left:3px solid var(--color-border);transition:border-color .2s ease}.result-item.pass{border-left-color:var(--color-success)}.result-item.fail{border-left-color:var(--color-error)}.result-item.blocked{border-left-color:var(--color-warning)}.result-item.skipped{border-left-color:var(--color-text-muted)}.result-header{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.result-number{flex-shrink:0;width:40px;height:40px;background-color:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.result-info{flex:1}.result-info h3{margin:0 0 .25rem;font-size:1.125rem;color:var(--color-text-primary)}.result-description{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.btn-toggle-steps{margin-left:auto;padding:.625rem 1.25rem;background:var(--color-primary-subtle);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-toggle-steps:hover{background:var(--color-primary);color:#fff}.result-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.status-btn{flex:1;min-width:100px;padding:.5rem .75rem;border:1px solid var(--color-border);background-color:var(--color-bg-card);border-radius:var(--radius-sm);font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s ease}.status-btn:hover:not(:disabled){border-color:var(--color-border-hover)}.status-btn:disabled{opacity:.5;cursor:not-allowed}.btn-pass{color:var(--color-success);border-color:var(--color-success)}.btn-pass.active{background-color:var(--color-success);color:#fff}.btn-fail{color:var(--color-error);border-color:var(--color-error)}.btn-fail.active{background-color:var(--color-error);color:#fff}.btn-blocked{color:var(--color-warning);border-color:var(--color-warning)}.btn-blocked.active{background-color:var(--color-warning);color:#fff}.btn-skip{color:var(--color-text-muted);border-color:var(--color-text-muted)}.btn-skip.active{background-color:var(--color-text-muted);color:#fff}.result-notes{margin-top:1.25rem}.result-notes textarea{width:100%;padding:.875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:.875rem;resize:vertical;transition:all .2s;min-height:80px}.result-notes textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}.result-notes textarea:disabled{background-color:var(--color-bg-subtle);cursor:not-allowed;opacity:.6}.result-notes .notes-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.result-notes .notes-label.notes-required{color:var(--color-error-text)}.result-notes .notes-label .required{color:var(--color-error-hover);margin-left:.25rem}.result-notes textarea.notes-required-empty{border-color:var(--color-error);background-color:var(--color-error-bg)}.result-notes textarea.notes-required-empty:focus{border-color:var(--color-error-hover);box-shadow:0 0 0 3px #e53e3e26}.dataset-reference-panel{margin:1rem 0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.btn-toggle-datasets{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background-color:var(--color-bg-subtle);border:none;font-size:.875rem;font-weight:600;color:var(--color-text-body);cursor:pointer;transition:background-color .2s;text-align:left}.btn-toggle-datasets:hover{background-color:var(--color-gray-100)}.dataset-reference-content{padding:.75rem;display:flex;flex-direction:column;gap:.75rem;border-top:1px solid var(--color-border);background-color:var(--color-bg-subtle)}.dataset-reference-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.dataset-reference-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--color-bg-subtle);border-bottom:1px solid var(--color-border)}.dataset-reference-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.dataset-reference-name{font-weight:600;font-size:.8125rem;color:var(--color-text-primary)}.dataset-reference-table{width:100%;border-collapse:collapse}.dataset-reference-table tr:not(:last-child){border-bottom:1px solid var(--color-border-light)}.dataset-reference-table td{padding:.375rem .75rem;font-size:.8125rem}.dataset-key{width:35%;font-weight:500;color:var(--color-text-body);background-color:var(--color-bg-subtle)}.dataset-value{color:var(--color-text-primary);-webkit-user-select:all;user-select:all;font-family:SF Mono,Consolas,Liberation Mono,Menlo,monospace}.test-steps-section{margin:1.5rem 0;padding:1.25rem;background-color:var(--color-bg-subtle);border-radius:var(--radius-md);border:1px solid var(--color-border);animation:expandHeight .4s ease-out;overflow:hidden}.test-steps-section h4{margin:0 0 1rem;font-size:.875rem;font-weight:600;color:var(--color-text-body);text-transform:uppercase;letter-spacing:.05em}.steps-navigation{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--color-border)}.steps-navigation h4{margin:0;font-size:1.125rem;color:var(--color-text-primary)}.step-item{background:var(--color-bg-card);padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1rem;border-left:3px solid var(--color-border);transition:border-color .2s ease}.step-item.current-step{border:1px solid var(--color-primary);border-left:3px solid var(--color-primary);background-color:var(--color-primary-subtle)}.step-item.current-step .step-number{background:var(--color-primary);color:#fff}.step-item.inactive-step{opacity:.6;pointer-events:none;filter:grayscale(.3);transition:all .3s ease}.step-item.editable-step{opacity:1;pointer-events:auto;filter:none;transition:all .3s ease}.step-item.editable-step:hover{border-color:var(--color-primary)}.step-item.inactive-step .step-number{background-color:var(--color-border-hover);box-shadow:none}.step-item.inactive-step .status-btn{cursor:not-allowed;background-color:var(--color-bg-subtle)}.step-item.inactive-step .btn-nav,.step-item.inactive-step .btn-screenshots,.step-item.inactive-step .step-notes-input{pointer-events:none}.step-item.fail{border-left-color:var(--color-error);background-color:var(--color-error-bg)}.step-item.blocked{border-left-color:var(--color-warning);background-color:var(--color-warning-bg)}.step-item.skipped{border-left-color:var(--color-text-muted);background-color:var(--color-bg-subtle)}.step-item:last-child{margin-bottom:0}.step-item.pass{border-left-color:var(--color-success)}.step-item.pass.current-step{border-left-color:var(--color-success);background-color:var(--color-success-bg)}.step-item.fail{border-left-color:var(--color-error)}.step-item.fail.current-step{border-left-color:var(--color-error);background-color:var(--color-error-bg)}.step-item.blocked{border-left-color:var(--color-warning)}.step-item.blocked.current-step{border-left-color:var(--color-warning);background-color:var(--color-warning-bg)}.step-item.skipped{border-left-color:var(--color-text-muted)}.step-item.skipped.current-step{border-left-color:var(--color-text-muted);background-color:var(--color-bg-subtle)}.step-main-grid{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start;width:100%}.step-left{display:flex;flex-direction:column;gap:1rem;flex:1}.step-info-row{display:flex;gap:1rem;align-items:flex-start}.step-number{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-size:.875rem;font-weight:700}.step-content{flex:1;min-width:0}.step-action,.step-expected{font-size:.9375rem;color:var(--color-text-primary);margin-bottom:.625rem;line-height:1.6}.step-action:last-child,.step-expected:last-child{margin-bottom:0}.step-action strong,.step-expected strong{color:var(--color-text-body);font-weight:600;display:inline-block;min-width:75px}.step-right{display:flex;flex-direction:column;gap:.75rem;min-width:280px;justify-self:end}.step-status-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.step-status-buttons .status-btn{padding:.5rem;font-size:1rem;min-width:unset;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.step-status-buttons .btn-fail.active{background-color:var(--color-error);color:#fff;border-color:var(--color-error);font-weight:700}.step-status-buttons .btn-blocked.active{background-color:var(--color-warning);color:#fff;border-color:var(--color-warning);font-weight:700}.step-status-buttons .btn-skip.active{background-color:var(--color-text-muted);color:#fff;border-color:var(--color-text-muted);font-weight:700}.step-status-buttons .btn-pass.active{background-color:var(--color-success);color:#fff;border-color:var(--color-success);font-weight:700}.btn-screenshots{padding:.75rem 1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-body);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-screenshots:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-subtle)}.step-notes-container{width:100%}.notes-label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.notes-label.notes-required{color:var(--color-error-hover)}.notes-label .required{color:var(--color-error-hover);margin-left:.25rem}.step-right .step-notes-input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:.8rem;transition:all .2s}.step-right .step-notes-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}.step-right .step-notes-input:disabled{background-color:var(--color-bg-subtle);cursor:not-allowed;opacity:.6}.step-right .step-notes-input.notes-required-empty{border-color:var(--color-error);background-color:var(--color-error-bg)}.step-right .step-notes-input.notes-required-empty:focus{border-color:var(--color-error-hover);box-shadow:0 0 0 3px #e53e3e26}.step-nav-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.btn-nav{padding:.625rem 1rem;background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.375rem}.btn-nav:hover:not(:disabled){background:var(--color-primary-hover)}.btn-nav:disabled{background:var(--color-border-hover);cursor:not-allowed;opacity:.5}.btn-nav.btn-next{background:var(--color-primary)}.btn-nav.btn-finish{background:var(--color-success);font-weight:700}.btn-nav.btn-finish:hover:not(:disabled){background:var(--color-success-hover)}.btn-nav.btn-report-finding{background:var(--color-error-hover);font-weight:600}.step-notes-input::placeholder{color:var(--color-text-muted)}@media (max-width: 1200px){.step-main-grid{grid-template-columns:1fr;gap:1.25rem}.step-right{min-width:unset;width:100%}.step-status-buttons{grid-template-columns:repeat(2,1fr)}}.findings-section{margin-top:3rem}.findings-section h2{font-size:1.5rem;color:var(--color-text-primary);margin-bottom:1.5rem}.findings-list{display:flex;flex-direction:column;gap:1rem}.finding-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--color-border);border-left:3px solid var(--color-border);transition:border-color .2s ease}.finding-card:hover{border-color:var(--color-border-hover)}.finding-card.finding-bug{border-left-color:var(--color-error)}.finding-card.finding-observation{border-left-color:var(--color-info)}.finding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.finding-type-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;background-color:var(--color-bg-subtle);color:var(--color-text-body)}.finding-badges{display:flex;gap:.5rem;flex-wrap:wrap}.finding-actions{display:flex;gap:.5rem;margin-left:auto}.btn-icon-small{padding:.25rem .5rem;background:var(--color-gray-100);border:1px solid var(--color-border-hover);border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;transition:all .2s}.btn-icon-small:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.btn-icon-small.btn-delete:hover{background:var(--color-error-bg-solid);border-color:var(--color-error)}.priority-badge,.impact-badge{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.priority-critical{background-color:var(--color-error-bg-solid);color:var(--color-error-text)}.priority-high{background-color:var(--color-warning-bg-solid);color:var(--color-warning-text)}.priority-medium{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.priority-low{background-color:var(--color-success-bg-solid);color:var(--color-success-text)}.impact-high{background-color:var(--color-error-bg-solid);color:var(--color-error-text)}.impact-medium{background-color:var(--color-warning-bg-solid);color:var(--color-warning-text)}.impact-low{background-color:var(--color-success-bg-solid);color:var(--color-success-text)}.finding-title{margin:0 0 .5rem;font-size:1.125rem;color:var(--color-text-primary)}.finding-title-clickable{cursor:pointer;transition:color .2s}.finding-title-clickable:hover{color:var(--color-primary);text-decoration:underline}.finding-test-case{margin:0 0 .75rem;font-size:.875rem;color:var(--color-text-secondary);font-style:italic}.finding-description{margin:0 0 1rem;color:var(--color-text-body);line-height:1.6}.finding-detail{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.finding-detail strong{display:block;margin-bottom:.5rem;color:var(--color-text-primary)}.finding-detail pre{background-color:var(--color-bg-subtle);padding:.75rem;border-radius:var(--radius-sm);font-size:.875rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;margin:0}.steps-list-display{background-color:var(--color-bg-subtle);padding:.75rem .75rem .75rem 2.5rem;border-radius:var(--radius-sm);margin:0;font-size:.875rem;line-height:1.6}.steps-list-display li{padding:.25rem 0;color:var(--color-text-primary)}.steps-list-display li::marker{color:var(--color-primary);font-weight:600}.btn-finding{color:var(--color-verified);border-color:var(--color-verified);background-color:var(--color-bg-card)}.btn-finding:hover:not(:disabled){background-color:var(--color-verified);color:#fff}.btn-finding.active{background-color:var(--color-verified);color:#fff}.finding-screenshots-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.btn-toggle-screenshots{padding:.5rem 1rem;background-color:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer;color:var(--color-text-body);transition:all .2s}.btn-toggle-screenshots:hover{background-color:var(--color-gray-100);border-color:var(--color-border-hover)}.screenshots-content{margin-top:1rem}.screenshots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.screenshot-item{border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border);background-color:var(--color-bg-subtle);cursor:pointer;transition:border-color .2s}.screenshot-item:hover{border-color:var(--color-border-hover)}.screenshot-item img{width:100%;height:200px;object-fit:cover;display:block}.screenshot-caption{padding:.5rem;font-size:.75rem;color:var(--color-text-body);margin:0;background-color:var(--color-bg-card)}.header-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.header-actions .btn,.header-actions .btn-secondary,.header-actions .btn-primary,.header-actions .btn-danger{white-space:nowrap;padding:.5rem 1rem;font-size:.875rem}.btn-secondary{background:var(--color-border);color:var(--color-text-primary);border:none;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:background-color .2s}.btn-secondary:hover{background:var(--color-border-hover)}.btn-danger{background:var(--color-error);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:background-color .2s}.btn-danger:hover{background:var(--color-error-hover)}.step-screenshots-content{padding:1.25rem;background:var(--color-bg-subtle);border-radius:var(--radius-md);border:1px solid var(--color-border);width:100%}.screenshots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:1rem}.screenshot-item{position:relative;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border);background:var(--color-bg-card);transition:border-color .2s}.screenshot-item:hover{border-color:var(--color-primary)}.screenshot-item img{width:100%;height:140px;object-fit:cover;display:block;cursor:pointer}.screenshot-item .screenshot-caption{padding:.5rem;font-size:.75rem;color:var(--color-text-body);background:var(--color-bg-card);border-top:1px solid var(--color-border-light)}.btn-delete-screenshot{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;padding:0;background:#ef4444f2;border:none;border-radius:50%;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.btn-delete-screenshot:hover{background:#dc2626}.report-dropdown{position:relative}.report-dropdown .btn-secondary{white-space:nowrap}.report-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card-hover);z-index:1000;min-width:180px;animation:slideDown .2s ease-out;overflow:hidden}.report-menu button{display:block;width:100%;padding:.75rem 1rem;text-align:left;border:none;background:var(--color-bg-card);color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.report-menu button:hover{background:var(--color-bg-subtle)}.report-menu button:not(:last-child){border-bottom:1px solid var(--color-border)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);max-width:800px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px var(--color-shadow-md)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid var(--color-border-light);position:relative}.modal-header h2{margin:0;font-size:1.5rem;color:var(--color-text-heading)}.modal-close{background:none;border:none;font-size:2rem;color:var(--color-text-muted);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color .2s;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{background-color:var(--color-bg-hover);color:var(--color-text-heading)}.modal-body{padding:1.5rem}.modal-body p{margin:0 0 1rem;color:var(--color-text-body);line-height:1.6}.modal-note{font-size:.875rem;color:var(--color-text-secondary);font-style:italic}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border-light);background:var(--color-bg-subtle);border-radius:0 0 var(--radius-md) var(--radius-md)}.btn-primary{background-color:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover{background-color:var(--color-primary-hover)}.bottom-completion-section{margin-top:2rem;padding:1.5rem;background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);border-top:3px solid var(--color-primary);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.completion-summary{flex:1;min-width:0}.completion-stats{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.completion-stat{font-size:.85rem;font-weight:600;padding:.25rem .75rem;border-radius:12px;white-space:nowrap}.completion-stat.pass{background-color:var(--color-success-bg-solid);color:var(--color-success-text)}.completion-stat.fail{background-color:var(--color-error-bg-solid);color:var(--color-error-text)}.completion-stat.blocked{background-color:var(--color-warning-bg-solid);color:var(--color-warning-text)}.completion-stat.skipped{background-color:var(--color-border);color:var(--color-text-body)}.completion-stat.not-executed{background-color:var(--color-bg-subtle);color:var(--color-text-secondary)}.completion-progress-row{display:flex;align-items:center;gap:.75rem}.completion-progress-row .progress-bar{flex:1}.completion-progress-text{font-size:.85rem;font-weight:600;color:var(--color-text-body);white-space:nowrap}.btn-complete-bottom{padding:1rem 2rem;font-size:1rem;white-space:nowrap;flex-shrink:0}.completion-modal{max-width:500px}.modal-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem}.modal-stat{text-align:center;padding:.75rem;border-radius:var(--radius-sm);background-color:var(--color-bg-subtle)}.modal-stat.pass{background-color:var(--color-success-bg-solid)}.modal-stat.fail{background-color:var(--color-error-bg-solid)}.modal-stat.blocked{background-color:var(--color-warning-bg-solid)}.modal-stat.skipped{background-color:var(--color-border)}.modal-stat.not-executed{background-color:var(--color-bg-subtle)}.modal-stat-value{display:block;font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.modal-stat-label{display:block;font-size:.75rem;color:var(--color-text-secondary);font-weight:500;margin-top:.125rem}.modal-warning{background-color:var(--color-warning-bg);border:1px solid var(--color-warning);color:var(--color-warning-text);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9rem}.modal-error{background-color:var(--color-error-bg-solid);border:1px solid var(--color-error);color:var(--color-error-text);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9rem}@media (max-width: 768px){.test-run-page{padding:1rem}.test-run-header{padding:1rem;margin-bottom:1rem}.test-run-header h1{font-size:1.25rem}.header-top{flex-direction:column;align-items:flex-start}.header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.header-actions .btn,.header-actions .btn-secondary,.header-actions .btn-primary,.header-actions .btn-danger{min-width:0;text-align:center;padding:.625rem .5rem}.run-meta{flex-direction:column;gap:.5rem}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.stat-item{min-width:unset}.result-header{flex-wrap:wrap}.btn-toggle-steps{margin-left:0;width:100%}.step-status-buttons{grid-template-columns:repeat(2,1fr)}.step-status-buttons .status-btn{padding:.875rem .5rem;min-height:44px}.finding-card{padding:1rem}.finding-header{flex-direction:column;align-items:flex-start}.completion-modal{max-width:95vw}.modal-stats-grid{grid-template-columns:repeat(2,1fr)}.bottom-completion-section{flex-direction:column;align-items:stretch}.btn-complete-bottom{width:100%}.report-menu{right:auto;left:0}.result-item,.step-item{padding:1rem}}@media (max-width: 480px){.test-run-page{padding:.75rem}.stats-row{grid-template-columns:repeat(2,1fr)}.header-actions{grid-template-columns:1fr 1fr}.header-actions .btn,.header-actions .btn-secondary,.header-actions .btn-primary,.header-actions .btn-danger{width:100%}.step-main-grid{gap:.75rem}.modal-stats-grid,.retest-options{grid-template-columns:1fr}}.retest-modal{max-width:600px}.retest-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}.retest-option-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.5rem;cursor:pointer;transition:border-color .2s;text-align:center}.retest-option-card:hover:not(:disabled){border-color:var(--color-primary)}.retest-option-card:disabled{opacity:.5;cursor:not-allowed}.retest-option-icon{font-size:2rem;margin-bottom:.75rem}.retest-option-title{font-size:1.1rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.retest-option-desc{font-size:.85rem;color:var(--color-text-secondary);line-height:1.5}.retest-link-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem;flex-wrap:wrap}.retest-link-banner .btn-link{color:var(--color-primary);font-weight:600;text-decoration:underline;background:none;border:none;cursor:pointer;padding:0;font-size:inherit}.retest-link-banner .btn-link:hover{opacity:.8}.iteration-block{margin-bottom:.5rem;border-left:3px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);overflow:hidden}.iteration-block.iteration-pass{border-left-color:var(--color-success)}.iteration-block.iteration-fail{border-left-color:var(--color-error)}.iteration-block.iteration-blocked{border-left-color:var(--color-warning)}.iteration-block.iteration-skipped{border-left-color:var(--color-text-muted)}.iteration-block.iteration-not_executed{border-left-color:var(--color-border)}.iteration-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;cursor:pointer;transition:background-color .2s;flex-wrap:wrap}.iteration-header:hover{background-color:var(--color-bg-hover)}.iteration-toggle{font-size:.75rem;color:var(--color-text-muted);flex-shrink:0}.iteration-title{font-weight:600;font-size:.875rem;color:var(--color-text-heading);flex-shrink:0}.iteration-param-badges{display:flex;flex-wrap:wrap;gap:.375rem;flex:1}.iteration-param-badge{display:inline-block;padding:.125rem .5rem;background-color:var(--color-primary-bg, rgba(99, 102, 241, .08));border:1px solid var(--color-primary-border, rgba(99, 102, 241, .2));border-radius:3px;font-family:SF Mono,Fira Code,Fira Mono,monospace;font-size:.75rem;color:var(--color-primary);white-space:nowrap}.iteration-block .step-item{margin:0 .5rem .5rem}@media (max-width: 768px){.iteration-param-badges{width:100%}.iteration-header{padding:.5rem .75rem}}.step-linked-findings{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.375rem}.finding-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:999px;font-size:.75rem;cursor:pointer;transition:all .2s;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finding-badge-bug{background:var(--color-error-bg-solid);color:var(--color-error-hover);border:1px solid var(--color-error-border)}.finding-badge-observation{background:var(--color-info-bg-solid);color:var(--color-info-text);border:1px solid #90cdf4}.finding-badge:hover{opacity:.8}.step-finding-actions{display:flex;gap:.5rem;width:100%}.btn-link-finding{background:var(--color-primary)!important}.finding-link-picker{margin-top:.5rem;background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-card-hover);overflow:hidden;max-height:250px;overflow-y:auto}.finding-link-picker-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--color-bg-page);border-bottom:1px solid var(--color-border-light);font-size:.8rem;font-weight:600;color:var(--color-text-heading)}.finding-link-picker-close{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--color-text-light);padding:0 .25rem;line-height:1}.finding-link-picker-close:hover{color:var(--color-text-heading)}.finding-link-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--color-border-light)}.finding-link-option:last-child{border-bottom:none}.finding-link-option:hover{background:var(--color-bg-page)}.finding-link-bug{border-left:3px solid var(--color-error)}.finding-link-observation{border-left:3px solid #4299e1}.finding-link-type{flex-shrink:0}.finding-link-title{flex:1;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finding-link-status{flex-shrink:0;font-size:.7rem;padding:.1rem .4rem;border-radius:var(--radius-sm);text-transform:capitalize}.finding-link-status.status-open{background:var(--color-error-bg-solid);color:var(--color-error-hover)}.finding-link-status.status-in_progress{background:var(--color-warning-bg);color:var(--color-warning-text)}.finding-link-status.status-resolved{background:var(--color-success-bg-solid);color:var(--color-success-text)}.finding-link-status.status-verified{background:var(--color-info-bg-solid);color:var(--color-info-text)}.finding-link-status.status-wont_fix{background:#e2e8f0;color:#4a5568}.findings-page{padding:2rem;max-width:1600px;margin:0 auto}.filter-chip{padding:.35rem .75rem;border:1px solid var(--color-border);border-radius:16px;background:var(--color-bg-card);color:var(--color-text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;align-self:flex-end}.filter-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-chip.active{background:var(--gradient-accent);color:#fff;border-color:transparent}.findings-section{min-height:400px}.run-groups{display:flex;flex-direction:column;gap:1.5rem}.run-group{background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--color-border);overflow:hidden}.run-group-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:var(--color-bg-subtle);border-bottom:2px solid var(--color-border);cursor:pointer;transition:background-color .2s;gap:1rem}.run-group-header:hover{background:var(--color-bg-hover)}.run-group-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.run-group-chevron{font-size:.75rem;color:var(--color-text-muted);transition:transform .2s;flex-shrink:0}.run-group-chevron.collapsed{transform:rotate(-90deg)}.run-group-info{flex:1;min-width:0}.run-group-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.run-group-name{font-size:1.125rem;font-weight:700;color:var(--color-text-heading);cursor:pointer;transition:color .2s}.run-group-name:hover{color:var(--color-primary);text-decoration:underline}.run-group-status{padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.run-status-completed{background:var(--color-success-bg-solid);color:var(--color-success-text)}.run-status-in-progress{background:var(--color-warning-bg-solid);color:var(--color-warning-text)}.run-status-not-started{background:var(--color-gray-100);color:var(--color-text-secondary)}.run-status-cancelled{background:var(--color-error-bg-solid);color:var(--color-error-text)}.run-group-count{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.run-group-meta{display:flex;gap:.5rem;align-items:center;margin-top:.25rem;flex-wrap:wrap}.run-group-meta-item{font-size:.8rem;color:var(--color-text-secondary)}.run-group-meta-item:not(:last-child):after{content:"·";margin-left:.5rem;color:var(--color-text-muted)}.run-group-summary{display:flex;gap:.5rem;flex-shrink:0}.run-summary-badge{padding:.25rem .6rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;white-space:nowrap}.run-summary-badge.open{background:var(--color-error-bg);color:var(--color-error-text);border:1px solid var(--color-error-bg-solid)}.run-summary-badge.resolved{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-bg-solid)}.run-group-findings{padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.finding-card{background:var(--color-bg-card);border-radius:8px;padding:1.25rem 1.5rem;cursor:pointer;transition:all .2s;border:1px solid var(--color-border)}.finding-card:hover{border-color:var(--color-primary);box-shadow:0 4px 16px var(--color-shadow-md)}.finding-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:.5rem;gap:1rem}.finding-card-title{font-size:1rem;color:var(--color-text-primary);margin:0;flex:1}.finding-badges{display:flex;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap;align-items:center}.type-badge{padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;text-transform:capitalize}.type-badge.type-bug{background:var(--color-error-bg);color:var(--color-error-text);border:1px solid var(--color-error-bg-solid)}.type-badge.type-observation{background:var(--color-info-bg);color:var(--color-info-text);border:1px solid var(--color-info-bg-solid)}.suite-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:500;background:var(--color-primary-bg, rgba(99, 102, 241, .08));color:var(--color-primary);border:1px solid var(--color-primary-border, rgba(99, 102, 241, .2))}.test-case-badge{padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:500;background:var(--color-bg-subtle);color:var(--color-text-secondary);border:1px solid var(--color-border)}.findings-page .priority-badge{padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;text-transform:capitalize;color:#fff}.priority-critical{background:var(--color-error)}.priority-high{background:var(--color-warning)}.priority-medium{background:#ca8a04}.priority-low{background:var(--color-success)}.finding-status-open{background:var(--color-info-bg-solid);color:var(--color-info-text)}.finding-status-in-progress{background:var(--color-warning-bg-solid);color:var(--color-warning-text)}.finding-status-resolved{background:var(--color-success-bg-solid);color:var(--color-success-text)}.finding-status-verified{background:var(--color-verified);color:#fff}.finding-status-wont-fix{background:var(--color-border);color:var(--color-text-body)}.finding-card-footer{display:flex;gap:.75rem;align-items:center}.finding-date{font-size:.8rem;color:var(--color-text-secondary)}.finding-author{font-size:.8rem;color:var(--color-text-muted)}.finding-assigned{font-size:.8rem;color:var(--color-primary);font-weight:500}.breakdown-item.finding-open{background:var(--color-info-bg);border:1px solid var(--color-info-bg-solid)}.breakdown-item.finding-open .breakdown-value{color:var(--color-info-text)}.breakdown-item.finding-in-progress{background:var(--color-warning-bg);border:1px solid var(--color-warning-bg-solid)}.breakdown-item.finding-in-progress .breakdown-value{color:var(--color-warning-hover)}.breakdown-item.finding-resolved{background:var(--color-success-bg);border:1px solid var(--color-success-bg-solid)}.breakdown-item.finding-resolved .breakdown-value{color:var(--color-success-hover)}.breakdown-item.finding-verified{background:var(--color-verified-bg);border:1px solid var(--color-verified)}.breakdown-item.finding-verified .breakdown-value{color:var(--color-verified-text)}.breakdown-item.finding-wont-fix{background:var(--color-bg-subtle);border:1px solid var(--color-border)}.breakdown-item.finding-wont-fix .breakdown-value{color:var(--color-text-secondary)}.breakdown-item.finding-bug{background:var(--color-error-bg);border:1px solid var(--color-error-bg-solid)}.breakdown-item.finding-bug .breakdown-value{color:var(--color-error-hover)}.breakdown-item.finding-observation{background:var(--color-info-bg);border:1px solid var(--color-info-bg-solid)}.breakdown-item.finding-observation .breakdown-value{color:var(--color-info-text)}.breakdown-item.finding-run{background:var(--color-bg-subtle);border:1px solid var(--color-border)}.breakdown-item.finding-run .breakdown-value{color:var(--color-primary)}.stats-subtitle{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;margin:1.25rem 0 .75rem}@media (max-width: 992px){.findings-page .content-grid{grid-template-columns:1fr}.findings-page .statistics-panel{position:static;order:-1}}@media (max-width: 768px){.findings-page{padding:1rem}.run-group-header{flex-direction:column;align-items:flex-start}.run-group-summary{margin-top:.5rem}.run-group-title{flex-direction:column;align-items:flex-start;gap:.375rem}.finding-card-header{flex-direction:column}}.audit-log-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;color:var(--color-text-primary);margin-bottom:.5rem}.page-header p{color:var(--color-text-secondary);font-size:1rem}.filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.filter-select{padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;background:var(--color-bg-card);cursor:pointer;transition:all .2s;min-width:200px}.filter-select:hover{border-color:var(--color-border-hover)}.filter-select:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #4299e11a}.loading-message{text-align:center;padding:3rem;color:var(--color-text-secondary);font-size:1.1rem}.empty-state{text-align:center;padding:4rem 2rem;background:var(--color-bg-subtle);border-radius:var(--radius-md);color:var(--color-text-secondary)}.empty-state p{font-size:1.1rem;margin:0}.log-list{display:flex;flex-direction:column;gap:.75rem}.log-item{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .2s}.log-item.clickable{cursor:pointer}.log-item.clickable:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.log-icons{display:flex;gap:.5rem;align-items:center;font-size:1.5rem}.action-icon,.entity-icon{display:flex;align-items:center;justify-content:center}.log-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.log-message{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:1rem}.log-username{font-weight:600;color:var(--color-primary)}.action-text{font-weight:600;color:var(--color-text-primary);text-transform:capitalize}.entity-type{color:var(--color-text-body);font-weight:500}.entity-name{color:var(--color-info);font-weight:500}.log-time{color:var(--color-text-muted);font-size:.9rem}.log-arrow{font-size:1.5rem;color:var(--color-border-hover);transition:all .2s}.log-item.clickable:hover .log-arrow{color:var(--color-info)}.restore-btn{padding:.4rem .85rem;background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border);border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.restore-btn:hover:not(:disabled){background:var(--color-success);color:#fff;border-color:var(--color-success)}.restore-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.audit-log-page{padding:1rem}.page-header h1{font-size:1.5rem}.filters{flex-direction:column}.filter-select{width:100%}.log-item{padding:1rem}.log-icons{font-size:1.25rem}.log-message{font-size:.9rem}}.user-management{margin-bottom:2rem}.user-management-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.user-management-header h2{margin:0;font-size:1.4rem;color:var(--color-text-primary)}.btn-primary-sm{background:var(--color-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary-sm:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary-sm:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{background:var(--color-border);color:var(--color-text-body);border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer}.btn-cancel:hover{background:var(--color-border-hover)}.user-table-wrapper{overflow-x:auto}.user-table{width:100%;border-collapse:collapse;background:var(--color-bg-card);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.user-table th{background:var(--color-bg-subtle);padding:.75rem 1rem;text-align:left;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.user-table td{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-primary)}.user-table tbody tr:hover{background:var(--color-bg-hover)}.user-table .inactive-row{opacity:.5}.user-name-cell{font-weight:600}.date-cell{font-size:.8rem;color:var(--color-text-secondary);white-space:nowrap}.user-table code{background:var(--color-code-bg);padding:.125rem .375rem;border-radius:3px;font-size:.8rem}.role-tag{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.role-tag.role-admin{background:var(--color-primary-light);color:var(--color-primary)}.role-tag.role-tester{background:var(--color-success-bg-solid);color:var(--color-success-text)}.role-tag.role-developer{background:var(--color-info-bg-solid);color:var(--color-info-text)}.status-tag{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.status-tag.active{background:var(--color-success-bg-solid);color:var(--color-success-text)}.status-tag.inactive{background:var(--color-error-bg-solid);color:var(--color-error-text)}.actions-cell{white-space:nowrap;display:flex;gap:.375rem}.btn-edit{background:var(--color-gray-100);color:var(--color-text-body)}.btn-edit:hover:not(:disabled){background:var(--color-border)}.btn-reset-pw{background:var(--color-warning-bg-solid);color:var(--color-warning-text)}.btn-reset-pw:hover:not(:disabled){background:var(--color-warning);color:#fff}.btn-deactivate{background:var(--color-error-bg-solid);color:var(--color-error-text)}.btn-deactivate:hover:not(:disabled){background:var(--color-error);color:#fff}.btn-activate{background:var(--color-success-bg-solid);color:var(--color-success-text)}.btn-activate:hover:not(:disabled){background:var(--color-success);color:#fff}.btn-delete-user{background:var(--color-error);color:#fff}.btn-delete-user:hover:not(:disabled){background:var(--color-error-hover)}.user-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.user-form-modal{background:var(--color-bg-card);border-radius:var(--radius-md);padding:2rem;width:100%;max-width:450px;box-shadow:0 20px 40px var(--color-shadow-md)}.user-form-modal h3{margin:0 0 1.5rem;font-size:1.2rem;color:var(--color-text-primary)}.user-form{display:flex;flex-direction:column;gap:1rem}.form-field label{display:block;margin-bottom:.25rem;font-size:.8rem;font-weight:600;color:var(--color-text-body)}.form-field input,.form-field select{width:100%;padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-text-primary);box-sizing:border-box}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.reset-password-form{display:flex;flex-direction:column;gap:1rem}.reset-password-form input{width:100%;padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;box-sizing:border-box}.reset-password-form input:focus{outline:none;border-color:var(--color-primary)}@media (max-width: 768px){.user-table th,.user-table td{padding:.5rem .75rem;font-size:.8rem}.actions-cell{flex-wrap:wrap}.user-form-modal{max-width:calc(100vw - 2rem);padding:1.5rem}}@media (max-width: 480px){.user-management-header{flex-direction:column;align-items:flex-start;gap:.75rem}.user-form-modal{padding:1rem;border-radius:var(--radius-md)}.form-field input,.form-field select{font-size:16px}.form-actions{flex-direction:column}.form-actions .btn-primary-sm,.form-actions .btn-cancel{width:100%;text-align:center;padding:.75rem}}.role-permission-editor{margin-bottom:2rem}.role-permission-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.role-permission-header h2{margin:0 0 .25rem;font-size:1.4rem;color:var(--color-text-primary)}.new-role-form{background:var(--color-bg-card);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:1rem 1.25rem;margin-bottom:1rem}.new-role-fields{display:flex;gap:.75rem;margin-bottom:.75rem}.new-role-input{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-text-primary);background:var(--color-bg-card);width:180px}.new-role-input.new-role-desc{flex:1}.new-role-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}.new-role-actions{display:flex;gap:.5rem}.btn-delete-role{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 .25rem;margin-left:.25rem;transition:color .15s;vertical-align:middle}.btn-delete-role:hover{color:var(--color-error)}.permission-table-wrapper{overflow-x:auto}.permission-table{width:100%;border-collapse:collapse;background:var(--color-bg-card);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.permission-table thead th{background:var(--color-bg-subtle);padding:.75rem 1rem;text-align:center;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);vertical-align:bottom}.permission-label-col{text-align:left!important;min-width:200px}.permission-role-col{width:120px;min-width:100px}.permission-role-col .role-tag{display:inline-block;margin-bottom:.375rem}.btn-toggle-all{display:block;margin:0 auto;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.7rem;color:var(--color-text-secondary);cursor:pointer;padding:.125rem .5rem;transition:all .15s}.btn-toggle-all:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-toggle-all:disabled{opacity:.5;cursor:not-allowed}.permission-group-row td{padding:.5rem 1rem;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border)}.permission-group-label{font-size:.75rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.permission-row td{padding:.5rem 1rem;border-bottom:1px solid var(--color-border)}.permission-row:hover{background:var(--color-bg-hover)}.permission-label-cell{display:flex;flex-direction:column;gap:.125rem}.permission-name{font-size:.875rem;color:var(--color-text-primary);font-weight:500}.permission-key{font-size:.7rem;color:var(--color-text-tertiary);background:var(--color-code-bg);padding:.0625rem .25rem;border-radius:3px;width:fit-content}.permission-check-cell{text-align:center;vertical-align:middle}.check-always{color:var(--color-primary);font-size:1rem;font-weight:700;opacity:.6}.admin-cell{background:var(--color-bg-subtle)}.permission-toggle{width:32px;height:32px;border-radius:var(--radius-sm);border:2px solid transparent;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;line-height:1}.permission-toggle.enabled{background:var(--color-success-bg-solid);color:var(--color-success-text);border-color:var(--color-success)}.permission-toggle.enabled:hover:not(:disabled){background:var(--color-success);color:#fff}.permission-toggle.disabled{background:var(--color-bg-card);color:var(--color-border-hover);border-color:var(--color-border)}.permission-toggle.disabled:hover:not(:disabled){background:var(--color-error-bg-solid);color:var(--color-error-text);border-color:var(--color-error)}.permission-toggle:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.permission-table thead th,.permission-row td{padding:.375rem .5rem}.permission-role-col{width:80px;min-width:80px}.permission-name{font-size:.8rem}.permission-key{display:none}.permission-toggle{width:28px;height:28px;font-size:.8rem}}.aip-container{display:flex;flex-direction:column;gap:1.25rem}.aip-header{display:flex;align-items:center;justify-content:space-between}.aip-header .section-description{margin:0;color:var(--color-text-secondary);font-size:.9rem}.aip-loading{padding:2rem;text-align:center;color:var(--color-text-muted)}.aip-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 2rem;color:var(--color-text-muted);text-align:center}.aip-empty svg{opacity:.5}.aip-empty p{margin:0}.aip-table-wrap{overflow-x:auto}.aip-table{width:100%;border-collapse:collapse;font-size:.88rem}.aip-table th{text-align:left;padding:.6rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.aip-table td{padding:.65rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text-body)}.aip-table tr.inactive td{opacity:.5}.aip-name{font-weight:500;color:var(--color-text-heading)}.aip-model{font-family:monospace;font-size:.82rem}.aip-type-badge{display:inline-block;font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.aip-type-badge.type-anthropic{background:#d18b471f;color:#d18b47}.aip-type-badge.type-openai{background:#10a37f1f;color:#10a37f}.aip-type-badge.type-ollama{background:#6366f11f;color:var(--color-primary)}.aip-key-set{color:var(--color-success);font-size:.8rem;font-weight:500}.aip-key-none{color:var(--color-text-muted);font-size:.8rem}.aip-status-active{color:var(--color-success);font-weight:500;font-size:.82rem}.aip-status-inactive{color:var(--color-text-muted);font-size:.82rem}.aip-actions{display:flex;gap:.25rem}.btn-icon-danger:hover{color:var(--color-danger)!important}.aip-form{background:var(--color-bg-elevated, var(--color-bg-input));border:1px solid var(--color-border);border-radius:8px;padding:1.25rem}.aip-form h3{margin:0 0 1rem;font-size:1.1rem;color:var(--color-text-heading)}.aip-form-grid{display:flex;flex-direction:column;gap:.85rem}.aip-form-field{display:flex;flex-direction:column;gap:.3rem}.aip-form-field label{font-size:.78rem;font-weight:600;color:var(--color-text-body)}.aip-form-hint{font-weight:400;color:var(--color-text-muted)}.aip-form-required{font-weight:400;color:var(--color-danger)}.aip-form-field input,.aip-form-field select{padding:.5rem .7rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-card);color:var(--color-text-body);font-size:.88rem;font-family:inherit}.aip-form-field input:focus,.aip-form-field select:focus{outline:none;border-color:var(--color-primary)}.aip-form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.85rem}.aip-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400;font-size:.88rem;padding-top:.35rem}.aip-form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.aip-usage{border-top:1px solid var(--color-border);padding-top:1.25rem}.aip-usage h3{margin:0 0 .75rem;font-size:1rem;color:var(--color-text-heading)}.aip-usage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}.aip-usage-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.75rem;background:var(--color-bg-elevated, var(--color-bg-input));border-radius:8px}.aip-usage-value{font-size:1.3rem;font-weight:700;color:var(--color-text-heading)}.aip-usage-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-weight:600}@media (max-width: 640px){.aip-form-row{grid-template-columns:1fr}.aip-header{flex-direction:column;align-items:flex-start;gap:.75rem}}.es-container{display:flex;flex-direction:column;gap:1.25rem}.es-header{display:flex;align-items:center;justify-content:space-between}.es-header .section-description{margin:0;color:var(--color-text-secondary);font-size:.9rem}.es-status{font-size:.78rem;font-weight:600;padding:.2rem .6rem;border-radius:4px;white-space:nowrap}.es-status.configured{background:#10b9811f;color:var(--color-success)}.es-status.not-configured{background:#9ca3af1f;color:var(--color-text-muted)}.es-loading{padding:2rem;text-align:center;color:var(--color-text-muted)}.es-form{display:flex;flex-direction:column;gap:.85rem}.es-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.es-row:has(.es-field-sm){grid-template-columns:1fr 100px 160px}.es-field{display:flex;flex-direction:column;gap:.3rem}.es-field label{font-size:.78rem;font-weight:600;color:var(--color-text-body)}.es-required{color:var(--color-danger)}.es-hint{font-weight:400;color:var(--color-text-muted)}.es-field input,.es-field select{padding:.5rem .7rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-card);color:var(--color-text-body);font-size:.88rem;font-family:inherit}.es-field input:focus,.es-field select:focus{outline:none;border-color:var(--color-primary)}.es-actions{display:flex;gap:.75rem;margin-top:.5rem}.es-test{border-top:1px solid var(--color-border);padding-top:1.25rem}.es-test h4{margin:0 0 .75rem;font-size:.95rem;color:var(--color-text-heading)}.es-test-row{display:flex;gap:.75rem;align-items:center}.es-test-row input{flex:1;padding:.5rem .7rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-card);color:var(--color-text-body);font-size:.88rem;font-family:inherit}.es-test-row input:focus{outline:none;border-color:var(--color-primary)}@media (max-width: 640px){.es-row,.es-row:has(.es-field-sm){grid-template-columns:1fr}}.admin-page{max-width:1800px;margin:0 auto;padding:2rem}.admin-page .page-header{margin-bottom:2rem}.admin-page .page-header h1{margin:0 0 .25rem;font-size:2rem;color:var(--color-text-heading)}.page-subtitle{margin:0;color:var(--color-text-secondary);font-size:1rem}.btn:disabled{opacity:.6;cursor:not-allowed}.admin-section{margin-bottom:2rem}.admin-section h2{margin:0 0 1rem;font-size:1.4rem;color:var(--color-text-primary)}.status-summary{margin-bottom:1rem}.status-indicator{display:inline-block;padding:.375rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.status-indicator.empty{background-color:var(--color-error-bg-solid);color:var(--color-error-text)}.status-indicator.has-data{background-color:var(--color-success-bg-solid);color:var(--color-success-text)}.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.status-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:1rem;text-align:center;border:1px solid var(--color-border)}.status-card-icon{font-size:1.5rem;margin-bottom:.5rem}.status-card-count{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);line-height:1;margin-bottom:.25rem}.status-card-label{font-size:.8rem;color:var(--color-text-secondary);font-weight:500}.section-description{margin:0 0 1.25rem;color:var(--color-text-secondary);font-size:.9rem}.auto-snapshot-config{background:var(--color-bg-card);border-radius:var(--radius-md);padding:1.25rem;border:1px solid var(--color-border);margin-bottom:1.25rem;border-left:3px solid var(--color-primary)}.auto-snapshot-header{display:flex;align-items:center;gap:.75rem}.auto-snapshot-header h3{margin:0;font-size:1rem;color:var(--color-text-primary);flex:1}.auto-snapshot-icon{font-size:1.25rem}.auto-snapshot-settings{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.auto-snapshot-field{display:flex;flex-direction:column;gap:.25rem}.auto-snapshot-field label{font-size:.75rem;color:var(--color-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.auto-snapshot-field select{padding:.375rem .75rem;border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;color:var(--color-text-primary);background:var(--color-bg-card);cursor:pointer}.auto-snapshot-field select:focus{outline:none;border-color:var(--color-primary)}.auto-snapshot-last,.auto-snapshot-retention{font-size:.875rem;color:var(--color-text-primary)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-border-hover);border-radius:24px;transition:.2s}.toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.snapshot-badge{display:inline-block;padding:.125rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600;margin-left:.5rem;vertical-align:middle;text-transform:uppercase;letter-spacing:.05em}.badge-auto{background-color:var(--color-primary-light);color:var(--color-primary)}.badge-safety{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.snapshot-actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.snapshot-save-row{display:flex;gap:.75rem;align-items:center}.snapshot-label-input{flex:1;max-width:350px;padding:.625rem 1rem;border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;color:var(--color-text-primary);transition:border-color .2s}.snapshot-label-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}.snapshot-label-input:disabled{background-color:var(--color-bg-input-disabled);opacity:.7}.btn-snapshot-save{background-color:var(--color-primary);color:#fff;white-space:nowrap}.btn-snapshot-save:hover:not(:disabled){background-color:var(--color-primary-hover)}.snapshot-upload-row{display:flex;gap:.75rem}.btn-snapshot-upload{background-color:var(--color-border);color:var(--color-text-primary);white-space:nowrap}.btn-snapshot-upload:hover:not(:disabled){background-color:var(--color-border-hover)}.btn-snapshot-restore-upload{background-color:var(--color-warning);color:#fff;white-space:nowrap}.btn-snapshot-restore-upload:hover:not(:disabled){background-color:var(--color-warning-hover)}.snapshot-empty{text-align:center;padding:2rem;background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.9rem}.snapshot-list{display:flex;flex-direction:column;gap:.5rem}.snapshot-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);gap:1rem}.snapshot-info{flex:1;min-width:0}.snapshot-label{font-weight:600;color:var(--color-text-primary);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snapshot-meta{color:var(--color-text-secondary);font-size:.8rem;margin-top:.125rem}.snapshot-actions-row{display:flex;gap:.5rem;flex-shrink:0}.btn-sm{display:inline-flex;align-items:center;padding:.375rem .75rem;border:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap;transition:all .2s}.btn-sm:disabled{opacity:.5;cursor:not-allowed}.btn-restore{background-color:var(--color-success);color:#fff}.btn-restore:hover:not(:disabled){background-color:var(--color-success-hover)}.btn-download{background-color:var(--color-primary);color:#fff}.btn-download:hover{background-color:var(--color-primary-hover)}.btn-delete-snap{background-color:var(--color-error-bg-solid);color:var(--color-error-text)}.btn-delete-snap:hover:not(:disabled){background-color:#feb2b2}.btn-download-pg{background-color:#336791}.btn-download-pg:hover{background-color:#264d6e}.snapshot-pgdump-tag{display:inline-block;background:#336791;color:#fff;font-size:.7rem;font-weight:600;padding:.0625rem .375rem;border-radius:3px;vertical-align:middle}.auto-snapshot-pgdump{font-size:.875rem;font-weight:500}.auto-snapshot-pgdump.available{color:var(--color-success)}.auto-snapshot-pgdump.unavailable{color:var(--color-text-tertiary)}@media (max-width: 768px){.admin-page{padding:1rem}.status-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.snapshot-save-row{flex-direction:column}.snapshot-label-input{max-width:none}.snapshot-upload-row{flex-direction:column}.snapshot-item{flex-direction:column;align-items:flex-start}.snapshot-actions-row{width:100%}.snapshot-actions-row .btn-sm{flex:1;justify-content:center}}.snapshot-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.snapshot-page-info{font-size:.85rem;color:var(--color-text-secondary)}.btn-page{background:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-page:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-hover)}.security-page{padding:2rem;max-width:1400px;margin:0 auto}.security-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.security-page .page-header-left h1{font-size:2rem;color:var(--color-text-primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.security-page .page-header-left p{color:var(--color-text-secondary);font-size:1rem}.refresh-btn{display:flex;align-items:center;gap:.4rem;padding:.6rem 1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;color:var(--color-text-body);transition:all .2s}.refresh-btn:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-bg-hover)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md)}.stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);flex-shrink:0}.stat-icon--success{background:var(--color-success-bg);color:var(--color-success)}.stat-icon--warn{background:var(--color-warning-bg);color:var(--color-warning)}.stat-icon--critical{background:var(--color-danger-bg);color:var(--color-danger)}.stat-icon--neutral{background:var(--color-info-bg);color:var(--color-info)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);line-height:1}.stat-label{font-size:.85rem;color:var(--color-text-muted);margin-top:.2rem}.critical-alerts{margin-bottom:2rem;padding:1.25rem;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md)}.critical-alerts h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--color-danger);margin-bottom:.75rem}.alert-list{display:flex;flex-direction:column;gap:.5rem}.alert-item{display:flex;align-items:center;gap:.75rem;font-size:.9rem;flex-wrap:wrap}.alert-type{font-weight:600;color:var(--color-text-primary)}.alert-user{color:var(--color-primary);font-weight:500}.alert-ip{color:var(--color-text-muted);font-family:monospace;font-size:.85rem}.alert-time{color:var(--color-text-muted);font-size:.85rem;margin-left:auto}.ip-table-section{margin-bottom:2rem}.ip-table-section h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--color-text-primary);margin-bottom:.75rem}.ip-table{width:100%;border-collapse:collapse;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.ip-table th{text-align:left;padding:.75rem 1rem;font-size:.85rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border)}.ip-table td{padding:.75rem 1rem;font-size:.9rem;border-bottom:1px solid var(--color-border)}.ip-table tr:last-child td{border-bottom:none}.ip-row--danger{background:var(--color-danger-bg)}.ip-address-cell{font-family:monospace}.ip-filter-btn{background:none;border:none;font-family:monospace;font-size:.9rem;color:var(--color-info);cursor:pointer;padding:0;text-decoration:underline;text-decoration-style:dotted}.ip-filter-btn:hover{color:var(--color-primary)}.fail-count{color:var(--color-danger);font-weight:600}.events-section{margin-bottom:2rem}.events-section h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--color-text-primary);margin-bottom:.75rem}.security-page .filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.security-page .filter-select{padding:.6rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;background:var(--color-bg-card);cursor:pointer;transition:all .2s;min-width:180px}.security-page .filter-select:hover{border-color:var(--color-border-hover)}.clear-filters-btn{padding:.6rem .85rem;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.85rem;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.clear-filters-btn:hover{border-color:var(--color-danger);color:var(--color-danger)}.event-list{display:flex;flex-direction:column;gap:.5rem}.event-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);border-left:3px solid var(--color-border);transition:all .15s}.event-item:hover{background:var(--color-bg-hover)}.event-item--info{border-left-color:var(--color-info)}.event-item--warn{border-left-color:var(--color-warning)}.event-item--critical{border-left-color:var(--color-danger)}.event-severity{display:flex;align-items:center;padding-top:.15rem;flex-shrink:0}.event-item--info .event-severity{color:var(--color-info)}.event-item--warn .event-severity{color:var(--color-warning)}.event-item--critical .event-severity{color:var(--color-danger)}.event-content{flex:1;min-width:0}.event-message{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.25rem}.event-type-badge{font-weight:600;font-size:.85rem;padding:.15rem .5rem;border-radius:var(--radius-sm)}.severity-info{background:var(--color-info-bg);color:var(--color-info)}.severity-warn{background:var(--color-warning-bg);color:var(--color-warning)}.severity-critical{background:var(--color-danger-bg);color:var(--color-danger)}.event-user,.event-ip{display:flex;align-items:center;gap:.25rem;font-size:.85rem;color:var(--color-text-muted)}.event-user{color:var(--color-primary);font-weight:500}.event-ip{font-family:monospace;font-size:.8rem}.event-detail{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:.25rem}.event-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.event-time{display:flex;align-items:center;gap:.25rem;font-size:.8rem;color:var(--color-text-muted)}.event-agent{font-size:.75rem;color:var(--color-text-muted);opacity:.7}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;font-size:.9rem;color:var(--color-text-muted)}.pagination button{padding:.5rem 1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;color:var(--color-text-body);transition:all .2s}.pagination button:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-bg-hover)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.security-page .loading-message{text-align:center;padding:3rem;color:var(--color-text-secondary)}.security-page .empty-state{text-align:center;padding:3rem;background:var(--color-bg-subtle);border-radius:var(--radius-md);color:var(--color-text-secondary)}@media (max-width: 768px){.security-page{padding:1rem}.security-page .page-header{flex-direction:column;gap:1rem}.security-page .page-header-left h1{font-size:1.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.security-page .filters{flex-direction:column}.security-page .filter-select{width:100%}.ip-table{font-size:.85rem}.event-message{gap:.5rem}}.account-page{max-width:700px}.account-page h1{font-size:1.6rem;color:var(--color-text-primary);margin:0 0 1.5rem}.account-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.25rem;box-shadow:var(--shadow-card)}.account-section h2{margin:0;font-size:1.1rem;color:var(--color-text-primary)}.account-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.account-section-desc{color:var(--color-text-secondary);font-size:.875rem;margin:0 0 1rem;line-height:1.4}.account-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:.75rem}.account-info-item{display:flex;flex-direction:column;gap:.25rem}.account-info-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.account-info-value{font-size:.9rem;color:var(--color-text-primary)}.account-info-value code{background:var(--color-code-bg);padding:.125rem .375rem;border-radius:3px;font-size:.85rem}.account-form{display:flex;flex-direction:column;gap:.875rem;margin-top:.75rem}.account-form .form-field label{display:block;margin-bottom:.25rem;font-size:.8rem;font-weight:600;color:var(--color-text-body)}.account-form .form-field input{width:100%;padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-text-primary);background:var(--color-bg-input);box-sizing:border-box}.account-form .form-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}.btn-danger-sm{background:var(--color-error);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-danger-sm:hover:not(:disabled){background:var(--color-error-hover)}.btn-danger-sm:disabled{opacity:.6;cursor:not-allowed}.twofa-setup-panel{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.twofa-setup-panel h3{font-size:.95rem;color:var(--color-text-primary);margin:0 0 .5rem}.twofa-setup-panel p{color:var(--color-text-secondary);font-size:.85rem;margin:0 0 .75rem;line-height:1.4}.twofa-qr-container{display:flex;justify-content:center;margin:1rem 0}.twofa-qr-image{width:200px;height:200px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.twofa-manual-entry{margin-bottom:1.5rem;font-size:.85rem;color:var(--color-text-secondary)}.twofa-manual-entry summary{cursor:pointer;margin-bottom:.5rem}.twofa-secret-key{display:block;background:var(--color-code-bg);padding:.75rem;border-radius:var(--radius-sm);font-size:.8rem;word-break:break-all;-webkit-user-select:all;user-select:all}.twofa-verify-form{display:flex;flex-direction:column;gap:.75rem}.twofa-code-input{width:100%;max-width:200px;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1.5rem;font-family:monospace;text-align:center;letter-spacing:.3em;color:var(--color-text-primary);background:var(--color-bg-input);box-sizing:border-box}.twofa-code-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}.twofa-backup-codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;margin-bottom:1.25rem}.twofa-backup-code{display:block;background:var(--color-code-bg);padding:.5rem;border-radius:var(--radius-sm);font-size:.9rem;text-align:center;font-family:monospace;-webkit-user-select:all;user-select:all}.account-section .role-tag{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.account-section .status-tag{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.account-section .status-tag.active{background:var(--color-success-bg-solid);color:var(--color-success-text)}.account-section .status-tag.inactive{background:var(--color-error-bg-solid);color:var(--color-error-text)}@media (max-width: 480px){.account-section{padding:1rem}.account-section-header{flex-direction:column;align-items:flex-start;gap:.5rem}.twofa-backup-codes{grid-template-columns:repeat(2,1fr)}}:root{--color-bg-page: #f8fafb;--color-bg-card: #ffffff;--color-bg-card-elevated: #ffffff;--color-bg-subtle: #f7fafc;--color-bg-hover: #f7fafc;--color-bg-input: #ffffff;--color-bg-input-disabled: #f7fafc;--color-text-primary: #2d3748;--color-text-secondary: #718096;--color-text-body: #4a5568;--color-text-muted: #a0aec0;--color-text-heading: #333333;--color-text-on-primary: #ffffff;--color-border: #e2e8f0;--color-border-light: #f0f0f0;--color-border-input: #ddd;--color-border-hover: #cbd5e0;--color-primary: #0d9488;--color-primary-hover: #0f766e;--color-primary-light: #ccfbf1;--color-primary-subtle: #f0fdfa;--color-primary-focus-ring: rgba(13, 148, 136, .15);--gradient-accent: linear-gradient(135deg, #0d9488 0%, #0891b2 100%);--sidebar-width: 240px;--sidebar-width-collapsed: 64px;--sidebar-bg: #0f172a;--sidebar-text: #94a3b8;--sidebar-text-active: #f1f5f9;--sidebar-hover-bg: rgba(255, 255, 255, .05);--sidebar-active-bg: rgba(13, 148, 136, .15);--sidebar-active-border: #0d9488;--sidebar-divider: #1e293b;--topbar-height: 48px;--color-success: #48bb78;--color-success-hover: #38a169;--color-success-bg: #f0fff4;--color-success-bg-solid: #c6f6d5;--color-success-text: #22543d;--color-success-border: #c6f6d5;--color-error: #f56565;--color-error-hover: #e53e3e;--color-error-bg: #fff5f5;--color-error-bg-solid: #fed7d7;--color-error-text: #742a2a;--color-error-border: #fed7d7;--color-warning: #ed8936;--color-warning-hover: #dd6b20;--color-warning-bg: #fffaf0;--color-warning-bg-solid: #feebc8;--color-warning-text: #7c2d12;--color-warning-border: #feebc8;--color-info: #4299e1;--color-info-bg: #ebf8ff;--color-info-bg-solid: #bee3f8;--color-info-text: #2c5282;--color-info-border: #bee3f8;--color-gray-50: #f7fafc;--color-gray-100: #edf2f7;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e0;--color-gray-400: #a0aec0;--color-gray-500: #718096;--color-gray-600: #4a5568;--color-gray-700: #2d3748;--color-gray-800: #1a202c;--color-shadow-sm: rgba(0, 0, 0, .1);--color-shadow-md: rgba(0, 0, 0, .15);--color-shadow-lg: rgba(0, 0, 0, .2);--color-modal-overlay: rgba(0, 0, 0, .5);--color-link: #0d9488;--color-link-hover: #0f766e;--color-scrollbar-track: #f1f5f9;--color-scrollbar-thumb: #cbd5e1;--color-scrollbar-thumb-hover: #94a3b8;--color-code-bg: #edf2f7;--radius-sm: 8px;--radius-md: 16px;--radius-pill: 20px;--spacing-page: 2.5rem;--spacing-card: 2rem;--spacing-section-gap: 2.5rem;--shadow-card: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .1);--shadow-elevated: 0 8px 24px rgba(0, 0, 0, .12);--color-verified: #9f7aea;--color-verified-bg: #f3e8ff;--color-verified-text: #7c3aed;--color-primary-shadow: rgba(13, 148, 136, .3);--toastify-color-light: #ffffff;--toastify-text-color-light: #2d3748}[data-theme=dark]{--color-bg-page: #080c14;--color-bg-card: #111827;--color-bg-card-elevated: #1a2332;--color-bg-subtle: #0d1117;--color-bg-hover: #1a2332;--color-bg-input: #111827;--color-bg-input-disabled: #1a2332;--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-body: #cbd5e1;--color-text-muted: #64748b;--color-text-heading: #f1f5f9;--color-text-on-primary: #ffffff;--color-border: rgba(255, 255, 255, .06);--color-border-light: rgba(255, 255, 255, .04);--color-border-input: rgba(255, 255, 255, .1);--color-border-hover: rgba(255, 255, 255, .12);--color-primary: #2dd4bf;--color-primary-hover: #14b8a6;--color-primary-light: #134e4a;--color-primary-subtle: #042f2e;--color-primary-focus-ring: rgba(45, 212, 191, .2);--gradient-accent: linear-gradient(135deg, #14b8a6 0%, #06b6d4 100%);--sidebar-bg: #080c14;--sidebar-text: #94a3b8;--sidebar-text-active: #f1f5f9;--sidebar-hover-bg: rgba(255, 255, 255, .05);--sidebar-active-bg: rgba(45, 212, 191, .12);--sidebar-active-border: #2dd4bf;--sidebar-divider: rgba(255, 255, 255, .06);--color-success: #4ade80;--color-success-hover: #22c55e;--color-success-bg: #052e16;--color-success-bg-solid: #14532d;--color-success-text: #bbf7d0;--color-success-border: #14532d;--color-error: #f87171;--color-error-hover: #ef4444;--color-error-bg: #450a0a;--color-error-bg-solid: #7f1d1d;--color-error-text: #fecaca;--color-error-border: #7f1d1d;--color-warning: #fb923c;--color-warning-hover: #f97316;--color-warning-bg: #431407;--color-warning-bg-solid: #7c2d12;--color-warning-text: #fed7aa;--color-warning-border: #7c2d12;--color-info: #60a5fa;--color-info-bg: #172554;--color-info-bg-solid: #1e3a5f;--color-info-text: #bfdbfe;--color-info-border: #1e3a5f;--color-gray-50: #0f172a;--color-gray-100: #1e293b;--color-gray-200: #334155;--color-gray-300: #475569;--color-gray-400: #64748b;--color-gray-500: #94a3b8;--color-gray-600: #cbd5e1;--color-gray-700: #e2e8f0;--color-gray-800: #f1f5f9;--color-shadow-sm: rgba(0, 0, 0, .3);--color-shadow-md: rgba(0, 0, 0, .4);--color-shadow-lg: rgba(0, 0, 0, .5);--color-modal-overlay: rgba(0, 0, 0, .7);--color-link: #2dd4bf;--color-link-hover: #5eead4;--color-scrollbar-track: #1e293b;--color-scrollbar-thumb: #475569;--color-scrollbar-thumb-hover: #64748b;--color-code-bg: #334155;--shadow-card: none;--shadow-card-hover: none;--shadow-elevated: 0 8px 24px rgba(0, 0, 0, .4);--color-verified: #a78bfa;--color-verified-bg: rgba(167, 139, 250, .1);--color-verified-text: #c4b5fd;--color-primary-shadow: rgba(45, 212, 191, .25);--color-scrollbar-track: #111827;--color-scrollbar-thumb: rgba(255, 255, 255, .08);--color-scrollbar-thumb-hover: rgba(255, 255, 255, .15);--toastify-color-light: #1e293b;--toastify-text-color-light: #f1f5f9}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-page);color:var(--color-text-heading);transition:background-color .2s ease,color .2s ease}.app{min-height:100vh}.home-page{max-width:1200px;margin:0 auto;padding:2rem}.main{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.status-card,.info-card{background:var(--color-bg-card);padding:var(--spacing-card);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.status-card h2,.info-card h2{margin-bottom:1rem;color:var(--color-primary)}.status-success{padding:1rem;background-color:var(--color-success-bg-solid);border:1px solid var(--color-success-border);border-radius:var(--radius-sm);color:var(--color-success-text)}.status-error{padding:1rem;background-color:var(--color-error-bg-solid);border:1px solid var(--color-error-border);border-radius:var(--radius-sm);color:var(--color-error-text)}.status-success p,.status-error p{margin-bottom:.5rem}.info-card ul{list-style-position:inside;line-height:1.8}.info-card li{padding:.25rem 0}.info-card h3{margin-top:1.5rem;margin-bottom:.75rem;color:var(--color-primary)}.quick-actions{display:flex;gap:1rem;margin-bottom:1rem}.home-page .action-button{display:inline-block;padding:.75rem 1.5rem;background-color:var(--color-primary);color:#fff;text-decoration:none;border-radius:4px;font-weight:500;transition:background-color .2s}.home-page .action-button:hover{background-color:var(--color-primary-hover)}input,textarea,select{background-color:var(--color-bg-input);color:var(--color-text-primary);border-color:var(--color-border-input)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}@media (max-width: 768px){input[type=text],input[type=email],input[type=password],input[type=url],input[type=search],textarea,select{font-size:max(16px,1em)}.home-page{padding:1rem}}
