@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-weight-medium:500;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.relative{position:relative}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-12{height:calc(var(--spacing)*12)}.max-h-96{max-height:calc(var(--spacing)*96)}.min-h-\[400px\]{min-height:400px}.w-2{width:calc(var(--spacing)*2)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-12{width:calc(var(--spacing)*12)}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.resize-none{resize:none}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-gray-400{color:var(--color-gray-400)}.text-red-400{color:var(--color-red-400)}.uppercase{text-transform:uppercase}.opacity-50{opacity:.5}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\:underline:hover{text-decoration-line:underline}}}.fade-in{animation:.3s ease-out forwards fadeInUp}.fade-in-stagger>*{opacity:0;animation:.3s ease-out forwards fadeInUp}.fade-in-stagger>:first-child{animation-delay:0s}.fade-in-stagger>:nth-child(2){animation-delay:60ms}.fade-in-stagger>:nth-child(3){animation-delay:.12s}.fade-in-stagger>:nth-child(4){animation-delay:.18s}.fade-in-stagger>:nth-child(5){animation-delay:.24s}.fade-in-stagger>:nth-child(6){animation-delay:.3s}.skeleton{background:linear-gradient(90deg,var(--color-border)0%,var(--skeleton-highlight,#a78bfa14)50%,var(--color-border)100%);background-size:800px 100%;border-radius:6px;animation:1.8s ease-in-out infinite skeleton-shimmer}[data-theme=dark] .skeleton{--skeleton-highlight:#a78bfa1f}.skeleton-text{border-radius:4px;height:14px;margin-bottom:10px}.skeleton-text.skeleton-text--sm{width:60%;height:12px}.skeleton-text.skeleton-text--lg{width:80%;height:20px}.skeleton-text.skeleton-text--heading{width:50%;height:28px;margin-bottom:16px}.skeleton-dashboard{flex-direction:column;gap:24px;padding:0;display:flex}.skeleton-health-ring{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;align-items:center;gap:24px;padding:24px;display:flex}.skeleton-health-ring__circle{border:8px solid var(--color-border);background:0 0;border-radius:50%;flex-shrink:0;width:120px;height:120px;animation:1.8s ease-in-out infinite skeleton-pulse;position:relative}.skeleton-health-ring__details{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-metrics-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.skeleton-metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:10px;padding:20px;display:flex}.skeleton-metric-card__value{border-radius:4px;width:40%;height:32px}.skeleton-metric-card__label{border-radius:4px;width:70%;height:12px}.skeleton-metis-strip{background:linear-gradient(135deg,#7c3aed14,#a78bfa0d);border:1px solid #a78bfa26;border-radius:12px;align-items:center;gap:16px;padding:20px 24px;display:flex}.skeleton-metis-strip__orb{background:#a78bfa33;border-radius:8px;flex-shrink:0;width:36px;height:36px;animation:1.8s ease-in-out infinite skeleton-pulse}.skeleton-metis-strip__content{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-focus-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.skeleton-focus-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:12px;padding:20px;display:flex}.skeleton-focus-card__header{justify-content:space-between;align-items:center;display:flex}.skeleton-focus-card__badge{border-radius:11px;width:64px;height:22px}.skeleton-focus-card__id{border-radius:4px;width:40px;height:18px}.skeleton-focus-card__body{flex-direction:column;gap:8px;display:flex}.skeleton-findings{flex-direction:column;gap:12px;display:flex}.skeleton-finding-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:16px;padding:16px 20px;display:flex}.skeleton-finding-row__badge{border-radius:12px;flex-shrink:0;width:72px;height:24px}.skeleton-finding-row__content{flex-direction:column;flex:1;gap:6px;display:flex}.skeleton-actions{flex-direction:column;gap:16px;display:flex}.skeleton-action-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-border);border-radius:10px;flex-direction:column;gap:12px;padding:20px;display:flex}.skeleton-history{flex-direction:column;gap:12px;display:flex}.skeleton-history-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:16px;padding:16px 20px;display:flex}.skeleton-history-row__score{border-radius:50%;flex-shrink:0;width:48px;height:48px}.skeleton-history-row__content{flex-direction:column;flex:1;gap:6px;display:flex}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 32px;animation:.4s ease-out forwards fadeInUp;display:flex}.empty-state__icon{width:80px;height:80px;color:var(--color-accent-light);opacity:.6;margin-bottom:24px}.empty-state__title{color:var(--color-text-primary);margin:0 0 8px;font-family:Fraunces,serif;font-size:22px;font-weight:600}.empty-state__message{color:var(--color-text-secondary);max-width:380px;margin:0 0 28px;font-family:IBM Plex Sans,sans-serif;font-size:15px;line-height:1.5}.empty-state__cta{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-family:IBM Plex Sans,sans-serif;font-size:14px;font-weight:500;transition:background .2s,transform .15s;display:inline-flex}.upload-spinner{flex-direction:column;align-items:center;gap:16px;padding:32px;display:flex}.upload-spinner__ring{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.upload-spinner__text{color:var(--color-text-secondary);font-family:IBM Plex Sans,sans-serif;font-size:14px}.error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 32px;animation:.4s ease-out forwards fadeInUp;display:flex}.error-state__icon{width:80px;height:80px;color:var(--color-rag-red,#ef4444);opacity:.7;margin-bottom:24px}.error-state__title{color:var(--color-text-primary);margin:0 0 8px;font-family:Fraunces,serif;font-size:22px;font-weight:600}.error-state__message{color:var(--color-text-secondary);max-width:420px;margin:0 0 28px;font-family:IBM Plex Sans,sans-serif;font-size:15px;line-height:1.5}.error-state__retry{color:var(--color-accent);border:1.5px solid var(--color-accent);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-family:IBM Plex Sans,sans-serif;font-size:14px;font-weight:500;transition:background .2s,transform .15s;display:inline-flex}.error-state__retry-icon{font-size:16px;transition:transform .3s}.error-state--inline .error-state__message{margin-bottom:20px;font-size:14px}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}:root{--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.65;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.04em;--tracking-wider:.08em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--border-primary:var(--color-border);--border-secondary:var(--color-border-light);--bg-tertiary:var(--color-surface);--bg-primary:var(--color-bg);--bg-secondary:var(--color-surface-card);--interactive-purple:var(--color-interactive);--font-heading:var(--font-display);--space-xs:var(--space-1);--space-sm:var(--space-2);--space-md:var(--space-4);--space-lg:var(--space-6);--space-xl:var(--space-8);--space-2xl:var(--space-12);--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--card-radius:12px;--card-padding:var(--space-6);--card-border-radius:12px;--rag-red:#ef4444;--rag-amber:#f59e0b;--rag-green:#10b981;--rag-red-tint:#ef444414;--rag-amber-tint:#f59e0b14;--rag-green-tint:#10b98114;--surface-base:var(--color-bg);--surface-card:var(--color-surface-card);--surface-elevated:#fff;--border-default:var(--color-border);--border-subtle:var(--color-border-light);--border-faint:#0000000a;--color-interactive:#5b21b6;--color-interactive-hover:#6d28d9;--color-interactive-tint:#5b21b614;--purple-accent:var(--color-interactive);--purple-hover:var(--color-interactive-hover);--purple-muted:var(--color-interactive-tint);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--font-headline:var(--font-display);--font-mono:"SF Mono","Consolas","Monaco",monospace;--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--text-tertiary:var(--color-text-muted);--rag-red-bg:var(--rag-red-tint);--rag-amber-bg:var(--rag-amber-tint);--rag-green-bg:var(--rag-green-tint)}[data-theme=dark]{--rag-red:#f87171;--rag-amber:#fbbf24;--rag-green:#34d399;--rag-red-tint:#f871711f;--rag-amber-tint:#fbbf241f;--rag-green-tint:#34d3991f;--surface-base:#0f0d1a;--surface-card:#252240;--surface-elevated:#332f54;--border-default:#a78bfa2e;--border-subtle:#a78bfa1a;--border-faint:#a78bfa0d;--color-interactive:#8b5cf6;--color-interactive-hover:#a78bfa;--color-interactive-tint:#8b5cf61f}:root{--color-white:#fff;--color-black:#000;--radius-xs:8px}@media(prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-normal:0s;--transition-slow:0s}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--card-hover-lift:-3px;--card-hover-glow:0 4px 20px #5b21b626;--shadow-elevated:0 8px 24px #0000001f}[data-theme=dark]{--card-hover-glow:0 4px 24px #8b5cf640;--shadow-elevated:0 8px 32px #0006}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-weight-medium:500;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.relative{position:relative}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-12{height:calc(var(--spacing)*12)}.max-h-96{max-height:calc(var(--spacing)*96)}.min-h-\[400px\]{min-height:400px}.w-2{width:calc(var(--spacing)*2)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-12{width:calc(var(--spacing)*12)}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.resize-none{resize:none}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-gray-400{color:var(--color-gray-400)}.text-red-400{color:var(--color-red-400)}.uppercase{text-transform:uppercase}.opacity-50{opacity:.5}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\:underline:hover{text-decoration-line:underline}}}:root{--font-body:"IBM Plex Sans",sans-serif;--font-display:"Fraunces",serif;--color-bg:#fdfdfe;--color-surface:#f5f3ef;--color-surface-card:#eceaf5;--color-border:#e5e2db;--color-border-light:#d5d1e0;--color-text-primary:#1a1a2e;--color-text-secondary:#3a3a4a;--color-text-muted:#6e6e80;--color-primary:#3b82f6;--color-accent:#60a5fa;--color-accent-light:#93bbfd;--color-critical:#ef4444;--color-warning:#f59e0b;--color-advisory:#60a5fa;--color-positive:#10b981;--color-sidebar-bg:var(--color-white);--color-sidebar-active:#f0f4ff;--shadow-surface:0 1px 2px #0000000f;--shadow-card:0 2px 8px #0000001a,0 1px 2px #0000000f;--shadow-elevated:0 4px 16px #0000001f;--color-critical-tint:#ef444414;--color-warning-tint:#f59e0b14;--color-advisory-tint:#60a5fa14;--color-positive-tint:#10b98114}[data-theme=dark]{--color-bg:#0f0d1a;--color-surface:#0f0d1a;--color-surface-card:#252240;--color-border:#a78bfa2e;--color-border-light:#a78bfa1a;--color-text-primary:#f0f0f0;--color-text-secondary:#a0a0b0;--color-text-muted:#8a8a9a;--color-sidebar-bg:#0a0818;--color-sidebar-active:#60a5fa1a;--color-accent-light:#c4b5fd;--shadow-surface:0 1px 2px #0003;--shadow-card:0 2px 8px #0000004d;--shadow-elevated:0 4px 16px #0006;--color-critical-tint:#fda4af1f;--color-warning-tint:#fcd34d1f;--color-advisory-tint:#a78bfa1f;--color-positive-tint:#6ee7b71f}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text-primary);margin:0}.app-layout{flex-direction:column;min-height:100vh;display:flex}.sidebar{background:var(--color-sidebar-bg);border-right:1px solid var(--color-border-light);z-index:100;flex-direction:column;width:260px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-header{padding:var(--space-6)var(--space-5);border-bottom:1px solid var(--color-border-light)}.logo-container{align-items:center;gap:var(--space-3);display:flex}.logo-icon{flex-shrink:0;width:38px;height:38px}.logo-icon svg{width:100%;height:100%}.logo-icon svg circle{fill:var(--color-accent)}.logo-icon svg line{stroke:var(--color-accent)}.wordmark{flex-direction:column;line-height:1;display:flex}.wordmark-main{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:2px;color:var(--color-text-primary);font-weight:600}.wordmark-reflection{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:2px;transform-origin:top;background:linear-gradient(180deg,var(--color-accent-light)0%,#a78bfa66 40%,#a78bfa00 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;height:18px;margin-top:-2px;font-weight:600;overflow:hidden;transform:perspective(200px)rotateX(60deg)}.project-selector{padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--color-border-light)}.project-selector select{width:100%;padding:var(--space-2)var(--space-3);border-radius:var(--radius-xs);border:1px solid var(--color-border);background:var(--color-surface-card);color:var(--color-text-primary);font-size:var(--text-sm)}.sidebar-nav{padding:var(--space-4)var(--space-3);flex:1}.nav-section{margin-bottom:20px}.nav-section-label{font-size:var(--text-xs);letter-spacing:1.5px;color:var(--color-text-muted);padding:0 var(--space-3);margin-bottom:8px;font-weight:600}.nav-item{width:100%;padding:10px var(--space-3);border-radius:var(--radius-xs);color:var(--color-text-secondary);font-size:var(--text-base);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;transition:all .15s;display:flex}.nav-item:hover{background:var(--color-sidebar-active);color:var(--color-text-primary)}.nav-item.active{background:var(--color-sidebar-active);color:var(--color-accent);font-weight:500}.nav-icon{font-size:var(--text-md);text-align:center;width:20px}.main-content{flex-direction:column;flex:1;min-height:100vh;margin-left:260px;display:flex}.top-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);padding:var(--space-4)var(--space-10);z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-base);display:flex}.breadcrumb-muted,.breadcrumb-sep{color:var(--color-text-muted)}.breadcrumb-current{color:var(--color-text-primary);font-weight:500}.icon-btn{border-radius:var(--radius-xs);border:1px solid var(--color-border);background:var(--color-surface-card);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-lg);justify-content:center;align-items:center;display:flex}.icon-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.page-content{padding:var(--space-10);flex:1}.app-footer{padding:var(--space-4)var(--space-10);text-align:center;font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted)}.hero-section{gap:var(--space-5);align-items:stretch;margin-bottom:40px;display:flex}.hero-main{flex:1}.hero-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);margin-bottom:12px;font-weight:600}.hero-title{font-family:var(--font-display);font-size:var(--text-4xl);margin:0 0 var(--space-3);font-weight:600;line-height:1.3}.hero-subtitle{font-size:var(--text-md);color:var(--color-text-secondary);margin:0}.hero-health-card{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;flex-direction:column;justify-content:center;min-width:220px;display:flex}.health-ring-wrap{margin:0 auto;position:relative}.health-ring-label{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.health-score{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700}.health-unit{font-size:var(--text-sm);color:var(--color-text-muted);display:block}.health-status{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:12px;font-weight:500}.metrics-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr);margin-bottom:40px;display:grid}.metric-card{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;box-shadow:var(--shadow-card)}.metric-icon{font-size:var(--text-xl);margin-bottom:8px}.metric-count{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700}.metric-label{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);margin-top:4px}.section-title{font-family:var(--font-display);font-size:var(--text-lg);margin:0 0 var(--space-5);font-weight:600}.focus-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.focus-card{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);border-left:4px solid var(--color-border);box-shadow:var(--shadow-card);padding:22px}.focus-card.severity-critical{border-left-color:var(--color-critical);background:var(--color-critical-tint)}.focus-card.severity-warning{border-left-color:var(--color-warning);background:var(--color-warning-tint)}.focus-card.severity-advisory{border-left-color:var(--color-advisory);background:var(--color-advisory-tint)}.focus-severity{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-weight:600}.severity-critical .focus-severity{color:var(--color-critical)}.severity-warning .focus-severity{color:var(--color-warning)}.focus-constraint{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:8px}.focus-message{font-size:var(--text-base);color:var(--color-text-secondary);margin:0;line-height:1.5}.empty-state,.loading-state,.error-state{text-align:center;padding:80px var(--space-10);color:var(--color-text-muted);font-size:var(--text-lg)}.loading-state{color:var(--color-accent)}.error-state{color:var(--color-critical)}.findings-header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:24px;display:flex}.filter-bar{gap:var(--space-2);display:flex}.filter-btn{border-radius:var(--radius-xl);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;background:0 0;padding:6px 14px}.filter-btn:hover{border-color:var(--color-accent)}.filter-btn.active{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.filter-btn.active.severity-critical{background:var(--color-critical);border-color:var(--color-critical)}.filter-btn.active.severity-warning{background:var(--color-warning);border-color:var(--color-warning);color:var(--color-black)}.filter-btn.active.severity-advisory{background:var(--color-advisory);border-color:var(--color-advisory)}.filter-btn.active.severity-positive{background:var(--color-positive);border-color:var(--color-positive)}.findings-list{gap:var(--space-2);flex-direction:column;display:flex}.finding-row{gap:var(--space-4);padding:var(--space-4)var(--space-5);background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-surface);align-items:flex-start;display:flex}.finding-severity-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.severity-critical .finding-severity-dot{background:var(--color-critical)}.severity-warning .finding-severity-dot{background:var(--color-warning)}.severity-advisory .finding-severity-dot{background:var(--color-advisory)}.severity-positive .finding-severity-dot{background:var(--color-positive)}.finding-content{flex:1}.finding-top{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.finding-id{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-surface);padding:2px var(--space-2);border-radius:var(--radius-sm);font-weight:600}.finding-name{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.finding-entity{font-size:var(--text-xs);color:var(--color-accent);margin-left:auto}.finding-explanation{font-size:var(--text-base);color:var(--color-text-secondary);margin:0;line-height:1.5}.actions-list{gap:var(--space-3);flex-direction:column;display:flex}.action-card{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);border-left:4px solid var(--color-border);box-shadow:var(--shadow-card);display:flex}.action-card.priority-urgent{border-left-color:var(--color-critical)}.action-card.priority-high{border-left-color:var(--color-warning)}.action-card.priority-medium{border-left-color:var(--color-advisory)}.action-rank{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-muted);min-width:36px;font-weight:700}.action-content{flex:1}.action-priority{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-weight:600}.priority-urgent .action-priority{color:var(--color-critical)}.priority-high .action-priority{color:var(--color-warning)}.priority-medium .action-priority{color:var(--color-advisory)}.action-text{font-size:var(--text-base);color:var(--color-text-primary);margin:0 0 var(--space-2);line-height:1.5}.action-context{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:1.4}.history-page{padding:var(--space-10)}.history-page .page-header{margin-bottom:32px}.history-page .page-title{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:8px;font-weight:600;line-height:1.2}.history-page .page-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.5}.page-empty,.page-loading,.page-error{min-height:300px;color:var(--color-text-muted);font-size:var(--text-base);justify-content:center;align-items:center;display:flex}.history-list{gap:var(--space-3);flex-direction:column;display:flex}.history-item-wrapper{border-radius:var(--radius-lg);overflow:hidden}.history-card{background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)var(--space-7);cursor:pointer;transition:all .2s}.history-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-elevated)}.history-card.expanded{border-color:var(--color-accent);border-radius:var(--radius-lg)14px 0 0;border-bottom-color:#0000}.history-card-main{align-items:center;gap:var(--space-7);display:flex}.history-score-col{flex-shrink:0}.history-score{width:60px;height:60px;font-family:var(--font-display);font-size:var(--text-xl);border-radius:50%;justify-content:center;align-items:center;font-weight:700;line-height:1;display:flex}.history-score.critical{background:var(--color-critical-tint);color:var(--color-critical)}.history-score.warning{background:var(--color-warning-tint);color:var(--color-warning)}.history-score.positive{background:var(--color-positive-tint);color:var(--color-positive)}.history-info-col{flex:1;min-width:0}.history-timestamp{font-weight:600;font-size:var(--text-base);color:var(--color-text-primary);margin-bottom:8px}.history-counts{gap:var(--space-5);flex-wrap:wrap;display:flex}.history-count{font-size:var(--text-sm);align-items:center;gap:6px;font-weight:500;display:flex}.history-count:before{content:"";border-radius:50%;flex-shrink:0;width:8px;height:8px}.history-count.critical:before{background:var(--color-critical)}.history-count.warning:before{background:var(--color-warning)}.history-count.advisory:before{background:var(--color-accent)}.history-count.positive:before{background:var(--color-positive)}.history-count.critical,.history-count.warning,.history-count.advisory,.history-count.positive{color:var(--color-text-secondary)}.history-expand-icon{color:var(--color-text-muted);flex-shrink:0;transition:color .2s}.history-card:hover .history-expand-icon{color:var(--color-accent)}.history-detail{background:var(--color-surface);border:1px solid var(--color-accent);border-top:1px solid var(--color-border-light);padding:var(--space-5)var(--space-7);border-radius:0 0 14px 14px;max-height:420px;overflow-y:auto}.history-detail-loading,.history-detail-empty{padding:var(--space-8);text-align:center;color:var(--color-text-muted);font-size:var(--text-base)}.history-findings-list{flex-direction:column;gap:6px;display:flex}.history-finding-row{padding:var(--space-3)var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--text-sm);align-items:center;gap:14px;transition:border-color .2s;display:flex}.history-finding-row:hover{border-color:var(--color-border)}.history-finding-row .finding-badge{padding:var(--space-1)10px;border-radius:var(--radius-sm);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.3px;text-align:center;flex-shrink:0;min-width:72px;font-weight:600}.history-finding-row .finding-badge.critical{background:var(--color-critical-tint);color:var(--color-critical)}.history-finding-row .finding-badge.warning{background:var(--color-warning-tint);color:var(--color-warning)}.history-finding-row .finding-badge.advisory{background:var(--color-advisory-tint);color:var(--color-accent)}.history-finding-row .finding-badge.positive{background:var(--color-positive-tint);color:var(--color-positive)}.history-finding-row .finding-constraint-id{font-family:SF Mono,Consolas,monospace;font-size:var(--text-xs);color:var(--color-accent);flex-shrink:0;min-width:44px;font-weight:500}.history-finding-row .finding-details{color:var(--color-text-secondary);flex:1;min-width:0;line-height:1.5}.metis-strip{border-radius:var(--radius-xl);padding:var(--space-7)var(--space-8);align-items:center;gap:var(--space-7);background:linear-gradient(135deg,#5b21b6,#7c3aed);margin-bottom:40px;display:flex;box-shadow:0 12px 32px #5b21b640}.metis-content{flex:1;min-width:0}.metis-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.metis-title{font-family:var(--font-display);font-size:var(--text-lg);color:#fff;font-weight:600}.metis-badge{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;padding:3px var(--space-2);border-radius:var(--radius-sm);color:#fff;background:#fff3;font-weight:600}.metis-insight{font-size:var(--text-base);color:#ffffffe6;line-height:1.5}.metis-actions{gap:var(--space-3);flex-shrink:0;display:flex}.metis-btn{padding:11px var(--space-5);border-radius:var(--radius-xs);font-size:var(--text-base);cursor:pointer;white-space:nowrap;border:none;font-weight:600}.metis-btn-primary{color:#5b21b6;background:#fff}.metis-btn-primary:hover{box-shadow:0 4px 12px #00000026}.metis-btn-secondary{color:#fff;background:#ffffff26;border:1px solid #ffffff4d}.metis-btn-secondary:hover{background:#ffffff40}.focus-constraint,.finding-id{padding:2px var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:SF Mono,Consolas,monospace;font-size:var(--text-xs);color:var(--color-text-secondary);letter-spacing:.5px;font-weight:600;display:inline-block}.focus-message{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.5}.metis-chain{color:#ffffffe6}.metis-recommendation{color:#fcd34d;font-weight:500}.focus-card,.finding-row,.action-card,.metric-card,.history-card,.catbreak-row{transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}.focus-card:hover,.action-card:hover{transform:translateY(var(--card-hover-lift));box-shadow:var(--card-hover-glow);border-color:var(--purple-accent)}.history-card:hover{box-shadow:var(--card-hover-glow);border-color:var(--purple-accent);transform:translateY(-2px)}.catbreak-row:hover{background:var(--purple-muted)}.finding-row:hover{border-color:var(--purple-accent);background:var(--purple-muted);transform:translate(2px)}.metric-card:hover{border-color:var(--purple-accent);box-shadow:var(--card-hover-glow);transform:translateY(-2px)}.metric-card:hover .metric-count{animation:.3s count-pulse}@keyframes count-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.nav-item,.filter-btn,.metis-btn,.icon-btn{transition:all .15s cubic-bezier(.4,0,.2,1)}.nav-item:active,.filter-btn:active,.metis-btn:active,.icon-btn:active{transform:scale(.97)}.nav-item.active{position:relative}.nav-item.active:before{content:"";background:var(--color-accent);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.health-ring-progress{transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1)}.drop-zone{cursor:pointer;transition:all .2s}.drop-zone:hover{border-color:var(--color-accent);background:#60a5fa08}.drop-zone.dragging{border-color:var(--color-accent);background:#60a5fa0f;transform:scale(1.01)}.metis-strip{transition:box-shadow .3s}.metis-strip:hover{box-shadow:0 16px 40px #5b21b659}.history-expand-icon svg{transition:transform .25s cubic-bezier(.4,0,.2,1)}.severity-critical .focus-severity{animation:3s ease-in-out infinite severity-pulse}@keyframes severity-pulse{0%,to{opacity:1}50%{opacity:.7}}.upload-page{max-width:600px}.upload-desc{color:var(--color-text-secondary);font-size:var(--text-base);margin-bottom:24px}.upload-name-field{margin-bottom:20px}.upload-name-field label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:6px;font-weight:500;display:block}.upload-name-field input{border-radius:var(--radius-xs);border:1px solid var(--color-border);background:var(--color-surface-card);width:100%;color:var(--color-text-primary);font-size:var(--text-base);padding:10px 14px;transition:border-color .2s}.upload-name-field input:focus{border-color:var(--color-accent);outline:none}.drop-zone{border:2px dashed var(--color-border);padding:60px var(--space-10);text-align:center;color:var(--color-text-muted);border-radius:16px}.drop-zone-icon{margin-bottom:12px;font-size:32px}.drop-zone-text{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:8px}.drop-zone-hint{font-size:var(--text-sm)}.upload-error{padding:var(--space-3)var(--space-4);border:1px solid var(--color-critical);border-radius:var(--radius-xs);color:var(--color-critical);font-size:var(--text-base);background:#ef444414;margin-top:16px}.upload-success{padding:var(--space-3)var(--space-4);border:1px solid var(--color-positive);border-radius:var(--radius-xs);color:var(--color-positive);font-size:var(--text-base);background:#10b98114;margin-top:16px}.toast-container{z-index:9999;gap:var(--space-2);pointer-events:none;flex-direction:column-reverse;display:flex;position:fixed;bottom:24px;right:24px}.toast{pointer-events:auto;padding:14px var(--space-5);background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--text-base);color:var(--color-text-primary);align-items:center;gap:10px;min-width:280px;max-width:420px;animation:.3s cubic-bezier(.4,0,.2,1) toast-in;display:flex;box-shadow:0 8px 32px #0000001f}[data-theme=dark] .toast{box-shadow:0 8px 32px #0006}.toast.toast-exit{animation:.2s forwards toast-out}.toast-success{border-left:4px solid var(--color-positive)}.toast-error{border-left:4px solid var(--color-critical)}.toast-info{border-left:4px solid var(--color-accent)}.toast-icon{font-size:var(--text-md);flex-shrink:0}.toast-message{flex:1;line-height:1.4}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.96)}}.action-context-grid{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.action-context-tag{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:var(--text-xs);align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.action-context-label{color:var(--color-text-muted)}.action-context-value{color:var(--color-text-primary);font-family:SF Mono,Consolas,monospace;font-weight:600}.hero-actions{align-items:center;gap:var(--space-4);margin-top:16px;display:flex}.reanalyse-btn{align-items:center;gap:var(--space-2);padding:10px var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-card);color:var(--color-text-primary);font-size:var(--text-base);cursor:pointer;font-weight:500;transition:all .2s;display:inline-flex}.reanalyse-btn:hover{border-color:var(--color-accent);color:var(--color-accent);box-shadow:var(--shadow-card)}.reanalyse-btn:active{transform:scale(.97)}.reanalyse-btn:disabled{opacity:.7;cursor:not-allowed}.reanalyse-btn:disabled:hover{border-color:var(--color-border);color:var(--color-text-primary);box-shadow:none}.reanalyse-spinner{animation:1s linear infinite reanalyse-spin}@keyframes reanalyse-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.last-analysed{font-size:var(--text-sm);color:var(--color-text-muted)}.project-selector-row{align-items:center;gap:var(--space-2);display:flex}.project-selector-row select{flex:1;min-width:0}.project-delete-btn{border-radius:var(--radius-xs);border:1px solid var(--color-border-light);width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.project-delete-btn:hover{border-color:var(--color-critical);color:var(--color-critical);background:var(--color-critical-tint)}.project-delete-btn:active{transform:scale(.95)}.confirm-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.15s overlay-in;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.confirm-modal{background:var(--color-surface-card);border:1px solid var(--color-border);padding:var(--space-7);border-radius:16px;width:90%;max-width:400px;animation:.2s cubic-bezier(.4,0,.2,1) modal-in;box-shadow:0 20px 60px #0003}[data-theme=dark] .confirm-modal{box-shadow:0 20px 60px #00000080}@keyframes modal-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.confirm-title{font-family:var(--font-display);font-size:var(--text-lg);margin:0 0 var(--space-3);color:var(--color-text-primary);font-weight:600}.confirm-message{font-size:var(--text-base);color:var(--color-text-secondary);margin:0 0 var(--space-6);line-height:1.5}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.confirm-cancel{border-radius:var(--radius-xs);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-base);cursor:pointer;background:0 0;padding:9px 18px;font-weight:500;transition:all .15s}.confirm-cancel:hover{border-color:var(--color-text-muted);color:var(--color-text-primary)}.confirm-delete{border-radius:var(--radius-xs);background:var(--color-critical);color:var(--color-white);font-size:var(--text-base);cursor:pointer;border:none;padding:9px 18px;font-weight:500;transition:all .15s}.confirm-delete:hover{filter:brightness(1.1);box-shadow:0 4px 12px #ef44444d}.confirm-delete:active{transform:scale(.97)}.hero-right{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.command-bar{background:var(--color-surface-card);border-radius:var(--radius-lg);padding:10px var(--space-5);border:1px solid var(--color-border-light);box-shadow:var(--shadow-surface);align-items:center;gap:0;margin-bottom:8px;display:flex}.command-bar-section{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.command-bar-vital{align-items:baseline;gap:var(--space-1);display:flex}.command-bar-value{font-family:var(--font-display);font-weight:600;font-size:var(--text-base);color:var(--color-text-primary);line-height:1}.command-bar-value-inline{font-family:var(--font-body);font-weight:500;font-size:var(--text-xs);color:var(--color-text-primary)}.command-bar-label{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-secondary)}.command-bar-delta{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600}.command-bar-muted{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-secondary);opacity:.6;font-style:italic}.command-bar-divider{background:var(--color-border);width:1px;height:24px;margin:0 var(--space-4);flex-shrink:0}.command-bar-spacer{flex:1}.command-bar-priority{max-width:320px;overflow:hidden}.command-bar-priority-text{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.command-bar-priority-label{color:var(--color-critical);font-weight:600}.command-bar-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.causal-section{margin-bottom:40px}.causal-intro{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:24px;line-height:1.5}.causal-group{margin-bottom:20px}.causal-group-header{align-items:center;gap:var(--space-2);margin-bottom:12px;display:flex}.causal-group-title{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600}.causal-group-desc{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted)}.causal-row{gap:var(--space-4);grid-template-columns:repeat(3,1fr);max-width:100%;display:grid;overflow:hidden}.causal-card{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card);flex-direction:column;min-width:0;min-height:240px;display:flex;overflow:hidden}.causal-card-top{justify-content:space-between;align-items:baseline;margin-bottom:2px;display:flex}.causal-entity-name{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.causal-finding-count{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);flex-shrink:0;font-weight:600}.causal-entity-type{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:12px}.causal-findings-list{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.causal-finding-pill{font-family:SF Mono,Consolas,monospace;font-size:var(--text-xs);padding:3px var(--space-2);border-radius:var(--radius-sm);letter-spacing:.3px;font-weight:600}.severity-pill-critical{background:var(--color-critical-tint,#ef44441a);color:var(--color-critical)}.severity-pill-warning{background:var(--color-warning-tint,#f59e0b1a);color:var(--color-warning)}.severity-pill-advisory{background:var(--color-advisory-tint,#60a5fa1a);color:var(--color-advisory)}.causal-chain{flex:1;align-items:stretch;gap:0;min-width:0;display:flex;overflow:hidden}.causal-chain-node{padding:var(--space-3)14px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.causal-chain-severity{font-family:SF Mono,Consolas,monospace;font-size:var(--text-xs);padding:3px var(--space-2);border-radius:var(--radius-sm);width:fit-content;font-weight:600}.causal-chain-name{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.causal-chain-type{font-size:var(--text-xs);color:var(--color-text-muted)}.causal-chain-arrow{padding:0 var(--space-2);flex-shrink:0;justify-content:center;align-items:center;display:flex}.catbreak-section{margin-bottom:40px}.catbreak-intro{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:20px;line-height:1.5}.catbreak-list{gap:var(--space-2);flex-direction:column;display:flex}.catbreak-row{align-items:center;gap:var(--space-4);padding:var(--space-3)var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-card);transition:border-color .2s;display:flex}.catbreak-row:hover{border-color:var(--color-accent)}.catbreak-label{align-items:center;gap:var(--space-2);flex-shrink:0;min-width:140px;display:flex}.catbreak-icon{font-size:var(--text-base);color:var(--color-text-muted);text-align:center;width:20px}.catbreak-name{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600}.catbreak-bar-container{background:var(--color-surface);border-radius:var(--radius-sm);flex:1;height:8px;overflow:hidden}.catbreak-bar{border-radius:var(--radius-sm);min-width:4px;height:100%;transition:width .6s}.catbreak-bar-critical{background:var(--color-critical)}.catbreak-bar-warning{background:var(--color-warning)}.catbreak-bar-advisory{background:var(--color-advisory)}.catbreak-counts{gap:var(--space-1);justify-content:flex-end;min-width:80px;display:flex}.catbreak-count-pill{font-family:var(--font-body);font-size:var(--text-xs);border-radius:var(--radius-sm);text-align:center;min-width:20px;padding:2px 7px;font-weight:600}.catbreak-total{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-secondary);text-align:right;min-width:28px;font-weight:600}.finding-category-badge{padding:2px var(--space-2);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-accent);letter-spacing:.3px;flex-shrink:0;font-weight:600;display:inline-block}.finding-constraint-name{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.finding-constraint-label{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary);flex:1;min-width:0;font-weight:500}.history-run-label{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-accent);letter-spacing:.3px;margin-bottom:2px;font-weight:600}.finding-chevron{color:var(--color-text-muted);opacity:0;flex-shrink:0;align-items:center;transition:opacity .2s;display:flex}.finding-row:hover .finding-chevron{opacity:1}.finding-severity-badge,.focus-severity-badge,.action-severity-badge{padding:3px var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;font-weight:600;display:inline-block}.severity-badge-critical{background:var(--color-critical-tint);color:var(--color-critical)}.severity-badge-warning{background:var(--color-warning-tint);color:var(--color-warning)}.severity-badge-advisory{background:var(--color-advisory-tint);color:var(--color-advisory)}.severity-badge-positive{background:var(--color-positive-tint);color:var(--color-positive)}.focus-section{margin-bottom:40px}.focus-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.focus-header-left{align-items:center;gap:var(--space-2);display:flex}.focus-rank{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:600}.focus-card-body{gap:var(--space-2);flex-direction:column;display:flex}.focus-title{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);margin:0;font-weight:600;line-height:1.4}.focus-meta{align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-top:4px;display:flex}.focus-meta-item{font-size:var(--text-xs);color:var(--color-text-muted);align-items:center;gap:5px;display:inline-flex}.focus-view-detail{font-size:var(--text-xs);color:var(--color-accent);cursor:pointer;margin-left:auto;font-weight:500;transition:opacity .2s}.focus-view-detail:hover{opacity:.8}.actions-page{max-width:100%}.action-rank-badge{border-radius:var(--radius-md);width:36px;height:36px;font-family:var(--font-display);font-size:var(--text-md);border:1px solid;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.action-header-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:6px;display:flex}.action-entity-name{font-size:var(--text-sm);color:var(--color-accent);font-weight:500}.action-context-icons{gap:var(--space-3);flex-wrap:wrap;margin-top:8px;display:flex}.action-context-icon-item{font-size:var(--text-xs);color:var(--color-text-muted);align-items:center;gap:5px;display:inline-flex}.action-context-icon-item svg{opacity:.6;flex-shrink:0}.urgency-bar-wrap{margin-top:12px}.urgency-bar-track{background:var(--color-surface);border-radius:2px;height:4px;overflow:hidden}.urgency-bar-fill{border-radius:2px;height:100%;transition:width .6s}.urgency-bar-label{font-size:var(--text-xs);letter-spacing:.3px;margin-top:4px;font-weight:600;display:block}.causal-finding-pill{font-family:var(--font-body);font-size:var(--text-xs);padding:3px var(--space-2);border-radius:var(--radius-sm);letter-spacing:.2px;white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-weight:600;overflow:hidden}.schedule-delta{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-8);gap:var(--space-2);flex-direction:column;flex-shrink:0;justify-content:flex-start;width:auto;min-width:220px;max-width:220px;display:flex}.schedule-delta-title{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.schedule-delta-subtitle{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);opacity:.7;margin-top:-2px;margin-bottom:4px}.schedule-delta-hero{align-items:baseline;gap:2px;display:flex}.schedule-delta-number{font-family:var(--font-display);letter-spacing:-.02em;font-size:44px;font-weight:700;line-height:1}.schedule-delta-pct{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.schedule-delta-rows{flex-direction:column;gap:3px;display:flex}.schedule-delta-row{align-items:baseline;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);justify-content:space-between;display:flex}.schedule-delta-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-muted);flex:1;overflow:hidden}.schedule-delta-value{font-family:var(--font-display);color:var(--color-text);flex-shrink:0;padding-left:12px;font-weight:500}.schedule-delta-value.dim{color:var(--color-text-dim)}.schedule-delta-track{z-index:50;background:var(--color-border-light);border-radius:2px;height:6px;position:fixed;bottom:24px;right:24px;overflow:visible}.schedule-delta-fill{opacity:.6;border-radius:3px;height:100%;transition:width .8s;position:absolute;top:0;left:0}.schedule-delta-marker{background:var(--color-white);border:1.5px solid #00000080;border-radius:1px;width:3px;height:12px;position:absolute;top:-4px;transform:translate(-1px);box-shadow:0 0 4px #0009}.upload-page-wide{max-width:900px}.upload-mapping{margin-top:8px}.mapping-header{align-items:baseline;gap:var(--space-3);margin-bottom:6px;display:flex}.mapping-title{font-family:var(--font-display);font-size:var(--text-xl);margin:0;font-weight:600}.mapping-filename{font-size:var(--text-sm);color:var(--color-text-muted);font-family:SF Mono,Consolas,monospace}.mapping-desc{font-size:var(--text-base);color:var(--color-text-secondary);margin:0 0 var(--space-6);line-height:1.5}.mapping-sheet{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card);margin-bottom:16px}.mapping-sheet-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.mapping-sheet-name{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);font-weight:600}.mapping-sheet-purpose{background:var(--color-advisory-tint);color:var(--color-advisory);border-radius:var(--radius-sm);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;padding:2px 10px;font-weight:600;display:inline-block}.mapping-sheet-purpose.unrecognised{background:var(--color-surface);color:var(--color-text-muted)}.mapping-table-wrap{overflow-x:auto}.mapping-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.mapping-table th{text-align:left;padding:var(--space-2)var(--space-3);font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-light);font-weight:600}.mapping-table td{padding:10px var(--space-3);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.mapping-table tbody tr:last-child td{border-bottom:none}.mapping-table tbody tr.row-skipped{opacity:.5}.mapping-table tbody tr:hover{background:var(--color-surface)}.mapping-col-source{color:var(--color-text-primary);white-space:nowrap;font-weight:500}.mapping-col-sample{color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.mapping-col-field select{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-width:150px;color:var(--color-text-primary);font-size:var(--text-sm);font-family:var(--font-body);cursor:pointer;padding:6px 10px;transition:border-color .2s}.mapping-col-field select:focus{border-color:var(--color-accent);outline:none}.mapping-col-field select option:disabled,.mapping-no-purpose{color:var(--color-text-muted)}.mapping-col-confidence{text-align:center;width:28px}.mapping-confidence{width:20px;height:20px;font-size:var(--text-xs);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.mapping-confidence.exact{background:var(--color-positive-tint);color:var(--color-positive)}.mapping-confidence.synonym{background:var(--color-advisory-tint);color:var(--color-advisory)}.mapping-confidence.unmatched{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border-light)}.mapping-confidence.inferred{color:#d97706;background:#f59e0b20;border:1px solid #f59e0b40}.mapping-validation{margin:var(--space-5)0}.mapping-required{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.mapping-required-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-muted);font-weight:600}.mapping-required-list{gap:10px;display:flex}.mapping-req-item{font-size:var(--text-sm);font-weight:500}.mapping-req-item.met{color:var(--color-positive)}.mapping-req-item.unmet{color:var(--color-critical)}.mapping-warnings{gap:var(--space-1);flex-direction:column;margin-top:8px;display:flex}.mapping-warn-item{font-size:var(--text-sm);color:var(--color-warning)}.mapping-actions{justify-content:flex-end;gap:var(--space-3);margin-top:24px;display:flex}.mapping-btn-cancel{padding:10px var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-base);font-weight:500;font-family:var(--font-body);cursor:pointer;background:0 0;transition:all .2s}.mapping-btn-cancel:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary)}.mapping-btn-import{padding:10px var(--space-6);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-white);font-size:var(--text-base);font-weight:600;font-family:var(--font-body);cursor:pointer;border:none;transition:all .2s}.mapping-btn-import:hover{box-shadow:var(--shadow-card);filter:brightness(1.1)}.mapping-btn-import:active{transform:scale(.97)}.mapping-btn-import:disabled{opacity:.5;cursor:not-allowed;filter:none;box-shadow:none}.template-match-banner{background:var(--bg-accent,#5b21b614);border:1px solid var(--border-accent,#5b21b633);border-radius:var(--radius-xs);padding:10px var(--space-4);color:var(--text-primary);margin-bottom:16px;font-size:.9rem}.mapping-confidence.template{color:#16a34a;background:#22c55e1a;border:1px solid #22c55e40}.template-save-prompt{padding:var(--space-4)var(--space-5);border:1px solid var(--border-secondary);border-radius:var(--radius-md);background:var(--bg-secondary);margin-top:20px}.template-save-prompt p{margin:0 0 6px}.template-save-hint{color:var(--text-muted);font-size:.85rem;margin-bottom:12px!important}.template-save-row{align-items:center;gap:10px;display:flex}.template-name-input{padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;font-family:var(--font-body);flex:1}.template-save-btn{white-space:nowrap}.template-saved-msg{color:#16a34a;margin-top:16px;font-size:.9rem}.catbreak-bar-healthy{background:var(--severity-green,#22c55e);border-radius:var(--radius-sm);height:100%;transition:width .4s}.catbreak-weight{color:var(--text-muted);opacity:.6;margin-left:6px;font-family:IBM Plex Sans,sans-serif;font-size:.7rem}.catbreak-score{text-align:right;min-width:32px;font-family:IBM Plex Sans,sans-serif;font-size:.85rem;font-weight:600}.catbreak-score-healthy{color:var(--severity-green,#22c55e)}.catbreak-score-warning{color:var(--severity-amber,#f59e0b)}.catbreak-score-critical{color:var(--severity-red,#ef4444)}.catbreak-score-unassessed{color:var(--text-muted);opacity:.5}.catbreak-row.catbreak-unassessed{opacity:.45;cursor:default}.catbreak-bar-unassessed{background:var(--border-color,#333);border-radius:var(--radius-sm);opacity:.3;height:100%}.catbreak-smell-note{color:var(--text-muted);margin-top:12px;font-family:IBM Plex Sans,sans-serif;font-size:.78rem;font-style:italic}.history-v2-badge{background:var(--color-accent,#5b21b6);color:var(--color-white);vertical-align:middle;letter-spacing:.3px;border-radius:3px;margin-left:8px;padding:1px 6px;font-family:IBM Plex Sans,sans-serif;font-size:.65rem;font-weight:600;display:inline-block}.mapping-hierarchy{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised,var(--card-bg,var(--bg)));margin:1.25rem 0;padding:1.25rem 1.5rem}.mapping-hierarchy-header{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.75rem;display:flex}.mapping-hierarchy-title{color:var(--text-primary);margin:0;font-family:Fraunces,serif;font-size:1rem;font-weight:600}.mapping-hierarchy-method{color:var(--text-muted);font-size:.8rem;font-style:italic}.mapping-hierarchy-counts{align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.9rem;display:flex}.hierarchy-count.summary{color:var(--accent,#5b21b6);font-weight:600}.hierarchy-count.leaf{color:var(--text-secondary)}.hierarchy-separator{color:var(--text-muted)}.mapping-hierarchy-summary-list{margin-bottom:1rem}.hierarchy-list-label{color:var(--text-muted);margin-bottom:.4rem;font-size:.8rem;display:block}.mapping-hierarchy-summary-list ul{flex-wrap:wrap;gap:.35rem .5rem;margin:0;padding:0;list-style:none;display:flex}.mapping-hierarchy-summary-list li{color:var(--text-secondary);border-radius:var(--radius-sm);background:#5b21b612;border:1px solid #5b21b61f;padding:.2rem .6rem;font-size:.85rem}.mapping-hierarchy-toggle{color:var(--text-secondary);cursor:pointer;border-top:1px solid var(--border);align-items:center;gap:.5rem;margin-top:.25rem;padding-top:.75rem;font-size:.85rem;display:flex}.mapping-hierarchy-toggle input[type=checkbox]{accent-color:var(--accent,#5b21b6);width:16px;height:16px}.mapping-hierarchy-toggle span{-webkit-user-select:none;user-select:none}.alert-banner{align-items:flex-start;gap:var(--space-3);padding:var(--space-3)var(--space-4);border-radius:var(--radius-xs);border-left:4px solid #0000;display:flex}.alert-banner--critical{background:var(--color-critical-tint);border-left-color:var(--color-critical)}.alert-banner--critical .alert-banner__icon{color:var(--color-critical)}.alert-banner--warning{background:var(--color-warning-tint);border-left-color:var(--color-warning)}.alert-banner--warning .alert-banner__icon{color:var(--color-warning)}.alert-banner--advisory{background:var(--color-advisory-tint);border-left-color:var(--color-advisory)}.alert-banner--advisory .alert-banner__icon{color:var(--color-advisory)}.alert-banner__icon{flex-shrink:0;margin-top:1px;display:flex}.alert-banner__content{flex:1;min-width:0}.alert-banner__text{color:var(--color-text-primary);font-size:.875rem;line-height:1.5}.alert-banner__header{align-items:center;gap:var(--space-2);margin-bottom:4px;display:flex}.alert-banner__badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);flex-shrink:0;padding:2px 7px;font-size:.65rem;font-weight:700}.alert-banner__label{color:var(--color-text-primary);font-size:.875rem;font-weight:600}.alert-banner__detail{color:var(--color-text-secondary);margin:0;font-size:.825rem;line-height:1.55}.score-headline{color:var(--color-text-primary);margin:0 0 var(--space-1)0;opacity:.9;font-family:Fraunces,serif;font-size:1.05rem;font-weight:500}.health-trend{letter-spacing:.02em;margin-top:4px;font-size:.75rem;font-weight:600}.health-trend--declining{color:var(--color-critical)}.health-trend--improving{color:var(--color-positive)}.health-trend--stable{color:var(--color-text-muted)}.confidence-badge{letter-spacing:.01em;margin-top:4px;font-size:.7rem}.confidence-badge--high{color:var(--color-positive);opacity:.7}.confidence-badge--moderate{color:var(--color-warning)}.confidence-badge--low{color:var(--color-critical);font-weight:600}.catbreak-item{cursor:pointer}.catbreak-driver{opacity:.9;margin:.125rem 0 .5rem 1.625rem;font-size:.75rem;line-height:1.3}.catbreak-driver-critical{color:#ef4444}.catbreak-driver-warning{color:#f59e0b}.catbreak-driver-advisory{color:var(--text-muted,#6b7280)}.advisory-collapse-section{margin:.75rem 0}.advisory-collapse-toggle{border:1px dashed var(--border-color,#374151);width:100%;color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1rem;font-family:IBM Plex Sans,sans-serif;font-size:.8125rem;transition:color .15s,border-color .15s;display:flex}.advisory-collapse-toggle:hover{color:var(--text-primary,#f3f4f6);border-color:var(--text-muted,#6b7280)}.advisory-chevron{flex-shrink:0;transition:transform .2s}.advisory-chevron-open{transform:rotate(90deg)}.sidebar-footer{padding:var(--space-2)var(--space-3)var(--space-4);border-top:1px solid var(--color-border-light)}.alert-bar-container{margin-bottom:24px}.alert-bar-collapsed{align-items:center;gap:var(--space-2);width:100%;padding:10px var(--space-4);border-radius:var(--radius-xs);cursor:pointer;border:none;border-left:4px solid #0000;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .15s;display:flex}.alert-bar-collapsed:hover{filter:brightness(.95)}.alert-bar-collapsed--critical{background:var(--color-critical-tint);border-left-color:var(--color-critical);color:var(--color-critical)}.alert-bar-collapsed--warning{background:var(--color-warning-tint);border-left-color:var(--color-warning);color:var(--color-warning)}.alert-bar-collapsed--advisory{background:var(--color-advisory-tint);border-left-color:var(--color-advisory);color:var(--color-advisory)}.alert-bar-collapsed__icon{flex-shrink:0;display:flex}.alert-bar-collapsed__text{text-align:left;flex:1}.alert-bar-collapsed__chevron{font-size:var(--text-xs);transition:transform .2s}.alert-bar-collapsed__chevron.expanded{transform:rotate(180deg)}.alert-bar-expanded{gap:var(--space-2);flex-direction:column;margin-top:8px;display:flex}.project-status-card{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-7)var(--space-8);border-left:4px solid var(--color-text-muted);flex-direction:column;flex:1;display:flex}.project-status-card.status-accent-critical{border-left-color:var(--color-critical)}.project-status-card.status-accent-warning{border-left-color:var(--color-warning)}.project-status-card.status-accent-positive{border-left-color:var(--color-positive)}.status-card-header{align-items:center;gap:var(--space-3);margin-bottom:12px;display:flex}.rag-badge{border-radius:50%;flex-shrink:0;width:14px;height:14px}.rag-badge-critical{background:var(--color-critical)}.rag-badge-warning{background:var(--color-warning)}.rag-badge-positive{background:var(--color-positive)}.status-label{font-family:var(--font-display);font-size:var(--text-4xl);text-transform:uppercase;letter-spacing:2px;font-weight:600;line-height:1.2}.status-label-critical{color:var(--color-critical)}.status-label-warning{color:var(--color-warning)}.status-label-positive{color:var(--color-positive)}.status-score{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-text-primary);margin-left:auto;font-weight:700;line-height:1}.status-score-unit{font-size:var(--text-md);color:var(--color-text-muted);font-weight:400}.status-headline{font-size:var(--text-base);color:var(--color-text-primary);margin:0 0 var(--space-2);font-weight:500;line-height:1.4}.status-narrative{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-2);line-height:1.5}.status-findings-count{font-size:var(--text-xs);color:var(--color-text-muted);margin:auto 0 0}.status-card-footer{align-items:center;gap:var(--space-4);border-top:1px solid var(--color-border-light);margin-top:16px;padding-top:16px;display:flex}.sidebar{transition:width .2s ease-in-out;overflow-x:hidden}.main-content{transition:margin-left .2s ease-in-out}.sidebar-collapsed{width:64px}.sidebar-collapsed .sidebar-header{padding:var(--space-6)13px}.sidebar-collapsed .logo-container{justify-content:center}.sidebar-collapsed .sidebar-nav{padding:var(--space-4)var(--space-2)}.sidebar-collapsed .nav-section{margin-bottom:12px}.sidebar-collapsed .nav-item{justify-content:center;padding:10px 0}.sidebar-collapsed .nav-icon{width:auto}.sidebar-collapsed .sidebar-footer{padding:var(--space-2)var(--space-2)var(--space-4)}.main-content.sidebar-is-collapsed{margin-left:64px}.sidebar-edge-toggle{background:var(--color-surface-card);border:1px solid var(--color-border-light);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;z-index:101;opacity:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:left .2s ease-in-out,opacity .15s,color .15s,border-color .15s,box-shadow .15s;display:flex;position:fixed;top:50%;left:260px;transform:translate(-50%,-50%)}.sidebar:hover~.sidebar-edge-toggle,.sidebar-edge-toggle:hover{opacity:1}.sidebar-edge-toggle:hover{color:var(--color-accent);border-color:var(--color-accent);box-shadow:0 2px 8px #0000001f}.sidebar-edge-toggle.collapsed{opacity:1;left:64px}.sidebar-edge-toggle.collapsed:hover{color:var(--color-accent);border-color:var(--color-accent)}.page-content{transition:opacity .25s ease-in-out,transform .25s ease-in-out}.page-content.content-transitioning{opacity:0;transform:translateY(6px)}.findings-filter-bar{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.findings-filter-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-btn-sm{font-size:var(--text-xs);padding:var(--space-1)10px;border-radius:var(--radius-sm)}.findings-search-wrapper{z-index:50;margin-left:auto;position:fixed;bottom:24px;right:24px}.findings-search-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.findings-search-input{font-family:var(--font-body);font-size:var(--text-sm);border:1px solid var(--color-border-light);border-radius:var(--radius-xs);background:var(--color-surface-card);color:var(--color-text-primary);outline:none;width:200px;padding:6px 30px;transition:border-color .15s,width .2s}.findings-search-input:focus{border-color:var(--color-accent);width:260px}.findings-search-input::placeholder{color:var(--color-text-muted)}.findings-search-clear{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.findings-search-clear:hover{color:var(--color-text-primary)}.findings-category-row{padding-top:2px}.findings-filter-status{align-items:center;gap:var(--space-3);padding-top:4px;display:flex}.findings-count{font-size:var(--text-xs);color:var(--color-text-muted)}.findings-clear-btn{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.findings-clear-btn:hover{opacity:.8}.findings-no-results{text-align:center;padding:var(--space-12)var(--space-6);color:var(--color-text-muted);font-size:var(--text-base)}.loading-logo-container{justify-content:center;align-items:center;gap:var(--space-6);flex-direction:column;min-height:60vh;display:flex}.loading-logo-spinner{width:240px;height:240px;animation:6s ease-in-out infinite ll-spin}.loading-logo-svg{width:100%;height:100%}.ll-line{stroke:var(--color-accent);stroke-dasharray:30;stroke-dashoffset:30px}.ll-line-a{animation:6s ease-in-out infinite ll-draw-a}.ll-line-b{animation:6s ease-in-out infinite ll-draw-b}.ll-line-c{animation:6s ease-in-out infinite ll-draw-c}.ll-node{fill:var(--color-accent);opacity:0;transform-box:fill-box;transform-origin:50%}.ll-node-a{animation:6s ease-in-out infinite ll-node-a}.ll-node-b{animation:6s ease-in-out infinite ll-node-b}.ll-node-c{animation:6s ease-in-out infinite ll-node-c}.ll-bottom-group{opacity:.5}.loading-logo-message{font-family:IBM Plex Sans,sans-serif;font-size:var(--text-base);color:var(--color-text-muted);margin:0;animation:2s ease-in-out infinite ll-pulse}@keyframes ll-spin{0%,50%{transform:rotate(0)}70%{transform:rotate(360deg)}to{transform:rotate(360deg)}}@keyframes ll-node-a{0%{opacity:0;transform:scale(1)}7%{opacity:1;transform:scale(1)}13%{opacity:1;transform:scale(1.25)}17%{opacity:1;transform:scale(1)}21%{opacity:1;transform:scale(1.25)}25%{opacity:1;transform:scale(1)}28%{opacity:1;transform:scale(1.2)}32%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(1)}85%{opacity:0;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes ll-node-b{0%,3%{opacity:0;transform:scale(1)}9%{opacity:1;transform:scale(1)}13%{opacity:1;transform:scale(1.25)}17%{opacity:1;transform:scale(1)}21%{opacity:1;transform:scale(1.25)}25%{opacity:1;transform:scale(1)}28%{opacity:1;transform:scale(1.2)}32%{opacity:1;transform:scale(1)}77%{opacity:1;transform:scale(1)}87%{opacity:0;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes ll-node-c{0%,5%{opacity:0;transform:scale(1)}11%{opacity:1;transform:scale(1)}13%{opacity:1;transform:scale(1.25)}17%{opacity:1;transform:scale(1)}21%{opacity:1;transform:scale(1.25)}25%{opacity:1;transform:scale(1)}28%{opacity:1;transform:scale(1.2)}32%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}90%{opacity:0;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes ll-draw-a{0%,30%{stroke-dashoffset:30px}42%{stroke-dashoffset:0}72%{stroke-dashoffset:0}84%{stroke-dashoffset:30px}to{stroke-dashoffset:30px}}@keyframes ll-draw-b{0%,34%{stroke-dashoffset:30px}46%{stroke-dashoffset:0}74%{stroke-dashoffset:0}86%{stroke-dashoffset:30px}to{stroke-dashoffset:30px}}@keyframes ll-draw-c{0%,38%{stroke-dashoffset:30px}50%{stroke-dashoffset:0}76%{stroke-dashoffset:0}88%{stroke-dashoffset:30px}to{stroke-dashoffset:30px}}@keyframes ll-pulse{0%,to{opacity:.5}50%{opacity:1}}.analysing-overlay{background:var(--color-bg-primary);z-index:100;justify-content:center;align-items:center;animation:.3s ease-out forwards overlay-fade-in;display:flex;position:fixed;inset:0}.analysing-overlay .loading-logo-container{min-height:auto}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.reanalyse-logo-spinner{vertical-align:middle;width:20px;height:20px;animation:6s ease-in-out infinite ll-spin;display:inline-block}.reanalyse-logo-spinner svg{width:100%;height:100%}.hero-zone{align-items:center;gap:var(--space-6,24px);background:var(--surface-card,var(--color-surface-card));border-radius:var(--card-radius,12px);padding:var(--card-padding,var(--space-6));border:1px solid var(--border-subtle,var(--color-border-light));border-left:4px solid var(--rag-green,#10b981);margin-bottom:var(--space-4,16px);display:flex}.hero-zone--red{border-left-color:var(--rag-red,#ef4444)}.hero-zone--amber{border-left-color:var(--rag-amber,#f59e0b)}.hero-zone--green{border-left-color:var(--rag-green,#10b981)}.hero-zone__score{flex-shrink:0}.hero-zone__centre{flex:1;min-width:0}.hero-zone__status-row{align-items:center;gap:var(--space-3,12px);margin-bottom:var(--space-2,8px);display:flex}.hero-zone__rag-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.hero-zone__rag-dot--red{background:var(--rag-red,#ef4444)}.hero-zone__rag-dot--amber{background:var(--rag-amber,#f59e0b)}.hero-zone__rag-dot--green{background:var(--rag-green,#10b981)}.hero-zone__trend{font-size:var(--text-sm,.8125rem);font-weight:var(--font-medium,500);color:var(--color-text-secondary)}.hero-zone__trend--declining{color:var(--rag-red,#ef4444)}.hero-zone__trend--improving{color:var(--rag-green,#10b981)}.hero-zone__headline{font-size:var(--text-base,.875rem);color:var(--color-text-secondary);margin:0 0 var(--space-2,var(--space-2))0;line-height:var(--leading-normal,1.5)}.hero-zone__confidence{font-size:var(--text-xs,.75rem);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide,.04em);font-weight:var(--font-medium,500)}.hero-zone__confidence--high{color:var(--rag-green,#10b981)}.hero-zone__confidence--low{color:var(--rag-amber,#f59e0b)}.hero-zone__actions{align-items:flex-end;gap:var(--space-2,8px);flex-direction:column;flex-shrink:0;display:flex}.hero-zone__reanalyse{align-items:center;gap:var(--space-2,8px);padding:var(--space-2,var(--space-2))var(--space-4,var(--space-4));border-radius:var(--radius-xs);border:1px solid var(--border-subtle,var(--color-border-light));background:var(--surface-card,var(--color-surface-card));color:var(--color-text-primary);font-size:var(--text-sm,.8125rem);font-weight:var(--font-medium,500);cursor:pointer;transition:all var(--transition-fast,.15s ease);display:inline-flex}.hero-zone__reanalyse:hover:not(:disabled){background:var(--color-interactive-tint,#5b21b614);border-color:var(--color-interactive,#5b21b6);color:var(--color-interactive,#5b21b6)}.hero-zone__reanalyse:disabled{opacity:.6;cursor:not-allowed}.hero-zone__reanalyse .reanalyse-logo-spinner{width:20px;height:20px;display:inline-flex}.hero-zone__reanalyse .reanalyse-logo-spinner svg{width:100%;height:100%}.hero-zone__last-run{font-size:var(--text-xs,.75rem);color:var(--color-text-muted)}.hero-zone__metis-link{align-items:center;gap:var(--space-1,4px);padding:var(--space-1,var(--space-1))var(--space-3,var(--space-3));border-radius:var(--radius-sm);border:1px solid var(--color-interactive,#5b21b6);color:var(--color-interactive,#5b21b6);font-size:var(--text-xs,.75rem);font-weight:var(--font-medium,500);cursor:pointer;transition:all var(--transition-fast,.15s ease);opacity:.5;background:0 0;display:inline-flex}.hero-zone__metis-link:disabled{cursor:not-allowed}.focus-areas{margin-bottom:var(--space-4,16px)}.focus-areas__title{font-family:var(--font-display,"Fraunces",serif);font-size:var(--text-lg,1.125rem);font-weight:var(--font-bold,700);color:var(--color-text-primary);margin:0 0 var(--space-3,var(--space-3))0;letter-spacing:var(--tracking-tight,-.01em)}.focus-areas__grid{gap:var(--space-4,16px);grid-template-columns:repeat(3,1fr);display:grid}.focus-areas__card{background:var(--surface-card,var(--color-surface-card));border-radius:var(--card-radius,12px);padding:var(--card-padding,var(--space-6));border:1px solid var(--border-subtle,var(--color-border-light));transition:transform var(--transition-fast,.15s ease),box-shadow var(--transition-fast,.15s ease);border-left:4px solid}.focus-areas__card:hover{box-shadow:var(--shadow-elevated,0 4px 16px #0000001f);transform:translateY(-2px)}.focus-areas__card--critical{border-left-color:var(--rag-red,#ef4444)}.focus-areas__card--warning{border-left-color:var(--rag-amber,#f59e0b)}.focus-areas__card--advisory{border-left-color:var(--color-advisory,#60a5fa)}.focus-areas__card-header{margin-bottom:var(--space-3,12px);justify-content:space-between;align-items:center;display:flex}.focus-areas__severity{font-size:var(--text-xs,.75rem);font-weight:var(--font-semibold,600);text-transform:uppercase;letter-spacing:var(--tracking-wider,.08em);padding:2px var(--space-2);border-radius:var(--radius-sm)}.focus-areas__category{font-size:var(--text-xs,.75rem);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide,.04em);font-weight:var(--font-medium,500)}.focus-areas__directive{font-size:var(--text-base,.875rem);color:var(--color-text-primary);line-height:var(--leading-normal,1.5);margin:0 0 var(--space-4,var(--space-4))0}.focus-areas__footer{justify-content:space-between;align-items:center;display:flex}.focus-areas__count{font-size:var(--text-xs,.75rem);color:var(--color-text-muted)}.focus-areas__link{font-size:var(--text-xs,.75rem);color:var(--color-interactive,#5b21b6);cursor:pointer;font-weight:var(--font-medium,500);transition:opacity var(--transition-fast,.15s ease)}.focus-areas__link:hover{opacity:.7}.dashboard-hero-row{gap:var(--space-4,16px);margin-bottom:var(--space-4,16px);grid-template-columns:1fr auto;align-items:stretch;display:grid}.dashboard-hero-row .hero-zone{margin-bottom:0}.command-bar-project-name{font-family:var(--font-display,"Fraunces",serif);font-size:var(--text-base,.875rem);font-weight:var(--font-bold,700);color:var(--color-text-primary);letter-spacing:var(--tracking-tight,-.01em);white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.hero-zone__rag-badge{font-family:var(--font-body,"IBM Plex Sans",sans-serif);font-size:var(--text-xs,.75rem);font-weight:var(--font-bold,700);text-transform:uppercase;letter-spacing:var(--tracking-wider,.08em);border-radius:var(--radius-sm);padding:2px 10px}.hero-zone__rag-badge--red{background:var(--rag-red-tint,#ef444414);color:var(--rag-red,#ef4444)}.hero-zone__rag-badge--amber{background:var(--rag-amber-tint,#f59e0b14);color:var(--rag-amber,#f59e0b)}.hero-zone__rag-badge--green{background:var(--rag-green-tint,#10b98114);color:var(--rag-green,#10b981)}.hero-zone__main{gap:var(--space-3,12px);flex-direction:column;flex:1;min-width:0;display:flex}.hero-zone__status{align-items:center;gap:var(--space-3,12px);display:flex}.hero-zone__status-icon{flex-shrink:0}.hero-zone__status--good .hero-zone__status-icon{color:var(--rag-green,#10b981)}.hero-zone__status--warning .hero-zone__status-icon{color:var(--rag-amber,#f59e0b)}.hero-zone__status--critical .hero-zone__status-icon{color:var(--rag-red,#ef4444)}.hero-zone__status-label{font-family:var(--font-display,"Fraunces",serif);font-size:var(--text-2xl,1.5rem);font-weight:var(--font-bold,700);color:var(--color-text-primary);letter-spacing:var(--tracking-tight,-.01em)}.hero-zone__status--good .hero-zone__status-label{color:var(--rag-green,#10b981)}.hero-zone__status--warning .hero-zone__status-label{color:var(--rag-amber,#f59e0b)}.hero-zone__status--critical .hero-zone__status-label{color:var(--rag-red,#ef4444)}.hero-zone__narrative{font-size:var(--text-base,.875rem);color:var(--color-text-secondary);line-height:var(--leading-relaxed,1.6);max-width:48ch;margin:0}.hero-zone__cta{align-items:center;gap:var(--space-2,8px);padding:var(--space-2,8px)var(--space-4,16px);border-radius:var(--radius-sm);background:var(--color-interactive,#5b21b6);color:#fff;font-size:var(--text-sm,.8125rem);font-weight:var(--font-semibold,600);cursor:pointer;transition:all var(--transition-fast,.15s ease);border:none;width:fit-content;display:inline-flex}.hero-zone__cta:hover{background:var(--color-interactive-hover,#4c1d95);transform:translate(2px)}.hero-zone__cta svg{transition:transform var(--transition-fast,.15s ease)}.hero-zone__cta:hover svg{transform:translate(3px)}.hero-zone__secondary{align-items:center;gap:var(--space-2,8px);padding-left:var(--space-6,24px);border-left:1px solid var(--border-subtle,var(--color-border-light));flex-direction:column;flex-shrink:0;display:flex}.hero-zone__score-block{align-items:center;gap:var(--space-2,8px);flex-direction:column;display:flex}.hero-zone__score-meta{align-items:center;gap:var(--space-2,8px);display:flex}.hero-zone__changes-link{font-size:var(--text-xs,.75rem);color:var(--color-interactive,#5b21b6);cursor:pointer;font-weight:var(--font-medium,500);transition:opacity var(--transition-fast,.15s ease);background:0 0;border:none;padding:0}.hero-zone__changes-link:hover{opacity:.7}.hero-zone__export-btn{align-items:center;gap:var(--space-2,8px);padding:var(--space-2,8px)var(--space-3,12px);border-radius:var(--radius-xs);border:1px solid var(--border-subtle,var(--color-border-light));background:var(--surface-card,var(--color-surface-card));color:var(--color-text-primary);font-size:var(--text-xs,.75rem);font-weight:var(--font-medium,500);cursor:pointer;transition:all var(--transition-fast,.15s ease);display:inline-flex}.causal-rationale{font-size:var(--text-sm,.8125rem);color:var(--color-text-secondary);line-height:var(--leading-relaxed,1.6);margin:var(--space-3,12px)0 0 0;padding-top:var(--space-3,12px);border-top:1px solid var(--border-subtle,var(--color-border-light))}.causal-cta{align-items:center;gap:var(--space-1,4px);margin-top:var(--space-3,12px);color:var(--color-interactive,#5b21b6);font-size:var(--text-xs,.75rem);font-weight:var(--font-medium,500);cursor:pointer;transition:opacity var(--transition-fast,.15s ease);background:0 0;border:none;padding:0;display:inline-flex}.causal-cta:hover{opacity:.7}.causal-cta svg{transition:transform var(--transition-fast,.15s ease)}.causal-cta:hover svg{transform:translate(2px)}.causal-more{background:var(--color-surface-raised,var(--color-bg-tertiary));color:var(--color-text-muted)}@keyframes barGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.catbreak-bar{transform-origin:0;animation:.6s ease-out both barGrow}.catbreak-item:first-child .catbreak-bar{animation-delay:0s}.catbreak-item:nth-child(2) .catbreak-bar{animation-delay:80ms}.catbreak-item:nth-child(3) .catbreak-bar{animation-delay:.16s}.catbreak-item:nth-child(4) .catbreak-bar{animation-delay:.24s}.catbreak-item:nth-child(5) .catbreak-bar{animation-delay:.32s}.catbreak-item:nth-child(6) .catbreak-bar{animation-delay:.4s}.disclosure-header{cursor:pointer;padding:var(--space-3,var(--space-3))0;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.disclosure-header:hover .disclosure-toggle{color:var(--color-interactive,#5b21b6)}.disclosure-toggle{font-size:var(--text-xs,.75rem);color:var(--color-text-muted);transition:color var(--transition-fast,.15s ease);align-items:center;gap:var(--space-1,4px);display:flex}.disclosure-toggle svg{transition:transform var(--transition-normal,.25s ease)}.disclosure-toggle--open svg{transform:rotate(180deg)}.disclosure-summary{font-size:var(--text-sm,.8125rem);color:var(--color-text-secondary);margin-left:var(--space-4,16px)}.disclosure-body{transition:max-height var(--transition-normal,.25s ease),opacity var(--transition-normal,.25s ease);overflow:hidden}.disclosure-body--collapsed{opacity:0;max-height:0}.disclosure-body--expanded{opacity:1;max-height:2000px}.sticky-header{z-index:90;padding:var(--space-2,var(--space-2))var(--space-4,var(--space-4));background:var(--surface-card,var(--color-surface-card));border-bottom:1px solid var(--border-subtle,var(--color-border-light));box-shadow:var(--shadow-card);opacity:0;transition:transform var(--transition-normal,.25s ease),opacity var(--transition-normal,.25s ease);pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0;transform:translateY(-100%)}.sticky-header--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.sticky-header__left{align-items:center;gap:var(--space-3,12px);display:flex}.sticky-header__score{font-family:var(--font-display,"Fraunces",serif);font-size:var(--text-lg,1.125rem);font-weight:var(--font-bold,700);letter-spacing:var(--tracking-tight,-.01em)}.sticky-header__score--red{color:var(--rag-red,#ef4444)}.sticky-header__score--amber{color:var(--rag-amber,#f59e0b)}.sticky-header__score--green{color:var(--rag-green,#10b981)}.sticky-header__rag{font-size:var(--text-xs,.75rem);font-weight:var(--font-bold,700);text-transform:uppercase;letter-spacing:var(--tracking-wider,.08em);padding:1px var(--space-2);border-radius:var(--radius-sm)}.sticky-header__rag--red{background:var(--rag-red-tint);color:var(--rag-red)}.sticky-header__rag--amber{background:var(--rag-amber-tint);color:var(--rag-amber)}.sticky-header__rag--green{background:var(--rag-green-tint);color:var(--rag-green)}.sticky-header__trend{font-size:var(--text-sm,.8125rem);font-weight:var(--font-semibold,600)}.sticky-header__trend--declining{color:var(--rag-red)}.sticky-header__trend--improving{color:var(--rag-green)}.sticky-header__right{align-items:center;gap:var(--space-2,8px);display:flex}.sticky-header__pill{font-size:var(--text-xs,.75rem);font-weight:var(--font-medium,500);padding:2px var(--space-2);border-radius:var(--radius-sm)}.sticky-header__pill--critical{background:var(--rag-red-tint);color:var(--rag-red)}.sticky-header__pill--warning{background:var(--rag-amber-tint);color:var(--rag-amber)}.metric-card{transition:transform var(--transition-fast,.15s ease),box-shadow var(--transition-fast,.15s ease)}.metric-card:hover{box-shadow:var(--shadow-elevated,0 4px 16px #0000001f);transform:translateY(-2px)}.sticky-header__project{font-family:var(--font-display,"Fraunces",serif);font-size:var(--text-sm,.8125rem);font-weight:var(--font-semibold,600);color:var(--color-text-secondary);letter-spacing:var(--tracking-tight,-.01em)}.metis-overlay{pointer-events:none;z-index:45;background:0 0;transition:background .3s ease-out;position:fixed;inset:0}.metis-overlay--visible{pointer-events:auto;background:#0006}.metis-panel{z-index:50;background:var(--surface-elevated,#334155);border-left:1px solid var(--border-subtle,#94a3b814);flex-direction:column;width:360px;height:100dvh;transition:transform .3s ease-out,box-shadow .4s ease-out;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:0 0 #0000}.metis-panel--open{transform:translate(0);box-shadow:-8px 0 32px #00000040}.metis-panel-header{padding:14px var(--space-4);border-bottom:1px solid var(--border-subtle,#94a3b814);flex-shrink:0;justify-content:space-between;align-items:center;display:flex;box-shadow:0 6px 12px -2px #00000026}.metis-panel-title{color:var(--interactive-purple,#7c3aed);align-items:center;gap:10px;display:flex}.metis-panel-name{font-family:var(--font-display,"Fraunces",serif);letter-spacing:-.01em;color:var(--text-primary,#f1f5f9);font-size:17px;font-weight:600}.metis-panel-actions{align-items:center;gap:var(--space-1);display:flex}.metis-new-chat,.metis-panel-close{border-radius:var(--radius-xs);width:30px;height:30px;color:var(--text-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.metis-new-chat:hover,.metis-panel-close:hover{background:var(--border-subtle,#94a3b814);color:var(--text-primary,#f1f5f9)}.metis-new-chat:disabled{opacity:.4;cursor:not-allowed}.metis-chips{padding:10px var(--space-4);border-bottom:1px solid var(--border-subtle,#94a3b814);scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0;gap:6px;display:flex;overflow-x:auto}.metis-chips::-webkit-scrollbar{display:none}.metis-chip{align-items:center;gap:var(--space-1);border:1px solid var(--border-medium,#94a3b826);color:var(--text-secondary,#94a3b8);font-family:var(--font-body,"IBM Plex Sans",sans-serif);white-space:nowrap;cursor:pointer;background:0 0;border-radius:16px;padding:5px 10px;font-size:11.5px;font-weight:500;transition:border-color .15s,color .15s,background .15s,transform .15s,box-shadow .15s;display:flex}.metis-chip:hover{border-color:var(--interactive-purple,#7c3aed);color:var(--interactive-purple,#7c3aed);background:#7c3aed1a;transform:translateY(-1px);box-shadow:0 2px 6px #7c3aed26}.metis-chip:disabled{opacity:.4;cursor:not-allowed}.metis-chip:disabled:hover{border-color:var(--border-medium,#94a3b826);color:var(--text-secondary,#94a3b8);background:0 0}.metis-chip-icon{font-size:var(--text-xs);line-height:1}.metis-messages{padding:var(--space-4);scrollbar-width:thin;scrollbar-color:var(--border-medium,#94a3b826)transparent;flex-direction:column;flex:1;gap:14px;display:flex;overflow-y:auto}.metis-message{gap:var(--space-2);max-width:100%;animation:.25s ease-out both metisMessageIn;display:flex}@keyframes metisMessageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.metis-message--assistant{align-self:flex-start}.metis-message--assistant .metis-message-content{border-left:2px solid var(--interactive-purple,#7c3aed);padding:var(--space-2)var(--space-3);background:0 0;border-radius:0 8px 8px 0}.metis-message-avatar{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--interactive-purple,#7c3aed);background:#7c3aed1a;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.metis-message--user{flex-direction:row-reverse;align-self:flex-end}.metis-message--user .metis-message-content{border-radius:var(--radius-xs)8px 2px 8px;padding:var(--space-2)var(--space-3);background:#7c3aed1a}.metis-message-content{font-family:var(--font-body,"IBM Plex Sans",sans-serif);font-size:var(--text-sm);color:var(--text-primary,#f1f5f9);word-break:break-word;min-width:0;line-height:1.55}.metis-message-content p{margin:0 0 6px}.metis-message-content p:last-child{margin-bottom:0}.metis-message-content strong{font-weight:600}.metis-message-content code{border-radius:var(--radius-sm);background:#94a3b81a;padding:1px 5px;font-family:IBM Plex Mono,monospace;font-size:11.5px}.metis-message-content ul{margin:var(--space-1)0;padding-left:16px}.metis-message-content li{margin-bottom:3px}.metis-cursor{background:var(--interactive-purple,#7c3aed);vertical-align:text-bottom;width:2px;height:13px;margin-left:2px;animation:.8s ease-in-out infinite metisBlink;display:inline-block}@keyframes metisBlink{0%,to{opacity:1}50%{opacity:0}}.metis-thinking{border-left:2px solid var(--interactive-purple,#7c3aed);color:var(--interactive-purple,#7c3aed);border-radius:0 8px 8px 0;align-items:center;gap:10px;padding:10px 14px;display:flex}.metis-thinking-dots{gap:var(--space-1);align-items:center;display:flex}.metis-thinking-dots span{background:var(--text-tertiary,#64748b);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite metisDotBounce}.metis-thinking-dots span:nth-child(2){animation-delay:.2s}.metis-thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes metisDotBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.metis-input-area{align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-4);border-top:1px solid var(--border-subtle,#94a3b814);background:var(--surface-elevated,#334155);flex-shrink:0;display:flex}.metis-input{height:38px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-medium,#94a3b826);background:var(--surface-card,#1e293b);color:var(--text-primary,#f1f5f9);font-family:var(--font-body,"IBM Plex Sans",sans-serif);font-size:var(--text-sm);outline:none;flex:1;transition:border-color .15s}.metis-input::placeholder{color:var(--text-tertiary,#64748b)}.metis-input:focus{border-color:var(--interactive-purple,#7c3aed);box-shadow:0 0 0 3px #7c3aed26}.metis-input:disabled{opacity:.5}.metis-send{border-radius:var(--radius-md);background:var(--interactive-purple,#7c3aed);width:38px;height:38px;color:var(--color-white);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,opacity .15s;display:flex}.metis-send:hover:not(:disabled){background:var(--interactive-purple-hover,#6d28d9)}.metis-send:disabled{opacity:.35;cursor:not-allowed}[data-theme=light] [data-theme=light] .metis-overlay--visible{background:#0003}[data-theme=light] .metis-panel{background:var(--color-white);border-left-color:#0f172a14;box-shadow:-8px 0 32px #0000001a}[data-theme=light] .metis-panel-header{border-bottom-color:#0f172a0f}[data-theme=light] .metis-panel-name{color:#0f172a}[data-theme=light] .metis-chips{border-bottom-color:#0f172a0f}[data-theme=light] .metis-chip{color:#475569;border-color:#0f172a1f}[data-theme=light] .metis-chip:hover{background:#7c3aed0d}[data-theme=light] .metis-message-content{color:#1e293b}[data-theme=light] .metis-message--user .metis-message-content{color:#1e293b;background:#7c3aed12}[data-theme=light] .metis-message--assistant .metis-message-content{color:#1e293b}[data-theme=light] .metis-input-area{background:var(--color-white);border-top-color:#0f172a0f}[data-theme=light] .metis-input{color:#0f172a;background:#f1f5f9;border-color:#0f172a1f}[data-theme=light] .metis-input::placeholder{color:#94a3b8}[data-theme=light] .metis-new-chat:hover,[data-theme=light] .metis-panel-close:hover{color:#0f172a;background:#0f172a0f}[data-theme=light] .metis-message-content code{background:#0f172a0f}[data-theme=light] .metis-message-avatar{background:#7c3aed14}[data-theme=light] .metis-thinking-dots span{background:#94a3b8}@media(max-width:520px){.metis-panel{width:100vw}}:root,[data-theme=light]{--gantt-complete-bg:#dcfce7;--gantt-complete-fill:#16a34a;--gantt-overdue-bg:#fee2e2;--gantt-overdue-fill:#dc2626;--gantt-behind-bg:#fef3c7;--gantt-behind-fill:#d97706;--gantt-active-bg:#e0e7ff;--gantt-active-fill:#6366f1;--gantt-future-bg:#f1f5f9;--gantt-future-fill:#94a3b8;--gantt-stripe:#00000005;--gantt-gridline:#00000012;--gantt-tick:#00000014;--gantt-tick-text:#64748b;--gantt-today:#dc2626;--gantt-today-label:#dc2626;--gantt-label-bg:var(--color-white);--gantt-label-border:#00000014;--gantt-corner-bg:#f8fafc;--gantt-header-bg:#f8fafc;--gantt-bar-pct:#ffffffe6}[data-theme=dark]{--gantt-complete-bg:#14532d;--gantt-complete-fill:#22c55e;--gantt-overdue-bg:#450a0a;--gantt-overdue-fill:#ef4444;--gantt-behind-bg:#451a03;--gantt-behind-fill:#f59e0b;--gantt-active-bg:#1e1b4b;--gantt-active-fill:#818cf8;--gantt-future-bg:#ffffff0a;--gantt-future-fill:#475569;--gantt-stripe:#ffffff05;--gantt-gridline:#ffffff0f;--gantt-tick:#ffffff14;--gantt-tick-text:#94a3b8;--gantt-today:#ef4444;--gantt-today-label:#f87171;--gantt-label-bg:var(--surface-card,#1e293b);--gantt-label-border:#ffffff0f;--gantt-corner-bg:var(--surface-card,#1e293b);--gantt-header-bg:var(--surface-card,#1e293b);--gantt-bar-pct:#ffffffd9}.page-timeline{flex-direction:column;height:calc(100vh - 100px);display:flex}.gantt-wrapper{border:1px solid var(--gantt-label-border);border-radius:var(--radius-xs);background:var(--gantt-label-bg);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.gantt-toolbar{padding:var(--space-2)var(--space-3);border-bottom:1px solid var(--gantt-label-border);background:var(--gantt-corner-bg);justify-content:space-between;align-items:center;display:flex}.gantt-zoom-group{background:var(--gantt-label-border);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.gantt-zoom-btn{padding:var(--space-1)var(--space-3);border-radius:var(--radius-sm);color:var(--gantt-tick-text);font-size:var(--text-xs);cursor:pointer;font-weight:500;font-family:var(--font-body,"IBM Plex Sans",sans-serif);background:0 0;border:none;transition:all .15s}.gantt-zoom-btn.active{background:var(--gantt-label-bg);color:var(--text-primary,#0f172a);box-shadow:0 1px 2px #0000001a}.gantt-zoom-btn:hover:not(.active){color:var(--text-primary,#0f172a)}.gantt-info{font-size:var(--text-xs);color:var(--gantt-tick-text);font-family:var(--font-body,"IBM Plex Sans",sans-serif)}.gantt-grid{flex:1;grid-template-rows:44px 1fr;grid-template-columns:260px 1fr;min-height:0;display:grid;overflow:hidden}.gantt-corner{padding:0 var(--space-4);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--gantt-tick-text);background:var(--gantt-corner-bg);border-bottom:1px solid var(--gantt-label-border);border-right:1px solid var(--gantt-label-border);z-index:3;font-weight:600;font-family:var(--font-body,"IBM Plex Sans",sans-serif);grid-area:1/1;align-items:center;display:flex}.gantt-header{background:var(--gantt-header-bg);border-bottom:1px solid var(--gantt-label-border);z-index:2;grid-area:1/2;overflow:hidden}.gantt-tick{stroke:var(--gantt-tick);stroke-width:1px}.gantt-tick-text{fill:var(--gantt-tick-text);font-size:var(--text-xs);font-family:var(--font-body,"IBM Plex Sans",sans-serif)}.gantt-today{stroke:var(--gantt-today);stroke-width:1.5px;stroke-dasharray:4 2}.gantt-today-label{fill:var(--gantt-today-label);font-size:var(--text-xs);font-weight:600;font-family:var(--font-body,"IBM Plex Sans",sans-serif)}.gantt-labels{border-right:1px solid var(--gantt-label-border);background:var(--gantt-label-bg);z-index:1;grid-area:2/1;overflow:hidden}.gantt-label{padding:0 var(--space-3);align-items:center;gap:var(--space-2);display:flex}.gantt-label.even{background:var(--gantt-stripe)}.gantt-label-name{font-size:var(--text-xs);color:var(--text-primary,#0f172a);white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-body,"IBM Plex Sans",sans-serif);flex:1;overflow:hidden}.gantt-label-owner{font-size:var(--text-xs);color:var(--gantt-tick-text);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:80px;overflow:hidden}.gantt-body{grid-area:2/2;overflow:auto}.gantt-body::-webkit-scrollbar{width:8px;height:8px}.gantt-body::-webkit-scrollbar-track{background:0 0}.gantt-body::-webkit-scrollbar-thumb{background:var(--gantt-gridline);border-radius:var(--radius-sm)}.gantt-body::-webkit-scrollbar-thumb:hover{background:var(--gantt-tick-text)}.gantt-stripe{fill:var(--gantt-stripe)}.gantt-gridline{stroke:var(--gantt-gridline);stroke-width:1px}.gantt-bar-bg.status-complete{fill:var(--gantt-complete-bg)}.gantt-bar-bg.status-overdue{fill:var(--gantt-overdue-bg)}.gantt-bar-bg.status-behind{fill:var(--gantt-behind-bg)}.gantt-bar-bg.status-active{fill:var(--gantt-active-bg)}.gantt-bar-bg.status-future{fill:var(--gantt-future-bg)}.gantt-bar-fill.status-complete{fill:var(--gantt-complete-fill)}.gantt-bar-fill.status-overdue{fill:var(--gantt-overdue-fill)}.gantt-bar-fill.status-behind{fill:var(--gantt-behind-fill)}.gantt-bar-fill.status-active{fill:var(--gantt-active-fill)}.gantt-bar-fill.status-future{fill:var(--gantt-future-fill)}.gantt-milestone.status-complete{fill:var(--gantt-complete-fill)}.gantt-milestone.status-overdue{fill:var(--gantt-overdue-fill)}.gantt-milestone.status-behind{fill:var(--gantt-behind-fill)}.gantt-milestone.status-active{fill:var(--gantt-active-fill)}.gantt-milestone.status-future{fill:var(--gantt-future-fill)}.gantt-bar-pct{fill:var(--gantt-bar-pct);font-size:var(--text-xs);font-weight:500;font-family:var(--font-body,"IBM Plex Sans",sans-serif);pointer-events:none}.gantt-bar-group:hover .gantt-bar-bg{opacity:.8}.gantt-bar-group:hover .gantt-bar-fill{filter:brightness(1.1)}.gantt-toolbar-left{align-items:center;gap:var(--space-3);display:flex}.gantt-toolbar-right{align-items:center;gap:var(--space-4);display:flex}.gantt-toolbar{flex-wrap:wrap}.gantt-finding-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.gantt-finding-dot.severity-critical{background:var(--gantt-overdue-fill)}.gantt-finding-dot.severity-warning{background:var(--gantt-behind-fill)}.gantt-finding-dot.severity-advisory{background:var(--gantt-active-fill)}.gantt-finding-marker{stroke:none}.gantt-finding-marker.critical{fill:var(--gantt-overdue-fill)}.gantt-finding-marker.warning{fill:var(--gantt-behind-fill)}.gantt-finding-marker.advisory{fill:var(--gantt-active-fill)}.gantt-finding-marker-text{fill:var(--color-white);font-size:8px;font-weight:700;font-family:var(--font-body,"IBM Plex Sans",sans-serif);pointer-events:none}.dependencies-page{gap:var(--space-5);flex-direction:column;display:flex}.dep-intel-strip{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.dep-intel-card{padding:var(--space-4);border-radius:var(--card-radius,12px);background:var(--card-bg);border:1px solid var(--card-border);flex-direction:column;align-items:center;display:flex}.dep-intel-value{font-family:var(--font-display,"Fraunces",serif);font-size:2rem;font-weight:700;line-height:1}.dep-intel-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:.8rem}.dep-intel-red{color:var(--rag-red,#ef4444)}.dep-intel-amber{color:var(--rag-amber,#f59e0b)}.dep-intel-green{color:var(--rag-green,#22c55e)}.dep-intel-purple{color:var(--interactive-purple,#7c3aed)}.dep-cluster-zone,.dep-chain-zone{padding:var(--space-5)}.dep-section-title{font-family:var(--font-display,"Fraunces",serif);margin:0 0 var(--space-4)0;font-size:1.1rem;font-weight:600}.dep-empty{color:var(--text-secondary);font-size:.9rem}.dep-cluster-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:20px;display:grid}.dep-cluster-card{border-radius:var(--radius-xs);background:var(--surface-base,var(--bg-primary));border:1px solid var(--card-border);padding:14px}.dep-cluster-name{margin-bottom:4px;font-size:.95rem;font-weight:600}.dep-cluster-meta{color:var(--text-secondary);margin-bottom:8px;font-size:.8rem}.dep-cluster-rag{gap:var(--space-2);font-size:.8rem;font-weight:500;display:flex}.dep-rag-dot{align-items:center;gap:3px;display:flex}.dep-rag-dot:before{content:"";border-radius:50%;width:8px;height:8px}.dep-rag-green:before{background:var(--rag-green,#22c55e)}.dep-rag-amber:before{background:var(--rag-amber,#f59e0b)}.dep-rag-red:before{background:var(--rag-red,#ef4444)}.dep-connections-list{margin-top:16px}.dep-connections-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 10px;font-size:.85rem;font-weight:600}.dep-connection-row{align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);border-left:3px solid var(--rag-green,#22c55e);background:var(--surface-base,var(--bg-primary));margin-bottom:6px;font-size:.9rem;display:flex}.dep-conn-red{border-left-color:var(--rag-red,#ef4444)}.dep-conn-amber{border-left-color:var(--rag-amber,#f59e0b)}.dep-conn-label{flex:1;font-weight:500}.dep-conn-count{color:var(--text-secondary);font-size:.8rem}.dep-conn-risk{color:var(--rag-red,#ef4444);font-size:.8rem;font-weight:600}.dep-bottlenecks{margin-top:16px}.dep-bottleneck-row{align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);background:var(--surface-base,var(--bg-primary));margin-bottom:6px;font-size:.9rem;display:flex}.dep-bottleneck-name{flex:1;font-weight:500}.dep-bottleneck-owner,.dep-bottleneck-count{color:var(--text-secondary);font-size:.8rem}.dep-bottleneck-cp{text-transform:uppercase;letter-spacing:.05em;color:var(--rag-red,#ef4444);border-radius:var(--radius-sm);border:1px solid var(--rag-red,#ef4444);padding:2px 6px;font-size:.7rem;font-weight:600}.ct-container{width:100%;min-height:350px;position:relative}.ct-svg{width:100%;display:block}.ct-donut--green{fill:var(--rag-green,#22c55e)}.ct-donut--amber{fill:var(--rag-amber,#f59e0b)}.ct-donut--red{fill:var(--rag-red,#ef4444)}.ct-donut{transition:opacity .3s}.ct-node-inner{fill:var(--surface-card,var(--bg-secondary,#1e1e2e))}[data-theme=light] .ct-node-inner{fill:var(--surface-card,var(--color-white))}.ct-node-empty{fill:var(--color-border,#333);opacity:.3}.ct-cp-ring{fill:none;stroke:var(--color-accent,#7c3aed);stroke-width:3px;opacity:.7}.ct-node-label{fill:var(--text-primary,#e2e2e2);font-family:var(--font-body,"IBM Plex Sans",sans-serif);font-size:var(--text-xs);pointer-events:none;font-weight:600}.ct-node-count{fill:var(--text-secondary,#999);font-family:var(--font-body,"IBM Plex Sans",sans-serif);font-size:var(--text-xs);pointer-events:none;font-weight:400}.ct-edge{stroke-linecap:round;transition:opacity .3s}.ct-edge--green{stroke:var(--rag-green,#22c55e);opacity:.8;stroke-width:3px}.ct-edge--amber{stroke:var(--rag-amber,#f59e0b);opacity:.85;stroke-width:3px}.ct-edge--red{stroke:var(--rag-red,#ef4444);opacity:.95;stroke-width:4px}.ct-edge-label{fill:var(--text-secondary,#999);font-family:var(--font-body,"IBM Plex Sans",sans-serif);font-size:var(--text-xs);pointer-events:none;font-weight:600}.ct-tooltip{background:var(--surface-elevated,#2a2a3a);border:1px solid var(--color-border,#333);border-radius:var(--radius-xs);padding:var(--space-2)var(--space-3);font-family:var(--font-body,"IBM Plex Sans",sans-serif);font-size:var(--text-xs);color:var(--text-primary,#e2e2e2);pointer-events:none;z-index:20;white-space:nowrap;line-height:1.5;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 12px #0000004d}[data-theme=light] .ct-tooltip{background:var(--color-white);border-color:#e2e2e2;box-shadow:0 4px 12px #0000001a}.ct-node-g,.ct-link-g{cursor:pointer}.dep-topology-zone{padding:var(--space-5)}.dep-topology-header{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:12px;display:flex}.dep-topology-hint{color:var(--text-secondary,#999);font-size:.78rem;font-style:italic}.dep-intel-icon{border-radius:var(--radius-xs);justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:6px;display:flex}.dep-intel-icon--risk{color:var(--rag-red,#ef4444);background:#ef44441f}.dep-intel-icon--bottleneck{color:var(--rag-amber,#f59e0b);background:#f59e0b1f}.dep-intel-icon--cp{color:var(--color-accent,#7c3aed);background:#7c3aed1f}.dep-intel-summary{color:var(--text-secondary,#999);padding:var(--space-2)var(--space-4);background:var(--surface-base,var(--bg-primary));border-radius:var(--radius-xs);border:1px solid var(--color-border,#333);align-items:center;font-size:.82rem;display:flex}.dep-intel-card{text-align:center;flex-direction:column;align-items:center;display:flex}[data-theme=light] .ct-node-label{fill:#1a1a2e}[data-theme=light] .ct-node-count,[data-theme=light] .ct-edge-label{fill:#555}[data-theme=light] .ct-node-empty{fill:#ccc}.arc-container{width:100%;position:relative}.arc-controls{align-items:center;gap:var(--space-4);padding:var(--space-2)var(--space-1);flex-wrap:wrap;display:flex}.arc-toggle{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.85rem;display:flex}.arc-toggle input{accent-color:var(--interactive-purple,#7c3aed)}.arc-legend{gap:var(--space-3);flex-wrap:wrap;display:flex}.arc-legend-item{align-items:center;gap:var(--space-1);color:var(--text-secondary);font-size:.8rem;display:flex}.arc-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.arc-hint{color:var(--text-tertiary,#64748b);margin-left:auto;font-size:.75rem}.arc-svg{display:block}.arc-path--green{stroke:var(--rag-green,#22c55e);stroke-width:2px}.arc-path--amber{stroke:var(--rag-amber,#f59e0b);stroke-width:2.5px}.arc-path--red{stroke:var(--rag-red,#ef4444);stroke-width:3px}.arc-path--grey{stroke:var(--text-tertiary,#64748b);stroke-width:1.5px;opacity:.5}.arc-dot{transition:opacity .3s}.arc-label{fill:var(--text-secondary);font-size:.65rem}.arc-x-axis text{fill:var(--text-secondary);font-size:.75rem}.arc-x-axis line,.arc-x-axis path{stroke:var(--border-subtle,#334155)}.rr-container{width:100%;position:relative}.rr-layout{gap:var(--space-6);align-items:flex-start;display:flex}.rr-svg{flex-shrink:0;display:block}.rr-ring{fill:none;stroke:var(--border-subtle,#334155);stroke-width:1px;stroke-dasharray:4 4}.rr-ring-label{fill:var(--text-tertiary,#64748b);font-size:.7rem}.rr-edge{stroke:var(--text-tertiary,#64748b);stroke-width:2px;opacity:.6}.rr-node{transition:opacity .3s}.rr-node--anchor{stroke:var(--interactive-purple,#7c3aed);stroke-width:3px}.rr-cp-ring{fill:none;stroke:var(--interactive-purple,#7c3aed);stroke-width:2px;opacity:.5}.rr-severity-ring--red{fill:none;stroke:var(--rag-red,#ef4444);stroke-width:2px;opacity:.6}.rr-severity-ring--amber{fill:none;stroke:var(--rag-amber,#f59e0b);stroke-width:2px;opacity:.6}.rr-node-label{fill:var(--text-secondary);font-size:.65rem}.rr-stats{padding:var(--space-4)0 var(--space-4)0;min-width:160px}.rr-stats-title{font-family:var(--font-display,"Fraunces",serif);margin:0 0 var(--space-4)0;font-size:1rem;font-weight:600}.rr-stat{margin-bottom:12px}.rr-stat-value{font-family:var(--font-display,"Fraunces",serif);color:var(--interactive-purple,#7c3aed);font-size:1.5rem;font-weight:700;line-height:1.1;display:block}.rr-stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.rr-legend{flex-direction:column;gap:6px;margin-top:20px;display:flex}.rr-legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:.8rem;display:flex}.rr-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dep-l2-toolbar{align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);background:var(--surface-card,#1e293b);border:1px solid var(--border-subtle,#334155);border-radius:var(--radius-xs);flex-wrap:wrap;margin-bottom:16px;display:flex}.dep-l2-back{border:1px solid var(--border-subtle,#334155);color:var(--text-primary);padding:6px var(--space-3);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;font-size:.85rem;transition:background .2s}.dep-l2-back:hover{background:var(--surface-elevated,#334155)}.dep-l2-context{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.dep-l2-context-dir{color:var(--text-secondary);text-transform:capitalize;margin-left:8px;font-size:.8rem;font-weight:400}.dep-l2-controls{gap:var(--space-2);flex-shrink:0;display:flex}.dep-l2-direction,.dep-l2-views{border:1px solid var(--border-subtle,#334155);border-radius:var(--radius-sm);display:flex;overflow:hidden}.dep-l2-dir-btn,.dep-l2-view-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:6px 10px;font-size:.8rem;transition:all .15s}.dep-l2-dir-btn+.dep-l2-dir-btn,.dep-l2-view-btn+.dep-l2-view-btn{border-left:1px solid var(--border-subtle,#334155)}.dep-l2-dir-btn--active,.dep-l2-view-btn--active{background:var(--interactive-purple,#7c3aed);color:var(--color-white)}.dep-l2-dir-btn:hover:not(.dep-l2-dir-btn--active),.dep-l2-view-btn:hover:not(.dep-l2-view-btn--active){background:var(--surface-elevated,#334155)}.dep-l2-content{padding:var(--space-5);min-height:400px}.dep-l2-error{padding:var(--space-3)var(--space-4);border-radius:var(--radius-sm);background:var(--rag-red,#ef4444);margin-bottom:16px}@supports (color:color-mix(in lab,red,red)){.dep-l2-error{background:color-mix(in srgb,var(--rag-red,#ef4444)12%,transparent)}}.dep-l2-error{color:var(--rag-red,#ef4444);align-items:center;font-size:.9rem;display:flex}.dep-chain-intro{color:var(--text-secondary);margin:0 0 var(--space-3)0;font-size:.9rem}.dep-task-search{gap:var(--space-2);margin-bottom:16px;display:flex}.dep-task-input{padding:var(--space-2)var(--space-3);border:1px solid var(--border-subtle,#334155);border-radius:var(--radius-sm);background:var(--surface-base,#0f172a);color:var(--text-primary);flex:1;font-family:inherit;font-size:.85rem}.dep-task-input::placeholder{color:var(--text-tertiary,#64748b)}.dep-task-input:focus{border-color:var(--interactive-purple,#7c3aed);box-shadow:0 0 0 2px var(--interactive-purple,#7c3aed);outline:none}@supports (color:color-mix(in lab,red,red)){.dep-task-input:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--interactive-purple,#7c3aed)25%,transparent)}}.dep-search-btn{padding:var(--space-2)var(--space-4);background:var(--interactive-purple,#7c3aed);color:var(--color-white);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;font-family:inherit;font-size:.85rem;transition:opacity .2s}.dep-search-btn:hover{opacity:.9}.dep-search-btn:disabled{opacity:.5;cursor:not-allowed}.dep-bottleneck-row--clickable{cursor:pointer;transition:background .15s,border-left-color .15s}.dep-bottleneck-row--clickable:hover{background:var(--surface-elevated,#334155);border-left-color:var(--interactive-purple,#7c3aed)}[data-theme=light] .dep-task-input{background:var(--color-white);border-color:#d1d5db}[data-theme=light] .dep-task-input:focus{border-color:var(--interactive-purple,#7c3aed)}[data-theme=light] .dep-l2-toolbar{background:var(--color-white);border-color:#e5e7eb}[data-theme=light] .dep-l2-back{border-color:#d1d5db}[data-theme=light] .dep-l2-back:hover{background:#f3f4f6}[data-theme=light] .dep-l2-direction,[data-theme=light] .dep-l2-views{border-color:#d1d5db}[data-theme=light] .dep-l2-dir-btn+.dep-l2-dir-btn,[data-theme=light] .dep-l2-view-btn+.dep-l2-view-btn{border-left-color:#d1d5db}[data-theme=light] .dep-l2-dir-btn:hover:not(.dep-l2-dir-btn--active),[data-theme=light] .dep-l2-view-btn:hover:not(.dep-l2-view-btn--active),[data-theme=light] .dep-bottleneck-row--clickable:hover{background:#f3f4f6}[data-theme=light] .rr-ring,[data-theme=light] .arc-x-axis line,[data-theme=light] .arc-x-axis path{stroke:#d1d5db}.dep-isolation-banner{justify-content:space-between;align-items:center;gap:var(--space-3);padding:10px var(--space-4);background:var(--interactive-purple,#7c3aed);color:var(--color-white);border-radius:var(--radius-xs);margin:0 0 var(--space-3)0;font-size:.85rem;animation:.3s ease-out dep-banner-in;display:flex}@keyframes dep-banner-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dep-isolation-text{flex:1}.dep-isolation-text strong{font-weight:600}.dep-isolation-clear{color:var(--color-white);border-radius:var(--radius-sm);padding:var(--space-1)var(--space-3);cursor:pointer;white-space:nowrap;background:#fff3;border:none;font-size:.8rem;transition:background .15s}.dep-isolation-clear:hover{background:#ffffff59}.dep-l2-actions{gap:var(--space-2);align-items:center;display:flex}.dep-l2-metis-btn,.dep-l2-timeline-btn{padding:6px var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-primary,#334155);background:var(--surface-card,#1e293b);color:var(--text-primary,#f1f5f9);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:.8rem;transition:background .15s,border-color .15s;display:inline-flex}.dep-l2-metis-btn:hover{background:var(--interactive-purple,#7c3aed);border-color:var(--interactive-purple,#7c3aed);color:var(--color-white)}.dep-l2-timeline-btn:hover{background:var(--surface-elevated,#334155);border-color:var(--text-secondary,#94a3b8)}.dep-l2-metis-btn svg,.dep-l2-timeline-btn svg{flex-shrink:0}.dep-intel-metis-btn{padding:var(--space-1)10px;border-radius:var(--radius-sm);border:1px solid var(--interactive-purple,#7c3aed);color:var(--interactive-purple,#7c3aed);cursor:pointer;background:0 0;align-items:center;margin-left:12px;font-size:.78rem;transition:background .15s,color .15s;display:inline-flex}.dep-intel-metis-btn:hover{background:var(--interactive-purple,#7c3aed);color:var(--color-white)}[data-theme=light] .dep-l2-metis-btn,[data-theme=light] .dep-l2-timeline-btn{background:var(--color-white);color:#1e293b;border-color:#d1d5db}[data-theme=light] .dep-l2-metis-btn:hover{background:var(--interactive-purple,#7c3aed);border-color:var(--interactive-purple,#7c3aed);color:var(--color-white)}[data-theme=light] .dep-l2-timeline-btn:hover{background:#f3f4f6;border-color:#9ca3af}[data-theme=light] .dep-isolation-banner{background:var(--interactive-purple,#7c3aed)}.gantt-focus-ring{fill:none;stroke:var(--accent,#7c3aed);stroke-width:2px;opacity:.7;animation:1.5s ease-in-out 2 gantt-pulse}@keyframes gantt-pulse{0%,to{opacity:.7}50%{opacity:.3}}.gantt-label.highlighted{background:var(--accent-surface,#7c3aed14)}[data-theme=dark] .gantt-label.highlighted{background:#7c3aed26}.gantt-selection-bar{align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-4);background:var(--accent-surface,#7c3aed0f);border:1px solid var(--accent,#7c3aed);border-radius:var(--radius-xs);margin:0 0 var(--space-2)0;font-size:var(--text-sm);flex-wrap:wrap;display:flex}.gantt-selection-name{color:var(--text-primary);font-weight:600}.gantt-selection-meta{color:var(--text-secondary);font-size:var(--text-xs)}.gantt-selection-actions{gap:var(--space-2);margin-left:auto;display:flex}.gantt-selection-btn{padding:var(--space-1)var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--accent,#7c3aed);background:var(--accent,#7c3aed);color:var(--color-white);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;font-weight:500;transition:opacity .15s}.gantt-selection-btn:hover{opacity:.85}.gantt-selection-btn.secondary{color:var(--text-secondary);border-color:var(--border-primary,#e2e8f0);background:0 0}.gantt-selection-btn.secondary:hover{background:var(--surface-hover,#0000000a)}[data-theme=dark] .rr-ring{stroke:#94a3b859}[data-theme=dark] .rr-ring-label{fill:#94a3b8b3}[data-theme=dark] .rr-node-label{fill:#cbd5e1d9}[data-theme=dark] .rr-edge{stroke:#94a3b880}[data-theme=dark] .rr-leader{stroke:#94a3b866}[data-theme=dark] .gantt-focus-ring{stroke:#fffc}[data-theme=dark] .gantt-selection-bar{background:#ffffff0f;border-color:#ffffff4d}.rr-leader{stroke:var(--text-tertiary,#94a3b8);stroke-width:.75px;opacity:.5}@keyframes dep-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dep-l2-toolbar{animation:1.2s cubic-bezier(.16,1,.3,1) dep-fade-in}.dep-l2-content{animation:1.4s cubic-bezier(.16,1,.3,1) .15s both dep-fade-in}.dep-topology-zone{animation:1.2s cubic-bezier(.16,1,.3,1) dep-fade-in}.dep-intel-strip{animation:1s cubic-bezier(.16,1,.3,1) dep-fade-in}.dep-empty-chain{justify-content:center;align-items:center;gap:var(--space-3);min-height:300px;color:var(--text-tertiary,#64748b);flex-direction:column;display:flex}.dep-empty-chain-icon{opacity:.5;font-size:2rem}.dep-empty-chain-text{font-size:.875rem}.dep-l2-back,.dep-l2-dir-btn,.dep-l2-view-btn,.dep-l2-metis-btn,.dep-l2-timeline-btn,.gantt-selection-btn,.gantt-zoom-btn{min-width:44px;min-height:44px}.dep-intel-card{min-height:44px}.delta-page{padding:var(--space-6);max-width:960px;margin:0 auto}.delta-header{margin-bottom:var(--space-8)}.delta-title{font-family:Fraunces,serif;font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4)0}.delta-selectors{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.delta-selector{gap:var(--space-1);flex-direction:column;display:flex}.delta-selector-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.delta-selector-select{padding:var(--space-2)var(--space-3);border-radius:var(--radius-xs);border:1px solid var(--border-primary);background:var(--surface-card);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;min-width:260px}.delta-selector-select:focus{outline:2px solid var(--purple-accent,#7c3aed);outline-offset:1px}.delta-selector-arrow{font-size:var(--text-xl);color:var(--text-tertiary);padding-top:var(--space-4)}.delta-score-hero{justify-content:center;align-items:center;gap:var(--space-8);padding:var(--space-6);background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);margin-bottom:var(--space-6);display:flex}.delta-score-previous,.delta-score-current{text-align:center}.delta-score-label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-1);display:block}.delta-score-value{font-family:Fraunces,serif;font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary)}.delta-score-change{align-items:center;gap:var(--space-1);padding:var(--space-3)var(--space-4);border-radius:var(--radius-xs);flex-direction:column;display:flex}.delta-score-arrow{font-size:var(--text-2xl)}.delta-score-delta{font-size:var(--text-lg);font-weight:var(--font-semibold)}.delta-score--improving{color:var(--rag-green,#22c55e);background:#22c55e1a}.delta-score--declining{color:var(--rag-red,#ef4444);background:#ef44441a}.delta-score--stable{background:var(--surface-elevated,#94a3b81a);color:var(--text-secondary)}.delta-severity-counts{gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.delta-severity-chip{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);border-radius:var(--radius-xs);font-size:var(--text-sm);background:var(--surface-card);border:1px solid var(--border-primary);display:flex}.delta-severity-chip-label{text-transform:capitalize;color:var(--text-secondary)}.delta-severity-chip-value{font-weight:var(--font-semibold);color:var(--text-primary)}.delta-severity-chip-delta{font-size:var(--text-xs);font-weight:var(--font-medium)}.delta-severity-chip-delta.rising{color:var(--rag-red,#ef4444)}.delta-severity-chip-delta.falling{color:var(--rag-green,#22c55e)}.delta-severity-chip--critical{border-left:3px solid var(--rag-red,#ef4444)}.delta-severity-chip--warning{border-left:3px solid var(--rag-amber,#f59e0b)}.delta-severity-chip--advisory{border-left:3px solid var(--rag-blue,#3b82f6)}.delta-severity-chip--positive{border-left:3px solid var(--rag-green,#22c55e)}.delta-categories{margin-bottom:var(--space-6)}.delta-section-title{font-family:Fraunces,serif;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4)0}.delta-category-list{gap:var(--space-3);flex-direction:column;display:flex}.delta-category-row{align-items:center;gap:var(--space-3);grid-template-columns:120px 1fr 60px;display:grid}.delta-category-name{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.delta-category-bar-track{background:var(--surface-elevated,#94a3b814);border-radius:var(--radius-sm);height:20px;position:relative;overflow:hidden}.delta-category-bar-prev{background:var(--text-tertiary);opacity:.25;border-radius:var(--radius-sm);height:100%;transition:width .6s;position:absolute;top:0;left:0}.delta-category-bar-curr{border-radius:var(--radius-sm);height:100%;transition:width .6s;position:absolute;top:0;left:0}.delta-category-bar--improving{background:var(--rag-green,#22c55e)}.delta-category-bar--declining{background:var(--rag-red,#ef4444)}.delta-category-bar--stable{background:var(--purple-accent,#7c3aed)}.delta-category-delta{font-size:var(--text-sm);font-weight:var(--font-semibold);text-align:right}.delta-category-delta--improving{color:var(--rag-green,#22c55e)}.delta-category-delta--declining{color:var(--rag-red,#ef4444)}.delta-category-delta--stable{color:var(--text-tertiary)}.delta-narrative{margin-bottom:var(--space-6);padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg)}.delta-narrative-text{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary);margin:0}.delta-findings-section{margin-bottom:var(--space-6)}.delta-findings-group{margin-bottom:var(--space-4);padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg)}.delta-findings-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.delta-badge{align-items:center;gap:var(--space-1);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);display:inline-flex}.delta-badge-icon{font-size:var(--text-sm)}.delta-badge--new{color:var(--rag-red,#ef4444);background:#ef44441f}.delta-badge--resolved{color:var(--rag-green,#22c55e);background:#22c55e1f}.delta-badge--escalated{color:var(--rag-red,#ef4444);background:#ef44441f}.delta-badge--deescalated{color:var(--rag-green,#22c55e);background:#22c55e1f}.delta-badge--persistent{background:var(--surface-elevated,#94a3b81a);color:var(--text-tertiary)}.delta-findings-count{font-size:var(--text-sm);color:var(--text-tertiary)}.delta-findings-list{gap:var(--space-2);flex-direction:column;display:flex}.delta-finding-row{align-items:center;gap:var(--space-3);padding:var(--space-2)0;border-bottom:1px solid var(--border-secondary,var(--border-primary));font-size:var(--text-sm);display:flex}.delta-finding-row:last-child{border-bottom:none}.delta-finding-severity{padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:capitalize}.delta-finding-severity--critical{color:var(--rag-red,#ef4444);background:#ef44441f}.delta-finding-severity--warning{color:var(--rag-amber,#f59e0b);background:#f59e0b1f}.delta-finding-severity--advisory{color:var(--rag-blue,#3b82f6);background:#3b82f61f}.delta-finding-severity--positive{color:var(--rag-green,#22c55e);background:#22c55e1f}.delta-finding-entity{color:var(--text-primary);font-weight:var(--font-medium)}.delta-finding-constraint{color:var(--text-tertiary);font-family:monospace;font-size:var(--text-xs)}.delta-finding-was{color:var(--text-tertiary);font-size:var(--text-xs);font-style:italic}.delta-findings-toggle{color:var(--purple-accent,#7c3aed);font-size:var(--text-sm);cursor:pointer;padding:var(--space-2)0;font-weight:var(--font-medium);background:0 0;border:none}.delta-findings-toggle:hover{text-decoration:underline}.delta-persistent-note{padding:var(--space-3)var(--space-4);background:var(--surface-elevated,#94a3b80d);border-radius:var(--radius-xs);font-size:var(--text-sm);color:var(--text-tertiary);font-style:italic}.delta-empty{justify-content:center;align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;min-height:400px;display:flex}.delta-empty-icon{opacity:.5;font-size:3rem}.delta-empty-title{font-family:Fraunces,serif;font-size:var(--text-xl);color:var(--text-primary);margin:0}.delta-empty-text{font-size:var(--text-base);color:var(--text-secondary);max-width:400px;line-height:var(--leading-relaxed);margin:0}.delta-empty-btn{padding:var(--space-2)var(--space-4);background:var(--purple-accent,#7c3aed);color:#fff;border-radius:var(--radius-xs);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;margin-top:var(--space-2);border:none}.delta-empty-btn:hover{opacity:.9}.delta-error{padding:var(--space-3)var(--space-4);border:1px solid var(--rag-red,#ef4444);border-radius:var(--radius-xs);color:var(--rag-red,#ef4444);font-size:var(--text-sm);margin-bottom:var(--space-4);background:#ef44441a}.hero-zone__changes-link{border:1px solid var(--purple-accent,#7c3aed);color:var(--purple-accent,#7c3aed);padding:var(--space-1)var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;margin-top:var(--space-2);background:0 0;transition:all .2s}.hero-zone__changes-link:hover{background:var(--purple-accent,#7c3aed);color:#fff}.portfolio-page{max-width:1100px;padding:var(--space-4)var(--space-4)var(--space-6);margin:0 auto}.portfolio-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.portfolio-header__left,.portfolio-header__right{align-items:center;gap:var(--space-2);display:flex}.portfolio-selector{font-family:var(--font-heading);font-size:var(--text-lg);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xs);padding:var(--space-2)var(--space-3);cursor:pointer;min-width:200px;font-weight:600}.portfolio-sort{font-size:var(--text-sm);background:var(--surface-card);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);padding:var(--space-1)var(--space-2);cursor:pointer}.portfolio-create-btn{border-radius:var(--radius-xs);border:1px dashed var(--border-primary);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .2s;display:flex}.portfolio-create-btn:hover{border-color:var(--purple-accent,#7c3aed);color:var(--purple-accent,#7c3aed);background:#8b5cf60f}.portfolio-create-form{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);display:flex}.portfolio-create-input{font-size:var(--text-sm);padding:var(--space-2)var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--surface-base);color:var(--text-primary);outline:none;flex:1}.portfolio-create-input:focus{border-color:var(--purple-accent,#7c3aed)}.portfolio-create-confirm{font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);background:var(--purple-accent,#7c3aed);color:#fff;cursor:pointer;border:none}.portfolio-create-confirm:disabled{opacity:.4;cursor:not-allowed}.portfolio-create-cancel{font-size:var(--text-sm);padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;background:0 0}.portfolio-error{padding:var(--space-2)var(--space-3);border:1px solid var(--rag-red,#ef4444);border-radius:var(--radius-xs);color:var(--rag-red,#ef4444);font-size:var(--text-sm);margin-bottom:var(--space-4);background:#ef44441a}.portfolio-aggregate{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.portfolio-agg-card{background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);min-width:120px;padding:var(--space-3)var(--space-4);text-align:center;gap:var(--space-1);flex-direction:column;flex:1;display:flex}.portfolio-agg-value{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--text-primary);font-weight:700;line-height:1}.portfolio-agg-value--critical{color:var(--rag-red,#ef4444)}.portfolio-agg-label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-medium)}.portfolio-rag-dots{justify-content:center;align-items:center;gap:var(--space-2);display:flex}.portfolio-rag-dot{width:28px;height:28px;font-size:var(--text-xs);color:#fff;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.portfolio-rag-dot--red{background:var(--rag-red,#ef4444)}.portfolio-rag-dot--amber{background:var(--rag-amber,#f59e0b)}.portfolio-rag-dot--green{background:var(--rag-green,#22c55e)}.portfolio-projects{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.portfolio-project-card{background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all .2s;position:relative}.portfolio-project-card:hover{border-color:var(--purple-accent,#7c3aed);transform:translateY(-1px);box-shadow:0 4px 20px #8b5cf614}.portfolio-project-card:focus-visible{outline:2px solid var(--purple-accent,#7c3aed);outline-offset:2px}.ppc-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.ppc-rag{font-size:var(--text-xs);letter-spacing:.08em;padding:2px var(--space-2);border-radius:var(--radius-sm);font-weight:700}.ppc-rag--green{color:var(--rag-green,#22c55e);background:#22c55e1f}.ppc-rag--amber{color:var(--rag-amber,#f59e0b);background:#f59e0b1f}.ppc-rag--red{color:var(--rag-red,#ef4444);background:#ef44441f}.ppc-remove{color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);opacity:0;background:0 0;border:none;transition:all .15s}.portfolio-project-card:hover .ppc-remove{opacity:1}.ppc-remove:hover{color:var(--rag-red,#ef4444);background:#ef444414}.ppc-name{font-family:var(--font-heading);font-size:var(--text-base);color:var(--text-primary);margin:0 0 var(--space-3)0;word-break:break-word;font-weight:600;line-height:1.3}.ppc-score-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.ppc-score{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--text-primary);font-weight:700;line-height:1}.ppc-trend{font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-sm);padding:2px 6px}.ppc-trend--improving{color:var(--rag-green,#22c55e);background:#22c55e14}.ppc-trend--declining{color:var(--rag-red,#ef4444);background:#ef444414}.ppc-trend--stable{color:var(--text-tertiary);background:#80808014}.ppc-stats{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.ppc-stat-sep{color:var(--text-tertiary)}.ppc-stat--critical{color:var(--rag-red,#ef4444);font-weight:var(--font-medium)}.ppc-meta{font-size:var(--text-xs);color:var(--text-tertiary);justify-content:space-between;align-items:center;display:flex}.portfolio-add-project{align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--surface-card);border:1px dashed var(--border-primary);border-radius:var(--radius-md);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.portfolio-add-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.portfolio-add-btn{font-size:var(--text-xs);padding:var(--space-1)var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;background:0 0;transition:all .15s}.portfolio-add-btn:hover{border-color:var(--purple-accent,#7c3aed);color:var(--purple-accent,#7c3aed);background:#8b5cf60a}.portfolio-empty{text-align:center;padding:var(--space-8)var(--space-4);flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.portfolio-empty__icon{color:var(--text-tertiary);margin-bottom:var(--space-4);opacity:.5}.portfolio-empty__title{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--text-primary);margin:0 0 var(--space-2);font-weight:600}.portfolio-empty__text{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-4);max-width:360px}.portfolio-empty__btn{font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2)var(--space-4);border-radius:var(--radius-xs);background:var(--purple-accent,#7c3aed);color:#fff;cursor:pointer;border:none;transition:background .15s}.portfolio-empty__btn:hover{background:var(--purple-hover,#6d28d9)}.portfolio-no-projects{text-align:center;padding:var(--space-6);color:var(--text-secondary);font-size:var(--text-sm)}.sparkline-empty{color:var(--text-tertiary);font-size:var(--text-xs);text-align:center;line-height:24px}.portfolio-tabs{gap:var(--space-1);margin-bottom:var(--space-4);border-bottom:1px solid var(--border-primary);display:flex}.portfolio-tab{font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2)var(--space-4);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;transition:all .15s;position:relative}.portfolio-tab:hover{color:var(--text-primary)}.portfolio-tab--active{color:var(--purple-accent,#7c3aed);border-bottom-color:var(--purple-accent,#7c3aed)}.portfolio-tab-badge{min-width:18px;height:18px;font-size:var(--text-xs);background:var(--rag-red,#ef4444);color:var(--color-white);border-radius:9px;justify-content:center;align-items:center;margin-left:6px;padding:0 5px;font-weight:700;display:inline-flex}.action-summary-bar{gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.action-summary-stat{min-width:60px;padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:2px;display:flex}.action-summary-value{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--text-primary);font-weight:700}.action-summary-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-weight:var(--font-medium)}.action-status--overdue .action-summary-value{color:var(--rag-red,#ef4444)}.action-status--completed .action-summary-value{color:var(--rag-green,#22c55e)}.action-status--in-progress .action-summary-value{color:var(--purple-accent,#7c3aed)}.action-toolbar{margin-bottom:var(--space-4)}.action-create-btn{font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2)var(--space-4);border-radius:var(--radius-xs);background:var(--purple-accent,#7c3aed);color:var(--color-white);cursor:pointer;border:none;transition:background .15s}.action-create-btn:hover{background:var(--purple-hover,#6d28d9)}.action-create-form{background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.action-create-heading{font-family:var(--font-heading);font-size:var(--text-base);color:var(--text-primary);margin:0 0 var(--space-3);font-weight:600}.action-form-row{margin-bottom:var(--space-3)}.action-form-row-inline{gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.action-form-field{flex:1}.action-form-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:4px;display:block}.action-form-input{width:100%;padding:var(--space-2);font-size:var(--text-sm);border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--surface-base);color:var(--text-primary);box-sizing:border-box}.action-form-input:focus{border-color:var(--purple-accent,#7c3aed);outline:none}.action-form-textarea{width:100%;padding:var(--space-2);font-size:var(--text-sm);border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--surface-base);color:var(--text-primary);font-family:var(--font-body);resize:vertical;box-sizing:border-box}.action-form-textarea:focus{border-color:var(--purple-accent,#7c3aed);outline:none}.action-form-select{width:100%;padding:var(--space-2);font-size:var(--text-sm);border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--surface-base);color:var(--text-primary)}.action-form-buttons{gap:var(--space-2);margin-top:var(--space-2);display:flex}.action-form-submit{font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2)var(--space-4);border-radius:var(--radius-xs);background:var(--purple-accent,#7c3aed);color:var(--color-white);cursor:pointer;border:none;transition:background .15s}.action-form-submit:hover:not(:disabled){background:var(--purple-hover,#6d28d9)}.action-form-submit:disabled{opacity:.5;cursor:not-allowed}.action-form-cancel{font-size:var(--text-sm);padding:var(--space-2)var(--space-4);border-radius:var(--radius-xs);border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;background:0 0}.action-list{gap:var(--space-3);flex-direction:column;display:flex}.action-card{background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-3)var(--space-4);cursor:pointer;transition:all .15s}.action-card:hover{border-color:var(--purple-accent,#7c3aed);box-shadow:0 2px 8px #0000000f}.action-card--overdue{border-left:3px solid var(--rag-red,#ef4444)}.action-card--expanded{cursor:default;border-color:var(--purple-accent,#7c3aed)}.action-card-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.action-priority-badge{font-size:var(--text-xs);letter-spacing:.05em;padding:2px var(--space-2);border-radius:var(--radius-sm);font-weight:700}.action-priority--critical{color:var(--rag-red,#ef4444);background:#ef44441a}.action-priority--high{color:var(--rag-amber,#f59e0b);background:#f59e0b1a}.action-priority--normal{color:var(--purple-accent,#7c3aed);background:#8b5cf614}.action-status-badge{font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-sm);margin-left:auto;font-weight:600}.action-status--assigned{color:var(--text-secondary);background:#64748b1a}.action-status--acknowledged{color:#3b82f6;background:#3b82f61a}.action-status--in-progress .action-status-badge,.action-status--in-progress{color:var(--purple-accent,#7c3aed);background:#8b5cf61a}.action-status--completed .action-status-badge,.action-status--completed{color:var(--rag-green,#22c55e);background:#22c55e1a}.action-status--overdue .action-status-badge,.action-status--overdue{color:var(--rag-red,#ef4444);background:#ef44441a}.action-card-title{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-primary);margin:0 0 var(--space-2);font-weight:600}.action-card-meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);flex-wrap:wrap;display:flex}.action-card-sep{color:var(--text-tertiary)}.action-card-due--overdue{color:var(--rag-red,#ef4444);font-weight:var(--font-medium)}.action-detail{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-primary)}.action-detail-loading{font-size:var(--text-sm);color:var(--text-tertiary);padding:var(--space-2)0}.action-detail-desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-3);line-height:1.5}.action-comments{margin-bottom:var(--space-3)}.action-comments-heading,.action-history-heading{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin:0 0 var(--space-2);font-weight:700}.action-comment{background:var(--surface-base);border-radius:var(--radius-sm);padding:var(--space-2)var(--space-3);margin-bottom:var(--space-2)}.action-comment-header{justify-content:space-between;margin-bottom:2px;display:flex}.action-comment-author{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-primary)}.action-comment-date{font-size:var(--text-xs);color:var(--text-tertiary)}.action-comment-text{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.4}.action-add-comment{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.action-comment-input{padding:var(--space-2);font-size:var(--text-sm);border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--surface-base);color:var(--text-primary);flex:1}.action-comment-input:focus{border-color:var(--purple-accent,#7c3aed);outline:none}.action-comment-send{font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);background:var(--purple-accent,#7c3aed);color:var(--color-white);cursor:pointer;border:none}.action-comment-send:disabled{opacity:.4;cursor:not-allowed}.action-history{border-top:1px solid var(--border-primary);padding-top:var(--space-2)}.action-history-event{font-size:var(--text-xs);color:var(--text-tertiary);justify-content:space-between;align-items:center;padding:2px 0;display:flex}.action-empty{text-align:center;padding:var(--space-6);color:var(--text-secondary);font-size:var(--text-sm)}.action-form-input[type=date]{color-scheme:light}[data-theme=dark] .action-form-input[type=date]{color-scheme:dark}.action-form-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.action-form-input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.my-actions-section{margin-bottom:var(--space-4)}.my-actions-bar{padding:var(--space-2)var(--space-4);background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;align-items:center;transition:border-color .15s,box-shadow .15s;display:flex}.my-actions-bar:hover{border-color:var(--purple-accent,#7c3aed)}.my-actions-section.open .my-actions-bar{border-radius:var(--radius-md)10px 0 0;border-bottom-color:#0000}.my-actions-bar-left{align-items:center;gap:var(--space-2);display:flex}.my-actions-bar-left svg{color:var(--purple-accent,#7c3aed);flex-shrink:0}.my-actions-bar-title{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.my-actions-bar-stat{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.my-actions-bar-stat.completed{color:var(--rag-green,#22c55e)}.my-actions-bar-overdue{font-size:var(--text-xs);border-radius:var(--radius-md);background:var(--rag-red,#ef4444);color:var(--color-white);padding:1px 7px;font-weight:600}.my-actions-bar-chevron{color:var(--text-tertiary);font-size:var(--text-xs)}.my-actions-list{background:var(--surface-card);border:1px solid var(--border-primary);border-top:none;border-radius:0 0 10px 10px;flex-direction:column;gap:0;display:flex;overflow:hidden}.my-actions-list .my-action-card{border-top:none;border-left:none;border-right:none;border-bottom:1px solid var(--border-primary);border-radius:0}.my-actions-list .my-action-card:last-child{border-bottom:none}.my-action-card{background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:border-color .15s,box-shadow .15s;overflow:hidden}.my-action-card:hover{border-color:var(--purple-accent,#7c3aed)}.my-action-card.overdue{border-color:var(--rag-red,#ef4444)}.my-action-card.expanded{box-shadow:0 2px 12px #00000014}.my-action-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3)var(--space-4);cursor:pointer;display:flex}.my-action-priority-bar{border-radius:2px;flex-shrink:0;align-self:stretch;width:4px;min-height:40px}.priority-critical .my-action-priority-bar{background:var(--rag-red,#ef4444)}.priority-high .my-action-priority-bar{background:var(--rag-amber,#f59e0b)}.priority-normal .my-action-priority-bar{background:var(--border-secondary,#d1d5db)}.my-action-main{flex:1;min-width:0}.my-action-top{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:4px;display:flex}.my-action-status-badge{font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.my-action-status-badge.status-assigned,.my-action-status-badge.status-seen{background:var(--surface-elevated,#f3f4f6);color:var(--text-secondary)}.my-action-status-badge.status-acknowledged{color:var(--purple-accent,#7c3aed);background:#7c3aed1f}.my-action-status-badge.status-in_progress{color:#3b82f6;background:#3b82f61f}.my-action-status-badge.status-completed{color:var(--rag-green,#22c55e);background:#22c55e1f}.my-action-status-badge.status-overdue,.my-action-card.overdue .my-action-status-badge{color:var(--rag-red,#ef4444);background:#ef44441f}.my-action-priority-badge{font-size:var(--text-xs);border-radius:var(--radius-sm);text-transform:uppercase;padding:1px 6px;font-weight:600}.my-action-priority-badge.priority-critical{color:var(--rag-red,#ef4444);background:#ef44441f}.my-action-priority-badge.priority-high{color:var(--rag-amber,#f59e0b);background:#f59e0b1f}.my-action-due{font-size:var(--text-xs);color:var(--text-tertiary)}.my-action-due.overdue{color:var(--rag-red,#ef4444);font-weight:600}.my-action-title{font-size:var(--text-base);color:var(--text-primary);font-weight:600;line-height:1.4}.my-action-meta{gap:var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px;display:flex}.my-action-comments-count{color:var(--purple-accent,#7c3aed)}.my-action-chevron{color:var(--text-tertiary);font-size:var(--text-base);flex-shrink:0;padding-top:2px}.my-action-detail{padding:0 var(--space-4)var(--space-4)calc(var(--space-4) + 4px + var(--space-3));border-top:1px solid var(--border-primary)}.my-action-description{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-3);margin-bottom:var(--space-3);line-height:1.6}.my-action-finding-link{font-size:var(--text-sm);color:var(--purple-accent,#7c3aed);cursor:pointer;margin-bottom:var(--space-3);background:0 0;border:none;padding:0;font-weight:500;display:block}.my-action-finding-link:hover{text-decoration:underline}.my-action-controls{margin-bottom:var(--space-3)}.my-action-status-btn{font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2)var(--space-4);border-radius:var(--radius-xs);background:var(--purple-accent,#7c3aed);color:var(--color-white);cursor:pointer;border:none;transition:background .15s}.my-action-status-btn:hover{background:var(--purple-hover,#6d28d9)}.my-action-status-btn:disabled{opacity:.6;cursor:not-allowed}.my-action-completed-msg{font-size:var(--text-sm);color:var(--rag-green,#22c55e);margin-bottom:var(--space-3);font-weight:600}.my-action-comments{margin-top:var(--space-3)}.my-action-comments-heading{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:var(--space-2);font-weight:600}.my-action-comment{padding:var(--space-2)var(--space-3);background:var(--surface-elevated,#f9fafb);border-radius:var(--radius-xs);margin-bottom:var(--space-2)}.my-action-comment-header{justify-content:space-between;margin-bottom:2px;display:flex}.my-action-comment-author{font-size:var(--text-xs);color:var(--text-primary);font-weight:600}.my-action-comment-time{font-size:var(--text-xs);color:var(--text-tertiary)}.my-action-comment-text{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.my-action-no-comments{font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-2);font-style:italic}.my-action-add-comment{gap:var(--space-2);display:flex}.my-action-add-comment input{padding:var(--space-2)var(--space-3);border-radius:var(--radius-xs);border:1px solid var(--border-primary);background:var(--surface-base);color:var(--text-primary);font-size:var(--text-sm);flex:1}.my-action-add-comment input::placeholder{color:var(--text-tertiary)}.my-action-add-comment button{padding:var(--space-2)var(--space-3);border-radius:var(--radius-xs);background:var(--purple-accent,#7c3aed);color:var(--color-white);font-size:var(--text-sm);cursor:pointer;border:none;font-weight:500}.my-action-add-comment button:disabled{opacity:.5;cursor:not-allowed}.my-action-history{margin-top:var(--space-3)}.my-action-history-heading{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:var(--space-2);font-weight:600}.my-action-history-item{font-size:var(--text-xs);color:var(--text-tertiary);gap:var(--space-2);padding:2px 0;display:flex}.my-action-history-time{color:var(--text-tertiary);white-space:nowrap}.my-action-loading{font-size:var(--text-sm);color:var(--text-tertiary);padding:var(--space-3)0}.hero-zone__export-btn{padding:var(--space-2)var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-xs);color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:.82rem;font-weight:500;transition:all .15s;display:inline-flex}.hero-zone__export-btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.hero-zone__export-btn svg{opacity:.7}.hero-zone__export-btn:hover svg{opacity:1}.settings-page{max-width:800px;padding:var(--space-6);margin:0 auto}.settings-header{margin-bottom:var(--space-6)}.settings-title{font-family:var(--font-headline);margin:0 0 var(--space-2);font-size:2rem;font-weight:600}.settings-subtitle{color:var(--text-secondary);margin:0}.settings-custom-badge{margin-left:var(--space-2);padding:2px var(--space-2);background:var(--purple-muted);color:var(--purple-accent);border-radius:var(--radius-sm);vertical-align:middle;font-size:.75rem;font-weight:600;display:inline-block}.settings-section{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5)}.settings-section-title{font-family:var(--font-headline);margin:0 0 var(--space-2);align-items:center;gap:var(--space-2);font-size:1.25rem;font-weight:600;display:flex}.settings-section-desc{color:var(--text-secondary);margin:0 0 var(--space-4);font-size:.9rem}.settings-subsection{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-default)}.settings-subsection:first-of-type{border-top:none;margin-top:0;padding-top:0}.settings-subsection-title{margin:0 0 var(--space-1);font-size:1rem;font-weight:600}.settings-subsection-desc{color:var(--text-secondary);margin:0 0 var(--space-4);font-size:.85rem}.settings-no-portfolio{padding:var(--space-4);text-align:center;color:var(--text-secondary);background:var(--surface-base);border-radius:var(--radius-md)}.settings-error{background:var(--rag-red-bg);color:var(--rag-red);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.settings-success{background:var(--rag-green-bg);color:var(--rag-green);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.settings-theme-picker{gap:var(--space-3);display:flex}.theme-option{align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--surface-base);border:2px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;flex:1;display:flex}.theme-option:hover{border-color:var(--purple-accent)}.theme-option--active{border-color:var(--purple-accent);background:var(--purple-muted)}.theme-option-icon{font-size:1.5rem}.theme-option-label{font-size:.9rem;font-weight:500}.settings-band-visual{margin-bottom:var(--space-4)}.band-bar{border-radius:var(--radius-md);height:48px;display:flex;overflow:hidden}.band-segment{min-width:60px;transition:width var(--transition-normal);flex-direction:column;justify-content:center;align-items:center;display:flex}.band-segment--red{background:var(--rag-red);color:#fff}.band-segment--amber{background:var(--rag-amber);color:#1a1a1a}.band-segment--green{background:var(--rag-green);color:#fff}.band-label{letter-spacing:.05em;font-size:.7rem;font-weight:700}.band-range{opacity:.85;font-size:.65rem}.settings-sliders{gap:var(--space-3);flex-direction:column;display:flex}.settings-slider-row{gap:var(--space-1);flex-direction:column;display:flex}.settings-label{justify-content:space-between;align-items:center;font-size:.9rem;font-weight:500;display:flex}.settings-value{font-family:var(--font-mono,monospace);color:var(--text-secondary);text-align:right;min-width:48px;font-size:.85rem}.settings-slider{appearance:none;background:var(--surface-elevated);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.settings-slider::-webkit-slider-thumb{appearance:none;background:var(--purple-accent);cursor:pointer;width:18px;height:18px;transition:transform var(--transition-fast);border-radius:50%}.settings-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.settings-slider::-moz-range-thumb{background:var(--purple-accent);cursor:pointer;border:none;border-radius:50%;width:18px;height:18px}.settings-slider--critical::-webkit-slider-thumb{background:var(--rag-red)}.settings-slider--warning::-webkit-slider-thumb{background:var(--rag-amber)}.settings-slider--advisory::-webkit-slider-thumb{background:var(--text-secondary)}.settings-slider--critical::-moz-range-thumb{background:var(--rag-red)}.settings-slider--warning::-moz-range-thumb{background:var(--rag-amber)}.settings-slider--advisory::-moz-range-thumb{background:var(--text-secondary)}.severity-indicator{padding:2px var(--space-2);border-radius:var(--radius-sm);align-items:center;font-size:.8rem;font-weight:600;display:inline-flex}.severity-indicator--critical{background:var(--rag-red-bg);color:var(--rag-red)}.severity-indicator--warning{background:var(--rag-amber-bg);color:var(--rag-amber)}.severity-indicator--advisory{background:var(--surface-elevated);color:var(--text-secondary)}.settings-weight-total{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--surface-base);border-radius:var(--radius-md);display:flex}.weight-total-value{font-family:var(--font-mono,monospace);font-size:1.25rem;font-weight:600}.weight-total-value.valid{color:var(--rag-green)}.weight-total-value.invalid{color:var(--rag-red)}.weight-normalize-btn{padding:var(--space-1)var(--space-3);background:var(--purple-muted);color:var(--purple-accent);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);border:none;font-size:.8rem}.weight-normalize-btn:hover{background:var(--purple-accent);color:#fff}.settings-validation-error{margin-top:var(--space-2);padding:var(--space-2);color:var(--rag-red);background:var(--rag-red-bg);border-radius:var(--radius-sm);font-size:.85rem}.settings-actions{gap:var(--space-3);margin-top:var(--space-5);display:flex}.settings-save-btn{padding:var(--space-3)var(--space-5);background:var(--purple-accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;font-size:.95rem;font-weight:600}.settings-save-btn:hover:not(:disabled){background:var(--purple-hover)}.settings-save-btn:disabled{opacity:.5;cursor:not-allowed}.settings-reset-btn{padding:var(--space-3)var(--space-5);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;font-size:.95rem;font-weight:500}.settings-reset-btn:hover:not(:disabled){border-color:var(--rag-red);color:var(--rag-red)}.settings-reset-btn:disabled{opacity:.5;cursor:not-allowed}.settings-slider::-webkit-slider-thumb{appearance:none;background:var(--purple-accent);cursor:pointer;border:2px solid #fff;border-radius:50%;width:20px;height:20px;margin-top:-7px;box-shadow:0 2px 4px #0003}.settings-slider::-webkit-slider-runnable-track{background:var(--surface-elevated);border-radius:3px;width:100%;height:6px}.settings-slider::-moz-range-thumb{background:var(--purple-accent);cursor:pointer;border:2px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 4px #0003}.settings-slider::-moz-range-track{background:var(--surface-elevated);border-radius:3px;width:100%;height:6px}.settings-section-reset{margin-top:var(--space-3);padding:var(--space-2)var(--space-3);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;font-size:.8rem;font-weight:500}.settings-section-reset:hover:not(:disabled){border-color:var(--purple-accent);color:var(--purple-accent)}.settings-section-reset:disabled{opacity:.4;cursor:not-allowed}.metis-icon{vertical-align:middle;transition:transform .3s;display:inline-block}.metis-icon__core{transform-origin:50%}.metis-icon__core-highlight{pointer-events:none}.metis-icon__ring-group{transform-origin:16px 16px}.metis-icon__rays line{stroke:var(--color-interactive-primary,#a78bfa);stroke-width:1.5px;stroke-linecap:round}.metis-icon__ripples{pointer-events:none}.metis-icon__ripple{fill:none;stroke:var(--color-interactive-primary,#8b5cf6);stroke-width:1px;opacity:0}.metis-icon--idle .metis-icon__ripple--1{animation:6s ease-out infinite metisRipple}.metis-icon--idle .metis-icon__ripple--2{animation:6s ease-out 2s infinite metisRipple}.metis-icon--idle .metis-icon__ripple--3{animation:6s ease-out 4s infinite metisRipple}.metis-icon--thinking .metis-icon__ripple--1{animation:2s ease-out infinite metisRipple}.metis-icon--thinking .metis-icon__ripple--2{animation:2s ease-out .6s infinite metisRipple}.metis-icon--thinking .metis-icon__ripple--3{animation:2s ease-out 1.2s infinite metisRipple}@keyframes metisRipple{0%{r:6;opacity:.6;stroke-width:2px}to{r:20;opacity:0;stroke-width:.5px}}.metis-icon__burst-group{pointer-events:none}.metis-icon__burst{fill:none;stroke:var(--color-interactive-hover,#c4b5fd);opacity:0}.metis-icon__burst--1{animation:2.5s ease-out infinite metisBurst}.metis-icon__burst--2{animation:2.5s ease-out 1.2s infinite metisBurst}@keyframes metisBurst{0%{r:6;opacity:0;stroke-width:3px}15%{opacity:.7}to{r:22;opacity:0;stroke-width:.5px}}.metis-icon--insight .metis-icon__rays{animation:2s ease-in-out infinite metisInsightRaysPulse}@keyframes metisInsightRaysPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.metis-icon--idle{animation:5s ease-in-out infinite metisIdleBreathe,10s ease-in-out infinite metisIdleFloat}.metis-icon--idle .metis-icon__ring-group{animation:90s linear infinite metisIdleRotate}@keyframes metisIdleBreathe{0%,to{filter:drop-shadow(0 0 6px #8b5cf666);transform:scale(1)}50%{filter:drop-shadow(0 0 14px #8b5cf699);transform:scale(1.04)}}@keyframes metisIdleFloat{0%,to{transform:translateY(0)translate(0)}25%{transform:translateY(-2px)translate(1px)}50%{transform:translateY(0)translate(2px)}75%{transform:translateY(2px)translate(1px)}}@keyframes metisIdleRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.metis-icon--thinking{animation:1.5s ease-in-out infinite metisThinkingPulse}.metis-icon--thinking .metis-icon__ring-group{animation:12s linear infinite metisThinkingRotate}@keyframes metisThinkingPulse{0%,to{filter:drop-shadow(0 0 8px #8b5cf680);transform:scale(1)}50%{filter:drop-shadow(0 0 18px #8b5cf6cc);transform:scale(1.06)}}@keyframes metisThinkingRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.metis-icon--insight{animation:2s ease-in-out infinite metisInsightPulse}.metis-icon--insight .metis-icon__ring-group{animation:30s linear infinite metisInsightRotate}@keyframes metisInsightPulse{0%,to{filter:drop-shadow(0 0 10px #a78bfa99);transform:scale(1)}50%{filter:drop-shadow(0 0 24px #a78bfae6);transform:scale(1.08)}}@keyframes metisInsightRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.metis-fab{z-index:50;cursor:pointer;width:100px;height:100px;box-shadow:none;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .3s,box-shadow .3s;display:flex;position:fixed;bottom:24px;right:24px;overflow:visible}.metis-fab:hover{transform:scale(1.08)}.metis-fab:focus{outline:none;box-shadow:0 0 0 3px #8b5cf666,0 4px 20px #7c3aed66}.metis-fab__icon-wrapper{justify-content:center;align-items:center;display:flex}.metis-fab:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 30% 30%,#a78bfa40,#7c3aed26 50%,#0000 70%);border-radius:50%;animation:3s ease-in-out infinite metisFabGlow;display:none;position:absolute;inset:-6px}@keyframes metisFabGlow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.metis-fab--thinking:before{animation:1.5s ease-in-out infinite metisFabGlowThinking}@keyframes metisFabGlowThinking{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.metis-fab--insight:before{animation:2s ease-in-out infinite metisFabGlowInsight}@keyframes metisFabGlowInsight{0%,to{opacity:.85;transform:scale(1.05)}50%{opacity:1;transform:scale(1.2)}}[data-theme=dark] .metis-fab{box-shadow:none;background:0 0}[data-theme=dark] .metis-icon--idle{animation:5s ease-in-out infinite metisIdleBreatheDark,10s ease-in-out infinite metisIdleFloat}[data-theme=dark] .metis-icon--thinking{animation-name:metisThinkingPulseDark}[data-theme=dark] .metis-icon--insight{animation-name:metisInsightPulseDark}@keyframes metisIdleBreatheDark{0%,to{filter:drop-shadow(0 0 8px #8b5cf68c);transform:scale(1)}50%{filter:drop-shadow(0 0 18px #a78bfabf);transform:scale(1.04)}}@keyframes metisThinkingPulseDark{0%,to{filter:drop-shadow(0 0 12px #8b5cf6a6);transform:scale(1)}50%{filter:drop-shadow(0 0 26px #a78bfae6);transform:scale(1.06)}}@keyframes metisInsightPulseDark{0%,to{filter:drop-shadow(0 0 14px #a78bfab3);transform:scale(1)}50%{filter:drop-shadow(0 0 30px #c4b5fdf2);transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.metis-icon,.metis-icon--idle,.metis-icon--thinking,.metis-icon--insight,.metis-icon__ring-group,.metis-icon__rays,.metis-icon__ripple,.metis-icon__burst,.metis-fab:before{display:none;animation:none!important}.metis-icon{filter:drop-shadow(0 0 8px #8b5cf680)}}.shareholder-dashboard{max-width:900px;padding:var(--space-6);margin:0 auto}.shareholder-header{text-align:center;margin-bottom:var(--space-8)}.shareholder-header h1{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--color-text-primary);margin:0 0 var(--space-2);font-weight:600}.shareholder-subtitle{color:var(--color-text-muted);font-size:var(--text-md)}.shareholder-hero{margin-bottom:var(--space-8);justify-content:center;display:flex}.shareholder-hero-card{align-items:center;gap:var(--space-8);background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-card);display:flex}.shareholder-hero-score{flex-shrink:0}.shareholder-no-score{width:160px;height:160px;font-size:var(--text-4xl);color:var(--color-text-muted);background:var(--color-surface);border-radius:50%;justify-content:center;align-items:center;display:flex}.shareholder-hero-info{gap:var(--space-5);flex-direction:column;display:flex}.shareholder-status-badge{padding:var(--space-2)var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.5px;align-items:center;font-weight:600;display:inline-flex}.shareholder-status-badge--green{background:var(--color-positive-tint);color:var(--color-positive)}.shareholder-status-badge--amber{background:var(--color-warning-tint);color:var(--color-warning)}.shareholder-status-badge--red{background:var(--color-critical-tint);color:var(--color-critical)}.shareholder-status-badge--unscored{background:var(--color-surface);color:var(--color-text-muted)}.shareholder-hero-stats{gap:var(--space-6);display:flex}.shareholder-hero-stat{flex-direction:column;align-items:center;display:flex}.shareholder-hero-stat-value{font-size:var(--text-3xl);color:var(--color-text-primary);font-weight:700;line-height:1}.shareholder-hero-stat-label{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.shareholder-section-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary);margin:0 0 var(--space-4);font-weight:600}.shareholder-rag-section{margin-bottom:var(--space-8)}.shareholder-rag-bar-container{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5)}.shareholder-rag-bar{border-radius:var(--radius-sm);height:40px;margin-bottom:var(--space-4);display:flex;overflow:hidden}.shareholder-rag-segment{font-size:var(--text-sm);color:#fff;justify-content:center;align-items:center;min-width:32px;font-weight:600;display:flex}.shareholder-rag-segment--green{background:var(--color-positive)}.shareholder-rag-segment--amber{background:var(--color-warning)}.shareholder-rag-segment--red{background:var(--color-critical)}.shareholder-rag-legend{justify-content:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.shareholder-rag-legend-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.shareholder-portfolios-section{margin-bottom:var(--space-8)}.shareholder-portfolio-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.shareholder-portfolio-card{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.shareholder-portfolio-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-card)}.shareholder-portfolio-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:flex-start;display:flex}.shareholder-portfolio-name{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-text-primary);margin:0;font-weight:600}.shareholder-portfolio-score{border-radius:var(--radius-sm);width:40px;height:40px;font-size:var(--text-base);justify-content:center;align-items:center;font-weight:700;display:flex}.shareholder-portfolio-score--green{background:var(--color-positive-tint);color:var(--color-positive)}.shareholder-portfolio-score--amber{background:var(--color-warning-tint);color:var(--color-warning)}.shareholder-portfolio-score--red{background:var(--color-critical-tint);color:var(--color-critical)}.shareholder-portfolio-desc{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-3);line-height:1.4}.shareholder-portfolio-metrics{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.shareholder-portfolio-metric strong{color:var(--color-text-primary)}.shareholder-portfolio-rag{gap:var(--space-2);display:flex}.shareholder-rag-pill{width:28px;height:28px;font-size:var(--text-xs);color:#fff;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.shareholder-rag-pill--green{background:var(--color-positive)}.shareholder-rag-pill--amber{background:var(--color-warning)}.shareholder-rag-pill--red{background:var(--color-critical)}.shareholder-empty{text-align:center;padding:var(--space-10);color:var(--color-text-muted);font-size:var(--text-lg)}.shareholder-footer{text-align:center;padding-top:var(--space-6);border-top:1px solid var(--color-border-light);margin-top:var(--space-8)}.shareholder-footer p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.executive-dashboard{max-width:1100px;padding:var(--space-lg);margin:0 auto}.executive-header{margin-bottom:var(--space-xl)}.executive-header h1{font-size:var(--text-2xl);margin-bottom:var(--space-xs);font-weight:600}.executive-subtitle{color:var(--text-secondary)}.executive-summary{gap:var(--space-lg);margin-bottom:var(--space-xl);display:flex}.summary-card{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--space-lg);border:1px solid var(--border-primary)}.summary-card.overall{text-align:center;min-width:160px}.summary-score{font-size:var(--text-4xl);font-weight:700;line-height:1}.summary-label{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-xs)}.rag-stack{gap:var(--space-sm);flex-direction:column;display:flex}.rag-row{align-items:center;gap:var(--space-sm);display:flex}.rag-indicator{border-radius:50%;width:12px;height:12px}.rag-indicator.green{background:var(--rag-green)}.rag-indicator.amber{background:var(--rag-amber)}.rag-indicator.red{background:var(--rag-red)}.rag-count{min-width:20px;font-weight:600}.rag-text{font-size:var(--text-sm);color:var(--text-secondary)}.executive-portfolios{gap:var(--space-md);flex-direction:column;display:flex}.portfolio-accordion{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-primary);overflow:hidden}.portfolio-accordion-header{width:100%;padding:var(--space-md)var(--space-lg);cursor:pointer;text-align:left;color:var(--text-primary);transition:background var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;font-family:inherit;display:flex}.portfolio-accordion-header:hover{background:var(--bg-tertiary)}.portfolio-header-left{align-items:center;gap:var(--space-sm);display:flex}.expand-icon{font-size:var(--text-xs);color:var(--text-tertiary);width:16px}.portfolio-header-left h3{font-size:var(--text-md);margin:0;font-weight:600}.project-count{font-size:var(--text-sm);color:var(--text-secondary)}.portfolio-header-right{align-items:center;gap:var(--space-sm);display:flex}.mini-rag{width:22px;height:22px;font-size:var(--text-xs);color:#fff;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.mini-rag.green{background:var(--rag-green)}.mini-rag.amber{background:var(--rag-amber)}.mini-rag.red{background:var(--rag-red)}.avg-score{font-weight:700;font-size:var(--text-lg);margin-left:var(--space-sm)}.portfolio-projects{border-top:1px solid var(--border-primary);padding:var(--space-md)var(--space-lg)}.no-projects{color:var(--text-secondary);font-size:var(--text-sm);text-align:center;padding:var(--space-md)}.projects-table{border-collapse:collapse;width:100%}.projects-table th{text-align:left;font-size:var(--text-sm);color:var(--text-secondary);padding:var(--space-sm)var(--space-md);border-bottom:1px solid var(--border-primary);font-weight:500}.projects-table td{padding:var(--space-sm)var(--space-md)}.project-row{cursor:pointer;transition:background var(--transition-fast)}.project-row:hover{background:var(--bg-tertiary)}.project-name{font-weight:500}.project-score{font-weight:600}.project-date{font-size:var(--text-sm);color:var(--text-secondary)}.executive-empty{text-align:center;padding:var(--space-2xl);color:var(--text-secondary)}.dep-tabs{border:1px solid var(--border-subtle,#334155);border-radius:var(--radius-sm);margin-bottom:var(--space-lg);width:fit-content;display:flex;overflow:hidden}.dep-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:var(--space-xs);background:0 0;border:none;padding:10px 18px;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.dep-tab+.dep-tab{border-left:1px solid var(--border-subtle,#334155)}.dep-tab:hover:not(.dep-tab--active){background:var(--surface-elevated,#334155)}.dep-tab--active{background:var(--interactive-purple,#7c3aed);color:var(--color-white)}.dep-tab--active:after{display:none}.dep-tab-badge{background:var(--status-amber);color:var(--bg-primary);font-size:var(--text-xs);border-radius:var(--radius-full);text-align:center;min-width:18px;padding:2px 6px;font-weight:600}.unresolved-tab{gap:var(--space-lg);flex-direction:column;display:flex}.unresolved-intro{color:var(--text-secondary);font-size:var(--text-sm);padding:var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-md);border-left:3px solid var(--accent-primary)}.unresolved-intro p{margin:0}.unresolved-error{text-align:center;padding:var(--space-xl);color:var(--status-red)}.unresolved-error button{margin-top:var(--space-md)}.unresolved-section{gap:var(--space-md);flex-direction:column;display:flex}.unresolved-section-title{align-items:center;gap:var(--space-sm);font-size:var(--text-md);color:var(--text-primary);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-primary);margin:0;font-weight:600;display:flex}.unresolved-section-icon{font-size:var(--text-lg)}.unresolved-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-md);gap:var(--space-md);flex-direction:column;display:flex}.unresolved-card--suggested{border-left:3px solid var(--status-green)}.unresolved-card--pending{border-left:3px solid var(--status-amber)}.unresolved-card--requested{border-left:3px solid var(--accent-primary)}.unresolved-card-header{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.unresolved-raw-ref{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-tertiary);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm)}.unresolved-format{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.unresolved-status-badge{font-size:var(--text-xs);color:var(--accent-primary);background:var(--accent-primary-alpha);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-full);font-weight:500}.unresolved-card-body{gap:var(--space-sm);flex-direction:column;display:flex}.unresolved-source,.unresolved-dep-type,.unresolved-target{gap:var(--space-sm);font-size:var(--text-sm);display:flex}.unresolved-label{color:var(--text-secondary);min-width:80px}.unresolved-value{color:var(--text-primary);font-weight:500}.unresolved-match{align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm);background:rgba(var(--status-green-rgb),.1);border-radius:var(--radius-md);margin-top:var(--space-xs);display:flex}.unresolved-match-icon{color:var(--status-green);font-size:var(--text-md)}.unresolved-match-detail{flex-direction:column;gap:2px;display:flex}.unresolved-match-label{font-size:var(--text-xs);color:var(--text-secondary)}.unresolved-match-project{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.unresolved-match-task{font-size:var(--text-sm);color:var(--text-secondary)}.unresolved-awaiting{padding:var(--space-sm);background:rgba(var(--status-amber-rgb),.1);border-radius:var(--radius-md);margin-top:var(--space-xs);flex-direction:column;gap:2px;display:flex}.unresolved-awaiting-icon{font-size:var(--text-md)}.unresolved-awaiting-text{font-size:var(--text-sm);color:var(--text-primary)}.unresolved-awaiting-hint{font-size:var(--text-xs);color:var(--text-secondary)}.unresolved-requested-info{align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--accent-primary-alpha);border-radius:var(--radius-md);margin-top:var(--space-xs);display:flex}.unresolved-requested-icon{font-size:var(--text-md)}.unresolved-requested-text{font-size:var(--text-sm);color:var(--text-primary)}.unresolved-card-actions{gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border-primary);display:flex}.unresolved-card-actions .btn-primary,.unresolved-card-actions .btn-secondary,.unresolved-card-actions .btn-ghost{padding:var(--space-xs)var(--space-md);font-size:var(--text-sm)}.btn-ghost{border:1px solid var(--border-primary);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.dep-external-placeholder{justify-content:center;align-items:center;min-height:300px;display:flex}.approval-queue{padding:var(--space-md)}.approval-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.approval-title{font-size:var(--text-xl);color:var(--text-primary);margin:0;font-weight:600}.approval-count{background:var(--bg-tertiary);color:var(--text-secondary);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500}.approval-bulk-actions{gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.approval-select-all,.approval-bulk-approve{padding:var(--space-xs)var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);font-weight:500}.approval-select-all{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary)}.approval-select-all:hover{background:var(--bg-secondary);color:var(--text-primary)}.approval-bulk-approve{background:var(--status-green);color:#fff;border:none}.approval-bulk-approve:hover:not(:disabled){background:var(--status-green-dark,#16a34a)}.approval-bulk-approve:disabled{opacity:.5;cursor:not-allowed}.approval-groups{gap:var(--space-md);flex-direction:column;display:flex}.approval-group{padding:var(--space-md)}.approval-group-header{padding-bottom:var(--space-sm);margin-bottom:var(--space-sm);border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;display:flex}.approval-group-route{color:var(--text-primary);font-weight:600;font-size:var(--text-base)}.approval-group-count{font-size:var(--text-sm);color:var(--text-tertiary)}.approval-items{gap:var(--space-xs);flex-direction:column;display:flex}.approval-item{align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--bg-secondary);border-radius:var(--radius-md);transition:background var(--transition-fast);display:flex}.approval-item:hover{background:var(--bg-tertiary)}.approval-checkbox input{cursor:pointer;width:16px;height:16px;accent-color:var(--accent-primary)}.approval-item-content{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.approval-item-source,.approval-item-target{align-items:center;gap:var(--space-xs);min-width:0;display:flex}.approval-task-code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-primary);background:var(--accent-primary-alpha);border-radius:var(--radius-sm);white-space:nowrap;padding:2px 6px}.approval-task-name{color:var(--text-primary);font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.approval-item-arrow{color:var(--text-tertiary);font-size:var(--text-sm);flex-shrink:0}.approval-item-meta{align-items:center;gap:var(--space-sm);flex-shrink:0;margin-left:auto;display:flex}.approval-dep-type{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:2px 6px}.approval-time{font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap}.approval-item-actions{gap:var(--space-xs);flex-shrink:0;display:flex}.approval-approve-btn,.approval-reject-btn{border-radius:var(--radius-md);cursor:pointer;width:28px;height:28px;font-size:var(--text-sm);transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex}.approval-approve-btn{background:var(--status-green-alpha,#22c55e26);color:var(--status-green)}.approval-approve-btn:hover:not(:disabled){background:var(--status-green);color:#fff}.approval-reject-btn{background:var(--status-red-alpha,#ef444426);color:var(--status-red)}.approval-reject-btn:hover:not(:disabled){background:var(--status-red);color:#fff}.approval-approve-btn:disabled,.approval-reject-btn:disabled{opacity:.5;cursor:not-allowed}.approval-empty{padding:var(--space-2xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.approval-empty-icon{margin-bottom:var(--space-md);color:var(--status-green);font-size:48px}.approval-empty h3{margin:0 0 var(--space-xs);color:var(--text-primary)}.approval-empty p{color:var(--text-secondary);margin:0}.approval-error{align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--status-red-alpha,#ef44441a);border-radius:var(--radius-md);color:var(--status-red);display:flex}.approval-error-icon{font-size:var(--text-lg)}.approval-retry-btn{padding:var(--space-xs)var(--space-sm);background:var(--status-red);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);border:none;margin-left:auto}.approval-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.approval-modal{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.approval-modal h3{margin:0 0 var(--space-sm);color:var(--text-primary)}.approval-modal p{margin:0 0 var(--space-md);color:var(--text-secondary);font-size:var(--text-sm)}.approval-reject-reason{width:100%;padding:var(--space-sm);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);resize:vertical}.approval-reject-reason:focus{border-color:var(--accent-primary);outline:none}.approval-modal-actions{gap:var(--space-sm);margin-top:var(--space-md);justify-content:flex-end;display:flex}.approval-modal-cancel,.approval-modal-confirm{padding:var(--space-xs)var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);font-weight:500}.approval-modal-cancel{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary)}.approval-modal-cancel:hover{background:var(--bg-secondary)}.approval-modal-confirm{background:var(--status-red);color:#fff;border:none}.approval-modal-confirm:hover:not(:disabled){background:var(--status-red-dark,#dc2626)}.approval-modal-confirm:disabled{opacity:.5;cursor:not-allowed}.dep-tab-badge--warning{background:var(--status-amber)!important;color:var(--text-inverse,#000)!important}.version-history{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-4)var(--space-5);margin-top:var(--space-5)}.version-history--collapsed{padding:0}.version-history--collapsed .version-history-header{padding:var(--space-3)var(--space-5);margin-bottom:0}.version-history-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.version-history-title{font-size:var(--text-base);color:var(--color-text-primary);margin:0;font-weight:600}.version-count{color:var(--color-text-muted);background:var(--color-bg);border-radius:10px;padding:2px 8px;font-size:12px}.version-trend{justify-content:center;margin-bottom:12px;display:flex}.trend-chart text{font-family:var(--font-sans)}.version-list{margin:0;padding:0;list-style:none}.version-item{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.version-item:last-child{border-bottom:none}.version-info{align-items:center;gap:12px;min-width:0;display:flex}.version-number{color:var(--color-primary);flex-shrink:0;font-size:13px;font-weight:600}.version-file{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:12px;overflow:hidden}.version-date{color:var(--color-text-muted);flex-shrink:0;font-size:11px}.version-score{border-radius:6px;flex-shrink:0;padding:2px 8px;font-size:13px;font-weight:600}.version-score--good{background:var(--health-good-bg,#22c55e26);color:var(--health-good,#22c55e)}.version-score--warn{background:var(--health-warn-bg,#eab30826);color:var(--health-warn,#eab308)}.version-score--bad{background:var(--health-bad-bg,#ef444426);color:var(--health-bad,#ef4444)}.version-score--pending{background:var(--color-bg);color:var(--color-text-muted)}.version-toggle{width:100%;color:var(--color-primary);cursor:pointer;text-align:center;background:0 0;border:none;margin-top:8px;padding:6px;font-size:12px;display:block}.version-toggle:hover{text-decoration:underline}.version-loading{text-align:center;color:var(--color-text-muted);padding:16px;font-size:13px}.upload-mode-selector{gap:12px;margin-bottom:24px;display:flex}.upload-mode-btn{background:var(--color-surface);border:2px solid var(--color-border);cursor:pointer;text-align:left;border-radius:12px;flex:1;padding:16px;transition:all .15s}.upload-mode-btn:hover{border-color:var(--color-primary)}.upload-mode-btn.active{border-color:var(--color-primary);background:var(--color-primary-light,#8b5cf614)}.upload-mode-title{color:var(--color-text);margin-bottom:4px;font-size:14px;font-weight:600}.upload-mode-desc{color:var(--color-text-muted);font-size:12px}.upload-project-select{margin-bottom:16px}.upload-project-select label{color:var(--color-text);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.upload-project-select select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);border-radius:8px;padding:10px 12px;font-size:14px}.version-history-header{cursor:pointer;-webkit-user-select:none;user-select:none}.version-history-header:hover{opacity:.8}.collapse-chevron{margin-right:8px;font-size:.75em;transition:transform .2s;display:inline-block}.collapse-chevron--open{transform:rotate(90deg)}.version-history--collapsed .version-trend,.version-history--collapsed .version-list,.version-history--collapsed .version-toggle,.version-history--collapsed .version-loading{display:none}.chain-summary-strip{border:1px solid var(--border-subtle,#334155);border-radius:var(--radius-sm);display:flex;overflow:hidden}.chain-summary-item{cursor:pointer;white-space:nowrap;color:var(--text-secondary);background:0 0;border:none;align-items:center;gap:5px;padding:6px 10px;font-size:.8rem;transition:all .15s;display:inline-flex}.chain-summary-item+.chain-summary-item{border-left:1px solid var(--border-subtle,#334155)}.chain-summary-item:hover:not(:disabled):not(.chain-summary-item--active){background:var(--surface-hover,#1e293b)}.chain-summary-item--active{background:var(--interactive-purple,#7c3aed);color:var(--color-white)}.chain-summary-item--active .chain-summary-icon,.chain-summary-item--active .chain-summary-count,.chain-summary-item--active .chain-summary-label{color:var(--color-white)!important}.chain-summary-item--zero{opacity:.4;cursor:default}.chain-summary-icon{font-size:10px}.chain-summary-count{font-weight:600}.chain-summary-unknown{color:var(--text-tertiary);font-size:.75rem}[data-theme=light] .chain-summary-strip{border-color:#d1d5db}[data-theme=light] .chain-summary-item+.chain-summary-item{border-left-color:#d1d5db}[data-theme=light] .chain-summary-item:hover:not(:disabled):not(.chain-summary-item--active){background:#f3f4f6}.rr-status-badge{pointer-events:none}.chain-summary-wrapper{align-items:center;gap:12px;display:flex}.hero-zone__metrics{align-items:flex-start;gap:var(--space-6,24px);padding-left:var(--space-6,24px);border-left:1px solid var(--border-subtle,var(--color-border-light));flex-shrink:0;display:flex}.hero-zone__delta{min-width:100px;padding-left:var(--space-5,20px);border-left:1px solid var(--border-subtle,var(--color-border-light));flex-direction:column;align-items:center;display:flex}.hero-zone__delta-header{text-align:center;margin-bottom:var(--space-1,4px)}.hero-zone__delta-title{font-size:var(--text-xs,.75rem);font-weight:var(--font-medium,500);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.hero-zone__delta-hero{margin:var(--space-1,4px)0;justify-content:center;align-items:baseline;gap:2px;display:flex}.hero-zone__delta-number{font-size:2rem;font-weight:var(--font-bold,700);line-height:1}.hero-zone__delta-pct{font-size:var(--text-sm,.8125rem);font-weight:var(--font-semibold,600)}.hero-zone__delta-rows{width:100%;margin-top:var(--space-2,8px);flex-direction:column;gap:2px;display:flex}.hero-zone__delta-row{font-size:var(--text-xs,.75rem);justify-content:space-between;align-items:center;display:flex}.hero-zone__delta-label{color:var(--color-text-secondary)}.hero-zone__delta-value{font-weight:var(--font-medium,500);color:var(--color-text-primary)}.hero-zone__delta-value.dim{color:var(--color-text-tertiary)}.hero-zone__delta-track{background:var(--surface-inset,#0000000f);width:100%;height:4px;margin-top:var(--space-2,8px);border-radius:2px;position:relative;overflow:visible}.hero-zone__delta-fill{border-radius:2px;height:100%;transition:width .3s;position:absolute;top:0;left:0}.hero-zone__delta-marker{background:var(--color-text-tertiary);border-radius:1px;width:2px;height:10px;position:absolute;top:-3px;transform:translate(-50%)}.severity-text-positive{color:var(--rag-green,#10b981)}.severity-text-warning{color:var(--rag-amber,#f59e0b)}.severity-text-critical{color:var(--rag-red,#ef4444)}.sev-bg-positive{background:var(--rag-green,#10b981)}.sev-bg-warning{background:var(--rag-amber,#f59e0b)}.sev-bg-critical{background:var(--rag-red,#ef4444)}.dashboard-hero-row .hero-zone{flex:1;width:100%}.dashboard-hero-row{display:block}.hero-zone__metrics{align-items:flex-start;gap:var(--space-5,20px);display:flex}.hero-zone__score-block{align-items:center;gap:var(--space-2,8px);flex-direction:column;min-width:90px;display:flex}.hero-zone__delta{min-width:130px;max-width:140px}.hero-zone__delta-marker{background:var(--color-text-primary,#fff);z-index:2;border-radius:1px;width:3px;height:12px;position:absolute;top:-4px;transform:translate(-50%);box-shadow:0 0 0 1px #0000004d}.hero-zone__delta-rows{gap:var(--space-1,4px);width:100%;margin-top:var(--space-2,8px);flex-direction:column;display:flex}.hero-zone__delta-row{justify-content:space-between;align-items:center;gap:var(--space-2,8px);font-size:.6875rem;display:flex}.hero-zone__delta-label{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.hero-zone__delta-value{font-weight:var(--font-medium,500);color:var(--color-text-primary);flex-shrink:0}.hero-zone__deps{min-width:120px;max-width:140px;padding-left:var(--space-5,20px);border-left:1px solid var(--border-subtle,var(--color-border-light));cursor:pointer;transition:opacity var(--transition-fast,.15s ease);flex-direction:column;align-items:center;display:flex}.hero-zone__deps:hover{opacity:.8}.hero-zone__deps-header{text-align:center;margin-bottom:var(--space-1,4px)}.hero-zone__deps-title{font-size:var(--text-xs,.75rem);font-weight:var(--font-medium,500);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.hero-zone__deps-hero{margin:var(--space-1,4px)0;justify-content:center;align-items:baseline;gap:4px;display:flex}.hero-zone__deps-number{font-size:2rem;font-weight:var(--font-bold,700);line-height:1}.hero-zone__deps-label{font-size:var(--text-xs,.75rem);color:var(--color-text-secondary)}.hero-zone__deps-badges{gap:var(--space-1,4px);margin:var(--space-2,8px)0;flex-wrap:wrap;justify-content:center;display:flex}.hero-zone__deps-badge{border-radius:var(--radius-xs,4px);font-size:.6875rem;font-weight:var(--font-medium,500);align-items:center;gap:2px;padding:2px 6px;display:inline-flex}.hero-zone__deps-badge--green{color:var(--rag-green,#10b981);background:#10b98126}.hero-zone__deps-badge--amber{color:var(--rag-amber,#f59e0b);background:#f59e0b26}.hero-zone__deps-badge--red{color:var(--rag-red,#ef4444);background:#ef444426}.hero-zone__deps-badge--grey{color:var(--color-text-tertiary);background:#9ca3af26}.hero-zone__deps-breakdown{width:100%;margin-top:var(--space-1,4px);flex-direction:column;gap:2px;display:flex}.hero-zone__deps-row{justify-content:space-between;align-items:center;font-size:.6875rem;display:flex}.hero-zone__deps-type{color:var(--color-text-secondary)}.hero-zone__deps-count{font-weight:var(--font-medium,500);color:var(--color-text-primary)}.hero-zone__score-block{min-height:120px;padding-top:var(--space-2,8px);justify-content:flex-start}.hero-zone__score-meta{margin-top:var(--space-3,12px)}.task-changes{margin-top:var(--space-xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px}.task-changes-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.task-changes-versions{font-size:var(--font-sm);color:var(--color-text-muted);background:var(--color-bg);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm)}.task-changes-loading,.task-changes-error{padding:var(--space-lg);text-align:center;color:var(--color-text-muted)}.task-changes-error{color:var(--rag-red)}.task-change-summary{gap:var(--space-lg);margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.task-change-stat{font-size:var(--font-sm);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);font-weight:500}.task-change-stat--improved{color:var(--rag-green);background:#10b9811a}.task-change-stat--slipped{color:var(--rag-red);background:#ef44441a}.task-change-stat--unchanged{color:var(--color-text-muted);background:var(--color-bg)}.task-change-stat--new{color:var(--color-accent);background:#8b5cf61a}.task-change-stat--deleted{color:var(--rag-amber);background:#f59e0b1a}.task-changes-filters{border:1px solid var(--border-subtle,#334155);border-radius:var(--radius-sm);margin-top:var(--space-lg);margin-bottom:var(--space-xl);width:fit-content;display:flex;overflow:hidden}.task-changes-filter{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:8px 14px;font-size:.85rem;transition:all .15s}.task-changes-filter+.task-changes-filter{border-left:1px solid var(--border-subtle,#334155)}.task-changes-filter:hover:not(:disabled):not(.task-changes-filter--active){background:var(--surface-elevated,#334155)}.task-changes-filter--active{background:var(--interactive-purple,#7c3aed);color:var(--color-white)}.task-changes-filter:disabled{opacity:.4;cursor:not-allowed}.task-changes-list{gap:var(--space-md);flex-direction:column;display:flex}.task-change-row{gap:var(--space-lg);padding:var(--space-md)var(--space-lg);background:var(--color-bg);border-radius:var(--radius-md);border-left:3px solid #0000;grid-template-columns:1fr auto 140px auto;align-items:center;display:grid}.task-change-row--improved{border-left-color:var(--rag-green)}.task-change-row--slipped{border-left-color:var(--rag-red)}.task-change-row--new{border-left-color:var(--color-accent)}.task-change-row--deleted{border-left-color:var(--rag-amber);opacity:.7}.task-change-row--unchanged{border-left-color:var(--color-border)}.task-change-name{font-size:var(--font-sm);color:var(--color-text);align-items:center;gap:var(--space-xs);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;display:flex;overflow:hidden}.task-change-milestone{color:var(--color-accent);font-size:var(--font-xs)}.task-change-values{align-items:center;gap:var(--space-xs);font-size:var(--font-sm);font-family:var(--font-mono);white-space:nowrap;display:flex}.task-change-prev,.task-change-arrow{color:var(--color-text-muted)}.task-change-curr{color:var(--color-text);font-weight:500}.task-change-progress{background:var(--color-border);border-radius:4px;height:8px;position:relative;overflow:hidden}.task-change-progress-prev{background:var(--color-text-muted);opacity:.3;border-radius:3px;height:100%;position:absolute;top:0;left:0}.task-change-progress-curr{background:var(--rag-green);border-radius:3px;height:100%;transition:width .3s;position:relative}.task-change-row--slipped .task-change-progress-curr{background:var(--rag-red)}.task-change-row--unchanged .task-change-progress-curr{background:var(--color-text-muted)}.task-change-row--new .task-change-progress-curr{background:var(--color-accent)}.task-change-badge{font-size:var(--font-xs);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);text-align:center;min-width:50px;font-weight:600}.task-change-badge--improved{color:var(--rag-green);background:#10b98126}.task-change-badge--slipped{color:var(--rag-red);background:#ef444426}.task-change-badge--unchanged{color:var(--color-text-muted);background:var(--color-bg)}.task-change-badge--new{color:var(--color-accent);background:#8b5cf626}.task-change-badge--deleted{color:var(--rag-amber);background:#f59e0b26}.task-changes-toggle{width:100%;margin-top:var(--space-md);padding:var(--space-sm);font-size:var(--font-sm);color:var(--color-accent);border:1px dashed var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;transition:all .15s;display:block}.task-changes-toggle:hover{background:var(--color-bg);border-color:var(--color-accent)}.hero-zone__velocity{min-width:130px;max-width:160px;padding-left:var(--space-5,20px);border-left:1px solid var(--border-subtle,var(--color-border-light));flex-direction:column;align-items:center;display:flex}.hero-zone__velocity--empty{opacity:.7}.hero-zone__velocity-header{text-align:center;margin-bottom:var(--space-1,4px)}.hero-zone__velocity-title{font-size:var(--text-xs,.75rem);font-weight:var(--font-medium,500);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.hero-zone__velocity-confidence{text-transform:lowercase;vertical-align:middle;border-radius:3px;margin-left:.25rem;padding:.1rem .25rem;font-size:.55rem;font-weight:500}.hero-zone__velocity-confidence--low{background:var(--bg-tertiary,#ffffff0d);color:var(--text-tertiary,#888)}.hero-zone__velocity-confidence--medium{color:var(--amber,#fbbf24);background:#fbbf2426}.hero-zone__velocity-confidence--high{color:var(--green,#22c55e);background:#22c55e26}.hero-zone__velocity-hero{justify-content:center;align-items:baseline;gap:.25rem;display:flex}.hero-zone__velocity-days{font-size:1.75rem;font-weight:700;line-height:1}.hero-zone__velocity-days-unit{color:var(--color-text-secondary);font-size:.9rem;font-weight:500}.hero-zone__velocity-status{text-align:center;margin-bottom:.25rem;font-size:.8rem;font-weight:500}.hero-zone__velocity-rate{justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.hero-zone__velocity-actual{color:var(--color-text-secondary);font-size:.75rem;font-weight:500}.hero-zone__velocity-pct{color:var(--text-tertiary,#666);background:var(--bg-tertiary,#ffffff0d);border-radius:3px;padding:.1rem .35rem;font-size:.7rem}.hero-zone__velocity-track{background:var(--bg-tertiary,#ffffff1a);border-radius:2px;width:100%;height:4px;margin-top:.5rem;position:relative;overflow:visible}.hero-zone__velocity-fill{border-radius:2px;height:100%;transition:width .3s;position:absolute;top:0;left:0}.hero-zone__velocity-target{background:var(--text-tertiary,#666);width:2px;height:10px;position:absolute;top:-3px;right:0}.hero-zone__velocity-meta{width:100%;color:var(--text-tertiary,#666);justify-content:space-between;margin-top:.5rem;font-size:.65rem;display:flex}.hero-zone__velocity-empty-msg{color:var(--text-tertiary,#666);text-align:center;padding:.5rem 0;font-size:.75rem}.dep-intel-strip--unified{background:var(--surface-card,var(--color-surface-card));border:1px solid var(--border-subtle,var(--color-border-light));border-radius:var(--card-radius,12px);padding:var(--space-5)0;margin-bottom:var(--space-4);flex-wrap:wrap;align-items:stretch;gap:0;display:flex}.dep-intel-strip--unified .dep-intel-card{padding:var(--space-4)var(--space-6);background:0 0;border:none;border-radius:0;flex:150px}.dep-intel-strip--unified .dep-intel-card:not(:first-child){border-left:1px solid var(--border-subtle,var(--color-border-light))}.dep-intel-strip--unified .dep-intel-summary{width:100%;padding:var(--space-3)var(--space-6);margin-top:var(--space-3);border-top:1px solid var(--border-subtle,var(--color-border-light));font-size:var(--text-sm);color:var(--text-secondary);text-align:center;flex-basis:100%}.dep-intel-strip--unified .dep-intel-icon{background:0 0!important}.dep-intel-strip--unified .dep-intel-summary{background:0 0;border:none;border-radius:0}.mapping-date-format{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;margin-bottom:16px;padding:16px}.mapping-date-format-label{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:600;display:block}.mapping-date-format-desc{color:var(--text-secondary);margin:0 0 12px;font-size:13px}.mapping-date-format-options{flex-direction:column;gap:8px;display:flex}.date-format-option{cursor:pointer;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;align-items:center;gap:8px;padding:8px 12px;transition:border-color .15s;display:flex}.date-format-option:hover{border-color:var(--brand-primary)}.date-format-option input[type=radio]{accent-color:var(--brand-primary)}.date-format-option span:nth-child(2){min-width:140px;font-weight:500}.date-format-example{color:var(--text-tertiary);font-size:12px;font-family:var(--font-mono)}select option{background:var(--color-surface-card);color:var(--color-text-primary);padding:8px}[data-theme=dark] select option{color:#f0f0f0;background:#252240}[data-theme=dark] select option:hover,[data-theme=dark] select option:focus,[data-theme=dark] select option:checked{background:#332f54}.settings-drawer-backdrop{opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal);z-index:1000;background:#0006;position:fixed;inset:0}.settings-drawer-backdrop--open{opacity:1;visibility:visible}[data-theme=dark] .settings-drawer-backdrop{background:#0009}.settings-drawer{background:var(--color-surface-card);border-left:1px solid var(--color-border);width:480px;max-width:90vw;box-shadow:var(--shadow-elevated);transition:transform var(--transition-slow)cubic-bezier(.4,0,.2,1);z-index:1001;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.settings-drawer--open{transform:translate(0)}.settings-drawer-header{padding:var(--space-5)var(--space-6);border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.settings-drawer-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-primary);margin:0;font-weight:600}.settings-drawer-close{border-radius:var(--radius-xs);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.settings-drawer-close:hover{background:var(--color-surface);color:var(--color-text-primary)}.settings-drawer-content{flex:1;padding:0;overflow-y:auto}.settings-drawer-content .settings-page{padding:var(--space-4)var(--space-6)var(--space-8)}.settings-drawer-content .settings-section{margin-bottom:var(--space-6)}.settings-drawer-content .settings-section:last-child{margin-bottom:0}.exec-dashboard{max-width:1100px;padding:var(--space-6);margin:0 auto}.exec-hero{justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-8);display:flex}.exec-hero-main{align-items:center;gap:var(--space-6);display:flex}.exec-hero-text{gap:var(--space-2);flex-direction:column;display:flex}.exec-title{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--color-text-primary);margin:0;font-weight:600;line-height:1.2}.exec-subtitle{font-size:var(--text-md);color:var(--color-text-secondary)}.exec-timeline{font-size:var(--text-sm);color:var(--color-text-muted);font-family:var(--font-mono)}.exec-rag-badge{padding:var(--space-2)var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.exec-rag-badge--green{background:var(--color-positive-tint);color:var(--color-positive)}.exec-rag-badge--amber{background:var(--color-warning-tint);color:var(--color-warning)}.exec-rag-badge--red{background:var(--color-critical-tint);color:var(--color-critical)}.exec-rag-badge--unscored{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border)}.exec-metrics{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}.exec-metric-card{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.exec-metric-card:hover{border-color:var(--color-border)}.exec-metric-card.metric-warning{border-left:4px solid var(--color-warning)}.exec-metric-card.metric-critical{border-left:4px solid var(--color-critical)}.exec-metric-card.metric-positive{border-left:4px solid var(--color-positive)}.exec-metric-value{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--color-text-primary);font-weight:600;line-height:1}.exec-metric-card.metric-warning .exec-metric-value{color:var(--color-warning)}.exec-metric-card.metric-critical .exec-metric-value{color:var(--color-critical)}.exec-metric-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-2);font-weight:500}.exec-metric-detail{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.exec-section-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary);margin:0 0 var(--space-4);font-weight:600}.exec-rag-section{margin-bottom:var(--space-8)}.exec-rag-bar-container{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5)}.exec-rag-bar{border-radius:var(--radius-xs);background:var(--color-surface);height:32px;display:flex;overflow:hidden}.exec-rag-segment{font-size:var(--text-sm);color:#fff;min-width:32px;transition:flex var(--transition-normal);justify-content:center;align-items:center;font-weight:600;display:flex}.exec-rag-segment--green{background:var(--color-positive)}.exec-rag-segment--amber{background:var(--color-warning)}.exec-rag-segment--red{background:var(--color-critical)}.exec-rag-legend{gap:var(--space-6);margin-top:var(--space-4);justify-content:center;display:flex}.exec-rag-legend-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.legend-dot{border-radius:50%;width:10px;height:10px}.legend-dot--green{background:var(--color-positive)}.legend-dot--amber{background:var(--color-warning)}.legend-dot--red{background:var(--color-critical)}.exec-risk-section{margin-bottom:var(--space-8)}.exec-risk-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.exec-risk-card{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}.exec-risk-card:hover{box-shadow:var(--shadow-card);border-color:var(--color-interactive);transform:translateY(-2px)}.exec-risk-card--red{border-left:4px solid var(--color-critical)}.exec-risk-card--amber{border-left:4px solid var(--color-warning)}.exec-risk-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.exec-risk-name{color:var(--color-text-primary);font-weight:600;font-size:var(--text-base)}.exec-risk-score{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1}.exec-risk-score--red{color:var(--color-critical)}.exec-risk-score--amber{color:var(--color-warning)}.exec-risk-reason{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.exec-risk-stats{gap:var(--space-3);flex-wrap:wrap;display:flex}.exec-risk-stat{font-size:var(--text-xs);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);font-weight:500}.exec-risk-stat--critical{background:var(--color-critical-tint);color:var(--color-critical)}.exec-risk-stat--overdue{background:var(--color-warning-tint);color:var(--color-warning)}.exec-projects-section{margin-bottom:var(--space-8)}.exec-projects-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.exec-project-card:hover{box-shadow:var(--shadow-card);border-color:var(--color-interactive);transform:translateY(-2px)}.exec-project-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.exec-project-name{color:var(--color-text-primary);font-weight:600;font-size:var(--text-base);line-height:1.3}.exec-project-score{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1}.exec-project-score--green{color:var(--color-positive)}.exec-project-score--amber{color:var(--color-warning)}.exec-project-score--red{color:var(--color-critical)}.exec-project-score--unscored{color:var(--color-text-muted)}.exec-project-meta{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.exec-project-trend{font-size:var(--text-xs);text-transform:capitalize;font-weight:500}.exec-project-trend.trend-up{color:var(--color-positive)}.exec-project-trend.trend-down{color:var(--color-critical)}.exec-project-trend.trend-stable{color:var(--color-text-muted)}.exec-project-progress{background:var(--color-surface);border-radius:2px;height:4px;overflow:hidden}.exec-project-progress-fill{background:var(--color-interactive);height:100%;transition:width var(--transition-normal);border-radius:2px}.exec-empty{text-align:center;padding:var(--space-10);color:var(--color-text-muted);font-size:var(--text-lg)}@media(max-width:768px){.exec-hero{flex-direction:column;align-items:stretch}.exec-hero-main{text-align:center;flex-direction:column}.exec-rag-badge{align-self:center}.exec-metrics{grid-template-columns:repeat(2,1fr)}.exec-rag-legend{align-items:center;gap:var(--space-2);flex-direction:column}}.exec-schedule-delta{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-light)}.exec-schedule-bar{background:var(--color-surface);border-radius:3px;height:6px;position:relative;overflow:visible}.exec-schedule-actual{height:100%;transition:width var(--transition-normal);border-radius:3px;position:absolute;top:0;left:0}.exec-schedule-actual.delta-positive{background:var(--color-positive)}.exec-schedule-actual.delta-warning{background:var(--color-warning)}.exec-schedule-actual.delta-critical{background:var(--color-critical)}.exec-schedule-expected{background:var(--color-text-muted);border-radius:1px;width:2px;height:12px;position:absolute;top:-3px;transform:translate(-50%)}.exec-schedule-expected:after{content:"Today";color:var(--color-text-muted);white-space:nowrap;font-size:9px;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.exec-schedule-labels{margin-top:var(--space-2);justify-content:space-between;align-items:center;display:flex}.exec-schedule-dates{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.exec-schedule-delta-value{font-size:var(--text-xs);font-weight:600}.exec-schedule-delta-value.delta-positive{color:var(--color-positive)}.exec-schedule-delta-value.delta-warning{color:var(--color-warning)}.exec-schedule-delta-value.delta-critical{color:var(--color-critical)}.exec-metrics--3col{grid-template-columns:repeat(3,1fr)}.exec-projects-list{gap:var(--space-3);flex-direction:column;display:flex}.exec-project-card{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.exec-project-card:hover{border-color:var(--color-border)}.exec-project-card--expanded{border-color:var(--color-interactive);box-shadow:var(--shadow-card)}.exec-project-header{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.exec-project-header-left{align-items:center;gap:var(--space-3);min-width:0;display:flex}.exec-project-expand-icon{font-size:var(--text-xs);color:var(--color-text-muted);flex-shrink:0;width:12px}.exec-project-header-right{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.exec-project-tasks{font-size:var(--text-sm);color:var(--color-text-secondary)}.exec-project-trend{font-size:var(--text-base);font-weight:600}.exec-project-details{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.exec-project-details-grid{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(5,1fr);display:grid}.exec-detail-item{gap:var(--space-1);flex-direction:column;display:flex}.exec-detail-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.exec-detail-value{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.exec-in-progress{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4)}.exec-in-progress-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-3);display:block}.exec-in-progress-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.exec-in-progress-item{font-size:var(--text-sm);color:var(--color-text-secondary);padding-left:var(--space-4);position:relative}.exec-in-progress-item:before{content:"";background:var(--color-interactive);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.exec-in-progress-empty{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;font-style:italic}@media(max-width:768px){.exec-metrics--3col{grid-template-columns:1fr}.exec-project-details-grid{grid-template-columns:repeat(2,1fr)}.exec-project-header{align-items:flex-start;gap:var(--space-2);flex-direction:column}.exec-project-header-right{justify-content:space-between;width:100%}}.hero-zone__drift-warning{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border-light);font-size:var(--text-xs);text-align:center}.top-bar{padding:var(--space-3)var(--space-6);border-bottom:1px solid var(--color-border-light);background:var(--color-surface-card);z-index:100;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.top-bar-spacer{flex:1}.top-bar-actions{align-items:center;gap:var(--space-4);display:flex}.user-info{align-items:center;gap:var(--space-2);display:flex}.user-name{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.notification-bell-container{position:relative}.notification-bell-btn{border-radius:var(--radius-xs);border:1px solid var(--color-border);background:var(--color-surface-card);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative}.notification-bell-btn:hover{border-color:var(--color-interactive);color:var(--color-interactive)}.notification-bell-btn.has-unread{color:var(--color-interactive)}.notification-badge{background:var(--color-critical);color:#fff;border:2px solid var(--color-surface-card);border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;display:flex;position:absolute;top:-4px;right:-4px}.notification-dropdown{background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:380px;max-height:480px;box-shadow:var(--shadow-elevated);z-index:1000;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notification-dropdown-header{padding:var(--space-4);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.notification-dropdown-header h3{font-size:var(--text-md);color:var(--color-text-primary);margin:0;font-weight:600}.mark-all-read-btn{color:var(--color-interactive);font-size:var(--text-sm);cursor:pointer;padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast);background:0 0;border:none;font-weight:500}.mark-all-read-btn:hover{background:var(--color-interactive-tint)}.notification-dropdown-content{flex:1;max-height:360px;overflow-y:auto}.notification-loading,.notification-empty{padding:var(--space-8);color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.notification-empty-icon{margin-bottom:var(--space-2);opacity:.5;font-size:32px}.notification-empty p{font-size:var(--text-sm);margin:0}.notification-item{gap:var(--space-3);padding:var(--space-3)var(--space-4);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background var(--transition-fast);display:flex;position:relative}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--color-surface)}.notification-item.unread{background:var(--color-interactive-tint)}.notification-item.unread:hover{background:#5b21b61f}.notification-severity{flex-shrink:0;margin-top:2px;font-size:14px;line-height:1}.notification-content{flex:1;min-width:0}.notification-title{font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-weight:600;overflow:hidden}.notification-message{font-size:var(--text-xs);color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.notification-time{color:var(--color-text-muted);margin-top:var(--space-1);font-size:11px}.notification-dismiss{width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.notification-item:hover .notification-dismiss{opacity:1}.notification-dismiss:hover{background:var(--color-surface);color:var(--color-text-primary)}.notification-dropdown-footer{padding:var(--space-3)var(--space-4);border-top:1px solid var(--color-border-light);text-align:center}.notification-settings-link{color:var(--color-interactive);font-size:var(--text-sm);cursor:pointer;padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast);background:0 0;border:none;font-weight:500}.notification-settings-link:hover{background:var(--color-interactive-tint)}.notification-settings-card{padding:var(--space-6)}.notification-settings-section-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary);margin:0 0 var(--space-2);font-weight:600}.notification-settings-section-desc{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-5)}.notification-settings-list{gap:var(--space-1);flex-direction:column;display:flex}.notification-setting-item{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);transition:background var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.notification-setting-item:hover{background:var(--color-surface-elevated)}.notification-setting-info{flex-direction:column;gap:2px;display:flex}.notification-setting-label{font-size:var(--text-base);color:var(--color-text-primary);font-weight:500}.notification-setting-desc{font-size:var(--text-sm);color:var(--color-text-muted)}.notification-toggle{cursor:pointer;background:0 0;border:none;flex-shrink:0;width:48px;height:26px;padding:0;position:relative}.notification-toggle-track{background:var(--color-border);width:100%;height:100%;transition:background var(--transition-fast);border-radius:13px;display:block}.notification-toggle.on .notification-toggle-track{background:var(--color-interactive)}.notification-toggle-thumb{width:20px;height:20px;transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.notification-toggle.on .notification-toggle-thumb{transform:translate(22px)}.notification-toggle:disabled{opacity:.6;cursor:not-allowed}.notification-coming-soon{padding:var(--space-4);justify-content:center;display:flex}.notification-coming-soon-badge{padding:var(--space-2)var(--space-4);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500;display:inline-block}.notification-message-banner{padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm);font-weight:500}.notification-message-banner.success{background:var(--color-positive-tint);color:var(--color-positive);border:1px solid var(--color-positive)}.notification-message-banner.error{background:var(--color-critical-tint);color:var(--color-critical);border:1px solid var(--color-critical)}.schedule-config{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-3)var(--space-4);margin-bottom:var(--space-4)}.schedule-config--enabled{border-color:var(--color-interactive);background:var(--color-interactive-tint)}.schedule-config--loading,.schedule-config--error{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);display:flex}.schedule-config__header{align-items:center;gap:var(--space-3);cursor:pointer;display:flex}.schedule-config__icon{font-size:var(--text-lg)}.schedule-config__summary{flex-direction:column;flex:1;gap:2px;display:flex}.schedule-config__label{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.schedule-config__next{font-size:var(--text-xs);color:var(--color-text-muted)}.schedule-config__toggle{padding:var(--space-1)var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-card);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-weight:500}.schedule-config__toggle:hover:not(:disabled){border-color:var(--color-interactive);color:var(--color-interactive)}.schedule-config__toggle:disabled{opacity:.6;cursor:not-allowed}.schedule-config--enabled .schedule-config__toggle{background:var(--color-interactive);border-color:var(--color-interactive);color:#fff}.schedule-config--enabled .schedule-config__toggle:hover:not(:disabled){background:var(--color-interactive-hover)}.schedule-config__chevron{font-size:var(--text-xs);color:var(--color-text-muted);transition:transform var(--transition-fast)}.schedule-config--expanded .schedule-config__chevron{transform:rotate(180deg)}.schedule-config__details{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);gap:var(--space-3);flex-direction:column;display:flex}.schedule-config__row{align-items:center;gap:var(--space-3);display:flex}.schedule-config__field-label{font-size:var(--text-sm);color:var(--color-text-secondary);min-width:80px}.schedule-config__select{max-width:200px;padding:var(--space-2)var(--space-3);font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-card);color:var(--color-text-primary);flex:1}.schedule-config__select:disabled{opacity:.5;cursor:not-allowed}.schedule-config__days{gap:var(--space-1);display:flex}.schedule-config__day{padding:var(--space-1)var(--space-2);font-size:var(--text-xs);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-card);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-weight:500}.schedule-config__day:hover:not(:disabled){border-color:var(--color-interactive);color:var(--color-interactive)}.schedule-config__day--active{background:var(--color-interactive);border-color:var(--color-interactive);color:#fff}.schedule-config__day:disabled{opacity:.5;cursor:not-allowed}.schedule-config__last-run{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-2)}.schedule-config__run-now{padding:var(--space-1)var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-sm);border:1px solid var(--color-positive);color:var(--color-positive);cursor:pointer;transition:all var(--transition-fast);background:0 0;font-weight:500}.schedule-config__run-now:hover:not(:disabled){background:var(--color-positive);color:#fff}.schedule-config__run-now:disabled{opacity:.6;cursor:not-allowed}.jira-connection{margin-top:var(--space-4)}.jira-loading{color:var(--color-text-muted);font-size:var(--text-sm)}.jira-error{background:var(--color-critical-tint);color:var(--color-critical);padding:var(--space-3)var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:var(--space-4)}.jira-empty{text-align:center;padding:var(--space-6);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.jira-empty-text{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.jira-connect-btn{background:var(--color-interactive);color:#fff;padding:var(--space-3)var(--space-5);border-radius:var(--radius-xs);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast);border:none;font-weight:500}.jira-connect-btn:hover:not(:disabled){background:var(--color-interactive-hover)}.jira-connect-btn:disabled{opacity:.6;cursor:not-allowed}.jira-connections-list{gap:var(--space-3);flex-direction:column;display:flex}.jira-connection-card{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex}.jira-connection-info{gap:var(--space-1);flex-direction:column;display:flex}.jira-connection-header{align-items:center;gap:var(--space-3);display:flex}.jira-site-name{color:var(--color-text-primary);font-weight:600}.jira-status{font-size:var(--text-xs);border-radius:var(--radius-sm);padding:2px 8px;font-weight:500}.jira-status--connected{background:var(--color-positive-tint);color:var(--color-positive)}.jira-status--auth_expired{background:var(--color-warning-tint);color:var(--color-warning)}.jira-site-url{font-size:var(--text-sm);color:var(--color-interactive);text-decoration:none}.jira-site-url:hover{text-decoration:underline}.jira-last-sync{font-size:var(--text-xs);color:var(--color-text-muted)}.jira-disconnect-btn{color:var(--color-text-muted);border:1px solid var(--color-border);padding:var(--space-2)var(--space-3);border-radius:var(--radius-xs);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0}.jira-disconnect-btn:hover{border-color:var(--color-critical);color:var(--color-critical)}.jira-add-btn{color:var(--color-interactive);border:1px dashed var(--color-border);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0}.jira-add-btn:hover:not(:disabled){border-color:var(--color-interactive);background:var(--color-interactive-tint)}.jira-add-btn:disabled{opacity:.6;cursor:not-allowed}.jira-mapping-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border-light)}.jira-mapping-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.jira-mapping-header h4{font-size:var(--text-base);color:var(--color-text-primary);margin:0;font-weight:600}.jira-mappings-list{gap:var(--space-3);flex-direction:column;display:flex}.jira-mapping-item{padding:var(--space-3)var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex}.mapping-info{gap:var(--space-1);flex-direction:column;display:flex}.mapping-projects{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.mapping-projects .jira-project{align-items:center;gap:var(--space-2);color:var(--color-text-primary);display:flex}.mapping-projects .project-key{background:var(--color-interactive-tint);color:var(--color-interactive);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);padding:2px 6px;font-weight:600}.mapping-arrow{color:var(--color-text-muted)}.mapping-projects .praxis-project{color:var(--color-text-primary);font-weight:500}.mapping-meta{gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.mapping-actions{gap:var(--space-2);display:flex}.btn-icon-sm{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-card);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-fast);justify-content:center;align-items:center;padding:0;display:flex}.btn-icon-sm:hover{border-color:var(--color-interactive);color:var(--color-interactive)}.btn-icon-sm.sync-on{color:var(--color-positive);border-color:var(--color-positive)}.btn-icon-sm.sync-off{color:var(--color-text-muted)}.btn-icon-sm.btn-danger-icon:hover{border-color:var(--color-critical);color:var(--color-critical)}.jira-no-mappings{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.jira-mapper-form{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.jira-mapper-form .form-group{margin-bottom:var(--space-4)}.jira-mapper-form label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);font-weight:500;display:block}.jira-mapper-form select{width:100%;padding:var(--space-2)var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-card);color:var(--color-text-primary);font-size:var(--text-sm)}.jira-project-grid{gap:var(--space-3);max-height:240px;padding:var(--space-1);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid;overflow-y:auto}.jira-project-card{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-card);border:2px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex}.jira-project-card:hover{border-color:var(--color-interactive)}.jira-project-card.selected{border-color:var(--color-interactive);background:var(--color-interactive-tint)}.jira-project-card .project-avatar{border-radius:var(--radius-sm);width:32px;height:32px}.jira-project-card .project-details{flex-direction:column;gap:2px;min-width:0;display:flex}.jira-project-card .project-key{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-interactive);font-weight:600}.jira-project-card .project-name{font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.jira-project-card .project-type{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:capitalize}.jira-mapper-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);display:flex}.jira-loading,.jira-no-projects{padding:var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.upload-source-selector{gap:var(--space-4);margin:var(--space-6)0;grid-template-columns:repeat(2,1fr);max-width:600px;display:grid}.upload-source-btn{align-items:center;gap:var(--space-3);padding:var(--space-6);background:var(--color-surface-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);text-align:center;flex-direction:column;display:flex}.upload-source-btn:hover{border-color:var(--color-interactive);background:var(--color-interactive-tint);transform:translateY(-2px)}.upload-source-icon{color:var(--color-interactive);font-size:32px}.upload-source-icon svg{color:var(--color-interactive)}.upload-source-title{font-size:var(--text-md);color:var(--color-text-primary);font-weight:600}.upload-source-desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.4}.jira-import{max-width:700px}.jira-import-title{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-5);font-weight:600}.jira-import-success{text-align:center;padding:var(--space-8);background:var(--color-positive-tint);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}.jira-import-success .success-icon{color:var(--color-positive);margin-bottom:var(--space-3);font-size:48px}.jira-import-success h3{font-size:var(--text-lg);margin-bottom:var(--space-2);font-weight:600}.jira-no-connections,.jira-no-projects{text-align:center;padding:var(--space-6);color:var(--color-text-muted)}.jira-hint{font-size:var(--text-sm);margin-top:var(--space-2)}.jira-connection-selector{margin-bottom:var(--space-5)}.jira-connection-selector label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);font-weight:500;display:block}.jira-connection-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.jira-connection-btn{padding:var(--space-2)var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition-fast)}.jira-connection-btn:hover,.jira-connection-btn.active{border-color:var(--color-interactive);background:var(--color-interactive-tint)}.jira-connection-btn.active{font-weight:600}.jira-project-grid{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.jira-project-card{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left;display:flex}.jira-project-card:hover:not(.mapped){border-color:var(--color-interactive);background:var(--color-interactive-tint)}.jira-project-card.mapped{opacity:.6;cursor:not-allowed}.jira-project-avatar{border-radius:var(--radius-sm);width:40px;height:40px}.jira-project-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.jira-project-key{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-interactive);font-weight:600}.jira-project-name{font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.jira-mapped-badge{font-size:var(--text-xs);background:var(--color-surface);border-radius:var(--radius-sm);color:var(--color-text-muted);padding:2px 8px}.jira-preview-card{background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5)}.jira-preview-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light);display:flex}.jira-preview-header .jira-project-key{font-size:var(--text-sm);background:var(--color-interactive-tint);border-radius:var(--radius-sm);padding:4px 10px}.jira-preview-header .jira-project-name{font-size:var(--text-lg);font-weight:600}.jira-preview-stats{gap:var(--space-6);margin-bottom:var(--space-4);display:flex}.jira-stat{flex-direction:column;display:flex}.jira-stat-value{font-size:var(--text-xl);color:var(--color-interactive);font-weight:700}.jira-stat-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.jira-preview-types,.jira-preview-statuses{margin-top:var(--space-3)}.jira-preview-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-right:var(--space-2);font-weight:600}.jira-type-badges,.jira-status-badges{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:inline-flex}.jira-type-badge,.jira-status-badge{align-items:center;gap:var(--space-1);background:var(--color-surface);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-text-secondary);padding:2px 8px;display:inline-flex}.jira-type-count,.jira-status-count{color:var(--color-text-primary);font-weight:600}.jira-import-name-field{margin-bottom:var(--space-5)}.jira-import-name-field label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);font-weight:500;display:block}.jira-import-name-field input{border-radius:var(--radius-xs);border:1px solid var(--color-border);background:var(--color-surface-card);width:100%;color:var(--color-text-primary);font-size:var(--text-base);padding:10px 14px}.jira-import-name-field input:focus{border-color:var(--color-interactive);outline:none}.jira-import-actions{gap:var(--space-3);margin-top:var(--space-4);display:flex}.jira-schedule-modal{min-width:320px;max-width:400px}.jira-schedule-modal h4{margin:0 0 var(--space-5);font-family:var(--font-display)}.jira-schedule-modal .form-group{margin-bottom:var(--space-4)}.jira-schedule-modal label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:6px;font-weight:500;display:block}.jira-schedule-modal select{width:100%;padding:var(--space-2)var(--space-3);border-radius:var(--radius-xs);border:1px solid var(--color-border);background:var(--color-surface-card);color:var(--color-text-primary);font-size:var(--text-sm)}.jira-schedule-modal .checkbox-label{align-items:center;gap:var(--space-2);cursor:pointer;display:flex}.jira-schedule-modal .checkbox-label input{width:16px;height:16px}.jira-schedule-modal .modal-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);display:flex}.jira-mapping-item .mapping-actions{align-items:center;gap:var(--space-2);display:flex}.jira-mapping-item .mapping-actions .btn-sm.btn-primary{background:var(--color-interactive);color:#fff;border-radius:var(--radius-xs);font-size:var(--text-xs);cursor:pointer;border:none;padding:6px 12px;font-weight:600;transition:all .15s}.jira-mapping-item .mapping-actions .btn-sm.btn-primary:hover{background:var(--color-interactive-hover);box-shadow:0 2px 8px #5b21b64d}.jira-mapping-item .mapping-actions .btn-sm.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary{justify-content:center;align-items:center;gap:var(--space-2);padding:10px var(--space-5);background:var(--color-interactive);color:#fff;border-radius:var(--radius-xs);font-size:var(--text-base);cursor:pointer;border:none;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary:hover{background:var(--color-interactive-hover);box-shadow:0 4px 12px #5b21b64d}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-2);padding:10px var(--space-5);background:var(--color-surface-card);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-xs);font-size:var(--text-base);cursor:pointer;font-weight:500;transition:all .15s;display:inline-flex}.btn-secondary:hover{border-color:var(--color-interactive);color:var(--color-interactive)}.btn-secondary:active{transform:scale(.97)}.btn-sm{font-size:var(--text-sm);padding:6px 14px}.gantt-collapse-group{border-left:1px solid var(--color-border);gap:4px;margin-left:12px;padding-left:12px;display:flex}.gantt-collapse-btn{background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-xs);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:flex}.gantt-collapse-btn:hover{border-color:var(--color-interactive);color:var(--color-interactive)}.gantt-toggle-btn{width:18px;height:18px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin-right:4px;transition:all .15s;display:flex}.gantt-toggle-btn:hover{background:var(--color-interactive-tint);color:var(--color-interactive)}.gantt-toggle-spacer{flex-shrink:0;width:18px;height:18px;margin-right:4px}.gantt-label.summary{font-weight:600}.gantt-label-name.summary-name{color:var(--color-text-primary);font-weight:600}.gantt-bar-summary{fill:var(--color-interactive);opacity:.9}.gantt-summary-cap{fill:var(--color-interactive)}.gantt-bar-pct.summary-pct{fill:#fff;font-weight:600}[data-theme=dark] .gantt-bar-summary{fill:var(--color-interactive);opacity:.85}.ppc-source{text-transform:uppercase;letter-spacing:.5px;background:var(--color-text-primary);color:var(--color-surface-card);border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:8px;right:8px}[data-theme=dark] .ppc-source{color:#1a1a2e;background:#fff}[data-theme=light] .ppc-source{color:#fff;background:#1a1a2e}.hero-wrapper{position:relative}.hero-zone__reveal-tab{align-items:center;gap:var(--space-2);background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:0 0 var(--radius-md)var(--radius-md);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);z-index:10;border-top:none;padding:6px 16px;font-weight:600;display:flex;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.hero-zone__reveal-tab:hover{color:var(--color-interactive);background:var(--color-surface)}.hero-zone__reveal-tab--open{background:var(--color-surface-card);color:var(--color-interactive);border-color:var(--color-interactive)}.hero-zone__reveal-icon{transition:transform var(--transition-fast);font-size:8px}.hero-zone__reveal-tab--open .hero-zone__reveal-icon{transform:rotate(180deg)}.projections-panel{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:0 0 var(--radius-lg)var(--radius-lg);border-top:none;margin-top:-1px;position:relative}.projections-panel__content{padding:var(--space-5)var(--space-6)}.projections-panel__title{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-primary);margin:0 0 var(--space-4);font-weight:600}.projections-panel__grid{gap:var(--space-6);grid-template-columns:auto auto 1fr;align-items:start;display:grid}@media(max-width:900px){.projections-panel__grid{gap:var(--space-4);grid-template-columns:1fr}}.projections-panel__metric{gap:var(--space-2);flex-direction:column;display:flex}.projections-panel__metric-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.projections-panel__flow,.projections-panel__schedule{align-items:center;gap:var(--space-3);display:flex}.projection-score{flex-direction:column;align-items:center;gap:4px;display:flex}.projection-score__ring{background:var(--color-surface);border:3px solid;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.projection-score__ring--green{border-color:var(--color-positive)}.projection-score__ring--amber{border-color:var(--color-warning)}.projection-score__ring--red{border-color:var(--color-critical)}.projection-score__value{font-size:var(--text-lg);color:var(--color-text-primary);font-weight:700}.projection-score__label{font-size:var(--text-xs);color:var(--color-text-muted)}.projections-panel__arrow{color:var(--color-text-muted)}.projections-panel__arrow--improving{color:var(--color-positive)}.projections-panel__arrow--declining{color:var(--color-critical)}.projections-panel__arrow--stable{color:var(--color-text-muted)}.projections-panel__date-block{flex-direction:column;align-items:center;gap:4px;display:flex}.projections-panel__date{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600;font-family:var(--font-mono);align-items:center;gap:var(--space-2);display:flex}.projections-panel__date--slip{color:var(--color-warning)}.projections-panel__slip-badge{font-size:var(--text-xs);background:var(--color-warning-tint);color:var(--color-warning);border-radius:var(--radius-sm);padding:2px 6px;font-weight:600}.projections-panel__date-label{font-size:var(--text-xs);color:var(--color-text-muted)}.projections-panel__summary{gap:var(--space-2);flex-direction:column;display:flex}.projections-panel__summary-text{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.projections-panel__confidence{font-size:var(--text-xs);color:var(--color-text-muted)}.projections-panel__reveal-tab{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2)var(--space-4);margin-top:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);font-weight:600;display:flex}.projections-panel__reveal-tab:hover{color:var(--color-interactive);border-color:var(--color-interactive)}.projections-panel__reveal-tab--open{color:var(--color-interactive);border-color:var(--color-interactive);border-radius:var(--radius-sm)var(--radius-sm)0 0;border-bottom:none}.projections-panel__reveal-icon{font-size:8px}.projections-panel__risks{background:var(--color-surface);border-top:1px solid var(--color-border-light);padding:var(--space-4)var(--space-6);gap:var(--space-2);flex-direction:column;display:flex}.projections-panel__risk-item{align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-3);background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);display:flex}.projections-panel__risk-name{font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:500;overflow:hidden}.projections-panel__risk-factors{gap:var(--space-2);flex-shrink:0;display:flex}.projections-panel__risk-factor{font-size:var(--text-xs);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text-muted);white-space:nowrap;padding:2px 8px}.projections-panel__risk-factor--critical{background:var(--color-critical-tint);border-color:var(--color-critical);color:var(--color-critical)}.projections-panel__risk-score{font-size:var(--text-xs);border-radius:var(--radius-sm);flex-shrink:0;padding:2px 8px;font-weight:600}.projections-panel__risk-score.risk-high{background:var(--color-critical-tint);color:var(--color-critical)}.projections-panel__risk-score.risk-medium{background:var(--color-warning-tint);color:var(--color-warning)}.projections-panel__risk-score.risk-low{background:var(--color-advisory-tint);color:var(--color-advisory)}.top-bar-project{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.top-bar-project-name{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-weight:700;overflow:hidden}.top-bar-divider{background:var(--color-border);width:1px;height:20px;margin:0 var(--space-3);flex-shrink:0}.top-bar-vital{white-space:nowrap;align-items:baseline;gap:4px;display:inline-flex}.top-bar-vital-value{font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary)}.top-bar-vital-label{font-size:var(--text-xs);color:var(--color-text-muted)}.top-bar-trend{align-items:center;gap:var(--space-2);display:inline-flex}.top-bar-trend-label{font-size:var(--text-xs);color:var(--color-text-muted)}.top-bar-delta{font-size:var(--text-xs);font-weight:600}.top-bar-muted{font-size:var(--text-xs);color:var(--color-text-muted);opacity:.6}.top-bar-updated{align-items:baseline;gap:4px;display:inline-flex}.top-bar-updated-label{font-size:var(--text-xs);color:var(--color-text-muted)}.top-bar-updated-value{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:500}.page-content{padding:var(--space-6)var(--space-10)}.dashboard-hero-row{margin-top:0}.asana-connection{margin-top:var(--space-4)}.asana-loading{color:var(--color-text-muted);padding:var(--space-4)}.asana-error{background:var(--color-critical-tint);color:var(--color-critical);padding:var(--space-3)var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:var(--text-sm)}.asana-empty{text-align:center;padding:var(--space-6);background:var(--color-surface);border-radius:var(--radius-md);border:1px dashed var(--color-border)}.asana-empty-text{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.asana-connect-btn{background:var(--color-interactive);color:#fff;padding:var(--space-3)var(--space-5);border-radius:var(--radius-xs);cursor:pointer;border:none;font-weight:500;transition:background .15s}.asana-connect-btn:hover:not(:disabled){background:var(--color-interactive-hover)}.asana-connect-btn:disabled{opacity:.6;cursor:not-allowed}.asana-connections-list{gap:var(--space-4);flex-direction:column;display:flex}.asana-connection-card{padding:var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex}.asana-connection-info{gap:var(--space-1);flex-direction:column;display:flex}.asana-connection-header{align-items:center;gap:var(--space-3);display:flex}.asana-user-name{color:var(--color-text-primary);font-weight:600}.asana-status{font-size:var(--text-xs);border-radius:var(--radius-sm);padding:2px 8px;font-weight:500}.asana-status--connected{background:var(--color-positive-tint);color:var(--color-positive)}.asana-status--auth_expired{background:var(--color-warning-tint);color:var(--color-warning)}.asana-user-email{font-size:var(--text-sm);color:var(--color-text-muted)}.asana-last-sync{font-size:var(--text-xs);color:var(--color-text-muted)}.asana-disconnect-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--space-2)var(--space-3);border-radius:var(--radius-xs);font-size:var(--text-sm);cursor:pointer;background:0 0;transition:all .15s}.asana-disconnect-btn:hover{border-color:var(--color-critical);color:var(--color-critical)}.asana-add-btn{border:1px dashed var(--color-border);color:var(--color-text-secondary);padding:var(--space-3);border-radius:var(--radius-sm);cursor:pointer;background:0 0;transition:all .15s}.asana-add-btn:hover:not(:disabled){border-color:var(--color-interactive);color:var(--color-interactive)}.asana-add-btn:disabled{opacity:.6;cursor:not-allowed}.asana-import{padding:var(--space-4)}.asana-import-title{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-5);font-weight:600}.asana-breadcrumb{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.asana-breadcrumb-item{color:var(--color-text-secondary)}.asana-breadcrumb-separator{color:var(--color-text-muted)}.asana-no-connections,.asana-no-projects{text-align:center;padding:var(--space-6);color:var(--color-text-muted)}.asana-hint{font-size:var(--text-sm);margin-top:var(--space-2)}.asana-connection-selector,.asana-workspace-selector{margin-bottom:var(--space-5)}.asana-connection-selector label,.asana-workspace-selector label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);font-weight:500;display:block}.asana-connection-list,.asana-workspace-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.asana-connection-btn,.asana-workspace-btn{gap:var(--space-1);padding:var(--space-3)var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;flex-direction:column;transition:all .15s;display:flex}.asana-connection-btn:hover,.asana-workspace-btn:hover{border-color:var(--color-interactive)}.asana-connection-btn.active,.asana-workspace-btn.active{border-color:var(--color-interactive);background:var(--color-interactive-tint)}.asana-connection-btn .asana-user-email{font-size:var(--text-xs)}.asana-project-grid{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.asana-project-card{gap:var(--space-2);padding:var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;flex-direction:column;transition:all .15s;display:flex}.asana-project-card:hover{border-color:var(--color-interactive);transform:translateY(-2px)}.asana-project-card.selected{border-color:var(--color-interactive);background:var(--color-interactive-tint)}.asana-project-info{gap:var(--space-1);flex-direction:column;display:flex}.asana-project-name{color:var(--color-text-primary);font-weight:500}.asana-import-name-field{margin:var(--space-5)0}.asana-import-name-field label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);font-weight:500;display:block}.asana-import-name-field input{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-card);color:var(--color-text-primary);font-size:var(--text-base)}.asana-import-name-field input:focus{border-color:var(--color-interactive);outline:none}.asana-import-actions{gap:var(--space-3);margin-top:var(--space-5);display:flex}.asana-import-success{text-align:center;padding:var(--space-6)}.asana-import-success .success-icon{background:var(--color-positive-tint);width:48px;height:48px;color:var(--color-positive);font-size:var(--text-xl);margin:0 auto var(--space-4);border-radius:50%;justify-content:center;align-items:center;display:flex}.asana-import-success h3{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-2)}.asana-import-success p{color:var(--color-text-secondary)}.asana-mappings{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border-light)}.asana-mappings-title{font-size:var(--text-base);margin-bottom:var(--space-4);color:var(--color-text-primary);font-weight:600}.asana-mappings-loading{color:var(--color-text-muted);padding:var(--space-4)}.asana-mappings-list{gap:var(--space-3);flex-direction:column;display:flex}.asana-mapping-card{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;display:flex}.asana-mapping-info{gap:var(--space-1);flex-direction:column;display:flex}.asana-mapping-header{align-items:center;gap:var(--space-2);font-weight:500;display:flex}.asana-arrow{color:var(--color-text-muted)}.asana-praxis-name{color:var(--color-interactive)}.asana-mapping-meta{gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.asana-mapping-actions{gap:var(--space-2);display:flex}.asana-sync-btn{background:var(--color-interactive);color:#fff;padding:var(--space-2)var(--space-3);border-radius:var(--radius-xs);font-size:var(--text-sm);cursor:pointer;border:none;transition:background .15s}.asana-sync-btn:hover:not(:disabled){background:var(--color-interactive-hover)}.asana-sync-btn:disabled{opacity:.6;cursor:not-allowed}.asana-delete-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--space-2)var(--space-3);border-radius:var(--radius-xs);font-size:var(--text-sm);cursor:pointer;background:0 0;transition:all .15s}.asana-delete-btn:hover{border-color:var(--color-critical);color:var(--color-critical)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.7}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp .3s ease-out forwards}.fade-in-stagger>*{opacity:0;animation:fadeInUp .3s ease-out forwards}.fade-in-stagger>*:nth-child(1){animation-delay:0ms}.fade-in-stagger>*:nth-child(2){animation-delay:60ms}.fade-in-stagger>*:nth-child(3){animation-delay:.12s}.fade-in-stagger>*:nth-child(4){animation-delay:.18s}.fade-in-stagger>*:nth-child(5){animation-delay:.24s}.fade-in-stagger>*:nth-child(6){animation-delay:.3s}.skeleton{background:linear-gradient(90deg,var(--color-border) 0%,var(--skeleton-highlight, rgba(167, 139, 250, .08)) 50%,var(--color-border) 100%);background-size:800px 100%;animation:skeleton-shimmer 1.8s ease-in-out infinite;border-radius:6px}[data-theme=dark] .skeleton{--skeleton-highlight: rgba(167, 139, 250, .12)}.skeleton-text{height:14px;margin-bottom:10px;border-radius:4px}.skeleton-text.skeleton-text--sm{height:12px;width:60%}.skeleton-text.skeleton-text--lg{height:20px;width:80%}.skeleton-text.skeleton-text--heading{height:28px;width:50%;margin-bottom:16px}.skeleton-circle{border-radius:50%;flex-shrink:0}.skeleton-block{border-radius:8px}.skeleton-dashboard{display:flex;flex-direction:column;gap:24px;padding:0}.skeleton-health-ring{display:flex;align-items:center;gap:24px;padding:24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.skeleton-health-ring__circle{width:120px;height:120px;border-radius:50%;border:8px solid var(--color-border);background:transparent;animation:skeleton-pulse 1.8s ease-in-out infinite;flex-shrink:0;position:relative}.skeleton-health-ring__details{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:900px){.skeleton-metrics-grid{grid-template-columns:repeat(2,1fr)}}.skeleton-metric-card{padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;display:flex;flex-direction:column;gap:10px}.skeleton-metric-card__value{height:32px;width:40%;border-radius:4px}.skeleton-metric-card__label{height:12px;width:70%;border-radius:4px}.skeleton-metis-strip{padding:20px 24px;border-radius:12px;background:linear-gradient(135deg,#7c3aed14,#a78bfa0d);border:1px solid rgba(167,139,250,.15);display:flex;align-items:center;gap:16px}[data-theme=dark] .skeleton-metis-strip{background:linear-gradient(135deg,#7c3aed26,#a78bfa14)}.skeleton-metis-strip__orb{width:36px;height:36px;border-radius:8px;animation:skeleton-pulse 1.8s ease-in-out infinite;background:#a78bfa33;flex-shrink:0}.skeleton-metis-strip__content{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-focus-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:768px){.skeleton-focus-grid{grid-template-columns:1fr}}.skeleton-focus-card{padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;display:flex;flex-direction:column;gap:12px}.skeleton-focus-card__header{display:flex;align-items:center;justify-content:space-between}.skeleton-focus-card__badge{width:64px;height:22px;border-radius:11px}.skeleton-focus-card__id{width:40px;height:18px;border-radius:4px}.skeleton-focus-card__body{display:flex;flex-direction:column;gap:8px}.skeleton-findings{display:flex;flex-direction:column;gap:12px}.skeleton-finding-row{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.skeleton-finding-row__badge{width:72px;height:24px;border-radius:12px;flex-shrink:0}.skeleton-finding-row__content{flex:1;display:flex;flex-direction:column;gap:6px}.skeleton-actions{display:flex;flex-direction:column;gap:16px}.skeleton-action-card{padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-border);border-radius:10px;display:flex;flex-direction:column;gap:12px}.skeleton-history{display:flex;flex-direction:column;gap:12px}.skeleton-history-row{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.skeleton-history-row__score{width:48px;height:48px;border-radius:50%;flex-shrink:0}.skeleton-history-row__content{flex:1;display:flex;flex-direction:column;gap:6px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;text-align:center;animation:fadeInUp .4s ease-out forwards}.empty-state__icon{width:80px;height:80px;margin-bottom:24px;color:var(--color-accent-light);opacity:.6}.empty-state__title{font-family:Fraunces,serif;font-weight:600;font-size:22px;color:var(--color-text-primary);margin:0 0 8px}.empty-state__message{font-family:IBM Plex Sans,sans-serif;font-size:15px;color:var(--color-text-secondary);margin:0 0 28px;max-width:380px;line-height:1.5}.empty-state__cta{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-family:IBM Plex Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease,transform .15s ease}.empty-state__cta:hover{background:var(--color-primary);transform:translateY(-1px)}.empty-state__cta:active{transform:scale(.97)}.page-transition{opacity:0;transition:opacity .2s ease-out}.page-transition--visible{opacity:1}.upload-spinner{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px}.upload-spinner__ring{width:48px;height:48px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.upload-spinner__text{font-family:IBM Plex Sans,sans-serif;font-size:14px;color:var(--color-text-secondary)}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;text-align:center;animation:fadeInUp .4s ease-out forwards}.error-state__icon{width:80px;height:80px;margin-bottom:24px;color:var(--color-rag-red, #ef4444);opacity:.7}.error-state__title{font-family:Fraunces,serif;font-weight:600;font-size:22px;color:var(--color-text-primary);margin:0 0 8px}.error-state__message{font-family:IBM Plex Sans,sans-serif;font-size:15px;color:var(--color-text-secondary);margin:0 0 28px;max-width:420px;line-height:1.5}.error-state__retry{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:transparent;color:var(--color-accent);border:1.5px solid var(--color-accent);border-radius:8px;font-family:IBM Plex Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease,transform .15s ease}.error-state__retry:hover{background:var(--color-accent);color:#fff;transform:translateY(-1px)}.error-state__retry:active{transform:scale(.97)}.error-state__retry-icon{font-size:16px;transition:transform .3s ease}.error-state__retry:hover .error-state__retry-icon{transform:rotate(180deg)}.error-state--inline{padding:24px 16px}.error-state--inline .error-state__icon{width:48px;height:48px;margin-bottom:16px}.error-state--inline .error-state__title{font-size:18px}.error-state--inline .error-state__message{font-size:14px;margin-bottom:20px}@media print{:root{--color-bg-primary: #ffffff !important;--color-bg-secondary: #f8f9fa !important;--color-bg-tertiary: #f1f3f5 !important;--color-text-primary: #1a1a2e !important;--color-text-secondary: #4a5568 !important;--color-border: #e2e8f0 !important;--color-accent: #2563eb !important}@page{size:A4;margin:20mm 15mm}body{background:#fff!important;color:#000!important;font-size:11pt!important;line-height:1.4!important}.sidebar,.metis-panel,.metis-fab,.metis-fab-container,.sticky-header__actions,.upload-zone,.empty-state__cta,button:not(.print-visible),.tooltip,.modal,.modal-overlay,nav,.nav,.navigation,[role=navigation],.settings-panel,.action-buttons,.cta-button,.hero-zone__cta,.causal-insights__cta{display:none!important}.skeleton,.skeleton-card,.skeleton-text,.upload-spinner,.loading-container,[class*=skeleton-]{display:none!important}*,*:before,*:after{animation:none!important;transition:none!important}.app-layout{display:block!important;padding:0!important}.main-content{margin:0!important;padding:0!important;max-width:100%!important;width:100%!important}.dashboard-grid,.findings-grid,.focus-areas__grid,.causal-insights__grid{display:block!important;grid-template-columns:1fr!important}.dashboard-grid>*,.findings-grid>*,.focus-areas__grid>*,.causal-insights__grid>*{margin-bottom:16pt!important;page-break-inside:avoid}.card,.finding-card,.focus-card,.causal-card,.action-card{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important;page-break-inside:avoid;margin-bottom:12pt!important}.hero-zone{border:2px solid #333!important;padding:16pt!important;margin-bottom:24pt!important;page-break-after:avoid}.hero-zone__score-ring{width:60px!important;height:60px!important}.health-ring__score{font-size:18pt!important}h1,.page-title{font-size:18pt!important;margin-bottom:12pt!important}h2,.section-title{font-size:14pt!important;margin-bottom:8pt!important;page-break-after:avoid}h3,.card-title{font-size:12pt!important;margin-bottom:6pt!important}p,.card-text,.finding-description{font-size:10pt!important;line-height:1.4!important}table{width:100%!important;border-collapse:collapse!important;page-break-inside:auto}tr{page-break-inside:avoid;page-break-after:auto}th,td{border:1px solid #ccc!important;padding:6pt 8pt!important;font-size:9pt!important;text-align:left!important}th{background:#f5f5f5!important;font-weight:600!important}.rag-badge,.status-badge{border:1px solid currentColor!important;padding:2pt 6pt!important;font-size:9pt!important}.rag-badge--red,.status--critical{color:#dc2626!important;border-color:#dc2626!important}.rag-badge--amber,.status--warning{color:#d97706!important;border-color:#d97706!important}.rag-badge--green,.status--good{color:#16a34a!important;border-color:#16a34a!important}.gantt-container,.chart-container,.visualisation-container{page-break-inside:avoid;max-height:none!important;overflow:visible!important}a{color:#2563eb!important;text-decoration:underline!important}a[href^=http]:after{content:" (" attr(href) ")";font-size:8pt;color:#666}a[href^="/"]:after,a[href^="#"]:after{content:none}.page-break-before{page-break-before:always}.page-break-after{page-break-after:always}.no-page-break{page-break-inside:avoid}.print-header{display:block!important;text-align:center;font-size:10pt;color:#666;margin-bottom:16pt}.print-footer{display:block!important;text-align:center;font-size:8pt;color:#999;margin-top:16pt}.screen-only{display:none!important}.print-only{display:block!important}}.print-only{display:none}@media(max-width:1023px){.dashboard-hero-row{grid-template-columns:1fr}.schedule-delta{max-width:none;min-width:0;width:100%}.metrics-grid,.focus-areas__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.sidebar,.sidebar-edge-toggle{display:none!important}.main-content,.main-content.sidebar-is-collapsed{margin-left:0!important;width:100%}.page-content{padding:var(--space-3, 12px)}.dashboard{padding:0}.dashboard-hero-row{grid-template-columns:1fr;gap:var(--space-3, 12px)}.schedule-delta{max-width:none;min-width:0;width:100%;padding:var(--space-4, 16px);border-radius:var(--card-radius, 12px)}.hero-zone{flex-direction:column;align-items:center;text-align:center;gap:var(--space-4, 16px);padding:var(--space-4, 16px)}.hero-zone__centre{align-items:center}.hero-zone__status-row{justify-content:center;flex-wrap:wrap}.hero-zone__headline{text-align:center}.hero-zone__actions{width:100%;flex-direction:column;align-items:center;gap:var(--space-2, 8px)}.hero-zone__reanalyse{width:100%;max-width:280px;justify-content:center}.hero-zone__last-run{text-align:center}.focus-areas__grid{grid-template-columns:1fr;gap:var(--space-3, 12px)}.focus-areas__card{padding:var(--space-4, 16px)}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3, 12px);margin-bottom:var(--space-6, 24px)}.metric-card{padding:var(--space-4, 16px);border-radius:10px}.sticky-header{padding:var(--space-2, 8px) var(--space-3, 12px)}.sticky-header__project,.sticky-header__pill{display:none}.command-bar{flex-wrap:wrap;gap:var(--space-2, 8px)}.command-bar-project-name,.alert-bar__content{font-size:var(--text-sm, .8125rem)}.category-breakdown .disclosure-header{padding:var(--space-3, 12px) var(--space-4, 16px)}.metis-panel{width:100vw;max-width:100vw;right:0}.metis-fab{bottom:20px;right:16px}.findings-filter-bar{flex-wrap:wrap;gap:var(--space-2, 8px)}.findings-filter-bar input[type=text]{width:100%;order:-1}.upload-mapping-table{font-size:var(--text-sm, .8125rem);display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.upload-mapping-table th,.upload-mapping-table td{padding:var(--space-2, 8px) var(--space-3, 12px);white-space:nowrap}.causal-insights{overflow-x:auto}.app-footer{padding:var(--space-3, 12px) var(--space-4, 16px);font-size:var(--text-xs, .75rem)}}@media(hover:none){.metric-card:hover,.focus-areas__card:hover,.nav-item:hover,.category-bar-row:hover,.focus-areas__link:hover{transform:none!important;box-shadow:inherit}.metric-card:active,.focus-areas__card:active,.hero-zone__reanalyse:active{opacity:.85;transition:opacity .1s ease}}@media(prefers-reduced-motion:reduce){.hero-zone,.focus-areas__card,.metric-card,.category-bar-fill,.sticky-header,.metis-panel,.page-content{animation:none!important;transition:none!important}}.dr-canvas-container{position:relative;width:100%;height:550px;background:var(--color-surface-card);border-radius:var(--radius-lg);overflow:hidden}.dr-canvas-fullscreen{position:fixed;inset:60px 0 0;z-index:100;border-radius:0;height:auto}.dr-canvas-loading,.dr-canvas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-base)}.dr-loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-interactive);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dr-canvas-controls{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;gap:var(--space-2)}.dr-control-btn{padding:6px 12px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xs);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all .15s ease}.dr-control-btn:hover{border-color:var(--color-interactive);color:var(--color-interactive)}.dr-control-btn.active{background:var(--color-interactive);border-color:var(--color-interactive);color:#fff}.tree-grid-line{stroke:var(--color-border);stroke-width:1;stroke-opacity:.5;stroke-dasharray:6,4}.tree-time-axis text{fill:var(--color-text-secondary);font-size:12px;font-weight:500}.tree-time-axis line,.tree-time-axis path{stroke:var(--color-border)}.tree-link{stroke:var(--color-text-muted);stroke-width:2.5;opacity:.8;transition:opacity .2s,stroke .2s}.tree-link:hover{opacity:1}.tree-link--issue{stroke:#f59e0b;stroke-width:3;opacity:.9}.tree-arrow-head{fill:var(--color-text-muted)}.tree-node:hover .tree-node-circle{filter:brightness(1.1);stroke-width:4}.tree-node-circle{fill:var(--color-surface-card);stroke:var(--color-interactive);stroke-width:3}.tree-node--center .tree-node-circle{stroke-width:4;filter:drop-shadow(0 0 8px rgba(139,92,246,.4))}.tree-node--issue .tree-node-circle{stroke:#f59e0b}.tree-node-progress{fill:#06b6d4;opacity:1}.tree-node-check{fill:#10b981;font-size:16px;font-weight:700}.tree-node-issue-text{fill:#f59e0b;font-size:18px;font-weight:700}.tree-node-percent{fill:var(--color-text-secondary);font-size:11px;font-weight:600}.tree-label-group{transition:opacity .15s}.tree-label-group:active{cursor:grabbing!important}.tree-label-bg{fill:var(--color-surface-card);fill-opacity:1;stroke:var(--color-border);stroke-width:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}[data-theme=dark] .tree-label-bg,.dark .tree-label-bg{fill:#1e1b2e;fill-opacity:1}.tree-label-bg--center{fill:var(--color-interactive-tint);stroke:var(--color-interactive)}.tree-label-bg--issue{fill:#f59e0b26;stroke:#f59e0b}.tree-label-text{fill:var(--color-text-secondary);font-size:11px;font-family:var(--font-body)}.tree-label-title{fill:var(--color-text-primary);font-size:12px;font-weight:600}.tree-label-connector{stroke:#889;stroke-width:1;stroke-dasharray:3,2;opacity:.7}.dr-tooltip{position:fixed;z-index:1000;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-elevated);pointer-events:none;min-width:180px}.dr-tooltip-title{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-2);font-size:var(--text-sm)}.dr-tooltip-row{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:2px}.dr-tooltip-row span:last-child{font-weight:500;color:var(--color-text-primary)}.dr-tooltip-warning{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border-light);color:#f59e0b;font-size:var(--text-xs);font-weight:500}@media(prefers-color-scheme:light){.tree-link{stroke:#64748b}.tree-arrow-head{fill:#64748b}.tree-grid-line{stroke:#cbd5e1;stroke-opacity:.7}}[data-theme=dark] .tree-link,.dark .tree-link{stroke:#94a3b8}[data-theme=dark] .tree-arrow-head,.dark .tree-arrow-head{fill:#94a3b8}[data-theme=dark] .tree-grid-line,.dark .tree-grid-line{stroke:#475569;stroke-opacity:.6}.dependency-radar{display:flex;flex-direction:column;gap:var(--space-4)}.dr-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.dr-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.dr-direction-toggle{display:flex;gap:2px;background:var(--color-surface);border-radius:var(--radius-xs);padding:2px;border:1px solid var(--color-border-light)}.dr-direction-btn{display:flex;align-items:center;gap:var(--space-2);padding:8px 14px;background:transparent;border:none;border-radius:calc(var(--radius-xs) - 2px);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.dr-direction-btn:hover{color:var(--color-text-primary);background:var(--color-surface-card)}.dr-direction-btn.active{background:var(--color-interactive);color:#fff}.dr-direction-btn svg{flex-shrink:0}.dr-flat-badge{font-size:var(--text-xs);color:var(--color-text-muted);padding:4px 10px;background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border-light)}.dr-list-container{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden}.dr-list-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light)}.dr-list-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);margin:0}.dr-list-count{font-size:var(--text-sm);color:var(--color-text-muted)}.dr-table{width:100%;border-collapse:collapse}.dr-table th{text-align:left;padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border-light)}.dr-th-id{width:80px}.dr-th-children{width:90px;text-align:center}.dr-th-action{width:80px}.dr-row{transition:background .1s ease}.dr-row:hover{background:var(--color-surface)}.dr-row--clickable{cursor:pointer}.dr-row--clickable:hover{background:var(--color-interactive-tint)}.dr-table td{padding:10px var(--space-4);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.dr-table tbody tr:last-child td{border-bottom:none}.dr-cell-id{font-family:var(--font-mono)}.dr-id-pill{display:inline-block;padding:2px 8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary)}.dr-cell-name{display:flex;align-items:center;gap:var(--space-2)}.dr-task-name{font-size:var(--text-sm);color:var(--color-text-primary)}.dr-bottleneck-badge{display:inline-flex;align-items:center;justify-content:center;padding:1px 5px;background:var(--color-warning-tint);color:var(--color-warning);font-size:10px;font-weight:700;border-radius:3px;letter-spacing:.3px;cursor:help}.dr-cp-badge{display:inline-flex;align-items:center;justify-content:center;padding:1px 5px;background:var(--color-critical-tint);color:var(--color-critical);font-size:10px;font-weight:700;border-radius:3px;letter-spacing:.3px}.dr-cell-children{text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.dr-cell-action{text-align:right}.dr-view-btn{padding:4px 12px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.dr-view-btn:hover{border-color:var(--color-interactive);color:var(--color-interactive);background:var(--color-interactive-tint)}.dr-show-more{display:block;width:100%;padding:var(--space-3);background:var(--color-surface);border:none;border-top:1px solid var(--color-border-light);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.dr-show-more:hover{background:var(--color-surface-card);color:var(--color-interactive)}.dr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);gap:var(--space-3)}.dr-empty-icon{font-size:48px;opacity:.5}.dr-empty-text{font-size:var(--text-md);color:var(--color-text-muted)}.dr-canvas-container{background:var(--color-surface-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden}.dr-title-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border-light)}.dr-title-context{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.dr-level-label{font-weight:600;color:var(--color-text-primary)}.dr-title-separator{color:var(--color-border)}.dr-title-name{color:var(--color-text-secondary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dr-direction-label{color:var(--color-text-muted);font-style:italic}.dr-back-btn{display:flex;align-items:center;gap:var(--space-2);padding:6px 14px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-xs);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.dr-back-btn:hover{border-color:var(--color-interactive);color:var(--color-interactive)}.dr-canvas-placeholder{display:flex;align-items:center;justify-content:center;min-height:400px;padding:var(--space-8)}.dr-placeholder-content{text-align:center;color:var(--color-text-muted)}.dr-placeholder-icon{font-size:64px;display:block;margin-bottom:var(--space-4);opacity:.5}.dr-placeholder-content h4{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-secondary);margin:0 0 var(--space-3)}.dr-placeholder-content p{font-size:var(--text-sm);line-height:1.6;margin:0}.dr-placeholder-content strong{color:var(--color-text-primary)}.dr-level-selector{display:flex;align-items:center;gap:var(--space-2)}.dr-level-selector .dr-level-label{font-size:var(--text-sm);color:var(--color-text-muted);margin-right:var(--space-1)}.dr-level-btn{padding:4px 12px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-card);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .15s ease}.dr-level-btn:hover:not(:disabled){border-color:var(--color-interactive);color:var(--color-interactive)}.dr-level-btn.active{background:var(--color-interactive);border-color:var(--color-interactive);color:#fff}.dr-level-btn:disabled{opacity:.4;cursor:not-allowed}.dr-task-picker{padding:var(--space-6);text-align:center}.dr-task-picker h3{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary);margin-bottom:var(--space-5)}.dr-task-picker-list{display:flex;flex-direction:column;gap:var(--space-2);max-width:600px;margin:0 auto;max-height:400px;overflow-y:auto}.dr-task-picker-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-xs);cursor:pointer;transition:all .15s ease;text-align:left}.dr-task-picker-item:hover:not(:disabled){border-color:var(--color-interactive);background:var(--color-interactive-tint)}.dr-task-picker-item:disabled{opacity:.5;cursor:not-allowed}.dr-task-picker-item.no-deps{opacity:.6}.dr-task-name{font-weight:500;color:var(--color-text-primary);flex-shrink:0}.dr-task-path{font-size:var(--text-xs);color:var(--color-text-muted);flex:1;text-align:right}.dr-no-deps-badge{font-size:var(--text-xs);padding:2px 8px;background:var(--color-surface);border-radius:var(--radius-sm);color:var(--color-text-muted)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--space-4)}.login-card{width:100%;max-width:400px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-default);padding:var(--space-8);box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-logo{font-size:2rem;font-weight:700;letter-spacing:.1em;color:var(--text-primary);margin:0}.login-tagline{color:var(--text-secondary);margin:var(--space-2) 0 0;font-size:var(--text-sm)}.login-form h2{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-6);text-align:center}.login-error{background:var(--rag-red-subtle);color:var(--rag-red);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4);border:1px solid var(--rag-red)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-2)}.form-group input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:var(--text-muted)}.login-button{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:600;color:#fff;background:var(--accent-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);margin-top:var(--space-2)}.login-button:hover:not(:disabled){background:var(--accent-hover)}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:var(--space-6);text-align:center}.login-toggle{background:none;border:none;color:var(--accent-primary);font-size:var(--text-sm);cursor:pointer;padding:0}.login-toggle:hover{text-decoration:underline}.login-toggle:disabled{opacity:.6;cursor:not-allowed}
