:root{--swal2-outline: 0 0 0 3px rgba(100, 150, 200, .5);--swal2-container-padding: .625em;--swal2-backdrop: rgba(0, 0, 0, .4);--swal2-backdrop-transition: background-color .15s;--swal2-width: 32em;--swal2-padding: 0 0 1.25em;--swal2-border: none;--swal2-border-radius: .3125rem;--swal2-background: white;--swal2-color: #545454;--swal2-show-animation: swal2-show .3s;--swal2-hide-animation: swal2-hide .15s forwards;--swal2-icon-zoom: 1;--swal2-title-padding: .8em 1em 0;--swal2-html-container-padding: 1em 1.6em .3em;--swal2-input-border: 1px solid #d9d9d9;--swal2-input-border-radius: .1875em;--swal2-input-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .06), 0 0 0 3px transparent;--swal2-input-background: transparent;--swal2-input-transition: border-color .2s, box-shadow .2s;--swal2-input-hover-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .06), 0 0 0 3px transparent;--swal2-input-focus-border: 1px solid #b4dbed;--swal2-input-focus-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .06), 0 0 0 3px rgba(100, 150, 200, .5);--swal2-progress-step-background: #add8e6;--swal2-validation-message-background: #f0f0f0;--swal2-validation-message-color: #666;--swal2-footer-border-color: #eee;--swal2-footer-background: transparent;--swal2-footer-color: inherit;--swal2-timer-progress-bar-background: rgba(0, 0, 0, .3);--swal2-close-button-position: initial;--swal2-close-button-inset: auto;--swal2-close-button-font-size: 2.5em;--swal2-close-button-color: #ccc;--swal2-close-button-transition: color .2s, box-shadow .2s;--swal2-close-button-outline: initial;--swal2-close-button-box-shadow: inset 0 0 0 3px transparent;--swal2-close-button-focus-box-shadow: inset var(--swal2-outline);--swal2-close-button-hover-transform: none;--swal2-actions-justify-content: center;--swal2-actions-width: auto;--swal2-actions-margin: 1.25em auto 0;--swal2-actions-padding: 0;--swal2-actions-border-radius: 0;--swal2-actions-background: transparent;--swal2-action-button-transition: background-color .2s, box-shadow .2s;--swal2-action-button-hover: black 10%;--swal2-action-button-active: black 10%;--swal2-confirm-button-box-shadow: none;--swal2-confirm-button-border-radius: .25em;--swal2-confirm-button-background-color: #7066e0;--swal2-confirm-button-color: #fff;--swal2-deny-button-box-shadow: none;--swal2-deny-button-border-radius: .25em;--swal2-deny-button-background-color: #dc3741;--swal2-deny-button-color: #fff;--swal2-cancel-button-box-shadow: none;--swal2-cancel-button-border-radius: .25em;--swal2-cancel-button-background-color: #6e7881;--swal2-cancel-button-color: #fff;--swal2-toast-show-animation: swal2-toast-show .5s;--swal2-toast-hide-animation: swal2-toast-hide .1s forwards;--swal2-toast-border: none;--swal2-toast-box-shadow: 0 0 1px hsl(0deg 0% 0% / .075), 0 1px 2px hsl(0deg 0% 0% / .075), 1px 2px 4px hsl(0deg 0% 0% / .075), 1px 3px 8px hsl(0deg 0% 0% / .075), 2px 4px 16px hsl(0deg 0% 0% / .075)}[data-swal2-theme=dark]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, .7)}@media(prefers-color-scheme:dark){[data-swal2-theme=auto]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, .7)}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto!important}body.swal2-no-backdrop .swal2-container{background-color:#0000!important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:auto}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px var(--swal2-backdrop)}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:#0000;pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translate(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%,-50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translate(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static!important}}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;top:0;right:0;bottom:0;left:0;box-sizing:border-box;grid-template-areas:"top-start     top            top-end" "center-start  center         center-end" "bottom-start  bottom-center  bottom-end";grid-template-rows:minmax(min-content,auto) minmax(min-content,auto) minmax(min-content,auto);height:100%;padding:var(--swal2-container-padding);overflow-x:hidden;transition:var(--swal2-backdrop-transition);-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:var(--swal2-backdrop)}div:where(.swal2-container).swal2-backdrop-hide{background:#0000!important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0,1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0,1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0,1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none!important}div:where(.swal2-container)[popover]{width:auto;border:0}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0,100%);width:var(--swal2-width);max-width:100%;padding:var(--swal2-padding);border:var(--swal2-border);border-radius:var(--swal2-border-radius);background:var(--swal2-background);color:var(--swal2-color);font-family:inherit;font-size:1rem}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable{cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon){cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging{cursor:grabbing}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon){cursor:grabbing}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:var(--swal2-title-padding);color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;overflow-wrap:break-word;cursor:initial}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:var(--swal2-actions-justify-content);width:var(--swal2-actions-width);margin:var(--swal2-actions-margin);padding:var(--swal2-actions-padding);border-radius:var(--swal2-actions-border-radius);background:var(--swal2-actions-background)}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:var(--swal2-action-button-transition);border:none;box-shadow:0 0 0 3px #0000;font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border-radius:var(--swal2-confirm-button-border-radius);background:initial;background-color:var(--swal2-confirm-button-background-color);box-shadow:var(--swal2-confirm-button-box-shadow);color:var(--swal2-confirm-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover{background-color:color-mix(in srgb,var(--swal2-confirm-button-background-color),var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):active{background-color:color-mix(in srgb,var(--swal2-confirm-button-background-color),var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border-radius:var(--swal2-deny-button-border-radius);background:initial;background-color:var(--swal2-deny-button-background-color);box-shadow:var(--swal2-deny-button-box-shadow);color:var(--swal2-deny-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):hover{background-color:color-mix(in srgb,var(--swal2-deny-button-background-color),var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):active{background-color:color-mix(in srgb,var(--swal2-deny-button-background-color),var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border-radius:var(--swal2-cancel-button-border-radius);background:initial;background-color:var(--swal2-cancel-button-background-color);box-shadow:var(--swal2-cancel-button-box-shadow);color:var(--swal2-cancel-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):hover{background-color:color-mix(in srgb,var(--swal2-cancel-button-background-color),var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):active{background-color:color-mix(in srgb,var(--swal2-cancel-button-background-color),var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none;box-shadow:var(--swal2-action-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-styled)[disabled]:not(.swal2-loading){opacity:.4}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid var(--swal2-footer-border-color);background:var(--swal2-footer-background);color:var(--swal2-footer-color);font-size:1em;text-align:center;cursor:initial}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto!important;overflow:hidden;border-bottom-right-radius:var(--swal2-border-radius);border-bottom-left-radius:var(--swal2-border-radius)}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:var(--swal2-timer-progress-bar-background)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em;cursor:initial}div:where(.swal2-container) button:where(.swal2-close){position:var(--swal2-close-button-position);inset:var(--swal2-close-button-inset);z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:var(--swal2-close-button-transition);border:none;border-radius:var(--swal2-border-radius);outline:var(--swal2-close-button-outline);background:#0000;color:var(--swal2-close-button-color);font-family:monospace;font-size:var(--swal2-close-button-font-size);cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:var(--swal2-close-button-hover-transform);background:#0000;color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:var(--swal2-close-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-html-container){z-index:1;justify-content:center;margin:0;padding:var(--swal2-html-container-padding);overflow:auto;color:inherit;font-size:1.125em;font-weight:400;line-height:normal;text-align:center;overflow-wrap:break-word;word-break:break-word;cursor:initial}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:var(--swal2-input-transition);border:var(--swal2-input-border);border-radius:var(--swal2-input-border-radius);background:var(--swal2-input-background);box-shadow:var(--swal2-input-box-shadow);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}div:where(.swal2-container) input:where(.swal2-input):hover,div:where(.swal2-container) input:where(.swal2-file):hover,div:where(.swal2-container) textarea:where(.swal2-textarea):hover{box-shadow:var(--swal2-input-hover-box-shadow)}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:var(--swal2-input-focus-border);outline:none;box-shadow:var(--swal2-input-focus-box-shadow)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:var(--swal2-background)}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:var(--swal2-input-background);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:var(--swal2-input-background);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:var(--swal2-background);color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:var(--swal2-validation-message-background);color:var(--swal2-validation-message-color);font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message):before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:#0000;font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:var(--swal2-progress-step-background);color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:var(--swal2-progress-step-background)}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;zoom:var(--swal2-icon-zoom);border:.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;-webkit-user-select:none;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}div:where(.swal2-icon).swal2-warning{border-color:#f8bb86;color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}div:where(.swal2-icon).swal2-info{border-color:#3fc3ee;color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}div:where(.swal2-icon).swal2-question{border-color:#87adbd;color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-.25em;left:-.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:var(--swal2-show-animation)}.swal2-hide{animation:var(--swal2-hide-animation)}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}.swal2-toast{box-sizing:border-box;grid-column:1/4!important;grid-row:1/4!important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;border:var(--swal2-toast-border);background:var(--swal2-background);box-shadow:var(--swal2-toast-box-shadow);pointer-events:auto}.swal2-toast>*{grid-column:2}.swal2-toast h2:where(.swal2-title){margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-toast .swal2-loading{justify-content:center}.swal2-toast input:where(.swal2-input){height:2em;margin:.5em;font-size:1em}.swal2-toast .swal2-validation-message{font-size:1em}.swal2-toast div:where(.swal2-footer){margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-toast button:where(.swal2-close){grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-toast div:where(.swal2-html-container){margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-toast div:where(.swal2-html-container):empty{padding:0}.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:700}.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-toast div:where(.swal2-actions){justify-content:flex-start;height:auto;margin:.5em 0 0;padding:0 .5em}.swal2-toast button:where(.swal2-styled){margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.8em;left:-.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-toast.swal2-show{animation:var(--swal2-toast-show-animation)}.swal2-toast.swal2-hide{animation:var(--swal2-toast-hide-animation)}@keyframes swal2-show{0%{transform:translate3d(0,-50px,0) scale(.9);opacity:0}to{transform:translateZ(0) scale(1);opacity:1}}@keyframes swal2-hide{0%{transform:translateZ(0) scale(1);opacity:1}to{transform:translate3d(0,-50px,0) scale(.9);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}to{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}to{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}to{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}to{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}to{transform:rotateX(0);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}to{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotate(45deg);opacity:0}25%{transform:rotate(-25deg);opacity:.4}50%{transform:rotate(15deg);opacity:.8}75%{transform:rotate(-5deg);opacity:1}to{transform:rotateX(0);opacity:1}}@keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotate(2deg)}33%{transform:translateY(0) rotate(-2deg)}66%{transform:translateY(.3125em) rotate(2deg)}to{transform:translateY(0) rotate(0)}}@keyframes swal2-toast-hide{to{transform:rotate(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}to{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}to{top:.9375em;right:.1875em;width:1.375em}}:root{--chart-1: #4d71fb;--chart-critical: #e5484d;--chart-warning: #c98500;--blue: #4d71fb;--cyan: #24d5f6;--purple: #8565fc;--ink: #1c1c1c;--grad: linear-gradient(115deg, #4d71fb 0%, #8565fc 52%, #24d5f6 100%);--grad-btn-glow: radial-gradient( 120% 160% at 0% 0%, rgba(36, 213, 246, .38) 0%, rgba(36, 213, 246, 0) 55% );--grad-btn: var(--grad-btn-glow), linear-gradient(120deg, #3d59f0 0%, #5a4bf0 48%, #7744e6 100%);--grad-btn-hover: var(--grad-btn-glow), linear-gradient(120deg, #4561f4 0%, #6252f4 48%, #7f4cec 100%);--grad-soft: linear-gradient( 115deg, rgba(77, 113, 251, .14) 0%, rgba(133, 101, 252, .13) 52%, rgba(36, 213, 246, .14) 100% );--sev-critical: #e5484d;--sev-high: #f76b15;--sev-medium: #efae05;--sev-low: #7c7c87;--sev-pass: #0fa47f;--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-lg: 22px;--r-xl: 30px;--ease: cubic-bezier(.22, .85, .3, 1);--t: .28s var(--ease);--shell-w: 262px;--topbar-h: 66px;--font: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace}html[data-theme=light]{--bg: #ffffff;--bg-deep: #f4f5f9;--surface: #ffffff;--surface-2: #f6f6f6;--surface-3: #eeeff4;--line: rgba(28, 28, 28, .1);--line-soft: rgba(28, 28, 28, .06);--line-strong: rgba(28, 28, 28, .18);--text: #1c1c1c;--text-2: #4a4a55;--text-3: #82828f;--shadow-sm: 0 1px 2px rgba(16, 18, 40, .05), 0 4px 14px -6px rgba(16, 18, 40, .1);--shadow-md: 0 2px 6px rgba(16, 18, 40, .06), 0 18px 44px -22px rgba(16, 18, 40, .24);--shadow-lg: 0 30px 80px -34px rgba(16, 18, 40, .34), 0 4px 12px rgba(16, 18, 40, .05);--glass: rgba(255, 255, 255, .72);--mesh-a: rgba(77, 113, 251, .13);--mesh-b: rgba(36, 213, 246, .12);--mesh-c: rgba(133, 101, 252, .11)}html[data-theme=dark]{--bg: #131317;--bg-deep: #0d0d10;--surface: #1b1b21;--surface-2: #212128;--surface-3: #292931;--line: rgba(255, 255, 255, .1);--line-soft: rgba(255, 255, 255, .06);--line-strong: rgba(255, 255, 255, .2);--text: #f3f4f8;--text-2: #b6b7c2;--text-3: #84858f;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .35), 0 20px 48px -24px rgba(0, 0, 0, .7);--shadow-lg: 0 34px 90px -36px rgba(0, 0, 0, .85), 0 4px 14px rgba(0, 0, 0, .4);--glass: rgba(27, 27, 33, .74);--mesh-a: rgba(77, 113, 251, .2);--mesh-b: rgba(36, 213, 246, .13);--mesh-c: rgba(133, 101, 252, .17)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{min-height:100dvh;margin:0;font-family:var(--font);background:var(--bg-deep);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.2}p{margin:0}button{font-family:inherit;font-size:inherit;color:inherit;border:0;background:none;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%}::selection{background:#4d71fb3d}.mono{font-family:var(--font-mono);font-size:.86em;letter-spacing:-.02em}.visually-hidden,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px;border:3px solid transparent;background-clip:content-box}.app{display:flex;min-height:100vh;width:100%;position:relative;isolation:isolate}.app:after{content:"";position:fixed;inset:-20% -10% auto -10%;height:70vh;z-index:-1;pointer-events:none;background:radial-gradient(48% 55% at 14% 8%,var(--mesh-a) 0%,transparent 62%),radial-gradient(42% 50% at 82% 4%,var(--mesh-b) 0%,transparent 60%),radial-gradient(38% 46% at 52% 0%,var(--mesh-c) 0%,transparent 65%);filter:blur(6px)}.sidebar{width:var(--shell-w);flex:0 0 var(--shell-w);background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:40}.brand{height:var(--topbar-h);display:flex;align-items:center;gap:11px;padding:0 20px;border-bottom:1px solid var(--line-soft);flex:0 0 auto}.brand-logo{display:inline-flex;align-items:center;gap:10px;height:30px;width:auto;max-width:220px;color:#05041e}.brand-logo-mark{display:block;height:30px;width:auto;flex:0 0 auto}.brand-logo-name{font-size:15.5px;font-weight:750;letter-spacing:-.02em;white-space:nowrap;color:currentColor}html[data-theme=dark] .brand-logo{color:#fff}.nav{padding:16px 12px;flex:1;overflow-y:auto}.nav-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);padding:14px 12px 8px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;min-height:44px;padding:10px 12px;border-radius:var(--r-sm);color:var(--text-2);font-weight:500;font-size:13.5px;position:relative;transition:var(--t);text-align:left}.nav-item svg{width:17px;height:17px;flex:0 0 17px;stroke-width:1.8;opacity:.85}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item:focus-visible,.icon-btn:focus-visible,.btn:focus-visible,.vp-tab:focus-visible,.sec-bar:focus-visible,.filter-pill:focus-visible,.tbl a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.nav-item.is-active{background:var(--grad-soft);color:var(--text);font-weight:600}.nav-item.is-active:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 4px 4px 0;background:var(--grad)}.nav-item.is-active svg{opacity:1;color:var(--blue)}.nav-badge{margin-left:auto;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:99px;background:var(--surface-3);color:var(--text-2)}.nav-item.is-active .nav-badge{background:var(--blue);color:#fff}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);flex:0 0 var(--topbar-h);display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);position:sticky;top:0;z-index:30}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-3);font-weight:500;min-width:0}.crumbs b{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumbs .sep{opacity:.5}.topbar-spacer{flex:1}.topbar-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}.icon-btn{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:var(--r-sm);border:1px solid var(--line-soft);background:var(--surface-2);color:var(--text-2);transition:var(--t)}.icon-btn:hover{background:var(--surface-3);color:var(--text);border-color:var(--line)}.icon-btn svg{width:16px;height:16px;stroke-width:1.8}.nav-toggle,.scrim{display:none}.canvas{flex:1;min-width:0}.wrap{max-width:1920px;margin:0 auto;padding:28px clamp(16px,2vw,32px) 30px;animation:rise .42s var(--ease) both}.wrap.wide{max-width:1720px}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);position:relative}.card-pad{padding:20px 22px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:17px 22px;border-bottom:1px solid var(--line-soft)}.card-head-title{flex:1 1 220px;min-width:0}.card-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:1 1 420px;min-width:min(100%,280px);flex-wrap:wrap}.toolbar-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar-btn{flex:0 0 auto}.refresh-btn{flex:0 0 44px}.refresh-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.refresh-btn-icon svg{width:16px;height:16px}.card-head h3{font-size:14.5px;font-weight:650;letter-spacing:-.01em}.card-head .sub{font-size:12px;color:var(--text-3);font-weight:450;margin-top:2px}.report-page-picker{display:flex;align-items:center;gap:10px;min-width:0;max-width:min(460px,100%)}.report-page-picker label{flex:0 0 auto;font-size:12.5px;font-weight:600;color:var(--text-2);white-space:nowrap}.report-page-picker label span{font-weight:450;color:var(--text-3)}.report-page-picker .inp{flex:1 1 auto;min-width:0;min-height:38px;font-size:13px}.report-doc-title .report-doc-page-url{overflow-wrap:anywhere}.report-builder-card .card-head-title{min-width:0}.report-builder-card .card-head .sub{overflow-wrap:anywhere}.card-head .spacer,.editor-bar .spacer,.page-head .spacer,.sec-title .spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 20px;border-radius:var(--r-sm);font-weight:600;font-size:13px;letter-spacing:-.01em;transition:var(--t);border:1px solid transparent;white-space:nowrap}.btn svg{width:15px;height:15px;stroke-width:2;flex:0 0 15px}.btn-primary{background:var(--grad-btn);color:#fff;font-weight:700;text-shadow:0 1px 1px rgba(20,16,70,.25);box-shadow:0 8px 20px -10px #5b46e6bf,inset 0 1px #ffffff38}.btn-primary:hover{background:var(--grad-btn-hover);transform:translateY(-1px);box-shadow:0 10px 24px -10px #5b46e6d9,inset 0 1px #ffffff42}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:var(--surface-2);border-color:var(--line);color:var(--text-2)}.btn-ghost:hover{background:var(--surface-3);color:var(--text)}.btn-quiet{background:transparent;color:var(--text-3);padding:0 10px}.btn-quiet:hover{background:var(--surface-2);color:var(--text)}.btn-sm{min-height:34px;padding:0 16px;font-size:12px;border-radius:9px}.btn-sm svg{width:13px;height:13px;flex:0 0 13px}.btn-lg{min-height:46px;padding:0 28px;font-size:14px;border-radius:14px}@media(pointer:coarse){.btn,.btn-sm{min-height:44px}}.btn:disabled{opacity:.42;pointer-events:none}.btn-danger{background:var(--sev-critical);color:#fff;box-shadow:0 6px 18px -8px #e5484da6,inset 0 1px #fff3}.btn-danger:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04)}.btn-ghost.btn-danger-ghost{color:var(--sev-critical)}.btn-ghost.btn-danger-ghost:hover:not(:disabled){background:#e5484d1a;border-color:#e5484d59;color:var(--sev-critical)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:23px;padding:2px 9px;border-radius:7px;font-size:11px;font-weight:650;white-space:nowrap;background:var(--surface-3);color:var(--text-2)}.chip svg{width:12px;height:12px;flex:0 0 12px;stroke-width:2}.chip .dot{width:6px;height:6px;border-radius:99px;background:currentColor}.chip-critical,.chip-fail{background:#e5484d1f;color:var(--sev-critical)}.chip-warn{background:#efae0529;color:#b98505}html[data-theme=dark] .chip-warn{color:var(--sev-medium)}.chip-pass{background:#0fa47f21;color:var(--sev-pass)}.chip-blue,.chip-run{background:#4d71fb1f;color:var(--blue)}.chip-neutral{background:var(--surface-3);color:var(--text-2)}.chip-purple{background:#8565fc21;color:var(--purple)}.eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--text-3)}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.page-head{display:flex;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}.page-head h1{font-size:clamp(22px,3.4vw,27px);font-weight:700;letter-spacing:-.035em;margin-top:9px}.page-head .lede{font-size:13.5px;color:var(--text-3);margin-top:6px;max-width:620px;line-height:1.55}.head-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.sec-title{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:16px}.sec-title h2{font-size:16px;font-weight:650}.sec-title p{font-size:12.5px;color:var(--text-3);margin-top:3px}.divider{height:1px;background:var(--line-soft);margin:18px 0}.empty{color:var(--text-3);font-size:13px}.empty-state{text-align:center;padding:52px 20px}.empty-ic{width:56px;height:56px;border-radius:18px;background:var(--grad-soft);display:grid;place-items:center;margin:0 auto 16px;color:var(--blue)}.empty-ic svg{width:26px;height:26px;stroke-width:1.6}.empty-state b{display:block;font-size:15px;font-weight:650;margin-bottom:5px}.empty-state p{font-size:12.5px;color:var(--text-3);max-width:340px;margin:0 auto 16px}.alert{display:flex;gap:10px;align-items:flex-start;padding:13px 16px;border-radius:var(--r-md);font-size:13px;margin-bottom:18px;border:1px solid transparent}.alert svg{width:16px;height:16px;flex:0 0 16px;stroke-width:2;margin-top:2px}.alert-error{background:#e5484d1a;border-color:#e5484d47;color:var(--sev-critical)}.alert-info{background:var(--grad-soft);border-color:#4d71fb47;color:var(--text-2)}.spin{width:15px;height:15px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;display:inline-block;flex:0 0 15px}.spin-lg{width:28px;height:28px;flex:0 0 28px;border-width:3px}.alert.alert-info{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}.run-progress,.run-progress-empty{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;border:1px solid rgba(77,113,251,.22);background:var(--grad-soft)}.run-progress b,.run-progress-empty b{display:block;margin:0 0 4px;font-size:14px;font-weight:650}.run-progress p,.run-progress-empty p{margin:0;font-size:13px;line-height:1.45;color:var(--text-2)}.run-progress-body{flex:1 1 auto;min-width:0}.run-progress-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.run-progress .run-progress-top b{margin:0}.run-progress-count{display:inline-flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--text-2);font-variant-numeric:tabular-nums}.run-progress-count strong{font-size:15px;font-weight:700;color:var(--text)}.run-progress-bar{height:8px;margin:10px 0;border-radius:99px;background:#4d71fb29;overflow:hidden}.run-progress-bar>span{display:block;height:100%;border-radius:99px;background:var(--grad-btn);transition:width .4s var(--ease)}.run-progress-stop{flex:0 0 auto;align-self:center}@keyframes spin{to{transform:rotate(360deg)}}.auth-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--bg)}.auth-form-pane{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:32px;padding:40px 48px 32px;min-width:0}.auth-card{align-self:center;justify-self:center;width:100%;max-width:400px;animation:auth-rise .7s var(--ease) both}.auth-brand{animation:auth-fade .6s var(--ease) both}.auth-copy p{margin:0;font-size:12px;color:var(--text-3)}.app-footer{padding:16px 28px 20px;border-top:1px solid var(--line-soft);text-align:center}.app-footer p{margin:0;font-size:12px;color:var(--text-3)}.auth-brand .brand-logo{height:34px;max-width:100%}.auth-brand .brand-logo-mark{height:34px}.auth-brand .brand-logo-name{font-size:19px}.auth-title{font-size:clamp(26px,3vw,32px);font-weight:750;letter-spacing:-.04em}.auth-lede{font-size:14.5px;color:var(--text-3);line-height:1.55;margin:8px 0 32px}.auth-card .field{margin-bottom:20px}.auth-card .inp{min-height:50px;font-size:14px}.auth-card .field>label{display:flex;align-items:center;gap:4px}.field-req,.auth-req{color:var(--sev-critical);font-size:13px;line-height:1}.auth-input-wrap{position:relative;display:flex}.auth-input-wrap .inp{padding-right:46px}.auth-reveal{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border-radius:9px;color:var(--text-3);transition:var(--t)}.auth-reveal:hover{background:var(--surface-3);color:var(--text)}.auth-reveal svg{width:16px;height:16px;stroke-width:1.8}.auth-submit{margin-top:8px;width:100%;min-height:50px;justify-content:center;font-size:14px;background:var(--blue);box-shadow:0 10px 24px -12px #4d71fbe6}.auth-submit:hover:not(:disabled){background:#3f63f0;box-shadow:0 14px 28px -12px #4d71fbf2}.auth-submit:disabled{opacity:.5;box-shadow:none;cursor:not-allowed}.auth-submit svg{width:17px;height:17px;flex-basis:17px}.auth-spin{width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite}.auth-forgot{margin:-6px 0 16px;text-align:right;font-size:13px}.auth-foot{margin-top:28px;padding-top:22px;border-top:1px solid var(--line-soft);font-size:13px;line-height:1.6;color:var(--text-3)}.account-credentials-card{max-width:560px}.account-credentials-form{display:grid;gap:14px}.account-credentials-divider{display:flex;align-items:center;gap:12px;margin-top:6px;color:var(--text-3);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.account-credentials-divider:before,.account-credentials-divider:after{content:"";flex:1;height:1px;background:var(--line-soft)}.account-credentials-hint{margin:-4px 0 0;font-size:12.5px;line-height:1.45;color:var(--text-3)}.account-credentials-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.account-credentials-actions .btn{min-height:44px}.auth-foot a{color:var(--blue);font-weight:650}.auth-showcase{position:sticky;top:0;align-self:start;height:100vh;overflow:hidden;display:flex;align-items:center;padding:40px 56px;background:var(--ink);isolation:isolate}.auth-showcase:before{content:"";position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;z-index:-2;animation:auth-drift 22s ease-in-out infinite alternate;background:radial-gradient(46% 40% at 82% 6%,rgba(36,213,246,.5) 0%,transparent 64%),radial-gradient(56% 46% at 10% 2%,rgba(77,113,251,.62) 0%,transparent 66%),radial-gradient(64% 52% at 26% 62%,rgba(133,101,252,.5) 0%,transparent 70%),radial-gradient(70% 46% at 88% 92%,rgba(77,113,251,.42) 0%,transparent 70%),linear-gradient(160deg,#1a1c34,#14152a 46%,#101124)}.auth-showcase:after{content:"";position:absolute;top:40%;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(#0a0b1800,#0a0b18b8)}.auth-arc{position:absolute;right:-190px;bottom:-230px;width:520px;height:520px;z-index:-1;border-radius:50%;border:74px solid var(--blue);clip-path:polygon(0 0,100% 0,100% 100%,44% 100%);animation:auth-arc-float 14s ease-in-out infinite alternate}.auth-show{position:relative;z-index:1;width:100%;max-width:480px;margin:0 auto;color:#fff}.auth-show-eyebrow{margin:0 0 12px;font-size:11.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:#7f9bff}.auth-show-title{margin:0;font-size:clamp(24px,2.4vw,32px);font-weight:750;line-height:1.12;letter-spacing:-.035em}.auth-show-lede{margin:12px 0 0;font-size:13.5px;line-height:1.6;color:#ffffffa3}.auth-show-stage{position:relative;margin-top:28px;padding-bottom:76px}.auth-run{position:relative;overflow:hidden;animation:auth-float 7s ease-in-out 1.2s infinite;padding:20px 20px 22px;border-radius:var(--r-lg);background:#fff;color:#1c1c1c;box-shadow:0 30px 70px -28px #04061ecc}.auth-run-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.auth-run-name{display:block;font-size:15px;font-weight:700;letter-spacing:-.02em}.auth-run-meta{display:block;margin-top:3px;font-size:11.5px;color:#82828f}.auth-run-status{flex:none;padding:4px 11px;border-radius:99px;border:1px solid rgba(77,113,251,.3);background:#4d71fb14;color:var(--blue);font-size:11.5px;font-weight:650}.auth-run-status.is-done{border-color:#f76b154d;background:#f76b1514;color:#c4520c;animation:auth-pop .45s var(--ease) both}.auth-run-beam{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(100deg,transparent 30%,rgba(77,113,251,.1) 45%,rgba(36,213,246,.16) 50%,transparent 62%);transform:translate(-100%);animation:auth-beam 5.5s var(--ease) .8s infinite}.auth-run-score{display:flex;align-items:center;gap:16px;margin-top:16px;padding:14px;border-radius:var(--r-md);background:#f6f7fa}.auth-run-ring{flex:none;width:72px;height:72px;transform:rotate(-90deg)}.auth-run-ring-track,.auth-run-ring-fill{fill:none;stroke-width:7}.auth-run-ring-track{stroke:#e6e8ef}.auth-run-ring-fill{stroke:var(--blue);stroke-linecap:round}.auth-run-ring-text{transform:rotate(90deg);transform-origin:38px 38px;text-anchor:middle;dominant-baseline:central;font-family:var(--font-mono);font-size:17px;font-weight:700;fill:#1c1c1c}.auth-run-score-body{min-width:0;flex:1}.auth-run-sevs{display:flex;flex-wrap:wrap;gap:5px}.auth-sev{padding:2px 8px;border-radius:6px;font-size:10.5px;font-weight:700}.auth-sev-critical{background:#e5484d1f;color:var(--sev-critical)}.auth-sev-high{background:#f76b151f;color:#d45a0f}.auth-sev-medium{background:#efae0529;color:#a87803}.auth-run-progress-label{display:block;margin-top:9px;font-size:11px;color:#82828f}.auth-run-progress{display:block;margin-top:6px;height:5px;border-radius:99px;background:#e6e8ef;overflow:hidden}.auth-run-progress span{display:block;height:100%;width:100%;background:var(--grad);transform-origin:left center}.auth-run-vps{margin:6px 0 0;padding:0;list-style:none}.auth-run-vps li{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:12.5px}.auth-run-vps li+li{border-top:1px solid rgba(28,28,28,.06)}.auth-run-vp-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#4d71fb1a;color:var(--blue)}.auth-run-vp-icon svg{width:14px;height:14px;stroke-width:1.9}.auth-run-vp-name{flex:1;font-weight:600}.auth-run-vp-name em{margin-left:4px;font-style:normal;font-family:var(--font-mono);font-size:11px;font-weight:500;color:#82828f}.auth-run-vp-slot{display:grid;justify-items:end}.auth-run-vp-slot>*{grid-area:1 / 1}.auth-run-vp-pending{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:600;color:#82828f;animation:auth-out .25s ease calc(1.3s + var(--i) * .6s) both}.auth-run-vp-spinner{width:10px;height:10px;border-radius:50%;border:1.6px solid #d8dbe6;border-top-color:var(--blue);animation:spin .8s linear infinite}.auth-run-vp-status{animation:auth-pop .45s var(--ease) calc(1.3s + var(--i) * .6s) both;display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;border:1px solid;font-size:11px;font-weight:650}.auth-run-vp-status svg{width:12px;height:12px;stroke-width:2.2}.auth-run-vp-status.is-pass{color:var(--sev-pass);background:#0fa47f14;border-color:#0fa47f40}.auth-run-vp-status.is-warn{color:#a87803;background:#efae051a;border-color:#efae054d}.auth-run-vp-status.is-fail{color:var(--sev-critical);background:#e5484d12;border-color:#e5484d40}.auth-issue{position:absolute;left:-28px;bottom:0;width:min(300px,72%);padding:14px 16px;border-radius:var(--r-md);background:#20212e;border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 50px -18px #000000b3;animation:auth-callout .6s var(--ease) 2.6s both,auth-float 6s ease-in-out 3.2s infinite reverse}.auth-issue-head{display:flex;align-items:center;gap:8px}.auth-issue-sev{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:6px;background:#e5484d33;color:#ff7a7e;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-issue-head code{font-family:var(--font-mono);font-size:11px;color:#fff9}.auth-issue p{margin:9px 0 0;font-size:12.5px;line-height:1.5;color:#ffffffdb}.auth-issue p code{font-family:var(--font-mono);font-size:11.5px;color:#9fd9ff}.auth-show-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0 0;padding:0;list-style:none}.auth-show-features li{padding:14px;border-radius:var(--r-sm);background:#ffffff0f;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-show-features svg{display:block;width:18px;height:18px;stroke-width:1.8;color:#8fa6ff}.auth-show-features b{display:block;margin-top:10px;font-size:13px;font-weight:700}.auth-show-features span{display:block;margin-top:2px;font-size:11.5px;line-height:1.4;color:#fff9}.auth-issue-pulse{position:relative;width:6px;height:6px;border-radius:50%;background:#ff7a7e}.auth-issue-pulse:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:inherit;animation:auth-ping 1.8s ease-out 3.2s infinite}.auth-rise{animation:auth-rise .7s var(--ease) var(--d, 0ms) both}@keyframes auth-rise{0%{opacity:0;transform:translateY(14px)}}@keyframes auth-fade{0%{opacity:0}}@keyframes auth-out{to{opacity:0;transform:scale(.9);visibility:hidden}}@keyframes auth-pop{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.06)}}@keyframes auth-callout{0%{opacity:0;transform:translate(-12px,16px) scale(.94)}}@keyframes auth-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes auth-beam{0%{transform:translate(-100%)}40%,to{transform:translate(100%)}}@keyframes auth-ping{0%{transform:scale(1);opacity:.8}80%,to{transform:scale(3.2);opacity:0}}@keyframes auth-drift{0%{transform:translate(0) scale(1)}to{transform:translate(-5%,4%) scale(1.06)}}@keyframes auth-arc-float{0%{transform:translate(0)}to{transform:translate(-18px,-26px)}}@media(prefers-reduced-motion:reduce){.auth-screen *,.auth-screen *:before,.auth-screen *:after{animation-delay:0s!important;animation-iteration-count:1!important}.auth-run-beam{display:none}}@media(max-height:860px){.auth-show-lede{display:none}}@media(max-height:760px){.auth-show-features{display:none}}@media(max-width:1000px){.auth-screen{grid-template-columns:minmax(0,1fr)}.auth-showcase{display:none}}@media(max-width:720px){.auth-form-pane{padding:24px 16px;gap:28px}.auth-card{align-self:start}}.account{display:flex;align-items:center;gap:9px;padding-left:12px;margin-left:4px;border-left:1px solid var(--line)}.account-link{display:flex;align-items:center;gap:9px;min-width:0;color:inherit;text-decoration:none;border-radius:10px;padding:4px 6px;margin:-4px -6px}.account-link:hover{background:var(--surface-2)}.account-link:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 45%,transparent);outline-offset:2px}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--grad-btn);color:#fff;font-size:11.5px;font-weight:700;flex:0 0 30px}.account-meta{display:flex;flex-direction:column;line-height:1.25;max-width:180px;min-width:0}.account-meta b{font-size:12.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-meta small{font-size:10.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.account-meta{display:none}}.field{margin-bottom:18px}.field:last-child{margin-bottom:0}.field>label,.field>.field-label{display:block;font-size:12.5px;font-weight:650;margin-bottom:7px}.field .hint{font-size:11.5px;color:var(--text-3);margin-top:6px;line-height:1.45}.field.is-error>label{color:var(--sev-critical)}.field .hint.is-error{color:var(--sev-critical);font-weight:600}.inp.is-invalid{border-color:#e5484d8c;background-color:#e5484d0a}.inp.is-invalid:focus{border-color:var(--sev-critical);box-shadow:0 0 0 3.5px #e5484d1f}.inp{width:100%;min-height:44px;padding:11px 14px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line-strong);outline:none;transition:var(--t);font-size:13.5px}.inp:hover:not(:disabled):not(:focus){border-color:#1c1c1c52}html[data-theme=dark] .inp:hover:not(:disabled):not(:focus){border-color:#ffffff52}.inp:disabled,.inp[readonly]{background-color:var(--surface-2);border-color:var(--line);color:var(--text-3);cursor:not-allowed}select.inp{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c8396' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px 14px;text-overflow:ellipsis;cursor:pointer}html[data-theme=dark] select.inp{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3a9bb' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.inp:focus{border-color:var(--blue);background-color:var(--surface);box-shadow:0 0 0 3.5px #4d71fb21}textarea.inp{min-height:118px;resize:vertical;line-height:1.6;font-family:var(--font-mono);font-size:12.5px}.user-form-modal{max-width:520px}.user-form-body{display:grid;gap:16px}.user-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:560px){.user-form-row{grid-template-columns:minmax(0,1fr)}}.user-form-static{margin:4px 0 0;font-size:13.5px;color:var(--text-2)}.user-role-field{border:0;padding:0;margin:0;display:grid;gap:8px}.user-role-field legend{margin-bottom:8px;font-size:12.5px;font-weight:650;color:var(--text)}.user-role-field .user-role-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);cursor:pointer}.user-role-field .user-role-option:hover{border-color:#4d71fb73}.user-role-option:has(input:checked){background:#4d71fb0d}.user-role-option:has(input:checked){border-color:var(--blue)}.user-role-field:disabled .user-role-option{cursor:not-allowed;opacity:.6}.user-role-option input{margin-top:3px}.user-role-option b{display:block;font-size:13px}.user-role-option small{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:var(--text-2)}.user-you{font-weight:500;color:var(--text-3)}textarea.inp.inp-prose{min-height:84px;font-family:inherit;font-size:13px;line-height:1.5}.sel-card{display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:44px;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--surface-2);transition:var(--t);text-align:left;width:100%;cursor:pointer}.sel-card:hover{border-color:var(--line-strong)}.sel-card:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}.sel-card:has(input:checked){border-color:var(--blue);background:var(--grad-soft);box-shadow:0 0 0 3.5px #4d71fb1a}.sel-card:has(input:disabled){opacity:.45;cursor:not-allowed}.sel-card .sc-t{flex:1;min-width:0}.sel-card .sc-t b{display:block;font-size:13px;font-weight:650}.sel-card .sc-t span{display:block;font-size:11px;color:var(--text-3);margin-top:2px;font-family:var(--font-mono)}.vp-bulk{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 14px}.vp-cap-note{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:12.5px;color:var(--text-2)}.vp-cap-note:empty{display:none}.vp-cap-note svg{width:15px;height:15px;color:#b98505;flex:0 0 auto}.vp-why-list{margin-top:14px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--surface-2)}.vp-why-list summary{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;list-style:none}.vp-why-list summary::-webkit-details-marker{display:none}.vp-why-list summary:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;border-radius:var(--r-sm)}.vp-why-list-title{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.vp-why-list-count{font-size:11.5px;color:var(--text-3)}.vp-why-list-chevron{margin-left:auto;display:inline-grid;color:var(--text-3);transition:transform .2s var(--ease)}.vp-why-list-chevron svg{width:15px;height:15px}.vp-why-list[open] .vp-why-list-chevron{transform:rotate(180deg)}.vp-why-list ul{margin:0;padding:0 14px 14px;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:10px}.vp-why-list li{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--surface)}.vp-why-ic{flex:0 0 32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--surface-2);color:var(--text-2)}.vp-why-ic svg{width:16px;height:16px}.vp-why-body{min-width:0}.vp-why-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0 0 4px}.vp-why-head b{font-size:13px;font-weight:650;color:var(--text)}.vp-why-size{font-family:var(--font-mono);font-size:11px;color:var(--text-3)}.vp-why-text{margin:0;font-size:12.5px;line-height:1.5;color:var(--text-2)}input[type=checkbox]:not(.sr-only){-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:18px;height:18px;margin:0;border-radius:5px;border:1.6px solid var(--line-strong);background:var(--surface);cursor:pointer;transition:var(--t)}input[type=checkbox]:not(.sr-only):checked,input[type=checkbox]:not(.sr-only):indeterminate{border-color:transparent;background:var(--grad-btn)}input[type=checkbox]:not(.sr-only):checked:after{content:"";width:4px;height:8px;margin-top:-2px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=checkbox]:not(.sr-only):indeterminate:after{content:"";width:8px;height:2px;border-radius:1px;background:#fff}input[type=checkbox]:not(.sr-only):focus-visible{outline:2px solid var(--blue);outline-offset:2px}input[type=checkbox]:not(.sr-only):disabled{opacity:.45;cursor:not-allowed}.cbx{width:18px;height:18px;flex:0 0 18px;border-radius:5px;border:1.6px solid var(--line-strong);background:var(--surface);display:grid;place-items:center;transition:var(--t)}.cbx svg{width:11px;height:11px;stroke-width:3.2;color:#fff;opacity:0;transform:scale(.5);transition:var(--t)}.sel-card:has(input:checked) .cbx{background:var(--grad);border-color:transparent}.sel-card:has(input:checked) .cbx svg{opacity:1;transform:none}.scan-shell{grid-template-columns:minmax(0,1fr) 330px;align-items:start}.scan-card{margin-bottom:16px}.scan-summary{position:sticky;top:calc(var(--topbar-h) + 16px)}.scan-estimate{margin:14px 0 4px;flex-wrap:wrap;row-gap:4px}.scan-estimate-sep{font-size:13px;font-weight:600;color:var(--line)}.scan-estimate-breakdown{font-size:13px;font-weight:500;letter-spacing:-.01em;color:var(--text-2)}.summary-list{margin:0}.summary-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.summary-list>div:last-child{border-bottom:0}.summary-list dt{font-size:12.5px;font-weight:600}.summary-list dd{margin:0;font-size:12px;color:var(--text-3);text-align:right}.scan-submit{width:100%;margin-top:18px}.scan-summary-sub{margin:18px 0 8px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.scan-ready-list,.scan-get-list{margin:0;padding:0;list-style:none}.scan-ready-list li{display:grid;grid-template-columns:20px auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:12.5px}.scan-ready-list li:last-child{border-bottom:0}.scan-ready-ic{display:grid;place-items:center;width:20px;height:20px;border-radius:50%}.scan-ready-ic svg{width:12px;height:12px}.scan-ready-list .is-ok .scan-ready-ic{background:#0fa47f21;color:var(--sev-pass)}.scan-ready-list .is-missing .scan-ready-ic{background:#efae0529;color:#b98505}.scan-ready-label{font-weight:600;color:var(--text)}.scan-ready-detail{min-width:0;text-align:right;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scan-ready-list .is-missing .scan-ready-detail{color:#b98505}.scan-get-list{display:grid;gap:6px}.scan-get-list li{position:relative;padding-left:16px;font-size:12.5px;line-height:1.45;color:var(--text-2)}.scan-get-list li:before{content:"";position:absolute;left:2px;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--grad-btn)}.scan-time{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);font-size:12.5px;color:var(--text-2)}.scan-time svg{flex:0 0 auto;width:16px;height:16px;margin-top:1px;color:var(--text-3)}.scan-time b{color:var(--text)}.scan-time small{display:block;margin-top:2px;font-size:11.5px;color:var(--text-3)}.scan-start-note{margin:10px 0 0;font-size:12px;line-height:1.45;text-align:center;color:var(--text-3)}.file-drop{display:flex;align-items:center;gap:16px;min-height:132px;padding:22px 20px;border-radius:var(--r-md);border:1.5px dashed var(--line-strong);background:linear-gradient(180deg,transparent,var(--surface-2)),var(--grad-soft);background-blend-mode:normal;cursor:pointer;transition:var(--t);text-align:left;color:inherit;text-decoration:none}.file-drop:hover,.file-drop.is-dragging{border-color:var(--blue);border-style:solid;box-shadow:0 0 0 3.5px #4d71fb21;background:var(--grad-soft)}.file-drop.is-filled{cursor:default;min-height:0;padding:14px 16px;border-style:solid;border-color:var(--line);background:var(--surface-2);box-shadow:none}.file-drop.is-filled:hover{border-color:var(--line-strong);box-shadow:none;background:var(--surface-2)}.file-drop-ic{width:48px;height:48px;flex:0 0 48px;border-radius:16px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);color:var(--blue);box-shadow:var(--shadow-sm)}.file-drop.is-dragging .file-drop-ic,.file-drop:hover:not(.is-filled) .file-drop-ic{background:var(--grad);border-color:transparent;color:#fff}.file-drop-ic svg{width:22px;height:22px;stroke-width:1.7}.file-drop-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.file-drop-copy b{font-size:14.5px;font-weight:650;letter-spacing:-.01em}.file-drop-copy span{font-size:12.5px;color:var(--text-3);line-height:1.45}.file-drop-copy em{font-style:normal;font-weight:650;color:var(--blue)}.file-drop-meta{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.file-drop-meta b{font-size:13px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-drop-meta span{font-size:12px;color:var(--text-3)}.file-drop-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}@media(max-width:560px){.file-drop{flex-direction:column;text-align:center;padding:28px 18px}.file-drop.is-filled{flex-direction:row;text-align:left;padding:14px 16px}.file-drop-copy{align-items:center}}@media(max-width:1000px){.scan-shell{grid-template-columns:minmax(0,1fr)}.scan-summary{position:static}}.grid{display:grid;gap:16px}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-5{grid-template-columns:repeat(5,minmax(0,1fr))}.stat{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--shadow-sm);transition:var(--t)}.stat-body{min-width:0}.stat-label{margin:0 0 10px;font-size:12px;font-weight:600;color:var(--text-3)}.stat-ico{width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:grid;place-items:center;background:var(--grad-soft);color:var(--blue)}.stat-ico svg{width:19px;height:19px;stroke-width:1.9}.stat-pass .stat-ico{background:#0fa47f21;color:var(--sev-pass)}.stat-warn .stat-ico{background:#efae0529;color:#b98505}.stat-fail .stat-ico{background:#e5484d1f;color:var(--sev-critical)}.stat-val{font-size:28px;font-weight:700;letter-spacing:-.045em;line-height:1;display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}.stat-val small{font-size:13px;font-weight:600;color:var(--text-3);letter-spacing:-.01em}.stat-foot{margin:8px 0 0;font-size:12px;line-height:1.4;color:var(--text-3);font-weight:500}.projects-kpi-row{margin-bottom:24px}.projects-toolbar{align-items:stretch}.toolbar-pills.is-segmented{gap:2px;padding:3px;min-height:44px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-2);flex-wrap:nowrap}.toolbar-pills.is-segmented .filter-pill{min-height:36px;padding:0 10px;border:0;border-radius:7px;background:transparent}.toolbar-pills.is-segmented .filter-pill[aria-pressed=true]{background:var(--surface);box-shadow:0 1px 3px #05041e1f}.list-sort-ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:inline-grid;color:var(--text-3);pointer-events:none}.list-sort-ic svg{width:15px;height:15px}.list-sort select.inp{padding-left:34px}@media(min-width:1240px){.projects-list-card .card-head{flex-wrap:nowrap;align-items:center}.projects-list-card .card-head-title{flex:0 0 auto}.projects-list-card .projects-toolbar{flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-end;min-width:0}.projects-toolbar .toolbar-pills{flex:0 0 auto}.projects-toolbar .list-filter{flex:1 1 180px;max-width:300px;min-width:140px}.projects-toolbar .list-sort{flex:0 0 auto;min-width:0}}.filter-pill-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--surface-3);font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-2)}.filter-pill[aria-pressed=true] .filter-pill-count{background:#4d71fb29;color:var(--blue)}.filter-pill i.tone-pass{background:var(--sev-pass)}.filter-pill i.tone-neutral{background:var(--text-3)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px}.project-card{position:relative;display:flex;flex-direction:column;min-height:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:var(--t);overflow:hidden}.project-card.is-inactive,.project-card.is-paused{opacity:.88}.project-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.project-card-accent{display:block;height:3px;width:100%;background:var(--text-3)}.project-card-accent.tone-pass{background:linear-gradient(90deg,var(--blue),var(--sev-pass))}.project-card-accent.tone-warn{background:linear-gradient(90deg,var(--sev-high),var(--sev-medium))}.project-card-accent.tone-fail{background:linear-gradient(90deg,var(--sev-critical),var(--sev-high))}.project-card-accent.tone-neutral{background:var(--line-strong)}.project-card-head{display:flex;align-items:flex-start;gap:12px;padding:16px 16px 10px}.project-card-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto;color:inherit;text-decoration:none}.project-card-main:hover b{color:var(--blue)}.project-avatar{width:44px;height:44px;border-radius:12px;flex:0 0 44px;display:grid;place-items:center;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.project-avatar-a{background:linear-gradient(135deg,#4d71fb2e,#8565fc29);color:var(--blue)}.project-avatar-b{background:linear-gradient(135deg,#0fa47f29,#24d5f624);color:var(--sev-pass)}.project-avatar-c{background:linear-gradient(135deg,#f76b1529,#efae0524);color:var(--sev-high)}.project-card-titles{display:flex;flex-direction:column;gap:4px;min-width:0}.project-card-titles b{font-size:15px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-titles span{font-size:12px;color:var(--text-3);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-status{flex:0 0 auto;margin-top:2px}.project-card-body{display:block;color:inherit;text-decoration:none;padding:0 16px 14px}.project-spark{height:56px;margin-bottom:14px;border-radius:10px;overflow:hidden;background:linear-gradient(180deg,#4d71fb0f,#4d71fb03)}.project-spark svg{display:block;width:100%;height:100%}.project-spark-line{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.project-spark-area{stroke:none}.project-spark-pass .project-spark-line{stroke:var(--blue)}.project-spark-pass .project-spark-area{fill:#4d71fb24}.project-spark-warn .project-spark-line{stroke:var(--sev-high)}.project-spark-warn .project-spark-area{fill:#f76b151f}.project-spark-fail .project-spark-line{stroke:var(--sev-critical)}.project-spark-fail .project-spark-area{fill:#e5484d1a}.project-spark-neutral .project-spark-line{stroke:var(--text-3)}.project-spark-neutral .project-spark-area{fill:#82828f14}.project-metrics{display:grid;grid-template-columns:1.2fr repeat(2,minmax(0,1fr));gap:10px;padding-top:2px}.project-metric{min-width:0}.project-metric-label{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}.project-metric-val{display:block;font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.project-metric-unit{margin-left:2px;font-size:12px;font-weight:500;letter-spacing:0;color:var(--text-3)}.project-metric-name{display:block;font-size:13.5px;font-weight:600;line-height:1.35;letter-spacing:-.005em;font-variant-numeric:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-metric-val.tone-pass{color:var(--sev-pass)}.project-metric-val.tone-warn{color:var(--sev-high)}.project-metric-val.tone-fail{color:var(--sev-critical)}.project-metric-val.tone-neutral{color:var(--text-3)}.project-card-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-top:auto;padding:12px 16px 14px;border-top:1px solid var(--line-soft);background:var(--surface-2)}.project-card-meta{display:flex;flex-direction:column;gap:4px;min-width:120px;flex:1 1 120px;font-size:11.5px;color:var(--text-3)}.project-card-slug{font-size:11px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-meta time{font-variant-numeric:tabular-nums}.project-card-actions{display:flex;flex:0 1 auto;margin-left:auto;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.project-card-actions .btn-sm{min-height:34px;padding:0 10px;font-size:11px;gap:5px;border-radius:8px}.project-card-actions .btn-sm svg{width:12px;height:12px;flex:0 0 12px}.project-card-actions .icon-btn{width:34px;height:34px;flex:0 0 34px}.project-card-actions .icon-btn svg{width:14px;height:14px}.gauge{position:relative;width:170px;height:170px;flex:0 0 170px}.gauge svg{transform:rotate(-90deg);width:100%;height:100%}.gauge-mid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center}.gauge-mid b{font-size:42px;font-weight:700;letter-spacing:-.05em;line-height:1;display:block;font-variant-numeric:tabular-nums}.gauge-mid span{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--text-3);margin-top:6px;display:block}.brow{display:flex;align-items:center;gap:12px;padding:9px 0}.brow-name{width:150px;flex:0 0 150px;font-size:12.5px;font-weight:550;display:flex;align-items:center;gap:8px;min-width:0}.brow-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brow-track{flex:1;height:9px;border-radius:99px;background:var(--surface-3);overflow:hidden;display:flex}.brow-track i{display:block;height:100%;transition:width .7s var(--ease)}.brow-val{width:44px;flex:0 0 44px;text-align:right;font-size:12.5px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.legend{display:flex;flex-wrap:wrap;gap:14px}.legend div{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-2);font-weight:550}.legend i,.legend-dot{width:9px;height:9px;border-radius:3px;display:block;flex:0 0 9px}.sev-stack{height:12px;border-radius:99px;overflow:hidden;display:flex;margin-bottom:16px;background:var(--surface-3)}.sev-stack i{display:block;height:100%}.meter{display:flex;align-items:center;gap:12px}.meter-track{flex:1;height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}.meter-track i{display:block;height:100%;background:var(--grad);border-radius:99px;transition:width .6s var(--ease)}.meter b{font-size:12.5px;font-weight:700;letter-spacing:-.02em;flex:0 0 auto;font-variant-numeric:tabular-nums}.kpi-row{margin-bottom:22px}.tbl-scroll{overflow-x:auto}.list-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 22px;border-top:1px solid var(--line-soft);background:var(--surface-2)}.list-pager-meta{margin:0;font-size:12.5px;color:var(--text-3);font-weight:500}.list-pager-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.list-pager-btn{min-height:44px}.list-pager-btn svg{width:14px;height:14px}.list-pager-prev-ic{display:inline-grid;place-items:center;transform:scaleX(-1)}.tbl{width:100%;border-collapse:separate;border-spacing:0}.tbl th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);padding:11px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl th[aria-sort]{padding:0}.th-sort{display:inline-flex;align-items:center;gap:6px;width:100%;min-height:40px;padding:11px 16px;border:0;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;text-align:left;white-space:nowrap}.th-sort:hover,.th-sort.is-active{color:var(--text)}.th-sort:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;border-radius:var(--r-sm)}.th-sort-ic{display:inline-grid;opacity:.45}.th-sort.is-active .th-sort-ic{opacity:1;color:var(--blue)}.th-sort-ic svg{width:12px;height:12px}.tbl td{padding:12px 16px;border-bottom:1px solid var(--line-soft);font-size:13px;vertical-align:middle}.tbl tbody tr{transition:var(--t)}.tbl tbody tr:hover{background:var(--surface-2)}.tbl tbody tr:last-child td{border-bottom:0}.tbl .num{font-variant-numeric:tabular-nums;font-weight:600}.tbl .col-fit{width:1%;white-space:nowrap}.tbl .col-center{text-align:center}.tbl .col-center .th-sort{justify-content:center}.site-cell{display:flex;align-items:center;gap:11px;min-width:0}.fav{width:32px;height:32px;border-radius:9px;flex:0 0 32px;display:inline-flex;align-items:center;justify-content:center;line-height:0;background:var(--grad-soft);color:var(--blue);font-weight:700;font-size:12px;text-transform:uppercase}.vp-modal{max-width:820px;width:100%;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden}.vp-modal .modal-bar{flex-shrink:0;position:static}.vp-modal .vp-form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.vp-modal .modal-foot{flex-shrink:0}.vp-modal-bar{align-items:flex-start;gap:14px}.vp-modal-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:var(--grad-soft);border:1px solid rgba(77,113,251,.22);color:var(--blue)}.vp-modal-icon svg{width:18px;height:18px;stroke-width:2}.vp-modal-head{flex:1;min-width:0}.vp-modal-head h2{font-size:20px;font-weight:700;letter-spacing:-.03em;margin:2px 0 0}.vp-modal-lede{margin:6px 0 0;font-size:13px;color:var(--text-3);line-height:1.5}.vp-modal-body{padding-top:16px;padding-bottom:16px;overflow-y:auto;flex:1;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.vp-modal-grid{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:18px;align-items:start}.vp-modal-preview{padding:12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft)}.vp-modal-preview .vp-preview,.vp-modal-preview .vp-preview-compact{min-height:0;padding:4px 0 0;border:0;background:transparent;gap:8px}.vp-preview-compact{min-height:0}.vp-preview-compact.vp-preview-empty{padding:8px 0}.vp-preview-compact.vp-preview-empty p{display:none}.vp-preview-compact .vp-preview-meta{font-size:10px;gap:4px}.vp-preview-compact .vp-preview-size{font-size:11px}.vp-modal-fields{display:flex;flex-direction:column;gap:18px;min-width:0}.vp-form-sec-title{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.vp-opts-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vp-preview-label{margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.vp-opts{display:flex;flex-direction:column;gap:10px}.vp-opt{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:var(--t);text-align:left;width:100%}.vp-opt:hover{border-color:var(--line-strong)}.vp-opt:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}.vp-opt:has(input:checked){border-color:#4d71fb73;background:var(--grad-soft)}.vp-opt:has(input:checked) .cbx{background:var(--grad);border-color:transparent}.vp-opt:has(input:checked) .cbx svg{opacity:1;transform:none}.vp-opt-t{flex:1;min-width:0}.vp-opt-t b{display:block;font-size:13px;font-weight:650;color:var(--text)}.vp-opt-t span{display:block;margin-top:3px;font-size:12px;line-height:1.45;color:var(--text-3)}.vp-preview{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 14px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft);min-height:220px;justify-content:center}.vp-preview-empty{text-align:center}.vp-preview-empty .empty-ic{margin:0 auto 10px}.vp-preview-empty b{display:block;font-size:13px}.vp-preview-empty p{margin:6px 0 0;font-size:12px;color:var(--text-3);line-height:1.5}.vp-preview-box{display:grid;place-items:center;max-width:100%}.vp-preview-stage{position:relative;box-sizing:border-box;border-radius:10px;border:2px solid var(--line);background:linear-gradient(180deg,#4d71fb1a,#8565fc0a),var(--surface);box-shadow:var(--shadow-sm)}.vp-preview-stage.is-landscape{border-radius:6px}.vp-preview-notch{position:absolute;top:5px;left:50%;transform:translate(-50%);width:30%;max-width:34px;height:3px;border-radius:99px;background:var(--line)}.vp-preview-bar{position:absolute;inset:0 0 auto;display:flex;align-items:center;gap:3px;height:9px;padding:0 5px;border-bottom:1px solid var(--line);background:var(--surface-2);border-radius:4px 4px 0 0}.vp-preview-bar i{width:3px;height:3px;border-radius:50%;background:var(--line-strong)}.vp-preview-size{margin:0;font-size:11.5px;font-weight:650;color:var(--text-2);font-family:var(--font-mono);white-space:nowrap}.vp-preview-meta{display:flex;align-items:center;justify-content:center;gap:6px;max-width:100%;margin:0;font-size:11.5px;color:var(--text-2)}.vp-preview-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vp-preview-meta svg{width:14px;height:14px;stroke-width:1.9}.vp-preview-ratio{padding:2px 8px;border-radius:99px;background:var(--surface-3);color:var(--text-3);font-size:10.5px;font-weight:650}.vp-list-card .card-toolbar .list-filter{flex:1 1 240px}.list-filter{margin:0;flex:1 1 220px;max-width:320px;min-width:min(100%,200px)}.list-sort{position:relative;margin:0;display:flex;align-items:center;gap:6px;flex:0 1 auto;min-width:min(100%,200px)}.list-sort select.inp{min-height:44px;flex:1 1 auto}.list-filter .inp,.list-filter select.inp{min-height:44px;padding-top:10px;padding-bottom:10px}.card-toolbar .list-filter{width:auto;max-width:320px}.vp-fav{background:var(--grad-soft);border:1px solid rgba(77,113,251,.2)}.vp-row-editing{background:var(--grad-soft)}.vp-row-editing .site-t b{color:var(--blue)}.vp-tbl td:last-child{width:1%;white-space:nowrap;text-align:right}.fav svg,.vp-fav svg{display:block;width:16px;height:16px;margin:0;stroke-width:1.9;flex:0 0 auto}.vp-chips,.vp-actions{display:inline-flex;align-items:center;gap:4px;flex-wrap:nowrap;white-space:nowrap}.vp-actions{justify-content:flex-end}.icon-btn.vp-danger:hover:not(:disabled){color:var(--sev-critical);border-color:#e5484d59;background:#e5484d14}.vp-danger:hover:not(:disabled){color:var(--sev-critical);border-color:#e5484d66}.site-cell .site-t{min-width:0}.site-cell b{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-cell .site-t>span{display:block;font-size:11.5px;color:var(--text-3);margin-top:1px;font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-cell .site-t>.user-profile-line{margin-top:2px;font-family:inherit;font-size:12px;color:var(--text-2)}.person-name{display:inline-grid;gap:1px;min-width:0;max-width:100%}.person-name>span,.person-name>small{overflow:hidden;text-overflow:ellipsis}.person-name>small{font-size:11.5px;font-weight:500;letter-spacing:0;color:var(--text-3);white-space:nowrap}.site-cell .site-t>.vp-row-why{max-width:46ch;margin-top:3px;font-family:inherit;color:var(--text-2);white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.issues-filter{max-width:420px}.reports-tbl td:last-child{width:1%;white-space:nowrap;text-align:right}.report-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.report-row-actions .btn-sm{white-space:nowrap}.score-ring{width:40px;height:40px;flex:0 0 40px;position:relative}.score-ring svg{transform:rotate(-90deg);width:100%;height:100%}.score-ring b{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}.vp-tabs{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;padding:6px;border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line);margin-bottom:16px}.vp-tab-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:3px}.vp-tab-meta .vp-count{margin:0}.vp-tab{display:flex;align-items:center;gap:10px;padding:10px 14px;min-height:44px;border-radius:var(--r-md);transition:var(--t);position:relative;text-align:left;min-width:0;border:1px solid transparent}.vp-tab:hover{background:var(--surface)}.vp-tab[aria-selected=true]{background:var(--surface);box-shadow:var(--shadow-sm);border-color:var(--line)}.vp-tab[aria-selected=true]:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:var(--grad)}.vp-tab-txt{min-width:0;flex:1}.vp-tab b{display:block;font-size:12.5px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vp-tab-meta>span:first-child{font-size:10.5px;color:var(--text-3);font-family:var(--font-mono)}.vp-count{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:99px;background:var(--surface-3);color:var(--text-2);flex:0 0 auto}.vp-count-pass{background:#0fa47f21;color:var(--sev-pass)}.vp-count-warn{background:#efae052e;color:#b98505}html[data-theme=dark] .vp-count-warn{color:var(--sev-medium)}.vp-count-fail{background:#e5484d21;color:var(--sev-critical)}.report-shell{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:18px;align-items:start}.editor-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:11px 14px;margin-bottom:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.vp-issues-heading{min-width:0;display:grid;gap:2px}.vp-issues-viewport{margin:0;font-size:14px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.selinfo{margin:0;font-size:12.5px;color:var(--text-2);font-weight:550;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.selinfo b{color:var(--text);font-weight:700}.vp-why{margin:0 0 14px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft);font-size:12.5px;line-height:1.5;color:var(--text-2)}.vp-why b{color:var(--text);font-weight:650}.filter-pill{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line-soft);font-size:12px;font-weight:600;color:var(--text-2);transition:var(--t)}.filter-pill:hover{background:var(--surface-3);color:var(--text)}.filter-pill[aria-pressed=true]{background:var(--grad-soft);color:var(--blue);border-color:#4d71fb4d}.filter-pill i{width:7px;height:7px;border-radius:99px;display:block}.report-builder-shell{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:18px;align-items:start}.report-builder-config{display:grid;gap:14px}.report-builder-card .card-head{align-items:center}.report-select-all{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;min-height:44px;padding:8px 12px;margin:0;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);font-size:13.5px;font-weight:650;color:var(--text);white-space:nowrap;cursor:pointer}.report-select-all:hover{background:var(--surface-3)}.report-select-all:focus-within{outline:2px solid color-mix(in srgb,var(--blue) 45%,transparent);outline-offset:2px}.report-select-all input{width:18px;height:18px;margin:0;flex:0 0 18px;accent-color:var(--blue);cursor:pointer}.report-fullpage-opt{align-items:flex-start;padding:12px 14px;margin-bottom:14px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2)}.report-fullpage-opt span{display:grid;gap:4px;font-weight:650;color:var(--text)}.report-fullpage-opt small{font-size:12.5px;font-weight:500;line-height:1.4;color:var(--text-3)}.report-findings-tree{display:grid;gap:10px;max-height:min(62vh,640px);overflow:auto}.report-tree-group,.report-tree-section{display:grid;gap:4px}.report-tree-section{padding-left:18px}.report-tree-row{display:flex;align-items:flex-start;gap:8px;min-height:36px}.report-tree-row-head{font-weight:650}.report-tree-toggle{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:8px;color:var(--text-3)}.report-tree-toggle:hover{background:var(--surface-2);color:var(--text)}.report-tree-toggle svg{width:14px;height:14px}.report-tree-check{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0;font-size:13px;color:var(--text);cursor:pointer}.report-tree-check input{width:16px;height:16px;margin-top:2px;flex:0 0 16px;accent-color:var(--blue)}.report-tree-finding{padding-left:36px;align-items:center}.report-tree-spacer{width:28px;flex:0 0 28px}.report-tree-finding-copy{display:grid;gap:2px;min-width:0}.report-tree-finding-copy b{font-size:13px;font-weight:650}.report-tree-finding-copy span{display:block;font-size:12px;color:var(--text-3);line-height:1.4}.issue-shot-link{display:inline-block;line-height:0}.issue-shot-thumb{width:56px;height:42px;object-fit:cover;border-radius:8px;border:1px solid var(--line-soft);background:var(--surface-2)}.issue-shot-link:hover .issue-shot-thumb{border-color:#4d71fb73}.chip-report-critical{background:#e5484d1f;color:var(--sev-critical)}.chip-report-high{background:#f5822024;color:#c45d12}.chip-report-medium{background:#eab30829;color:#9a6700}.chip-report-low{background:var(--surface-3);color:var(--text-3)}.report-summary-field{display:grid;gap:8px}.report-summary-input{min-height:148px;resize:vertical;line-height:1.5}.report-generate-btn{width:100%;margin-top:14px}.report-generate-btn .spin{border-color:#fff6;border-top-color:#fff}.report-preview-pane{position:sticky;top:calc(var(--topbar-h) + 16px);display:grid;gap:12px}.report-preview-head{display:flex;justify-content:flex-end}.report-doc{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-md);overflow:hidden;color:var(--text)}.report-doc-cover{position:relative;padding:28px 24px 22px;color:#fff;background:radial-gradient(circle at 88% 6%,rgba(77,113,251,.42) 0%,rgba(133,101,252,.2) 30%,transparent 54%),linear-gradient(155deg,#1a1f32,#12151f 52%,#0d1018)}.report-doc-brand{margin-bottom:18px}.report-doc-brand .brand-logo{width:auto;max-width:220px;height:auto;color:#fff}.report-doc-brand .brand-logo-mark{height:36px}.report-doc-brand .brand-logo-name{font-size:20px}.report-doc-kicker{font-size:clamp(1.45rem,2.4vw,2rem);font-weight:700;letter-spacing:-.03em;margin:0 0 8px}.report-doc-title{margin:0;font-size:14px;font-weight:500;line-height:1.5;opacity:.88}.report-doc-title span{display:block;margin-top:4px;font-size:12.5px;opacity:.72}.report-doc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px}.report-doc-stats div{padding:12px 10px;border-radius:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.08)}.report-doc-stats span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;opacity:.72}.report-doc-stats b{display:block;margin-top:6px;font-size:22px;line-height:1}.report-doc-stats b small{font-size:14px;font-weight:600;opacity:.72}.report-doc-stats .report-doc-stat-name{font-size:15px;line-height:1.25;word-break:break-word}.report-doc-stats .report-doc-stat-name .person-name{font-size:15px;text-transform:none;letter-spacing:normal;opacity:1}.report-doc-stats .report-doc-stat-name .person-name>span{font-size:15px;text-transform:none;letter-spacing:normal;opacity:1}.report-doc-stats .report-doc-stat-name .person-name>small{margin-top:3px;font-size:12px;font-weight:500;letter-spacing:normal;text-transform:none;color:#ffffffd1;opacity:1;white-space:normal}.report-doc-section{padding:18px 20px 20px;border-top:1px solid var(--line-soft);background:var(--surface)}.report-doc-viewport-section{padding-top:0;border-top:3px solid rgba(77,113,251,.55);background:var(--surface)}.report-doc-viewport-section+.report-doc-viewport-section{margin-top:14px;border-top-width:3px;border-top-color:#4d71fb8c;box-shadow:inset 0 14px #4d71fb0f}.report-doc-section-title{margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.report-doc-viewport-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:0 0 20px;margin-inline:-20px;padding:16px 20px 16px 18px;border-bottom:1px solid rgba(77,113,251,.22);background:linear-gradient(90deg,rgba(77,113,251,.16) 0%,rgba(133,101,252,.08) 48%,var(--surface-2) 100%);border-left:6px solid var(--blue);box-shadow:inset 0 -1px #4d71fb1f;font-size:18px;font-weight:800;letter-spacing:-.03em;line-height:1.2;color:var(--text)}.report-doc-viewport-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;width:100%;padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;color:inherit;text-align:left;cursor:pointer}.report-doc-viewport-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:6px}.report-doc-viewport-chevron{margin-left:4px;display:inline-grid;color:var(--text-3);transition:transform .2s var(--ease)}.report-doc-viewport-chevron svg{width:18px;height:18px}.report-doc-viewport-section.is-collapsed .report-doc-viewport-chevron{transform:rotate(-90deg)}.report-doc-viewport-section.is-collapsed .report-doc-viewport-body{display:none}.report-doc-viewport-section.is-collapsed .report-doc-viewport-title{margin-bottom:0}.report-doc-collapse-all{display:flex;justify-content:flex-end;margin:0 0 10px;padding:0 20px}.is-exporting .report-doc-viewport-section.is-collapsed .report-doc-viewport-body{display:block}.is-exporting .report-doc-viewport-section.is-collapsed .report-doc-viewport-title{margin-bottom:20px}.is-exporting .report-doc-viewport-chevron,.is-exporting .report-doc-collapse-all{display:none}.report-doc-viewport-name{min-width:0;color:var(--text)}.report-doc-viewport-why{margin:-8px 0 18px;font-size:12.5px;line-height:1.5;color:var(--text-2)}.report-doc-viewport-why b{color:var(--text);font-weight:700}.report-doc-viewport-size{font-size:12.5px;font-weight:700;font-family:var(--font-mono);letter-spacing:-.02em;color:var(--blue);padding:4px 10px;border-radius:999px;background:#4d71fb1f;border:1px solid rgba(77,113,251,.28)}.report-doc-viewport-count{margin-left:auto;font-size:12px;font-weight:700;color:#fff;padding:5px 11px;border-radius:999px;background:var(--grad-btn);border:0;box-shadow:0 4px 12px -6px #4d71fbb3}.report-doc-viewport-block+.report-doc-viewport-block{margin-top:18px}.report-doc-sev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.report-doc-sev{border-radius:12px;padding:14px 10px;text-align:center;border:1px solid transparent}.report-doc-sev b{display:block;font-size:28px;line-height:1}.report-doc-sev span{display:block;margin-top:6px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.report-doc-sev-findings{background:#4d71fb1f;color:var(--blue);border-color:#4d71fb38}.report-doc-sev-critical{background:#e5484d1f;color:var(--sev-critical);border-color:#e5484d38}.report-doc-sev-high{background:#f76b151f;color:var(--sev-high);border-color:#f76b1538}.report-doc-sev-medium{background:#efae0524;color:var(--sev-medium);border-color:#efae053d}.report-doc-sev-low{background:var(--surface-2);color:var(--sev-low);border-color:var(--line-soft)}.report-doc-note{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--grad-soft);border-left:4px solid var(--blue)}.report-doc-note b{display:block;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--blue)}.report-doc-note p{margin:0;font-size:13px;line-height:1.55;color:var(--text-2);white-space:pre-wrap}.report-doc-findings{display:grid;gap:12px}.report-doc-finding{display:grid;gap:12px;padding:12px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-2)}.report-doc-finding-shot{display:block;width:min(100%,640px);height:auto;margin:0 auto;object-fit:contain;border-radius:10px;border:1px solid var(--line-soft);background:var(--surface)}.report-doc-finding-shot-empty{display:none}.report-doc-finding-body{min-width:0}.report-doc-finding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.report-doc-finding-head b{font-size:14px;line-height:1.35}.report-doc-finding-meta{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--text-3)}.report-doc-appendix{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.report-doc-appendix-groups{display:grid;gap:28px}.report-doc-appendix-viewport{padding:0;border-radius:12px;border:1px solid var(--line);background:var(--surface);overflow:hidden}.report-doc-appendix-viewport .report-doc-viewport-title{margin-bottom:0;margin-inline:0}.report-doc-appendix-viewport .report-doc-appendix-category{padding:16px 18px 18px}.report-doc-appendix-viewport+.report-doc-appendix-viewport{padding-top:0;border-top:1px solid var(--line)}.report-doc-appendix-category+.report-doc-appendix-category{margin-top:0;padding-top:16px;border-top:1px dashed var(--line)}.report-doc-appendix-category .report-doc-section-title{margin-bottom:12px}.report-doc-appendix-shot{margin:0;min-width:0;display:grid;gap:10px}.report-doc-appendix-shot figcaption{display:flex;align-items:flex-start;gap:12px;padding:0 2px}.report-doc-appendix-index{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;font-size:11px;font-weight:700;font-family:var(--font-mono);letter-spacing:-.02em;color:var(--blue);background:var(--grad-soft);border:1px solid var(--line-soft)}.report-doc-appendix-copy{min-width:0;display:grid;gap:3px;padding-top:4px}.report-doc-appendix-copy b{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.report-doc-appendix-copy span{font-size:11.5px;color:var(--text-3)}.report-doc-appendix-frame{margin:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:visible;background:var(--surface-2);box-shadow:var(--shadow-sm)}.report-doc-appendix-chrome{height:28px;display:flex;align-items:center;gap:6px;padding:0 11px;background:var(--surface-3);border-bottom:1px solid var(--line-soft);border-radius:var(--r-md) var(--r-md) 0 0}.report-doc-appendix-chrome i{width:7px;height:7px;border-radius:99px;background:var(--line-strong);display:block;flex:0 0 7px}.report-doc-appendix-chrome span{flex:1;margin-left:8px;height:17px;border-radius:5px;background:var(--surface);display:flex;align-items:center;padding:0 8px;font-size:9px;color:var(--text-3);font-family:var(--font-mono);letter-spacing:-.02em;overflow:hidden;white-space:nowrap}.report-doc-appendix-media{display:block;overflow:visible;max-height:none;background:var(--surface);border-radius:0 0 var(--r-md) var(--r-md)}.report-doc-appendix-media img{display:block;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;object-position:top center;background:#fff}.report-doc-device{min-width:0}.report-doc-device .vp-preview{width:100%;min-height:auto;padding:12px 10px 10px;background:var(--surface-2);border-color:var(--line-soft)}.report-doc-device .vp-preview-stage{background:linear-gradient(180deg,#4d71fb14,#8565fc08),var(--surface);border-color:var(--line)}.report-doc-device .vp-preview-meta{font-size:10px;color:var(--text-2)}.report-doc-device .vp-preview-meta span:first-of-type{flex:1 1 100%;text-align:center;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.report-doc-device .vp-preview-size{color:var(--text-3)}.sec-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.sec-actions .btn-sm{min-height:34px;padding:0 10px;font-size:11px}.sec{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:14px;box-shadow:var(--shadow-sm);overflow:hidden}.sec-bar{display:flex;align-items:center;gap:13px;width:100%;padding:15px 18px;transition:var(--t);position:relative;text-align:left}.sec-bar:hover{background:var(--surface-2)}.sec-bar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad);opacity:0;transition:var(--t)}.sec.is-open .sec-bar:before{opacity:1}.sec-caret{width:16px;height:16px;flex:0 0 16px;color:var(--text-3);transition:transform var(--t)}.sec-caret svg{width:100%;height:100%;stroke-width:2}.sec.is-open .sec-caret{transform:rotate(90deg)}.sec-ico{width:34px;height:34px;border-radius:11px;flex:0 0 34px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line-soft);color:var(--text-2);font-size:12px;font-weight:700}.sec-ico svg{width:17px;height:17px;stroke-width:1.7}.sec-meta{flex:1;min-width:0}.sec-meta b{display:block;font-size:14px;font-weight:650;letter-spacing:-.015em;word-break:break-word}.sec-url{display:block;font-size:11.5px;color:var(--text-3);margin-top:2px;font-family:var(--font-mono);word-break:break-all}a.sec-url:hover{color:var(--blue)}.sec-sevs{display:flex;gap:5px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.sec-body{padding:0 18px 16px;border-top:1px solid var(--line-soft)}.sec-toggle{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:10px;color:var(--text-3);transition:var(--t)}.sec-toggle:hover{background:var(--surface-3);color:var(--text)}.sec-empty{padding-top:16px}.vp-detail{display:grid;grid-template-columns:minmax(260px,.92fr) minmax(0,1.15fr);gap:20px;align-items:start;padding-top:8px}.vp-detail-solo{grid-template-columns:minmax(0,1fr)}.vp-shot{position:sticky;top:calc(var(--topbar-h) + 16px);min-width:0;max-width:none}.vp-detail .shot-stage{max-height:min(68vh,720px);overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable}.vp-detail .shot-stage img{display:block;width:100%;height:auto;max-height:none}.vp-detail-main{min-width:0;display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.vp-detail-main .editor-bar{margin:0;border:0;border-bottom:1px solid var(--line-soft);border-radius:0;box-shadow:none;background:var(--surface-2)}.vp-detail-main .find-list,.vp-detail-main .empty{padding:4px 14px 12px}.vp-detail-main>.alert{margin:12px 14px 0}.shot-cap svg{width:12px;height:12px;display:inline-block;vertical-align:-1px;stroke-width:2}.find-list{counter-reset:finding}.find{display:flex;gap:15px;padding:16px 4px;border-bottom:1px solid var(--line-soft)}.find:last-child{border-bottom:0}.find-n{width:22px;height:22px;flex:0 0 22px;border-radius:99px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff;background:var(--sev-low);margin-top:2px;font-variant-numeric:tabular-nums}.find-n-fail{background:var(--sev-critical)}.find-n-warn{background:var(--sev-medium);color:#3a2a00}.find-body{flex:1;min-width:0}.find-section{margin:4px 0 0;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.find-shot{flex:0 0 112px;width:112px;align-self:flex-start;padding:0;border:0;background:none;cursor:zoom-in;border-radius:8px}.find-shot img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;border:1px solid var(--line-soft);background:var(--surface-2)}.find-shot:hover img{border-color:#4d71fb73;box-shadow:0 0 0 2px #4d71fb1f}.find-head{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:7px}.find-title{font-size:13.5px;font-weight:650;letter-spacing:-.015em;line-height:1.35;flex:1;min-width:0}.find-desc{font-size:12.5px;color:var(--text-2);line-height:1.55}.find-el{display:inline-flex;align-items:center;gap:7px;font-size:11px;padding:5px 9px;margin-top:10px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line-soft);color:var(--text-2);font-family:var(--font-mono);letter-spacing:-.02em;max-width:100%;word-break:break-all}.shot{position:relative;border-radius:var(--r-md);overflow:hidden;background:var(--surface-2);border:1px solid var(--line);width:100%;display:block;transition:var(--t);padding:0}button.shot:hover{border-color:var(--blue);box-shadow:var(--shadow-md)}.shot-chrome{height:28px;display:flex;align-items:center;gap:6px;padding:0 11px;background:var(--surface-3);border-bottom:1px solid var(--line-soft)}.shot-chrome i{width:7px;height:7px;border-radius:99px;background:var(--line-strong);display:block;flex:0 0 7px}.shot-url{flex:1;margin-left:8px;height:17px;border-radius:5px;background:var(--surface);display:flex;align-items:center;padding:0 8px;font-size:9px;color:var(--text-3);font-family:var(--font-mono);letter-spacing:-.02em;overflow:hidden;white-space:nowrap}.shot-stage{display:block;overflow:hidden;background:var(--surface);max-height:320px}.shot-stage img{display:block;width:100%;height:auto}.shot-cap{font-size:11px;color:var(--text-3);margin-top:10px;line-height:1.5}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;flex-direction:column;background:var(--bg-deep)}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 20px;background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border-bottom:1px solid var(--line)}.viewer-bar b{font-size:13.5px;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-body{flex:1;overflow:auto;padding:24px 16px 48px}.viewer-body img{display:block;width:min(1100px,100%);height:auto;margin:0 auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-lg)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#0c0d168c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:start center;padding:30px 20px;overflow:auto;animation:fade .22s var(--ease)}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);max-width:860px;width:100%;animation:pop .3s var(--ease) both}@keyframes pop{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}.modal-bg.modal-bg-centered{display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden}.modal-bg.modal-bg-centered>.modal{margin:0;width:100%;flex-shrink:0}.modal-foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 24px;border-top:1px solid var(--line-soft);background:var(--surface-2);border-radius:0 0 var(--r-xl) var(--r-xl)}.confirm-modal{max-width:440px}.page-list-modal{max-width:820px;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden}.page-list-modal .modal-bar h2{margin:2px 0 0;font-size:18px}.page-list-modal .modal-bar .sub{margin:4px 0 0;font-size:12.5px;color:var(--text-2)}.page-list-modal .modal-body{overflow-y:auto;padding:0 0 8px}.page-list-modal .tbl th:first-child,.page-list-modal .tbl td:first-child{padding-left:24px}.page-list-modal .tbl th:last-child,.page-list-modal .tbl td:last-child{padding-right:24px}.page-list-modal .tbl tbody tr:last-child td{border-bottom:0}.page-list-modal .site-t b{display:block;font-size:13px;font-weight:650}.page-list-modal .site-t span{display:block;margin-top:2px;font-size:11.5px;color:var(--text-3);font-family:var(--font-mono);word-break:break-all}.page-list-modal .alert{margin:16px 24px}.page-list-modal .empty{padding-left:24px;padding-right:24px}.page-list-action{text-align:right;white-space:nowrap}.site-more{display:inline-block;margin:4px 0 0 44px;padding:2px 8px;border:1px solid var(--line);border-radius:99px;background:var(--surface-2);font-size:11.5px;font-weight:600;color:var(--text-2);cursor:pointer}.site-more:hover{color:var(--text);border-color:var(--blue)}.site-more:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.confirm-body{padding:28px 24px 8px;text-align:center}.confirm-icon{width:52px;height:52px;margin:0 auto 16px;display:grid;place-items:center;border-radius:16px}.confirm-icon svg{width:22px;height:22px;stroke-width:2}.confirm-icon-danger{background:#e5484d1f;border:1px solid rgba(229,72,77,.28);color:var(--sev-critical)}.confirm-icon-warn{background:#efae051f;border:1px solid rgba(239,174,5,.32);color:#a87400}html[data-theme=dark] .confirm-icon-warn{color:var(--sev-medium)}.dup-urls-list{display:grid;gap:6px;max-height:220px;margin:18px 0 0;padding:10px 12px;overflow-y:auto;list-style:none;border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--surface-2);text-align:left}.dup-urls-list li{display:flex;align-items:center;gap:10px;min-width:0}.dup-urls-list .mono{flex:1 1 auto;min-width:0;overflow:hidden;font-size:12px;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis}.dup-urls-list .chip{flex:0 0 auto}.url-dup-note{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:6px 0 0;font-size:12px;color:#946a00}html[data-theme=dark] .url-dup-note{color:var(--sev-medium)}.url-dup-note svg{width:14px;height:14px}.confirm-body h2{margin:0 0 10px;font-size:20px;font-weight:700;letter-spacing:-.03em}.confirm-lede{margin:0;font-size:13.5px;color:var(--text-2);line-height:1.55}.confirm-lede strong{color:var(--text);font-weight:650}.confirm-detail{display:flex;align-items:center;gap:12px;margin-top:20px;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--surface-2);text-align:left}.confirm-detail-t{flex:1;min-width:0}.confirm-detail-t b{display:block;font-size:13px;font-weight:650}.confirm-detail-t span{display:block;margin-top:2px;font-size:12px;color:var(--text-3);font-family:var(--font-mono)}.confirm-foot{justify-content:stretch}.confirm-foot .btn{flex:1 1 0}.modal-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid var(--line-soft);position:sticky;top:0;background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;z-index:2}.modal-body{padding:22px 24px 28px}.modal-body h2{font-size:clamp(20px,3vw,26px);font-weight:700;letter-spacing:-.03em;margin-bottom:12px}.modal-body h3{margin:24px 0 8px;font-size:14px;font-weight:650}.modal-body p,.modal-body li{font-size:13.5px;color:var(--text-2);line-height:1.6}.modal-body p+p,.modal-body p+ul{margin-top:10px}.modal-body ul{padding-left:1.1em;list-style:disc}.modal-body li+li{margin-top:6px}.modal-body strong{color:var(--text);font-weight:600}.rule-list{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.rule-row{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line-soft)}.rule-row:last-child{border-bottom:0}.rule-row b{font-size:13px;font-weight:650;flex:0 0 clamp(140px,26%,200px)}.rule-row p{flex:1;min-width:200px;font-size:12.5px}.rules-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.rules-tab{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--text-2);font:inherit;font-size:13.5px;font-weight:650;cursor:pointer;white-space:nowrap}.rules-tab svg{width:15px;height:15px}.rules-tab:hover{color:var(--text)}.rules-tab[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue)}.rules-tab:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;border-radius:6px 6px 0 0}.rules-tab-count{min-width:22px;padding:1px 7px;border-radius:99px;background:var(--surface-3);color:var(--text-2);font-size:11.5px;font-variant-numeric:tabular-nums;text-align:center}.rules-tab[aria-selected=true] .rules-tab-count{background:#4d71fb24;color:var(--blue)}.rules-stage-help{margin:0 0 16px;font-size:13px;color:var(--text-2)}.rules-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:16px;align-items:start}.rules-list-card,.rules-detail{min-width:0}.rules-detail{position:sticky;top:84px}.rules-toolbar{flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.rules-toolbar .field{margin:0}.rules-toolbar .list-filter{flex:0 1 280px;min-width:180px}.rules-select{flex:0 0 auto}.rules-select select.inp{min-width:150px}.rules-list-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px 0;font-size:12px;color:var(--text-3)}.link-btn{padding:0;border:0;background:none;color:var(--blue);font:inherit;font-weight:600;cursor:pointer}.link-btn:hover{text-decoration:underline}.rules-table{--rules-cols: minmax(0, 1fr) 80px 112px 96px 112px;padding:4px 8px 12px}.rules-table.is-active{--rules-cols: minmax(0, 1fr) 80px 112px 96px}.rules-cols,.rules-row{display:grid;grid-template-columns:var(--rules-cols);align-items:center;gap:12px}.rules-cols{padding:10px 10px 6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.rules-group+.rules-group{margin-top:6px}.rules-group-title{display:flex;align-items:center;gap:8px;margin:10px 10px 4px;font-size:12px;font-weight:700;color:var(--text-2)}.rules-group-title span{color:var(--text-3);font-weight:600}.rules-group ul{margin:0;padding:0;list-style:none}.rules-row{padding:8px 10px;border-radius:10px;border:1px solid transparent}.rules-row:hover{background:var(--surface-2)}.rules-row.is-selected{background:#4d71fb12;border-color:#4d71fb4d}.rules-row-main{display:grid;gap:2px;min-width:0;padding:2px 0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.rules-row-main:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:6px}.rules-row-main b{font-size:13.5px;font-weight:650;line-height:1.35}.rules-row-main span{font-size:12px;line-height:1.45;color:var(--text-3);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.rules-cell{display:flex;align-items:center;min-width:0}.rules-action{justify-content:flex-end}.rules-muted{font-size:12px;color:var(--text-3)}.rules-detail-body h2{margin:4px 0 12px;font-size:20px;line-height:1.25;letter-spacing:-.01em}.rules-detail-chips{display:flex;flex-wrap:wrap;gap:6px}.rules-stage-chip.is-active{background:#0fa47f21;color:var(--sev-pass)}.rules-stage-chip.is-planned{background:#4d71fb1f;color:var(--blue)}.rules-detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 4px;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}.rules-detail-actions .hint{flex-basis:100%;margin:0}.rules-detail-dl{display:grid;gap:14px;margin:16px 0 0}.rules-detail-dl>div{display:grid;gap:4px}.rules-detail-dl dt{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.rules-detail-dl dd{margin:0;font-size:13.5px;line-height:1.55;color:var(--text)}.rules-detail-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rules-detail-dl code{font-family:var(--font-mono);font-size:12.5px}@media(max-width:1240px){.rules-shell{grid-template-columns:minmax(0,1fr)}.rules-detail{position:static}}@media(max-width:860px){.rules-cols{display:none}.rules-table,.rules-table.is-active{--rules-cols: minmax(0, 1fr) auto}.rules-row{grid-template-columns:minmax(0,1fr);gap:8px}.rules-row .rules-cell{display:inline-flex}.rules-row{display:flex;flex-wrap:wrap}.rules-row-main{flex:1 1 100%}.rules-row-main span{-webkit-line-clamp:2}.rules-action{margin-left:auto}}@media(max-width:720px){.rules-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px}.rules-toolbar .field{margin:0}.rules-toolbar .list-filter{grid-column:1 / -1;min-width:0}.rules-select select.inp{min-width:0;width:100%}.rules-tab{padding:0 10px;gap:6px}}.run-summary{grid-template-columns:320px minmax(0,1fr);margin-bottom:22px}.run-kpis{grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}.run-created-by-val{font-size:18px;letter-spacing:-.02em;line-height:1.3;word-break:break-word;font-variant-numeric:normal}.run-gauge{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.run-pages-title{margin-top:4px}@media(max-width:1000px){.run-summary{grid-template-columns:minmax(0,1fr)}.run-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vp-detail{grid-template-columns:minmax(0,1fr)}.vp-shot{position:static;max-width:none}.vp-detail .shot-stage{max-height:min(52vh,420px);overflow:auto}}@media(max-width:1500px){.report-shell{grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:1240px){.report-shell,.report-builder-shell{grid-template-columns:minmax(0,1fr)}.report-preview-pane{position:static}.report-shell{grid-template-columns:minmax(0,1fr)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g-5{grid-template-columns:repeat(3,minmax(0,1fr))}.inspector{position:static}}@media(max-width:1000px){.sidebar{position:fixed;inset:0 auto 0 0;transform:translate(-100%);transition:transform var(--t);box-shadow:var(--shadow-lg)}.sidebar.is-open{transform:none}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#0c0d1680;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:0}.nav-toggle{display:grid}.g-3,.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid,.vp-modal-grid,.vp-opts-row{grid-template-columns:minmax(0,1fr)}.vp-modal-body,.vp-modal .modal-bar,.vp-modal .modal-foot{padding-left:16px;padding-right:16px}}@media(max-width:720px){.wrap{padding:20px 16px 56px}.topbar{padding:0 14px;gap:8px}.topbar-actions{gap:8px}.list-pager{padding:12px 16px}.crumbs{display:none}.g-2,.g-3,.g-4,.g-5{grid-template-columns:minmax(0,1fr)}.card-pad{padding:16px}.card-head{padding:14px 16px}.card-toolbar{flex-basis:100%;justify-content:stretch}.card-toolbar .list-filter,.card-toolbar .toolbar-btn,.card-toolbar .toolbar-pills{flex:1 1 100%;max-width:none;width:100%}.card-toolbar .toolbar-pills{justify-content:stretch}.card-toolbar .filter-pill{flex:1 1 auto;justify-content:center}.project-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card-actions{justify-content:flex-start}.project-card-actions .btn-sm{min-height:44px;padding:0 14px;font-size:12px;gap:8px}.project-card-actions .btn-sm svg{width:13px;height:13px;flex:0 0 13px}.project-card-actions .icon-btn{width:44px;height:44px;flex:0 0 44px}.project-card-actions .icon-btn svg{width:16px;height:16px}.head-actions .btn{flex:1 1 auto}.vp-tabs{flex-wrap:wrap}.vp-tab{flex:1 1 100%}.find{gap:10px}.brow-name{width:110px;flex:0 0 110px}.gauge{width:148px;height:148px;flex:0 0 148px}.report-doc-stats,.report-doc-sev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sec-actions{width:100%;justify-content:flex-end}.sec-bar{flex-wrap:wrap}.editor-bar{gap:8px}.modal-body,.modal-bar{padding-left:16px;padding-right:16px}.vp-actions,.report-row-actions{flex-wrap:wrap;justify-content:flex-end}.reports-tbl td:last-child{white-space:normal}}.dashboard-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}.dashboard-filters .list-filter{flex:0 1 260px;min-width:180px}.dashboard-body{transition:opacity .2s var(--ease)}.dashboard-body.is-refreshing{opacity:.55}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.chart-card,.dash-list-card{display:flex;flex-direction:column;padding:18px 20px 20px;min-width:0}.chart-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.chart-card-head h3{margin:0;font-size:14.5px;font-weight:650}.chart-card-head .sub{margin:3px 0 0;font-size:12px;color:var(--text-3)}.chart-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:-4px 0 12px;font-size:12px;color:var(--text-2)}.legend-key{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:10px;height:10px;border-radius:3px}.chart-empty{margin:auto 0;padding:36px 0;text-align:center}.chart-table .tbl td,.chart-table .tbl th{padding:8px 12px}.dash-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px}.dash-hero-card{display:flex;flex-direction:column;gap:12px;padding:18px 20px 20px;min-width:0}.dash-hero-card h3{margin:0;font-size:13px;font-weight:650;color:var(--text-2)}.dash-hero-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px}.dash-health-body{display:flex;align-items:center;gap:20px}.dash-health .gauge{width:128px;height:128px;flex:0 0 128px}.dash-health .gauge-mid b{font-size:34px}.dash-health-text{display:grid;gap:4px;min-width:0}.dash-health-text>b{font-size:18px;font-weight:700;line-height:1.25}.dash-health-text .stat-delta{margin:0}.tone-pass{color:var(--sev-pass)}.tone-warn{color:var(--sev-medium)}.tone-fail{color:var(--sev-critical)}.tone-neutral{color:var(--text-2)}.dash-muted{margin:0;font-size:12px;color:var(--text-3)}.dash-big{margin:-4px 0 0;font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1}.dash-split{display:flex;gap:2px;height:10px}.dash-split>span{min-width:4px;height:100%}.dash-split>span:first-child{border-radius:4px 0 0 4px}.dash-split>span:last-child{border-radius:0 4px 4px 0}.dash-split>span:only-child{border-radius:4px}.dash-split-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:-4px;font-size:12px;color:var(--text-2)}.dash-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin:0}.dash-stats div{display:grid;gap:2px;min-width:0}.dash-stats dt{font-size:12px;color:var(--text-3)}.dash-stats dd{margin:0;font-size:20px;font-weight:700;line-height:1.2}.chart-table-toggle{flex:0 0 auto}.daily-chart{position:relative;width:100%}.daily-chart svg{display:block;overflow:visible;border-radius:var(--r-sm)}.daily-chart svg:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.chart-grid{stroke:var(--line-soft);stroke-width:1}.chart-axis{fill:var(--text-3);font-size:11px;font-variant-numeric:tabular-nums}.chart-crosshair{stroke:var(--text-3);stroke-width:1;opacity:.5}.chart-bar .bar-main{fill:var(--chart-1)}.chart-bar .bar-alt{fill:var(--chart-critical)}.chart-bar.is-active path{filter:brightness(1.12)}.chart-area{fill:var(--chart-1);opacity:.1}.chart-value-label{fill:var(--text);font-size:11.5px;font-weight:650;font-variant-numeric:tabular-nums}.chart-line{fill:none;stroke:var(--chart-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--chart-1);stroke:var(--surface);stroke-width:2}.chart-tip{position:absolute;top:0;transform:translate(-50%,-6px);display:grid;gap:2px;min-width:110px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-lg);font-size:12px;color:var(--text-2);pointer-events:none;z-index:2}.chart-tip b{font-size:12.5px;color:var(--text)}.bar-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}.bar-row{position:relative;display:grid;grid-template-columns:minmax(96px,200px) minmax(0,1fr);align-items:center;gap:12px;padding:6px 8px;border-radius:8px;outline:none}.bar-row.is-active,.bar-row:focus-visible{background:var(--surface-2)}.bar-row:focus-visible{box-shadow:inset 0 0 0 2px var(--blue)}.bar-label{font-size:12.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{display:flex;align-items:center;gap:8px;min-width:0}.bar-fill{display:flex;gap:2px;height:10px;min-width:4px}.bar-seg{min-width:3px;height:100%}.bar-seg:last-child{border-radius:0 4px 4px 0}.seg-primary{background:var(--chart-1)}.seg-critical{background:var(--chart-critical)}.seg-warning{background:var(--chart-warning)}.bar-value{flex:0 0 auto;font-size:12.5px;font-weight:650;color:var(--text);font-variant-numeric:tabular-nums}.bar-tip{position:absolute;right:8px;top:-26px;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:var(--shadow-sm);font-size:11.5px;color:var(--text-2);white-space:nowrap;pointer-events:none;z-index:2}.dash-list{margin:0;padding:0;list-style:none}.dash-list li+li{border-top:1px solid var(--line-soft)}.dash-list-row{display:flex;align-items:center;gap:12px;padding:10px 6px;border-radius:8px;color:inherit;text-decoration:none}.dash-list-row:hover{background:var(--surface-2)}.dash-list-row:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.dash-list-row>svg{flex:0 0 auto;width:16px;height:16px;color:var(--text-3)}.dash-list-main{flex:1 1 auto;min-width:0;display:grid;gap:2px}.dash-list-main b{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-list-main>span{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-list-path{font-weight:500;color:var(--text-3)}.stat-delta{display:inline-flex;align-items:center;gap:4px;margin:8px 0 0;font-size:12px;font-weight:600}.stat-delta svg{width:13px;height:13px}.stat-delta.is-good{color:var(--sev-pass)}.stat-delta.is-bad{color:var(--sev-critical)}.stat-delta.is-neutral{color:var(--text-2)}.stat-val{font-variant-numeric:normal}@media(max-width:1240px){.dash-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-health{grid-column:1 / -1}}@media(max-width:1000px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.dash-hero{grid-template-columns:minmax(0,1fr)}.dash-health-body{gap:16px}.dash-health .gauge{width:104px;height:104px;flex-basis:104px}}.vp-tbl .vp-drag-col{width:40px;padding-right:0}.vp-drag-handle{display:inline-grid;place-items:center;width:28px;height:32px;border:0;border-radius:6px;background:none;color:var(--text-3);cursor:grab;touch-action:none}.vp-drag-handle svg{width:16px;height:16px;stroke-width:3}.vp-drag-handle:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.vp-drag-handle:active:not(:disabled){cursor:grabbing}.vp-drag-handle:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.vp-drag-handle:disabled{cursor:not-allowed;opacity:.35}.vp-tbl tr.is-dragging{opacity:.45}.vp-tbl tr.is-drop-before td{box-shadow:inset 0 2px 0 var(--blue)}.vp-tbl tr.is-drop-after td{box-shadow:inset 0 -2px 0 var(--blue)}.inline-progress{display:inline-grid;gap:5px;min-width:120px}.inline-progress.is-wide{width:100%}.inline-progress-track{position:relative;display:block;height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden}.inline-progress-track i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--chart-1);transition:width .4s var(--ease)}.inline-progress-track.is-indeterminate i{width:35%;animation:inline-progress-slide 1.4s ease-in-out infinite}@keyframes inline-progress-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media(prefers-reduced-motion:reduce){.inline-progress-track.is-indeterminate i{animation:none;width:100%;opacity:.4}}.inline-progress-label{font-size:12px;font-weight:650;color:var(--blue);font-variant-numeric:tabular-nums}.project-card-scan{display:flex;align-items:center;min-height:44px;padding:4px 2px}.shot-canvas{position:relative;display:block}.shot-focus{position:absolute;border:2px solid var(--blue);border-radius:6px;box-shadow:0 0 0 4px #4d71fb40;pointer-events:none;animation:shot-focus-pulse 1.2s ease-out 2}@keyframes shot-focus-pulse{0%{box-shadow:0 0 #4d71fb8c}to{box-shadow:0 0 0 12px #4d71fb00}}@media(prefers-reduced-motion:reduce){.shot-focus{animation:none}}.find.is-clickable{cursor:pointer;border-radius:10px;padding-left:8px;padding-right:8px}.find.is-clickable:hover{background:var(--surface-2)}.find.is-selected{background:#4d71fb12;box-shadow:inset 3px 0 0 var(--blue)}button.find-n{border:0;cursor:pointer;font:inherit}button.find-n:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.report-doc-viewport-title .report-doc-viewport-toggle{flex:1 1 auto;width:auto;min-width:0}.report-doc-viewport-toggle-end{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer}.report-doc-viewport-title .report-doc-viewport-count{margin-left:0}.report-doc-fullshot-link{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 12px;border:1px solid rgba(77,113,251,.35);border-radius:999px;background:var(--surface);color:var(--blue);font:inherit;font-size:12px;font-weight:650;letter-spacing:0;white-space:nowrap;cursor:pointer;transition:var(--t)}.report-doc-fullshot-link svg{width:13px;height:13px}.report-doc-fullshot-link:hover{background:#4d71fb14;border-color:var(--blue)}.report-doc-fullshot-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.report-doc-finding-tools{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.icon-btn.icon-btn-xs{width:28px;height:28px;flex:0 0 28px;border-radius:8px}.icon-btn.icon-btn-xs svg{width:14px;height:14px}.icon-btn.icon-btn-xs .spin{width:12px;height:12px;flex-basis:12px}@media(pointer:coarse){.icon-btn.icon-btn-xs{width:40px;height:40px;flex-basis:40px}}.is-exporting .report-doc-download,.is-exporting .report-doc-viewport-toggle-end .report-doc-viewport-chevron{display:none}.viewer-details{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:10px 20px;border-bottom:1px solid var(--line);background:var(--surface)}.viewer-details div{display:grid;gap:1px;min-width:0;max-width:360px}.viewer-details dt{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.viewer-details dd{margin:0;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-doc-appendix-section{display:none}.is-exporting .report-doc-appendix-section{display:block}.is-exporting .report-doc-fullshot-link{display:none}.viewer-download{margin-left:auto}.row-icon-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}.icon-btn.icon-btn-sm{width:36px;height:36px;flex-basis:36px}@media(pointer:coarse){.icon-btn.icon-btn-sm{width:44px;height:44px;flex-basis:44px}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);padding:5px 9px;border-radius:7px;background:var(--text);color:var(--surface);font-size:11.5px;font-weight:600;line-height:1.3;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease,transform .12s ease;z-index:20}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%);transition-delay:.15s}[data-tooltip]:disabled:after{display:none}[data-tooltip][data-tooltip-align=end]:after{left:auto;right:0;transform:translateY(4px)}[data-tooltip][data-tooltip-align=end]:hover:after,[data-tooltip][data-tooltip-align=end]:focus-visible:after{transform:none}[data-tooltip][data-tooltip-side=below]:after{top:calc(100% + 8px);bottom:auto;transform:translate(-50%,-4px)}[data-tooltip][data-tooltip-side=below]:hover:after,[data-tooltip][data-tooltip-side=below]:focus-visible:after{transform:translate(-50%)}[data-tooltip][data-tooltip-side=below][data-tooltip-align=end]:after{transform:translateY(-4px)}[data-tooltip][data-tooltip-side=below][data-tooltip-align=end]:hover:after,[data-tooltip][data-tooltip-side=below][data-tooltip-align=end]:focus-visible:after{transform:none}@media(prefers-reduced-motion:reduce){[data-tooltip]:after{transition:none}}.report-tree-finding .report-tree-view{flex:0 0 auto;align-self:center;margin-left:6px}.icon-btn.icon-btn-xs.report-tree-view{width:24px;height:24px;flex-basis:24px;border-radius:7px}.icon-btn.icon-btn-xs.report-tree-view svg{width:12px;height:12px}@media(pointer:coarse){.icon-btn.icon-btn-xs.report-tree-view{width:40px;height:40px;flex-basis:40px}}.report-doc-finding{scroll-margin:24px}.report-doc-finding.is-pointed{outline:2px solid var(--blue);outline-offset:2px;animation:report-point 1.1s ease-out 2}@keyframes report-point{0%{box-shadow:0 0 #4d71fb80}to{box-shadow:0 0 0 14px #4d71fb00}}@media(prefers-reduced-motion:reduce){.report-doc-finding.is-pointed{animation:none}}.is-exporting .report-doc-finding.is-pointed{outline:none;animation:none}.scan-side{display:grid;gap:16px;align-content:start;min-width:0}@media(min-width:1001px){.scan-side{position:sticky;top:calc(var(--topbar-h) + 16px);max-height:calc(100vh - var(--topbar-h) - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-bottom:2px}}.scan-side .scan-summary{position:static}.project-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.project-history-name{margin:4px 0 0;font-size:14px;font-weight:650;color:var(--text)}.project-history-empty{margin:6px 0 0;font-size:13px;color:var(--text-3)}.project-history-list{margin:0;padding:0;list-style:none}.project-history-list li{display:flex;align-items:center;gap:4px}.project-history-list li+li{border-top:1px solid var(--line-soft)}.project-history-row{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:12px;padding:10px 6px;border-radius:8px;color:inherit;text-decoration:none}.project-history-row:hover{background:var(--surface-2)}.project-history-row:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.project-history-row>.chip{flex:0 0 auto;min-width:40px;justify-content:center}.project-history-main{display:grid;gap:2px;min-width:0}.project-history-main b{font-size:13px;font-weight:650}.project-history-main span{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-history-use{flex:0 0 auto}.project-history-foot{margin:8px 0 0;font-size:11.5px;color:var(--text-3)}.report-auto-summary{display:grid;gap:8px;margin-bottom:18px;padding:14px 16px;border:1px solid rgba(77,113,251,.25);border-radius:12px;background:#4d71fb0d}.report-auto-summary .chip{justify-self:start}.report-auto-summary p{margin:0;font-size:13.5px;line-height:1.6;color:var(--text)}.report-notes-by{font-weight:500;color:var(--text-3)}.report-doc-note-row{margin-top:14px;padding-top:12px;border-top:1px solid rgba(77,113,251,.2)}.report-doc-note-row p{white-space:pre-line}.report-doc-notes-by{font-weight:500;letter-spacing:normal;text-transform:none;color:var(--text-3)}.report-summary-auto svg{width:12px;height:12px}.cons-doc{max-width:1100px;margin:0 auto}.cons-stats{display:grid;grid-template-columns:repeat(var(--cons-cols, 6),minmax(0,1fr));gap:10px;margin:22px 0 0}.cons-stats div{display:grid;gap:4px;padding:12px 14px;border-radius:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.14)}.cons-stats dt{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.cons-stats dd{margin:0;font-size:20px;font-weight:700}.cons-table-wrap{overflow-x:auto}.cons-table{width:100%;border-collapse:collapse;font-size:12.5px}.cons-table th{padding:8px 10px;border-bottom:1px solid var(--line);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--text-3);white-space:nowrap}.cons-table td{padding:9px 10px;border-bottom:1px solid var(--line-soft);vertical-align:top;color:var(--text)}.cons-table .num{text-align:right;font-variant-numeric:tabular-nums}.cons-table tr.is-current td{background:#4d71fb12}.cons-this{margin-left:6px;font-size:11px;font-weight:650;color:var(--blue)}.cons-findings td:nth-child(2){min-width:220px}.cons-detail{display:block;margin-top:2px;font-size:12px;color:var(--text-3)}@media(max-width:900px){.cons-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.cons-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.report-doc-viewport-section.is-passed .report-doc-viewport-title{background:linear-gradient(90deg,rgba(15,164,127,.14) 0%,rgba(15,164,127,.05) 48%,var(--surface-2) 100%);border-bottom-color:#0fa47f47}.report-doc-viewport-passed{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;background:var(--sev-pass);color:#fff;font-size:12px;font-weight:700}.report-doc-viewport-passed svg{width:13px;height:13px;stroke-width:2.4}.report-doc-passed-note{display:flex;align-items:center;gap:8px;margin:4px 0 0;padding:12px 14px;border-radius:10px;border:1px solid rgba(15,164,127,.28);background:#0fa47f12;font-size:13.5px;font-weight:600;color:var(--sev-pass)}.report-doc-passed-note svg{width:16px;height:16px;stroke-width:2.2}.switch{display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:0 4px;border:0;background:none;color:var(--text-2);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.switch-track{position:relative;flex:0 0 auto;width:36px;height:20px;border-radius:999px;background:var(--line-strong);transition:background .18s var(--ease)}.switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s var(--ease)}.switch.is-on .switch-track{background:var(--blue)}.switch.is-on .switch-thumb{transform:translate(16px)}.switch.is-on{color:var(--text)}.switch:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:8px}.switch:disabled{opacity:.5;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.switch-track,.switch-thumb{transition:none}}.app-toast-container{z-index:2000!important;padding:16px!important}.app-toast-container .swal2-popup.app-toast{--toast-tone: var(--blue);display:grid!important;grid-template-columns:32px minmax(0,1fr) 28px;align-items:start;column-gap:12px;row-gap:8px;width:min(380px,calc(100vw - 32px));padding:12px 10px 14px 12px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:0 12px 32px -14px #1012284d,0 2px 8px #1012280f;font-family:inherit;overflow:hidden}.app-toast-container .swal2-popup.app-toast.is-success{--toast-tone: var(--sev-pass)}.app-toast-container .swal2-popup.app-toast.is-error{--toast-tone: var(--sev-critical)}.app-toast-container .swal2-popup.app-toast.is-warning{--toast-tone: var(--sev-medium)}html:not([data-theme=dark]) .app-toast-container .swal2-popup.app-toast.is-warning .app-toast-icon{color:#a87400}.app-toast-container .swal2-popup.app-toast .app-toast-icon{grid-column:1;grid-row:1;display:grid;place-items:center;width:32px;min-width:32px;height:32px;margin:0;border:0;border-radius:9px;background:color-mix(in srgb,var(--toast-tone) 14%,transparent);color:var(--toast-tone);animation:none}.app-toast-container .app-toast .app-toast-icon .swal2-icon-content{display:grid;place-items:center;font-size:0}.app-toast-container .app-toast .app-toast-icon svg{width:18px;height:18px;stroke-width:2.5}.app-toast-container .app-toast .app-toast-title{grid-column:2;grid-row:1;align-self:center;margin:0;padding:0;font-size:13.5px;font-weight:500;line-height:1.45;text-align:left;color:var(--text);overflow-wrap:anywhere}.app-toast-container .app-toast .swal2-actions{grid-column:2;grid-row:2;justify-content:flex-start;margin:0;padding:0}.app-toast-container .app-toast .app-toast-action{margin:0}.app-toast-container .app-toast .app-toast-close{grid-column:3;grid-row:1;align-self:start;display:grid;place-items:center;position:static;width:28px;height:28px;margin:2px 0 0;padding:0;border-radius:8px;color:var(--text-3);transition:background .15s var(--ease),color .15s var(--ease)}.app-toast-container .app-toast .app-toast-close svg{width:14px;height:14px;stroke-width:2.2}.app-toast-container .app-toast .app-toast-close:hover{background:var(--surface-2);color:var(--text)}.app-toast-container .app-toast .app-toast-close:focus-visible{outline:2px solid var(--blue);outline-offset:1px;box-shadow:none}.app-toast-container .app-toast .swal2-timer-progress-bar-container{height:3px}.app-toast-container .app-toast .app-toast-progress{height:3px;background:var(--toast-tone);opacity:.7}
