/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/@angular-devkit/build-angular/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css?ngGlobalStyle ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************/
.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale3d(0, 0, 0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, 0.1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0 !important;box-sizing:content-box !important;height:auto !important;overflow:hidden !important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0 !important;box-sizing:content-box !important;height:0 !important}@keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus::before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus::before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}html{--mat-ripple-color:rgba(0, 0, 0, 0.1)}html{--mat-option-selected-state-label-text-color:#673ab7;--mat-option-label-text-color:rgba(0, 0, 0, 0.87);--mat-option-hover-state-layer-color:rgba(0, 0, 0, 0.04);--mat-option-focus-state-layer-color:rgba(0, 0, 0, 0.04);--mat-option-selected-state-layer-color:rgba(0, 0, 0, 0.04)}.mat-accent{--mat-option-selected-state-label-text-color:#ffd740;--mat-option-label-text-color:rgba(0, 0, 0, 0.87);--mat-option-hover-state-layer-color:rgba(0, 0, 0, 0.04);--mat-option-focus-state-layer-color:rgba(0, 0, 0, 0.04);--mat-option-selected-state-layer-color:rgba(0, 0, 0, 0.04)}.mat-warn{--mat-option-selected-state-label-text-color:#f44336;--mat-option-label-text-color:rgba(0, 0, 0, 0.87);--mat-option-hover-state-layer-color:rgba(0, 0, 0, 0.04);--mat-option-focus-state-layer-color:rgba(0, 0, 0, 0.04);--mat-option-selected-state-layer-color:rgba(0, 0, 0, 0.04)}html{--mat-optgroup-label-text-color:rgba(0, 0, 0, 0.87)}.mat-primary{--mat-full-pseudo-checkbox-selected-icon-color:#673ab7;--mat-full-pseudo-checkbox-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-unselected-icon-color:rgba(0, 0, 0, 0.54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color:#b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color:#b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color:#673ab7;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color:#b0b0b0}html{--mat-full-pseudo-checkbox-selected-icon-color:#ffd740;--mat-full-pseudo-checkbox-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-unselected-icon-color:rgba(0, 0, 0, 0.54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color:#b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color:#b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color:#ffd740;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color:#b0b0b0}.mat-accent{--mat-full-pseudo-checkbox-selected-icon-color:#ffd740;--mat-full-pseudo-checkbox-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-unselected-icon-color:rgba(0, 0, 0, 0.54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color:#b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color:#b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color:#ffd740;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color:#b0b0b0}.mat-warn{--mat-full-pseudo-checkbox-selected-icon-color:#f44336;--mat-full-pseudo-checkbox-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-unselected-icon-color:rgba(0, 0, 0, 0.54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color:#b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color:#b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color:#f44336;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color:#b0b0b0}html{--mat-app-background-color:#fafafa;--mat-app-text-color:rgba(0, 0, 0, 0.87)}.mat-elevation-z0,.mat-mdc-elevation-specific.mat-elevation-z0{box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12)}.mat-elevation-z1,.mat-mdc-elevation-specific.mat-elevation-z1{box-shadow:0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12)}.mat-elevation-z2,.mat-mdc-elevation-specific.mat-elevation-z2{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}.mat-elevation-z3,.mat-mdc-elevation-specific.mat-elevation-z3{box-shadow:0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12)}.mat-elevation-z4,.mat-mdc-elevation-specific.mat-elevation-z4{box-shadow:0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)}.mat-elevation-z5,.mat-mdc-elevation-specific.mat-elevation-z5{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12)}.mat-elevation-z6,.mat-mdc-elevation-specific.mat-elevation-z6{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)}.mat-elevation-z7,.mat-mdc-elevation-specific.mat-elevation-z7{box-shadow:0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12)}.mat-elevation-z8,.mat-mdc-elevation-specific.mat-elevation-z8{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12)}.mat-elevation-z9,.mat-mdc-elevation-specific.mat-elevation-z9{box-shadow:0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12)}.mat-elevation-z10,.mat-mdc-elevation-specific.mat-elevation-z10{box-shadow:0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12)}.mat-elevation-z11,.mat-mdc-elevation-specific.mat-elevation-z11{box-shadow:0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12)}.mat-elevation-z12,.mat-mdc-elevation-specific.mat-elevation-z12{box-shadow:0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12)}.mat-elevation-z13,.mat-mdc-elevation-specific.mat-elevation-z13{box-shadow:0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12)}.mat-elevation-z14,.mat-mdc-elevation-specific.mat-elevation-z14{box-shadow:0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12)}.mat-elevation-z15,.mat-mdc-elevation-specific.mat-elevation-z15{box-shadow:0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12)}.mat-elevation-z16,.mat-mdc-elevation-specific.mat-elevation-z16{box-shadow:0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12)}.mat-elevation-z17,.mat-mdc-elevation-specific.mat-elevation-z17{box-shadow:0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12)}.mat-elevation-z18,.mat-mdc-elevation-specific.mat-elevation-z18{box-shadow:0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12)}.mat-elevation-z19,.mat-mdc-elevation-specific.mat-elevation-z19{box-shadow:0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12)}.mat-elevation-z20,.mat-mdc-elevation-specific.mat-elevation-z20{box-shadow:0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12)}.mat-elevation-z21,.mat-mdc-elevation-specific.mat-elevation-z21{box-shadow:0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12)}.mat-elevation-z22,.mat-mdc-elevation-specific.mat-elevation-z22{box-shadow:0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12)}.mat-elevation-z23,.mat-mdc-elevation-specific.mat-elevation-z23{box-shadow:0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12)}.mat-elevation-z24,.mat-mdc-elevation-specific.mat-elevation-z24{box-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12)}.mat-theme-loaded-marker{display:none}html{--mat-option-label-text-font:Roboto, sans-serif;--mat-option-label-text-line-height:24px;--mat-option-label-text-size:16px;--mat-option-label-text-tracking:0.03125em;--mat-option-label-text-weight:400}html{--mat-optgroup-label-text-font:Roboto, sans-serif;--mat-optgroup-label-text-line-height:24px;--mat-optgroup-label-text-size:16px;--mat-optgroup-label-text-tracking:0.03125em;--mat-optgroup-label-text-weight:400}html{--mdc-elevated-card-container-shape:4px;--mdc-outlined-card-container-shape:4px;--mdc-outlined-card-outline-width:1px}html{--mdc-elevated-card-container-color:white;--mdc-elevated-card-container-elevation:0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);--mdc-outlined-card-container-color:white;--mdc-outlined-card-outline-color:rgba(0, 0, 0, 0.12);--mdc-outlined-card-container-elevation:0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);--mat-card-subtitle-text-color:rgba(0, 0, 0, 0.54)}html{--mat-card-title-text-font:Roboto, sans-serif;--mat-card-title-text-line-height:32px;--mat-card-title-text-size:20px;--mat-card-title-text-tracking:0.0125em;--mat-card-title-text-weight:500;--mat-card-subtitle-text-font:Roboto, sans-serif;--mat-card-subtitle-text-line-height:22px;--mat-card-subtitle-text-size:14px;--mat-card-subtitle-text-tracking:0.0071428571em;--mat-card-subtitle-text-weight:500}html{--mdc-linear-progress-active-indicator-height:4px;--mdc-linear-progress-track-height:4px;--mdc-linear-progress-track-shape:0}.mat-mdc-progress-bar{--mdc-linear-progress-active-indicator-color:#673ab7;--mdc-linear-progress-track-color:rgba(103, 58, 183, 0.25)}.mat-mdc-progress-bar.mat-accent{--mdc-linear-progress-active-indicator-color:#ffd740;--mdc-linear-progress-track-color:rgba(255, 215, 64, 0.25)}.mat-mdc-progress-bar.mat-warn{--mdc-linear-progress-active-indicator-color:#f44336;--mdc-linear-progress-track-color:rgba(244, 67, 54, 0.25)}html{--mdc-plain-tooltip-container-shape:4px;--mdc-plain-tooltip-supporting-text-line-height:16px}html{--mdc-plain-tooltip-container-color:#616161;--mdc-plain-tooltip-supporting-text-color:#fff}html{--mdc-plain-tooltip-supporting-text-font:Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size:12px;--mdc-plain-tooltip-supporting-text-weight:400;--mdc-plain-tooltip-supporting-text-tracking:0.0333333333em}html{--mdc-filled-text-field-active-indicator-height:1px;--mdc-filled-text-field-focus-active-indicator-height:2px;--mdc-filled-text-field-container-shape:4px;--mdc-outlined-text-field-outline-width:1px;--mdc-outlined-text-field-focus-outline-width:2px;--mdc-outlined-text-field-container-shape:4px}html{--mdc-filled-text-field-caret-color:#673ab7;--mdc-filled-text-field-focus-active-indicator-color:#673ab7;--mdc-filled-text-field-focus-label-text-color:rgba(103, 58, 183, 0.87);--mdc-filled-text-field-container-color:whitesmoke;--mdc-filled-text-field-disabled-container-color:#fafafa;--mdc-filled-text-field-label-text-color:rgba(0, 0, 0, 0.6);--mdc-filled-text-field-hover-label-text-color:rgba(0, 0, 0, 0.6);--mdc-filled-text-field-disabled-label-text-color:rgba(0, 0, 0, 0.38);--mdc-filled-text-field-input-text-color:rgba(0, 0, 0, 0.87);--mdc-filled-text-field-disabled-input-text-color:rgba(0, 0, 0, 0.38);--mdc-filled-text-field-input-text-placeholder-color:rgba(0, 0, 0, 0.6);--mdc-filled-text-field-error-hover-label-text-color:#f44336;--mdc-filled-text-field-error-focus-label-text-color:#f44336;--mdc-filled-text-field-error-label-text-color:#f44336;--mdc-filled-text-field-error-caret-color:#f44336;--mdc-filled-text-field-active-indicator-color:rgba(0, 0, 0, 0.42);--mdc-filled-text-field-disabled-active-indicator-color:rgba(0, 0, 0, 0.06);--mdc-filled-text-field-hover-active-indicator-color:rgba(0, 0, 0, 0.87);--mdc-filled-text-field-error-active-indicator-color:#f44336;--mdc-filled-text-field-error-focus-active-indicator-color:#f44336;--mdc-filled-text-field-error-hover-active-indicator-color:#f44336;--mdc-outlined-text-field-caret-color:#673ab7;--mdc-outlined-text-field-focus-outline-color:#673ab7;--mdc-outlined-text-field-focus-label-text-color:rgba(103, 58, 183, 0.87);--mdc-outlined-text-field-label-text-color:rgba(0, 0, 0, 0.6);--mdc-outlined-text-field-hover-label-text-color:rgba(0, 0, 0, 0.6);--mdc-outlined-text-field-disabled-label-text-color:rgba(0, 0, 0, 0.38);--mdc-outlined-text-field-input-text-color:rgba(0, 0, 0, 0.87);--mdc-outlined-text-field-disabled-input-text-color:rgba(0, 0, 0, 0.38);--mdc-outlined-text-field-input-text-placeholder-color:rgba(0, 0, 0, 0.6);--mdc-outlined-text-field-error-caret-color:#f44336;--mdc-outlined-text-field-error-focus-label-text-color:#f44336;--mdc-outlined-text-field-error-label-text-color:#f44336;--mdc-outlined-text-field-error-hover-label-text-color:#f44336;--mdc-outlined-text-field-outline-color:rgba(0, 0, 0, 0.38);--mdc-outlined-text-field-disabled-outline-color:rgba(0, 0, 0, 0.06);--mdc-outlined-text-field-hover-outline-color:rgba(0, 0, 0, 0.87);--mdc-outlined-text-field-error-focus-outline-color:#f44336;--mdc-outlined-text-field-error-hover-outline-color:#f44336;--mdc-outlined-text-field-error-outline-color:#f44336;--mat-form-field-focus-select-arrow-color:rgba(103, 58, 183, 0.87);--mat-form-field-disabled-input-text-placeholder-color:rgba(0, 0, 0, 0.38);--mat-form-field-state-layer-color:rgba(0, 0, 0, 0.87);--mat-form-field-error-text-color:#f44336;--mat-form-field-select-option-text-color:inherit;--mat-form-field-select-disabled-option-text-color:GrayText;--mat-form-field-leading-icon-color:unset;--mat-form-field-disabled-leading-icon-color:unset;--mat-form-field-trailing-icon-color:unset;--mat-form-field-disabled-trailing-icon-color:unset;--mat-form-field-error-focus-trailing-icon-color:unset;--mat-form-field-error-hover-trailing-icon-color:unset;--mat-form-field-error-trailing-icon-color:unset;--mat-form-field-enabled-select-arrow-color:rgba(0, 0, 0, 0.54);--mat-form-field-disabled-select-arrow-color:rgba(0, 0, 0, 0.38);--mat-form-field-hover-state-layer-opacity:0.04;--mat-form-field-focus-state-layer-opacity:0.08}.mat-mdc-form-field.mat-accent{--mdc-filled-text-field-caret-color:#ffd740;--mdc-filled-text-field-focus-active-indicator-color:#ffd740;--mdc-filled-text-field-focus-label-text-color:rgba(255, 215, 64, 0.87);--mdc-outlined-text-field-caret-color:#ffd740;--mdc-outlined-text-field-focus-outline-color:#ffd740;--mdc-outlined-text-field-focus-label-text-color:rgba(255, 215, 64, 0.87);--mat-form-field-focus-select-arrow-color:rgba(255, 215, 64, 0.87)}.mat-mdc-form-field.mat-warn{--mdc-filled-text-field-caret-color:#f44336;--mdc-filled-text-field-focus-active-indicator-color:#f44336;--mdc-filled-text-field-focus-label-text-color:rgba(244, 67, 54, 0.87);--mdc-outlined-text-field-caret-color:#f44336;--mdc-outlined-text-field-focus-outline-color:#f44336;--mdc-outlined-text-field-focus-label-text-color:rgba(244, 67, 54, 0.87);--mat-form-field-focus-select-arrow-color:rgba(244, 67, 54, 0.87)}html{--mat-form-field-container-height:56px;--mat-form-field-filled-label-display:block;--mat-form-field-container-vertical-padding:16px;--mat-form-field-filled-with-label-container-padding-top:24px;--mat-form-field-filled-with-label-container-padding-bottom:8px}html{--mdc-filled-text-field-label-text-font:Roboto, sans-serif;--mdc-filled-text-field-label-text-size:16px;--mdc-filled-text-field-label-text-tracking:0.03125em;--mdc-filled-text-field-label-text-weight:400;--mdc-outlined-text-field-label-text-font:Roboto, sans-serif;--mdc-outlined-text-field-label-text-size:16px;--mdc-outlined-text-field-label-text-tracking:0.03125em;--mdc-outlined-text-field-label-text-weight:400;--mat-form-field-container-text-font:Roboto, sans-serif;--mat-form-field-container-text-line-height:24px;--mat-form-field-container-text-size:16px;--mat-form-field-container-text-tracking:0.03125em;--mat-form-field-container-text-weight:400;--mat-form-field-outlined-label-text-populated-size:16px;--mat-form-field-subscript-text-font:Roboto, sans-serif;--mat-form-field-subscript-text-line-height:20px;--mat-form-field-subscript-text-size:12px;--mat-form-field-subscript-text-tracking:0.0333333333em;--mat-form-field-subscript-text-weight:400}html{--mat-select-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12)}html{--mat-select-panel-background-color:white;--mat-select-enabled-trigger-text-color:rgba(0, 0, 0, 0.87);--mat-select-disabled-trigger-text-color:rgba(0, 0, 0, 0.38);--mat-select-placeholder-text-color:rgba(0, 0, 0, 0.6);--mat-select-enabled-arrow-color:rgba(0, 0, 0, 0.54);--mat-select-disabled-arrow-color:rgba(0, 0, 0, 0.38);--mat-select-focused-arrow-color:rgba(103, 58, 183, 0.87);--mat-select-invalid-arrow-color:rgba(244, 67, 54, 0.87)}html .mat-mdc-form-field.mat-accent{--mat-select-panel-background-color:white;--mat-select-enabled-trigger-text-color:rgba(0, 0, 0, 0.87);--mat-select-disabled-trigger-text-color:rgba(0, 0, 0, 0.38);--mat-select-placeholder-text-color:rgba(0, 0, 0, 0.6);--mat-select-enabled-arrow-color:rgba(0, 0, 0, 0.54);--mat-select-disabled-arrow-color:rgba(0, 0, 0, 0.38);--mat-select-focused-arrow-color:rgba(255, 215, 64, 0.87);--mat-select-invalid-arrow-color:rgba(244, 67, 54, 0.87)}html .mat-mdc-form-field.mat-warn{--mat-select-panel-background-color:white;--mat-select-enabled-trigger-text-color:rgba(0, 0, 0, 0.87);--mat-select-disabled-trigger-text-color:rgba(0, 0, 0, 0.38);--mat-select-placeholder-text-color:rgba(0, 0, 0, 0.6);--mat-select-enabled-arrow-color:rgba(0, 0, 0, 0.54);--mat-select-disabled-arrow-color:rgba(0, 0, 0, 0.38);--mat-select-focused-arrow-color:rgba(244, 67, 54, 0.87);--mat-select-invalid-arrow-color:rgba(244, 67, 54, 0.87)}html{--mat-select-arrow-transform:translateY(-8px)}html{--mat-select-trigger-text-font:Roboto, sans-serif;--mat-select-trigger-text-line-height:24px;--mat-select-trigger-text-size:16px;--mat-select-trigger-text-tracking:0.03125em;--mat-select-trigger-text-weight:400}html{--mat-autocomplete-container-shape:4px;--mat-autocomplete-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12)}html{--mat-autocomplete-background-color:white}html{--mdc-dialog-container-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);--mdc-dialog-container-shadow-color:#000;--mdc-dialog-container-shape:4px;--mat-dialog-container-max-width:80vw;--mat-dialog-container-small-max-width:80vw;--mat-dialog-container-min-width:0;--mat-dialog-actions-alignment:start;--mat-dialog-actions-padding:8px;--mat-dialog-content-padding:20px 24px;--mat-dialog-with-actions-content-padding:20px 24px;--mat-dialog-headline-padding:0 24px 9px}html{--mdc-dialog-container-color:white;--mdc-dialog-subhead-color:rgba(0, 0, 0, 0.87);--mdc-dialog-supporting-text-color:rgba(0, 0, 0, 0.6)}html{--mdc-dialog-subhead-font:Roboto, sans-serif;--mdc-dialog-subhead-line-height:32px;--mdc-dialog-subhead-size:20px;--mdc-dialog-subhead-weight:500;--mdc-dialog-subhead-tracking:0.0125em;--mdc-dialog-supporting-text-font:Roboto, sans-serif;--mdc-dialog-supporting-text-line-height:24px;--mdc-dialog-supporting-text-size:16px;--mdc-dialog-supporting-text-weight:400;--mdc-dialog-supporting-text-tracking:0.03125em}.mat-mdc-standard-chip{--mdc-chip-container-shape-family:rounded;--mdc-chip-container-shape-radius:16px 16px 16px 16px;--mdc-chip-with-avatar-avatar-shape-family:rounded;--mdc-chip-with-avatar-avatar-shape-radius:14px 14px 14px 14px;--mdc-chip-with-avatar-avatar-size:28px;--mdc-chip-with-icon-icon-size:18px;--mdc-chip-outline-width:0;--mdc-chip-outline-color:transparent;--mdc-chip-disabled-outline-color:transparent;--mdc-chip-focus-outline-color:transparent;--mdc-chip-hover-state-layer-opacity:0.04;--mdc-chip-with-avatar-disabled-avatar-opacity:1;--mdc-chip-flat-selected-outline-width:0;--mdc-chip-selected-hover-state-layer-opacity:0.04;--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity:1;--mdc-chip-with-icon-disabled-icon-opacity:1;--mat-chip-disabled-container-opacity:0.4;--mat-chip-trailing-action-opacity:0.54;--mat-chip-trailing-action-focus-opacity:1;--mat-chip-trailing-action-state-layer-color:transparent;--mat-chip-selected-trailing-action-state-layer-color:transparent;--mat-chip-trailing-action-hover-state-layer-opacity:0;--mat-chip-trailing-action-focus-state-layer-opacity:0}.mat-mdc-standard-chip{--mdc-chip-disabled-label-text-color:#212121;--mdc-chip-elevated-container-color:#e0e0e0;--mdc-chip-elevated-selected-container-color:#e0e0e0;--mdc-chip-elevated-disabled-container-color:#e0e0e0;--mdc-chip-flat-disabled-selected-container-color:#e0e0e0;--mdc-chip-focus-state-layer-color:black;--mdc-chip-hover-state-layer-color:black;--mdc-chip-selected-hover-state-layer-color:black;--mdc-chip-focus-state-layer-opacity:0.12;--mdc-chip-selected-focus-state-layer-color:black;--mdc-chip-selected-focus-state-layer-opacity:0.12;--mdc-chip-label-text-color:#212121;--mdc-chip-selected-label-text-color:#212121;--mdc-chip-with-icon-icon-color:#212121;--mdc-chip-with-icon-disabled-icon-color:#212121;--mdc-chip-with-icon-selected-icon-color:#212121;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color:#212121;--mdc-chip-with-trailing-icon-trailing-icon-color:#212121;--mat-chip-selected-disabled-trailing-icon-color:#212121;--mat-chip-selected-trailing-icon-color:#212121}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-primary,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-primary{--mdc-chip-disabled-label-text-color:white;--mdc-chip-elevated-container-color:#673ab7;--mdc-chip-elevated-selected-container-color:#673ab7;--mdc-chip-elevated-disabled-container-color:#673ab7;--mdc-chip-flat-disabled-selected-container-color:#673ab7;--mdc-chip-focus-state-layer-color:black;--mdc-chip-hover-state-layer-color:black;--mdc-chip-selected-hover-state-layer-color:black;--mdc-chip-focus-state-layer-opacity:0.12;--mdc-chip-selected-focus-state-layer-color:black;--mdc-chip-selected-focus-state-layer-opacity:0.12;--mdc-chip-label-text-color:white;--mdc-chip-selected-label-text-color:white;--mdc-chip-with-icon-icon-color:white;--mdc-chip-with-icon-disabled-icon-color:white;--mdc-chip-with-icon-selected-icon-color:white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color:white;--mdc-chip-with-trailing-icon-trailing-icon-color:white;--mat-chip-selected-disabled-trailing-icon-color:white;--mat-chip-selected-trailing-icon-color:white}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-accent,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-accent{--mdc-chip-disabled-label-text-color:rgba(0, 0, 0, 0.87);--mdc-chip-elevated-container-color:#ffd740;--mdc-chip-elevated-selected-container-color:#ffd740;--mdc-chip-elevated-disabled-container-color:#ffd740;--mdc-chip-flat-disabled-selected-container-color:#ffd740;--mdc-chip-focus-state-layer-color:black;--mdc-chip-hover-state-layer-color:black;--mdc-chip-selected-hover-state-layer-color:black;--mdc-chip-focus-state-layer-opacity:0.12;--mdc-chip-selected-focus-state-layer-color:black;--mdc-chip-selected-focus-state-layer-opacity:0.12;--mdc-chip-label-text-color:rgba(0, 0, 0, 0.87);--mdc-chip-selected-label-text-color:rgba(0, 0, 0, 0.87);--mdc-chip-with-icon-icon-color:rgba(0, 0, 0, 0.87);--mdc-chip-with-icon-disabled-icon-color:rgba(0, 0, 0, 0.87);--mdc-chip-with-icon-selected-icon-color:rgba(0, 0, 0, 0.87);--mdc-chip-with-trailing-icon-disabled-trailing-icon-color:rgba(0, 0, 0, 0.87);--mdc-chip-with-trailing-icon-trailing-icon-color:rgba(0, 0, 0, 0.87);--mat-chip-selected-disabled-trailing-icon-color:rgba(0, 0, 0, 0.87);--mat-chip-selected-trailing-icon-color:rgba(0, 0, 0, 0.87)}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-warn,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-warn{--mdc-chip-disabled-label-text-color:white;--mdc-chip-elevated-container-color:#f44336;--mdc-chip-elevated-selected-container-color:#f44336;--mdc-chip-elevated-disabled-container-color:#f44336;--mdc-chip-flat-disabled-selected-container-color:#f44336;--mdc-chip-focus-state-layer-color:black;--mdc-chip-hover-state-layer-color:black;--mdc-chip-selected-hover-state-layer-color:black;--mdc-chip-focus-state-layer-opacity:0.12;--mdc-chip-selected-focus-state-layer-color:black;--mdc-chip-selected-focus-state-layer-opacity:0.12;--mdc-chip-label-text-color:white;--mdc-chip-selected-label-text-color:white;--mdc-chip-with-icon-icon-color:white;--mdc-chip-with-icon-disabled-icon-color:white;--mdc-chip-with-icon-selected-icon-color:white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color:white;--mdc-chip-with-trailing-icon-trailing-icon-color:white;--mat-chip-selected-disabled-trailing-icon-color:white;--mat-chip-selected-trailing-icon-color:white}.mat-mdc-chip.mat-mdc-standard-chip{--mdc-chip-container-height:32px}.mat-mdc-standard-chip{--mdc-chip-label-text-font:Roboto, sans-serif;--mdc-chip-label-text-line-height:20px;--mdc-chip-label-text-size:14px;--mdc-chip-label-text-tracking:0.0178571429em;--mdc-chip-label-text-weight:400}html{--mdc-switch-disabled-selected-icon-opacity:0.38;--mdc-switch-disabled-track-opacity:0.12;--mdc-switch-disabled-unselected-icon-opacity:0.38;--mdc-switch-handle-height:20px;--mdc-switch-handle-shape:10px;--mdc-switch-handle-width:20px;--mdc-switch-selected-icon-size:18px;--mdc-switch-track-height:14px;--mdc-switch-track-shape:7px;--mdc-switch-track-width:36px;--mdc-switch-unselected-icon-size:18px;--mdc-switch-selected-focus-state-layer-opacity:0.12;--mdc-switch-selected-hover-state-layer-opacity:0.04;--mdc-switch-selected-pressed-state-layer-opacity:0.1;--mdc-switch-unselected-focus-state-layer-opacity:0.12;--mdc-switch-unselected-hover-state-layer-opacity:0.04;--mdc-switch-unselected-pressed-state-layer-opacity:0.1;--mat-switch-disabled-selected-handle-opacity:0.38;--mat-switch-disabled-unselected-handle-opacity:0.38;--mat-switch-unselected-handle-size:20px;--mat-switch-selected-handle-size:20px;--mat-switch-pressed-handle-size:20px;--mat-switch-with-icon-handle-size:20px;--mat-switch-selected-handle-horizontal-margin:0;--mat-switch-selected-with-icon-handle-horizontal-margin:0;--mat-switch-selected-pressed-handle-horizontal-margin:0;--mat-switch-unselected-handle-horizontal-margin:0;--mat-switch-unselected-with-icon-handle-horizontal-margin:0;--mat-switch-unselected-pressed-handle-horizontal-margin:0;--mat-switch-visible-track-opacity:1;--mat-switch-hidden-track-opacity:1;--mat-switch-visible-track-transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);--mat-switch-hidden-track-transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);--mat-switch-track-outline-width:1px;--mat-switch-track-outline-color:transparent;--mat-switch-selected-track-outline-width:1px;--mat-switch-disabled-unselected-track-outline-width:1px;--mat-switch-disabled-unselected-track-outline-color:transparent}html{--mdc-switch-selected-focus-state-layer-color:#5e35b1;--mdc-switch-selected-handle-color:#5e35b1;--mdc-switch-selected-hover-state-layer-color:#5e35b1;--mdc-switch-selected-pressed-state-layer-color:#5e35b1;--mdc-switch-selected-focus-handle-color:#311b92;--mdc-switch-selected-hover-handle-color:#311b92;--mdc-switch-selected-pressed-handle-color:#311b92;--mdc-switch-selected-focus-track-color:#9575cd;--mdc-switch-selected-hover-track-color:#9575cd;--mdc-switch-selected-pressed-track-color:#9575cd;--mdc-switch-selected-track-color:#9575cd;--mdc-switch-disabled-selected-handle-color:#424242;--mdc-switch-disabled-selected-icon-color:#fff;--mdc-switch-disabled-selected-track-color:#424242;--mdc-switch-disabled-unselected-handle-color:#424242;--mdc-switch-disabled-unselected-icon-color:#fff;--mdc-switch-disabled-unselected-track-color:#424242;--mdc-switch-handle-surface-color:var(--mdc-theme-surface, #fff);--mdc-switch-handle-elevation-shadow:0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);--mdc-switch-handle-shadow-color:black;--mdc-switch-disabled-handle-elevation-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);--mdc-switch-selected-icon-color:#fff;--mdc-switch-unselected-focus-handle-color:#212121;--mdc-switch-unselected-focus-state-layer-color:#424242;--mdc-switch-unselected-focus-track-color:#e0e0e0;--mdc-switch-unselected-handle-color:#616161;--mdc-switch-unselected-hover-handle-color:#212121;--mdc-switch-unselected-hover-state-layer-color:#424242;--mdc-switch-unselected-hover-track-color:#e0e0e0;--mdc-switch-unselected-icon-color:#fff;--mdc-switch-unselected-pressed-handle-color:#212121;--mdc-switch-unselected-pressed-state-layer-color:#424242;--mdc-switch-unselected-pressed-track-color:#e0e0e0;--mdc-switch-unselected-track-color:#e0e0e0;--mdc-switch-disabled-label-text-color: rgba(0, 0, 0, 0.38)}html .mat-mdc-slide-toggle{--mdc-form-field-label-text-color:rgba(0, 0, 0, 0.87)}html .mat-mdc-slide-toggle.mat-accent{--mdc-switch-selected-focus-state-layer-color:#ffb300;--mdc-switch-selected-handle-color:#ffb300;--mdc-switch-selected-hover-state-layer-color:#ffb300;--mdc-switch-selected-pressed-state-layer-color:#ffb300;--mdc-switch-selected-focus-handle-color:#ff6f00;--mdc-switch-selected-hover-handle-color:#ff6f00;--mdc-switch-selected-pressed-handle-color:#ff6f00;--mdc-switch-selected-focus-track-color:#ffd54f;--mdc-switch-selected-hover-track-color:#ffd54f;--mdc-switch-selected-pressed-track-color:#ffd54f;--mdc-switch-selected-track-color:#ffd54f}html .mat-mdc-slide-toggle.mat-warn{--mdc-switch-selected-focus-state-layer-color:#e53935;--mdc-switch-selected-handle-color:#e53935;--mdc-switch-selected-hover-state-layer-color:#e53935;--mdc-switch-selected-pressed-state-layer-color:#e53935;--mdc-switch-selected-focus-handle-color:#b71c1c;--mdc-switch-selected-hover-handle-color:#b71c1c;--mdc-switch-selected-pressed-handle-color:#b71c1c;--mdc-switch-selected-focus-track-color:#e57373;--mdc-switch-selected-hover-track-color:#e57373;--mdc-switch-selected-pressed-track-color:#e57373;--mdc-switch-selected-track-color:#e57373}html{--mdc-switch-state-layer-size:40px}html .mat-mdc-slide-toggle{--mdc-form-field-label-text-font:Roboto, sans-serif;--mdc-form-field-label-text-line-height:20px;--mdc-form-field-label-text-size:14px;--mdc-form-field-label-text-tracking:0.0178571429em;--mdc-form-field-label-text-weight:400}html{--mdc-radio-disabled-selected-icon-opacity:0.38;--mdc-radio-disabled-unselected-icon-opacity:0.38;--mdc-radio-state-layer-size:40px}.mat-mdc-radio-button{--mdc-form-field-label-text-color:rgba(0, 0, 0, 0.87)}.mat-mdc-radio-button.mat-primary{--mdc-radio-disabled-selected-icon-color:black;--mdc-radio-disabled-unselected-icon-color:black;--mdc-radio-unselected-hover-icon-color:#212121;--mdc-radio-unselected-icon-color:rgba(0, 0, 0, 0.54);--mdc-radio-unselected-pressed-icon-color:rgba(0, 0, 0, 0.54);--mdc-radio-selected-focus-icon-color:#673ab7;--mdc-radio-selected-hover-icon-color:#673ab7;--mdc-radio-selected-icon-color:#673ab7;--mdc-radio-selected-pressed-icon-color:#673ab7;--mat-radio-ripple-color:black;--mat-radio-checked-ripple-color:#673ab7;--mat-radio-disabled-label-color:rgba(0, 0, 0, 0.38)}.mat-mdc-radio-button.mat-accent{--mdc-radio-disabled-selected-icon-color:black;--mdc-radio-disabled-unselected-icon-color:black;--mdc-radio-unselected-hover-icon-color:#212121;--mdc-radio-unselected-icon-color:rgba(0, 0, 0, 0.54);--mdc-radio-unselected-pressed-icon-color:rgba(0, 0, 0, 0.54);--mdc-radio-selected-focus-icon-color:#ffd740;--mdc-radio-selected-hover-icon-color:#ffd740;--mdc-radio-selected-icon-color:#ffd740;--mdc-radio-selected-pressed-icon-color:#ffd740;--mat-radio-ripple-color:black;--mat-radio-checked-ripple-color:#ffd740;--mat-radio-disabled-label-color:rgba(0, 0, 0, 0.38)}.mat-mdc-radio-button.mat-warn{--mdc-radio-disabled-selected-icon-color:black;--mdc-radio-disabled-unselected-icon-color:black;--mdc-radio-unselected-hover-icon-color:#212121;--mdc-radio-unselected-icon-color:rgba(0, 0, 0, 0.54);--mdc-radio-unselected-pressed-icon-color:rgba(0, 0, 0, 0.54);--mdc-radio-selected-focus-icon-color:#f44336;--mdc-radio-selected-hover-icon-color:#f44336;--mdc-radio-selected-icon-color:#f44336;--mdc-radio-selected-pressed-icon-color:#f44336;--mat-radio-ripple-color:black;--mat-radio-checked-ripple-color:#f44336;--mat-radio-disabled-label-color:rgba(0, 0, 0, 0.38)}html{--mdc-radio-state-layer-size:40px;--mat-radio-touch-target-display:block}.mat-mdc-radio-button{--mdc-form-field-label-text-font:Roboto, sans-serif;--mdc-form-field-label-text-line-height:20px;--mdc-form-field-label-text-size:14px;--mdc-form-field-label-text-tracking:0.0178571429em;--mdc-form-field-label-text-weight:400}html{--mat-slider-value-indicator-width:auto;--mat-slider-value-indicator-height:32px;--mat-slider-value-indicator-caret-display:block;--mat-slider-value-indicator-border-radius:4px;--mat-slider-value-indicator-padding:0 12px;--mat-slider-value-indicator-text-transform:none;--mat-slider-value-indicator-container-transform:translateX(-50%);--mdc-slider-active-track-height:6px;--mdc-slider-active-track-shape:9999px;--mdc-slider-handle-height:20px;--mdc-slider-handle-shape:50%;--mdc-slider-handle-width:20px;--mdc-slider-inactive-track-height:4px;--mdc-slider-inactive-track-shape:9999px;--mdc-slider-with-overlap-handle-outline-width:1px;--mdc-slider-with-tick-marks-active-container-opacity:0.6;--mdc-slider-with-tick-marks-container-shape:50%;--mdc-slider-with-tick-marks-container-size:2px;--mdc-slider-with-tick-marks-inactive-container-opacity:0.6}html{--mdc-slider-handle-color:#673ab7;--mdc-slider-focus-handle-color:#673ab7;--mdc-slider-hover-handle-color:#673ab7;--mdc-slider-active-track-color:#673ab7;--mdc-slider-inactive-track-color:#673ab7;--mdc-slider-with-tick-marks-inactive-container-color:#673ab7;--mdc-slider-with-tick-marks-active-container-color:white;--mdc-slider-disabled-active-track-color:#000;--mdc-slider-disabled-handle-color:#000;--mdc-slider-disabled-inactive-track-color:#000;--mdc-slider-label-container-color:#000;--mdc-slider-label-label-text-color:#fff;--mdc-slider-with-overlap-handle-outline-color:#fff;--mdc-slider-with-tick-marks-disabled-container-color:#000;--mdc-slider-handle-elevation:0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);--mat-slider-ripple-color:#673ab7;--mat-slider-hover-state-layer-color:rgba(103, 58, 183, 0.05);--mat-slider-focus-state-layer-color:rgba(103, 58, 183, 0.2);--mat-slider-value-indicator-opacity:0.6}html .mat-accent{--mat-slider-ripple-color:#ffd740;--mat-slider-hover-state-layer-color:rgba(255, 215, 64, 0.05);--mat-slider-focus-state-layer-color:rgba(255, 215, 64, 0.2);--mdc-slider-handle-color:#ffd740;--mdc-slider-focus-handle-color:#ffd740;--mdc-slider-hover-handle-color:#ffd740;--mdc-slider-active-track-color:#ffd740;--mdc-slider-inactive-track-color:#ffd740;--mdc-slider-with-tick-marks-inactive-container-color:#ffd740;--mdc-slider-with-tick-marks-active-container-color:rgba(0, 0, 0, 0.87)}html .mat-warn{--mat-slider-ripple-color:#f44336;--mat-slider-hover-state-layer-color:rgba(244, 67, 54, 0.05);--mat-slider-focus-state-layer-color:rgba(244, 67, 54, 0.2);--mdc-slider-handle-color:#f44336;--mdc-slider-focus-handle-color:#f44336;--mdc-slider-hover-handle-color:#f44336;--mdc-slider-active-track-color:#f44336;--mdc-slider-inactive-track-color:#f44336;--mdc-slider-with-tick-marks-inactive-container-color:#f44336;--mdc-slider-with-tick-marks-active-container-color:white}html{--mdc-slider-label-label-text-font:Roboto, sans-serif;--mdc-slider-label-label-text-size:14px;--mdc-slider-label-label-text-line-height:22px;--mdc-slider-label-label-text-tracking:0.0071428571em;--mdc-slider-label-label-text-weight:500}html{--mat-menu-container-shape:4px;--mat-menu-divider-bottom-spacing:0;--mat-menu-divider-top-spacing:0;--mat-menu-item-spacing:16px;--mat-menu-item-icon-size:24px;--mat-menu-item-leading-spacing:16px;--mat-menu-item-trailing-spacing:16px;--mat-menu-item-with-icon-leading-spacing:16px;--mat-menu-item-with-icon-trailing-spacing:16px}html{--mat-menu-item-label-text-color:rgba(0, 0, 0, 0.87);--mat-menu-item-icon-color:rgba(0, 0, 0, 0.87);--mat-menu-item-hover-state-layer-color:rgba(0, 0, 0, 0.04);--mat-menu-item-focus-state-layer-color:rgba(0, 0, 0, 0.04);--mat-menu-container-color:white;--mat-menu-divider-color:rgba(0, 0, 0, 0.12)}html{--mat-menu-item-label-text-font:Roboto, sans-serif;--mat-menu-item-label-text-size:16px;--mat-menu-item-label-text-tracking:0.03125em;--mat-menu-item-label-text-line-height:24px;--mat-menu-item-label-text-weight:400}html{--mdc-list-list-item-container-shape:0;--mdc-list-list-item-leading-avatar-shape:50%;--mdc-list-list-item-container-color:transparent;--mdc-list-list-item-selected-container-color:transparent;--mdc-list-list-item-leading-avatar-color:transparent;--mdc-list-list-item-leading-icon-size:24px;--mdc-list-list-item-leading-avatar-size:40px;--mdc-list-list-item-trailing-icon-size:24px;--mdc-list-list-item-disabled-state-layer-color:transparent;--mdc-list-list-item-disabled-state-layer-opacity:0;--mdc-list-list-item-disabled-label-text-opacity:0.38;--mdc-list-list-item-disabled-leading-icon-opacity:0.38;--mdc-list-list-item-disabled-trailing-icon-opacity:0.38;--mat-list-active-indicator-color:transparent;--mat-list-active-indicator-shape:4px}html{--mdc-list-list-item-label-text-color:rgba(0, 0, 0, 0.87);--mdc-list-list-item-supporting-text-color:rgba(0, 0, 0, 0.54);--mdc-list-list-item-leading-icon-color:rgba(0, 0, 0, 0.38);--mdc-list-list-item-trailing-supporting-text-color:rgba(0, 0, 0, 0.38);--mdc-list-list-item-trailing-icon-color:rgba(0, 0, 0, 0.38);--mdc-list-list-item-selected-trailing-icon-color:rgba(0, 0, 0, 0.38);--mdc-list-list-item-disabled-label-text-color:black;--mdc-list-list-item-disabled-leading-icon-color:black;--mdc-list-list-item-disabled-trailing-icon-color:black;--mdc-list-list-item-hover-label-text-color:rgba(0, 0, 0, 0.87);--mdc-list-list-item-hover-leading-icon-color:rgba(0, 0, 0, 0.38);--mdc-list-list-item-hover-trailing-icon-color:rgba(0, 0, 0, 0.38);--mdc-list-list-item-focus-label-text-color:rgba(0, 0, 0, 0.87);--mdc-list-list-item-hover-state-layer-color:black;--mdc-list-list-item-hover-state-layer-opacity:0.04;--mdc-list-list-item-focus-state-layer-color:black;--mdc-list-list-item-focus-state-layer-opacity:0.12}.mdc-list-item__start,.mdc-list-item__end{--mdc-radio-disabled-selected-icon-color:black;--mdc-radio-disabled-unselected-icon-color:black;--mdc-radio-unselected-hover-icon-color:#212121;--mdc-radio-unselected-icon-color:rgba(0, 0, 0, 0.54);--mdc-radio-unselected-pressed-icon-color:rgba(0, 0, 0, 0.54);--mdc-radio-selected-focus-icon-color:#673ab7;--mdc-radio-selected-hover-icon-color:#673ab7;--mdc-radio-selected-icon-color:#673ab7;--mdc-radio-selected-pressed-icon-color:#673ab7}.mat-accent .mdc-list-item__start,.mat-accent .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color:black;--mdc-radio-disabled-unselected-icon-color:black;--mdc-radio-unselected-hover-icon-color:#212121;--mdc-radio-unselected-icon-color:rgba(0, 0, 0, 0.54);--mdc-radio-unselected-pressed-icon-color:rgba(0, 0, 0, 0.54);--mdc-radio-selected-focus-icon-color:#ffd740;--mdc-radio-selected-hover-icon-color:#ffd740;--mdc-radio-selected-icon-color:#ffd740;--mdc-radio-selected-pressed-icon-color:#ffd740}.mat-warn .mdc-list-item__start,.mat-warn .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color:black;--mdc-radio-disabled-unselected-icon-color:black;--mdc-radio-unselected-hover-icon-color:#212121;--mdc-radio-unselected-icon-color:rgba(0, 0, 0, 0.54);--mdc-radio-unselected-pressed-icon-color:rgba(0, 0, 0, 0.54);--mdc-radio-selected-focus-icon-color:#f44336;--mdc-radio-selected-hover-icon-color:#f44336;--mdc-radio-selected-icon-color:#f44336;--mdc-radio-selected-pressed-icon-color:#f44336}.mat-mdc-list-option{--mdc-checkbox-disabled-selected-icon-color:rgba(0, 0, 0, 0.38);--mdc-checkbox-disabled-unselected-icon-color:rgba(0, 0, 0, 0.38);--mdc-checkbox-selected-checkmark-color:white;--mdc-checkbox-selected-focus-icon-color:#673ab7;--mdc-checkbox-selected-hover-icon-color:#673ab7;--mdc-checkbox-selected-icon-color:#673ab7;--mdc-checkbox-selected-pressed-icon-color:#673ab7;--mdc-checkbox-unselected-focus-icon-color:#212121;--mdc-checkbox-unselected-hover-icon-color:#212121;--mdc-checkbox-unselected-icon-color:rgba(0, 0, 0, 0.54);--mdc-checkbox-unselected-pressed-icon-color:rgba(0, 0, 0, 0.54);--mdc-checkbox-selected-focus-state-layer-color:#673ab7;--mdc-checkbox-selected-hover-state-layer-color:#673ab7;--mdc-checkbox-selected-pressed-state-layer-color:#673ab7;--mdc-checkbox-unselected-focus-state-layer-color:black;--mdc-checkbox-unselected-hover-state-layer-color:black;--mdc-checkbox-unselected-pressed-state-layer-color:black}.mat-mdc-list-option.mat-accent{--mdc-checkbox-disabled-selected-icon-color:rgba(0, 0, 0, 0.38);--mdc-checkbox-disabled-unselected-icon-color:rgba(0, 0, 0, 0.38);--mdc-checkbox-selected-checkmark-color:black;--mdc-checkbox-selected-focus-icon-color:#ffd740;--mdc-checkbox-selected-hover-icon-color:#ffd740;--mdc-checkbox-selected-icon-color:#ffd740;--mdc-checkbox-selected-pressed-icon-color:#ffd740;--mdc-checkbox-unselected-focus-icon-color:#212121;--mdc-checkbox-unselected-hover-icon-color:#212121;--mdc-checkbox-unselected-icon-color:rgba(0, 0, 0, 0.54);--mdc-checkbox-unselected-pressed-icon-color:rgba(0, 0, 0, 0.54);--mdc-checkbox-selected-focus-state-layer-color:#ffd740;--mdc-checkbox-selected-hover-state-layer-color:#ffd740;--mdc-checkbox-selected-pressed-state-layer-color:#ffd740;--mdc-checkbox-unselected-focus-state-layer-color:black;--mdc-checkbox-unselected-hover-state-layer-color:black;--mdc-checkbox-unselected-pressed-state-layer-color:black}.mat-mdc-list-option.mat-warn{--mdc-checkbox-disabled-selected-icon-color:rgba(0, 0, 0, 0.38);--mdc-checkbox-disabled-unselected-icon-color:rgba(0, 0, 0, 0.38);--mdc-checkbox-selected-checkmark-color:white;--mdc-checkbox-selected-focus-icon-color:#f44336;--mdc-checkbox-selected-hover-icon-color:#f44336;--mdc-checkbox-selected-icon-color:#f44336;--mdc-checkbox-selected-pressed-icon-color:#f44336;--mdc-checkbox-unselected-focus-icon-color:#212121;--mdc-checkbox-unselected-hover-icon-color:#212121;--mdc-checkbox-unselected-icon-color:rgba(0, 0, 0, 0.54);--mdc-checkbox-unselected-pressed-icon-color:rgba(0, 0, 0, 0.54);--mdc-checkbox-selected-focus-state-layer-color:#f44336;--mdc-checkbox-selected-hover-state-layer-color:#f44336;--mdc-checkbox-selected-pressed-state-layer-color:#f44336;--mdc-checkbox-unselected-focus-state-layer-color:black;--mdc-checkbox-unselected-hover-state-layer-color:black;--mdc-checkbox-unselected-pressed-state-layer-color:black}.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--selected .mdc-list-item__primary-text,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated .mdc-list-item__primary-text{color:#673ab7}.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--selected.mdc-list-item--with-leading-icon .mdc-list-item__start,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated.mdc-list-item--with-leading-icon .mdc-list-item__start{color:#673ab7}.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__start,.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__content,.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__end{opacity:1}html{--mdc-list-list-item-one-line-container-height:48px;--mdc-list-list-item-two-line-container-height:64px;--mdc-list-list-item-three-line-container-height:88px;--mat-list-list-item-leading-icon-start-space:16px;--mat-list-list-item-leading-icon-end-space:32px}.mdc-list-item__start,.mdc-list-item__end{--mdc-radio-state-layer-size:40px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line,.mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line,.mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line{height:56px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines,.mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines,.mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines{height:72px}html{--mdc-list-list-item-label-text-font:Roboto, sans-serif;--mdc-list-list-item-label-text-line-height:24px;--mdc-list-list-item-label-text-size:16px;--mdc-list-list-item-label-text-tracking:0.03125em;--mdc-list-list-item-label-text-weight:400;--mdc-list-list-item-supporting-text-font:Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height:20px;--mdc-list-list-item-supporting-text-size:14px;--mdc-list-list-item-supporting-text-tracking:0.0178571429em;--mdc-list-list-item-supporting-text-weight:400;--mdc-list-list-item-trailing-supporting-text-font:Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height:20px;--mdc-list-list-item-trailing-supporting-text-size:12px;--mdc-list-list-item-trailing-supporting-text-tracking:0.0333333333em;--mdc-list-list-item-trailing-supporting-text-weight:400}.mdc-list-group__subheader{font:400 16px/28px Roboto, sans-serif;letter-spacing:.009375em}html{--mat-paginator-container-text-color:rgba(0, 0, 0, 0.87);--mat-paginator-container-background-color:white;--mat-paginator-enabled-icon-color:rgba(0, 0, 0, 0.54);--mat-paginator-disabled-icon-color:rgba(0, 0, 0, 0.12)}html{--mat-paginator-container-size:56px;--mat-paginator-form-field-container-height:40px;--mat-paginator-form-field-container-vertical-padding:8px}html{--mat-paginator-container-text-font:Roboto, sans-serif;--mat-paginator-container-text-line-height:20px;--mat-paginator-container-text-size:12px;--mat-paginator-container-text-tracking:0.0333333333em;--mat-paginator-container-text-weight:400;--mat-paginator-select-trigger-text-size:12px}html{--mdc-tab-indicator-active-indicator-height:2px;--mdc-tab-indicator-active-indicator-shape:0;--mdc-secondary-navigation-tab-container-height:48px;--mat-tab-header-divider-color:transparent;--mat-tab-header-divider-height:0}.mat-mdc-tab-group,.mat-mdc-tab-nav-bar{--mdc-tab-indicator-active-indicator-color:#673ab7;--mat-tab-header-disabled-ripple-color:rgba(0, 0, 0, 0.38);--mat-tab-header-pagination-icon-color:black;--mat-tab-header-inactive-label-text-color:rgba(0, 0, 0, 0.6);--mat-tab-header-active-label-text-color:#673ab7;--mat-tab-header-active-ripple-color:#673ab7;--mat-tab-header-inactive-ripple-color:#673ab7;--mat-tab-header-inactive-focus-label-text-color:rgba(0, 0, 0, 0.6);--mat-tab-header-inactive-hover-label-text-color:rgba(0, 0, 0, 0.6);--mat-tab-header-active-focus-label-text-color:#673ab7;--mat-tab-header-active-hover-label-text-color:#673ab7;--mat-tab-header-active-focus-indicator-color:#673ab7;--mat-tab-header-active-hover-indicator-color:#673ab7}.mat-mdc-tab-group.mat-accent,.mat-mdc-tab-nav-bar.mat-accent{--mdc-tab-indicator-active-indicator-color:#ffd740;--mat-tab-header-disabled-ripple-color:rgba(0, 0, 0, 0.38);--mat-tab-header-pagination-icon-color:black;--mat-tab-header-inactive-label-text-color:rgba(0, 0, 0, 0.6);--mat-tab-header-active-label-text-color:#ffd740;--mat-tab-header-active-ripple-color:#ffd740;--mat-tab-header-inactive-ripple-color:#ffd740;--mat-tab-header-inactive-focus-label-text-color:rgba(0, 0, 0, 0.6);--mat-tab-header-inactive-hover-label-text-color:rgba(0, 0, 0, 0.6);--mat-tab-header-active-focus-label-text-color:#ffd740;--mat-tab-header-active-hover-label-text-color:#ffd740;--mat-tab-header-active-focus-indicator-color:#ffd740;--mat-tab-header-active-hover-indicator-color:#ffd740}.mat-mdc-tab-group.mat-warn,.mat-mdc-tab-nav-bar.mat-warn{--mdc-tab-indicator-active-indicator-color:#f44336;--mat-tab-header-disabled-ripple-color:rgba(0, 0, 0, 0.38);--mat-tab-header-pagination-icon-color:black;--mat-tab-header-inactive-label-text-color:rgba(0, 0, 0, 0.6);--mat-tab-header-active-label-text-color:#f44336;--mat-tab-header-active-ripple-color:#f44336;--mat-tab-header-inactive-ripple-color:#f44336;--mat-tab-header-inactive-focus-label-text-color:rgba(0, 0, 0, 0.6);--mat-tab-header-inactive-hover-label-text-color:rgba(0, 0, 0, 0.6);--mat-tab-header-active-focus-label-text-color:#f44336;--mat-tab-header-active-hover-label-text-color:#f44336;--mat-tab-header-active-focus-indicator-color:#f44336;--mat-tab-header-active-hover-indicator-color:#f44336}.mat-mdc-tab-group.mat-background-primary,.mat-mdc-tab-nav-bar.mat-background-primary{--mat-tab-header-with-background-background-color:#673ab7;--mat-tab-header-with-background-foreground-color:white}.mat-mdc-tab-group.mat-background-accent,.mat-mdc-tab-nav-bar.mat-background-accent{--mat-tab-header-with-background-background-color:#ffd740;--mat-tab-header-with-background-foreground-color:rgba(0, 0, 0, 0.87)}.mat-mdc-tab-group.mat-background-warn,.mat-mdc-tab-nav-bar.mat-background-warn{--mat-tab-header-with-background-background-color:#f44336;--mat-tab-header-with-background-foreground-color:white}.mat-mdc-tab-header{--mdc-secondary-navigation-tab-container-height:48px}.mat-mdc-tab-header{--mat-tab-header-label-text-font:Roboto, sans-serif;--mat-tab-header-label-text-size:14px;--mat-tab-header-label-text-tracking:0.0892857143em;--mat-tab-header-label-text-line-height:36px;--mat-tab-header-label-text-weight:500}html{--mdc-checkbox-disabled-selected-checkmark-color:#fff;--mdc-checkbox-selected-focus-state-layer-opacity:0.16;--mdc-checkbox-selected-hover-state-layer-opacity:0.04;--mdc-checkbox-selected-pressed-state-layer-opacity:0.16;--mdc-checkbox-unselected-focus-state-layer-opacity:0.16;--mdc-checkbox-unselected-hover-state-layer-opacity:0.04;--mdc-checkbox-unselected-pressed-state-layer-opacity:0.16}html{--mdc-checkbox-disabled-selected-icon-color:rgba(0, 0, 0, 0.38);--mdc-checkbox-disabled-unselected-icon-color:rgba(0, 0, 0, 0.38);--mdc-checkbox-selected-checkmark-color:black;--mdc-checkbox-selected-focus-icon-color:#ffd740;--mdc-checkbox-selected-hover-icon-color:#ffd740;--mdc-checkbox-selected-icon-color:#ffd740;--mdc-checkbox-selected-pressed-icon-color:#ffd740;--mdc-checkbox-unselected-focus-icon-color:#212121;--mdc-checkbox-unselected-hover-icon-color:#212121;--mdc-checkbox-unselected-icon-color:rgba(0, 0, 0, 0.54);--mdc-checkbox-unselected-pressed-icon-color:rgba(0, 0, 0, 0.54);--mdc-checkbox-selected-focus-state-layer-color:#ffd740;--mdc-checkbox-selected-hover-state-layer-color:#ffd740;--mdc-checkbox-selected-pressed-state-layer-color:#ffd740;--mdc-checkbox-unselected-focus-state-layer-color:black;--mdc-checkbox-unselected-hover-state-layer-color:black;--mdc-checkbox-unselected-pressed-state-layer-color:black;--mat-checkbox-disabled-label-color:rgba(0, 0, 0, 0.38)}.mat-mdc-checkbox{--mdc-form-field-label-text-color:rgba(0, 0, 0, 0.87)}.mat-mdc-checkbox.mat-primary{--mdc-checkbox-disabled-selected-icon-color:rgba(0, 0, 0, 0.38);--mdc-checkbox-disabled-unselected-icon-color:rgba(0, 0, 0, 0.38);--mdc-checkbox-selected-checkmark-color:white;--mdc-checkbox-selected-focus-icon-color:#673ab7;--mdc-checkbox-selected-hover-icon-color:#673ab7;--mdc-checkbox-selected-icon-color:#673ab7;--mdc-checkbox-selected-pressed-icon-color:#673ab7;--mdc-checkbox-unselected-focus-icon-color:#212121;--mdc-checkbox-unselected-hover-icon-color:#212121;--mdc-checkbox-unselected-icon-color:rgba(0, 0, 0, 0.54);--mdc-checkbox-unselected-pressed-icon-color:rgba(0, 0, 0, 0.54);--mdc-checkbox-selected-focus-state-layer-color:#673ab7;--mdc-checkbox-selected-hover-state-layer-color:#673ab7;--mdc-checkbox-selected-pressed-state-layer-color:#673ab7;--mdc-checkbox-unselected-focus-state-layer-color:black;--mdc-checkbox-unselected-hover-state-layer-color:black;--mdc-checkbox-unselected-pressed-state-layer-color:black}.mat-mdc-checkbox.mat-warn{--mdc-checkbox-disabled-selected-icon-color:rgba(0, 0, 0, 0.38);--mdc-checkbox-disabled-unselected-icon-color:rgba(0, 0, 0, 0.38);--mdc-checkbox-selected-checkmark-color:white;--mdc-checkbox-selected-focus-icon-color:#f44336;--mdc-checkbox-selected-hover-icon-color:#f44336;--mdc-checkbox-selected-icon-color:#f44336;--mdc-checkbox-selected-pressed-icon-color:#f44336;--mdc-checkbox-unselected-focus-icon-color:#212121;--mdc-checkbox-unselected-hover-icon-color:#212121;--mdc-checkbox-unselected-icon-color:rgba(0, 0, 0, 0.54);--mdc-checkbox-unselected-pressed-icon-color:rgba(0, 0, 0, 0.54);--mdc-checkbox-selected-focus-state-layer-color:#f44336;--mdc-checkbox-selected-hover-state-layer-color:#f44336;--mdc-checkbox-selected-pressed-state-layer-color:#f44336;--mdc-checkbox-unselected-focus-state-layer-color:black;--mdc-checkbox-unselected-hover-state-layer-color:black;--mdc-checkbox-unselected-pressed-state-layer-color:black}html{--mdc-checkbox-state-layer-size:40px;--mat-checkbox-touch-target-display:block}.mat-mdc-checkbox{--mdc-form-field-label-text-font:Roboto, sans-serif;--mdc-form-field-label-text-line-height:20px;--mdc-form-field-label-text-size:14px;--mdc-form-field-label-text-tracking:0.0178571429em;--mdc-form-field-label-text-weight:400}html{--mdc-text-button-container-shape:4px;--mdc-text-button-keep-touch-target:false;--mdc-filled-button-container-shape:4px;--mdc-filled-button-keep-touch-target:false;--mdc-protected-button-container-shape:4px;--mdc-protected-button-keep-touch-target:false;--mdc-outlined-button-keep-touch-target:false;--mdc-outlined-button-outline-width:1px;--mdc-outlined-button-container-shape:4px;--mat-text-button-horizontal-padding:8px;--mat-text-button-with-icon-horizontal-padding:8px;--mat-text-button-icon-spacing:8px;--mat-text-button-icon-offset:0;--mat-filled-button-horizontal-padding:16px;--mat-filled-button-icon-spacing:8px;--mat-filled-button-icon-offset:-4px;--mat-protected-button-horizontal-padding:16px;--mat-protected-button-icon-spacing:8px;--mat-protected-button-icon-offset:-4px;--mat-outlined-button-horizontal-padding:15px;--mat-outlined-button-icon-spacing:8px;--mat-outlined-button-icon-offset:-4px}html{--mdc-text-button-label-text-color:black;--mdc-text-button-disabled-label-text-color:rgba(0, 0, 0, 0.38);--mat-text-button-state-layer-color:black;--mat-text-button-disabled-state-layer-color:black;--mat-text-button-ripple-color:rgba(0, 0, 0, 0.1);--mat-text-button-hover-state-layer-opacity:0.04;--mat-text-button-focus-state-layer-opacity:0.12;--mat-text-button-pressed-state-layer-opacity:0.12;--mdc-filled-button-container-color:white;--mdc-filled-button-label-text-color:black;--mdc-filled-button-disabled-container-color:rgba(0, 0, 0, 0.12);--mdc-filled-button-disabled-label-text-color:rgba(0, 0, 0, 0.38);--mat-filled-button-state-layer-color:black;--mat-filled-button-disabled-state-layer-color:black;--mat-filled-button-ripple-color:rgba(0, 0, 0, 0.1);--mat-filled-button-hover-state-layer-opacity:0.04;--mat-filled-button-focus-state-layer-opacity:0.12;--mat-filled-button-pressed-state-layer-opacity:0.12;--mdc-protected-button-container-color:white;--mdc-protected-button-label-text-color:black;--mdc-protected-button-disabled-container-color:rgba(0, 0, 0, 0.12);--mdc-protected-button-disabled-label-text-color:rgba(0, 0, 0, 0.38);--mdc-protected-button-container-elevation-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);--mdc-protected-button-disabled-container-elevation-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);--mdc-protected-button-focus-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);--mdc-protected-button-hover-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);--mdc-protected-button-pressed-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);--mdc-protected-button-container-shadow-color:#000;--mat-protected-button-state-layer-color:black;--mat-protected-button-disabled-state-layer-color:black;--mat-protected-button-ripple-color:rgba(0, 0, 0, 0.1);--mat-protected-button-hover-state-layer-opacity:0.04;--mat-protected-button-focus-state-layer-opacity:0.12;--mat-protected-button-pressed-state-layer-opacity:0.12;--mdc-outlined-button-disabled-outline-color:rgba(0, 0, 0, 0.12);--mdc-outlined-button-disabled-label-text-color:rgba(0, 0, 0, 0.38);--mdc-outlined-button-label-text-color:black;--mdc-outlined-button-outline-color:rgba(0, 0, 0, 0.12);--mat-outlined-button-state-layer-color:black;--mat-outlined-button-disabled-state-layer-color:black;--mat-outlined-button-ripple-color:rgba(0, 0, 0, 0.1);--mat-outlined-button-hover-state-layer-opacity:0.04;--mat-outlined-button-focus-state-layer-opacity:0.12;--mat-outlined-button-pressed-state-layer-opacity:0.12}.mat-mdc-button.mat-primary{--mdc-text-button-label-text-color:#673ab7;--mat-text-button-state-layer-color:#673ab7;--mat-text-button-ripple-color:rgba(103, 58, 183, 0.1)}.mat-mdc-button.mat-accent{--mdc-text-button-label-text-color:#ffd740;--mat-text-button-state-layer-color:#ffd740;--mat-text-button-ripple-color:rgba(255, 215, 64, 0.1)}.mat-mdc-button.mat-warn{--mdc-text-button-label-text-color:#f44336;--mat-text-button-state-layer-color:#f44336;--mat-text-button-ripple-color:rgba(244, 67, 54, 0.1)}.mat-mdc-unelevated-button.mat-primary{--mdc-filled-button-container-color:#673ab7;--mdc-filled-button-label-text-color:white;--mat-filled-button-state-layer-color:white;--mat-filled-button-ripple-color:rgba(255, 255, 255, 0.1)}.mat-mdc-unelevated-button.mat-accent{--mdc-filled-button-container-color:#ffd740;--mdc-filled-button-label-text-color:black;--mat-filled-button-state-layer-color:black;--mat-filled-button-ripple-color:rgba(0, 0, 0, 0.1)}.mat-mdc-unelevated-button.mat-warn{--mdc-filled-button-container-color:#f44336;--mdc-filled-button-label-text-color:white;--mat-filled-button-state-layer-color:white;--mat-filled-button-ripple-color:rgba(255, 255, 255, 0.1)}.mat-mdc-raised-button.mat-primary{--mdc-protected-button-container-color:#673ab7;--mdc-protected-button-label-text-color:white;--mat-protected-button-state-layer-color:white;--mat-protected-button-ripple-color:rgba(255, 255, 255, 0.1)}.mat-mdc-raised-button.mat-accent{--mdc-protected-button-container-color:#ffd740;--mdc-protected-button-label-text-color:black;--mat-protected-button-state-layer-color:black;--mat-protected-button-ripple-color:rgba(0, 0, 0, 0.1)}.mat-mdc-raised-button.mat-warn{--mdc-protected-button-container-color:#f44336;--mdc-protected-button-label-text-color:white;--mat-protected-button-state-layer-color:white;--mat-protected-button-ripple-color:rgba(255, 255, 255, 0.1)}.mat-mdc-outlined-button.mat-primary{--mdc-outlined-button-label-text-color:#673ab7;--mdc-outlined-button-outline-color:rgba(0, 0, 0, 0.12);--mat-outlined-button-state-layer-color:#673ab7;--mat-outlined-button-ripple-color:rgba(103, 58, 183, 0.1)}.mat-mdc-outlined-button.mat-accent{--mdc-outlined-button-label-text-color:#ffd740;--mdc-outlined-button-outline-color:rgba(0, 0, 0, 0.12);--mat-outlined-button-state-layer-color:#ffd740;--mat-outlined-button-ripple-color:rgba(255, 215, 64, 0.1)}.mat-mdc-outlined-button.mat-warn{--mdc-outlined-button-label-text-color:#f44336;--mdc-outlined-button-outline-color:rgba(0, 0, 0, 0.12);--mat-outlined-button-state-layer-color:#f44336;--mat-outlined-button-ripple-color:rgba(244, 67, 54, 0.1)}html{--mdc-text-button-container-height:36px;--mdc-filled-button-container-height:36px;--mdc-outlined-button-container-height:36px;--mdc-protected-button-container-height:36px;--mat-text-button-touch-target-display:block;--mat-filled-button-touch-target-display:block;--mat-protected-button-touch-target-display:block;--mat-outlined-button-touch-target-display:block}html{--mdc-text-button-label-text-font:Roboto, sans-serif;--mdc-text-button-label-text-size:14px;--mdc-text-button-label-text-tracking:0.0892857143em;--mdc-text-button-label-text-weight:500;--mdc-text-button-label-text-transform:none;--mdc-filled-button-label-text-font:Roboto, sans-serif;--mdc-filled-button-label-text-size:14px;--mdc-filled-button-label-text-tracking:0.0892857143em;--mdc-filled-button-label-text-weight:500;--mdc-filled-button-label-text-transform:none;--mdc-outlined-button-label-text-font:Roboto, sans-serif;--mdc-outlined-button-label-text-size:14px;--mdc-outlined-button-label-text-tracking:0.0892857143em;--mdc-outlined-button-label-text-weight:500;--mdc-outlined-button-label-text-transform:none;--mdc-protected-button-label-text-font:Roboto, sans-serif;--mdc-protected-button-label-text-size:14px;--mdc-protected-button-label-text-tracking:0.0892857143em;--mdc-protected-button-label-text-weight:500;--mdc-protected-button-label-text-transform:none}html{--mdc-icon-button-icon-size:24px}html{--mdc-icon-button-icon-color:inherit;--mdc-icon-button-disabled-icon-color:rgba(0, 0, 0, 0.38);--mat-icon-button-state-layer-color:black;--mat-icon-button-disabled-state-layer-color:black;--mat-icon-button-ripple-color:rgba(0, 0, 0, 0.1);--mat-icon-button-hover-state-layer-opacity:0.04;--mat-icon-button-focus-state-layer-opacity:0.12;--mat-icon-button-pressed-state-layer-opacity:0.12}html .mat-mdc-icon-button.mat-primary{--mdc-icon-button-icon-color:#673ab7;--mat-icon-button-state-layer-color:#673ab7;--mat-icon-button-ripple-color:rgba(103, 58, 183, 0.1)}html .mat-mdc-icon-button.mat-accent{--mdc-icon-button-icon-color:#ffd740;--mat-icon-button-state-layer-color:#ffd740;--mat-icon-button-ripple-color:rgba(255, 215, 64, 0.1)}html .mat-mdc-icon-button.mat-warn{--mdc-icon-button-icon-color:#f44336;--mat-icon-button-state-layer-color:#f44336;--mat-icon-button-ripple-color:rgba(244, 67, 54, 0.1)}html{--mat-icon-button-touch-target-display:block}.mat-mdc-icon-button.mat-mdc-button-base{--mdc-icon-button-state-layer-size:48px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:12px}html{--mdc-fab-container-shape:50%;--mdc-fab-icon-size:24px;--mdc-fab-small-container-shape:50%;--mdc-fab-small-icon-size:24px;--mdc-extended-fab-container-height:48px;--mdc-extended-fab-container-shape:24px}html{--mdc-fab-container-color:white;--mdc-fab-container-elevation-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);--mdc-fab-focus-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);--mdc-fab-hover-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);--mdc-fab-pressed-container-elevation-shadow:0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);--mdc-fab-container-shadow-color:#000;--mat-fab-foreground-color:black;--mat-fab-state-layer-color:black;--mat-fab-disabled-state-layer-color:black;--mat-fab-ripple-color:rgba(0, 0, 0, 0.1);--mat-fab-hover-state-layer-opacity:0.04;--mat-fab-focus-state-layer-opacity:0.12;--mat-fab-pressed-state-layer-opacity:0.12;--mat-fab-disabled-state-container-color:rgba(0, 0, 0, 0.12);--mat-fab-disabled-state-foreground-color:rgba(0, 0, 0, 0.38);--mdc-fab-small-container-color:white;--mdc-fab-small-container-elevation-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);--mdc-fab-small-focus-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);--mdc-fab-small-hover-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);--mdc-fab-small-pressed-container-elevation-shadow:0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);--mdc-fab-small-container-shadow-color:#000;--mat-fab-small-foreground-color:black;--mat-fab-small-state-layer-color:black;--mat-fab-small-disabled-state-layer-color:black;--mat-fab-small-ripple-color:rgba(0, 0, 0, 0.1);--mat-fab-small-hover-state-layer-opacity:0.04;--mat-fab-small-focus-state-layer-opacity:0.12;--mat-fab-small-pressed-state-layer-opacity:0.12;--mat-fab-small-disabled-state-container-color:rgba(0, 0, 0, 0.12);--mat-fab-small-disabled-state-foreground-color:rgba(0, 0, 0, 0.38);--mdc-extended-fab-container-elevation-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);--mdc-extended-fab-focus-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);--mdc-extended-fab-hover-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);--mdc-extended-fab-pressed-container-elevation-shadow:0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);--mdc-extended-fab-container-shadow-color:#000}html .mat-mdc-fab.mat-primary{--mdc-fab-container-color:#673ab7;--mat-fab-foreground-color:white;--mat-fab-state-layer-color:white;--mat-fab-ripple-color:rgba(255, 255, 255, 0.1)}html .mat-mdc-fab.mat-accent{--mdc-fab-container-color:#ffd740;--mat-fab-foreground-color:black;--mat-fab-state-layer-color:black;--mat-fab-ripple-color:rgba(0, 0, 0, 0.1)}html .mat-mdc-fab.mat-warn{--mdc-fab-container-color:#f44336;--mat-fab-foreground-color:white;--mat-fab-state-layer-color:white;--mat-fab-ripple-color:rgba(255, 255, 255, 0.1)}html .mat-mdc-mini-fab.mat-primary{--mdc-fab-small-container-color:#673ab7;--mat-fab-small-foreground-color:white;--mat-fab-small-state-layer-color:white;--mat-fab-small-ripple-color:rgba(255, 255, 255, 0.1)}html .mat-mdc-mini-fab.mat-accent{--mdc-fab-small-container-color:#ffd740;--mat-fab-small-foreground-color:black;--mat-fab-small-state-layer-color:black;--mat-fab-small-ripple-color:rgba(0, 0, 0, 0.1)}html .mat-mdc-mini-fab.mat-warn{--mdc-fab-small-container-color:#f44336;--mat-fab-small-foreground-color:white;--mat-fab-small-state-layer-color:white;--mat-fab-small-ripple-color:rgba(255, 255, 255, 0.1)}html{--mat-fab-touch-target-display:block;--mat-fab-small-touch-target-display:block}html{--mdc-extended-fab-label-text-font:Roboto, sans-serif;--mdc-extended-fab-label-text-size:14px;--mdc-extended-fab-label-text-tracking:0.0892857143em;--mdc-extended-fab-label-text-weight:500}html{--mdc-snackbar-container-shape:4px}html{--mdc-snackbar-container-color:#333333;--mdc-snackbar-supporting-text-color:rgba(255, 255, 255, 0.87);--mat-snack-bar-button-color:#ffd740}html{--mdc-snackbar-supporting-text-font:Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height:20px;--mdc-snackbar-supporting-text-size:14px;--mdc-snackbar-supporting-text-weight:400}html{--mat-table-row-item-outline-width:1px}html{--mat-table-background-color:white;--mat-table-header-headline-color:rgba(0, 0, 0, 0.87);--mat-table-row-item-label-text-color:rgba(0, 0, 0, 0.87);--mat-table-row-item-outline-color:rgba(0, 0, 0, 0.12)}html{--mat-table-header-container-height:56px;--mat-table-footer-container-height:52px;--mat-table-row-item-container-height:52px}html{--mat-table-header-headline-font:Roboto, sans-serif;--mat-table-header-headline-line-height:22px;--mat-table-header-headline-size:14px;--mat-table-header-headline-weight:500;--mat-table-header-headline-tracking:0.0071428571em;--mat-table-row-item-label-text-font:Roboto, sans-serif;--mat-table-row-item-label-text-line-height:20px;--mat-table-row-item-label-text-size:14px;--mat-table-row-item-label-text-weight:400;--mat-table-row-item-label-text-tracking:0.0178571429em;--mat-table-footer-supporting-text-font:Roboto, sans-serif;--mat-table-footer-supporting-text-line-height:20px;--mat-table-footer-supporting-text-size:14px;--mat-table-footer-supporting-text-weight:400;--mat-table-footer-supporting-text-tracking:0.0178571429em}html{--mdc-circular-progress-active-indicator-width:4px;--mdc-circular-progress-size:48px}html{--mdc-circular-progress-active-indicator-color:#673ab7}html .mat-accent{--mdc-circular-progress-active-indicator-color:#ffd740}html .mat-warn{--mdc-circular-progress-active-indicator-color:#f44336}html{--mat-badge-container-shape:50%;--mat-badge-container-size:unset;--mat-badge-small-size-container-size:unset;--mat-badge-large-size-container-size:unset;--mat-badge-legacy-container-size:22px;--mat-badge-legacy-small-size-container-size:16px;--mat-badge-legacy-large-size-container-size:28px;--mat-badge-container-offset:-11px 0;--mat-badge-small-size-container-offset:-8px 0;--mat-badge-large-size-container-offset:-14px 0;--mat-badge-container-overlap-offset:-11px;--mat-badge-small-size-container-overlap-offset:-8px;--mat-badge-large-size-container-overlap-offset:-14px;--mat-badge-container-padding:0;--mat-badge-small-size-container-padding:0;--mat-badge-large-size-container-padding:0}html{--mat-badge-background-color:#673ab7;--mat-badge-text-color:white;--mat-badge-disabled-state-background-color:#b9b9b9;--mat-badge-disabled-state-text-color:rgba(0, 0, 0, 0.38)}.mat-badge-accent{--mat-badge-background-color:#ffd740;--mat-badge-text-color:rgba(0, 0, 0, 0.87)}.mat-badge-warn{--mat-badge-background-color:#f44336;--mat-badge-text-color:white}html{--mat-badge-text-font:Roboto, sans-serif;--mat-badge-text-size:12px;--mat-badge-text-weight:600;--mat-badge-small-size-text-size:9px;--mat-badge-large-size-text-size:24px}html{--mat-bottom-sheet-container-shape:4px}html{--mat-bottom-sheet-container-text-color:rgba(0, 0, 0, 0.87);--mat-bottom-sheet-container-background-color:white}html{--mat-bottom-sheet-container-text-font:Roboto, sans-serif;--mat-bottom-sheet-container-text-line-height:20px;--mat-bottom-sheet-container-text-size:14px;--mat-bottom-sheet-container-text-tracking:0.0178571429em;--mat-bottom-sheet-container-text-weight:400}html{--mat-legacy-button-toggle-height:36px;--mat-legacy-button-toggle-shape:2px;--mat-legacy-button-toggle-focus-state-layer-opacity:1;--mat-standard-button-toggle-shape:4px;--mat-standard-button-toggle-hover-state-layer-opacity:0.04;--mat-standard-button-toggle-focus-state-layer-opacity:0.12}html{--mat-legacy-button-toggle-text-color:rgba(0, 0, 0, 0.38);--mat-legacy-button-toggle-state-layer-color:rgba(0, 0, 0, 0.12);--mat-legacy-button-toggle-selected-state-text-color:rgba(0, 0, 0, 0.54);--mat-legacy-button-toggle-selected-state-background-color:#e0e0e0;--mat-legacy-button-toggle-disabled-state-text-color:rgba(0, 0, 0, 0.26);--mat-legacy-button-toggle-disabled-state-background-color:#eeeeee;--mat-legacy-button-toggle-disabled-selected-state-background-color:#bdbdbd;--mat-standard-button-toggle-text-color:rgba(0, 0, 0, 0.87);--mat-standard-button-toggle-background-color:white;--mat-standard-button-toggle-state-layer-color:black;--mat-standard-button-toggle-selected-state-background-color:#e0e0e0;--mat-standard-button-toggle-selected-state-text-color:rgba(0, 0, 0, 0.87);--mat-standard-button-toggle-disabled-state-text-color:rgba(0, 0, 0, 0.26);--mat-standard-button-toggle-disabled-state-background-color:white;--mat-standard-button-toggle-disabled-selected-state-text-color:rgba(0, 0, 0, 0.87);--mat-standard-button-toggle-disabled-selected-state-background-color:#bdbdbd;--mat-standard-button-toggle-divider-color:#e0e0e0}html{--mat-standard-button-toggle-height:48px}html{--mat-legacy-button-toggle-label-text-font:Roboto, sans-serif;--mat-legacy-button-toggle-label-text-line-height:24px;--mat-legacy-button-toggle-label-text-size:16px;--mat-legacy-button-toggle-label-text-tracking:0.03125em;--mat-legacy-button-toggle-label-text-weight:400;--mat-standard-button-toggle-label-text-font:Roboto, sans-serif;--mat-standard-button-toggle-label-text-line-height:24px;--mat-standard-button-toggle-label-text-size:16px;--mat-standard-button-toggle-label-text-tracking:0.03125em;--mat-standard-button-toggle-label-text-weight:400}html{--mat-datepicker-calendar-container-shape:4px;--mat-datepicker-calendar-container-touch-shape:4px;--mat-datepicker-calendar-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);--mat-datepicker-calendar-container-touch-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12)}html{--mat-datepicker-calendar-date-selected-state-text-color:white;--mat-datepicker-calendar-date-selected-state-background-color:#673ab7;--mat-datepicker-calendar-date-selected-disabled-state-background-color:rgba(103, 58, 183, 0.4);--mat-datepicker-calendar-date-today-selected-state-outline-color:white;--mat-datepicker-calendar-date-focus-state-background-color:rgba(103, 58, 183, 0.3);--mat-datepicker-calendar-date-hover-state-background-color:rgba(103, 58, 183, 0.3);--mat-datepicker-toggle-active-state-icon-color:#673ab7;--mat-datepicker-calendar-date-in-range-state-background-color:rgba(103, 58, 183, 0.2);--mat-datepicker-calendar-date-in-comparison-range-state-background-color:rgba(249, 171, 0, 0.2);--mat-datepicker-calendar-date-in-overlap-range-state-background-color:#a8dab5;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color:#46a35e;--mat-datepicker-toggle-icon-color:rgba(0, 0, 0, 0.54);--mat-datepicker-calendar-body-label-text-color:rgba(0, 0, 0, 0.54);--mat-datepicker-calendar-period-button-text-color:black;--mat-datepicker-calendar-period-button-icon-color:rgba(0, 0, 0, 0.54);--mat-datepicker-calendar-navigation-button-icon-color:rgba(0, 0, 0, 0.54);--mat-datepicker-calendar-header-divider-color:rgba(0, 0, 0, 0.12);--mat-datepicker-calendar-header-text-color:rgba(0, 0, 0, 0.54);--mat-datepicker-calendar-date-today-outline-color:rgba(0, 0, 0, 0.38);--mat-datepicker-calendar-date-today-disabled-state-outline-color:rgba(0, 0, 0, 0.18);--mat-datepicker-calendar-date-text-color:rgba(0, 0, 0, 0.87);--mat-datepicker-calendar-date-outline-color:transparent;--mat-datepicker-calendar-date-disabled-state-text-color:rgba(0, 0, 0, 0.38);--mat-datepicker-calendar-date-preview-state-outline-color:rgba(0, 0, 0, 0.24);--mat-datepicker-range-input-separator-color:rgba(0, 0, 0, 0.87);--mat-datepicker-range-input-disabled-state-separator-color:rgba(0, 0, 0, 0.38);--mat-datepicker-range-input-disabled-state-text-color:rgba(0, 0, 0, 0.38);--mat-datepicker-calendar-container-background-color:white;--mat-datepicker-calendar-container-text-color:rgba(0, 0, 0, 0.87)}.mat-datepicker-content.mat-accent{--mat-datepicker-calendar-date-selected-state-text-color:rgba(0, 0, 0, 0.87);--mat-datepicker-calendar-date-selected-state-background-color:#ffd740;--mat-datepicker-calendar-date-selected-disabled-state-background-color:rgba(255, 215, 64, 0.4);--mat-datepicker-calendar-date-today-selected-state-outline-color:rgba(0, 0, 0, 0.87);--mat-datepicker-calendar-date-focus-state-background-color:rgba(255, 215, 64, 0.3);--mat-datepicker-calendar-date-hover-state-background-color:rgba(255, 215, 64, 0.3);--mat-datepicker-calendar-date-in-range-state-background-color:rgba(255, 215, 64, 0.2);--mat-datepicker-calendar-date-in-comparison-range-state-background-color:rgba(249, 171, 0, 0.2);--mat-datepicker-calendar-date-in-overlap-range-state-background-color:#a8dab5;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color:#46a35e}.mat-datepicker-content.mat-warn{--mat-datepicker-calendar-date-selected-state-text-color:white;--mat-datepicker-calendar-date-selected-state-background-color:#f44336;--mat-datepicker-calendar-date-selected-disabled-state-background-color:rgba(244, 67, 54, 0.4);--mat-datepicker-calendar-date-today-selected-state-outline-color:white;--mat-datepicker-calendar-date-focus-state-background-color:rgba(244, 67, 54, 0.3);--mat-datepicker-calendar-date-hover-state-background-color:rgba(244, 67, 54, 0.3);--mat-datepicker-calendar-date-in-range-state-background-color:rgba(244, 67, 54, 0.2);--mat-datepicker-calendar-date-in-comparison-range-state-background-color:rgba(249, 171, 0, 0.2);--mat-datepicker-calendar-date-in-overlap-range-state-background-color:#a8dab5;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color:#46a35e}.mat-datepicker-toggle-active.mat-accent{--mat-datepicker-toggle-active-state-icon-color:#ffd740}.mat-datepicker-toggle-active.mat-warn{--mat-datepicker-toggle-active-state-icon-color:#f44336}.mat-calendar-controls{--mat-icon-button-touch-target-display:none}.mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base{--mdc-icon-button-state-layer-size:40px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:8px}html{--mat-datepicker-calendar-text-font:Roboto, sans-serif;--mat-datepicker-calendar-text-size:13px;--mat-datepicker-calendar-body-label-text-size:14px;--mat-datepicker-calendar-body-label-text-weight:500;--mat-datepicker-calendar-period-button-text-size:14px;--mat-datepicker-calendar-period-button-text-weight:500;--mat-datepicker-calendar-header-text-size:11px;--mat-datepicker-calendar-header-text-weight:400}html{--mat-divider-width:1px}html{--mat-divider-color:rgba(0, 0, 0, 0.12)}html{--mat-expansion-container-shape:4px;--mat-expansion-legacy-header-indicator-display:inline-block;--mat-expansion-header-indicator-display:none}html{--mat-expansion-container-background-color:white;--mat-expansion-container-text-color:rgba(0, 0, 0, 0.87);--mat-expansion-actions-divider-color:rgba(0, 0, 0, 0.12);--mat-expansion-header-hover-state-layer-color:rgba(0, 0, 0, 0.04);--mat-expansion-header-focus-state-layer-color:rgba(0, 0, 0, 0.04);--mat-expansion-header-disabled-state-text-color:rgba(0, 0, 0, 0.26);--mat-expansion-header-text-color:rgba(0, 0, 0, 0.87);--mat-expansion-header-description-color:rgba(0, 0, 0, 0.54);--mat-expansion-header-indicator-color:rgba(0, 0, 0, 0.54)}html{--mat-expansion-header-collapsed-state-height:48px;--mat-expansion-header-expanded-state-height:64px}html{--mat-expansion-header-text-font:Roboto, sans-serif;--mat-expansion-header-text-size:14px;--mat-expansion-header-text-weight:500;--mat-expansion-header-text-line-height:inherit;--mat-expansion-header-text-tracking:inherit;--mat-expansion-container-text-font:Roboto, sans-serif;--mat-expansion-container-text-line-height:20px;--mat-expansion-container-text-size:14px;--mat-expansion-container-text-tracking:0.0178571429em;--mat-expansion-container-text-weight:400}html{--mat-grid-list-tile-header-primary-text-size:14px;--mat-grid-list-tile-header-secondary-text-size:12px;--mat-grid-list-tile-footer-primary-text-size:14px;--mat-grid-list-tile-footer-secondary-text-size:12px}html{--mat-icon-color:inherit}.mat-icon.mat-primary{--mat-icon-color:#673ab7}.mat-icon.mat-accent{--mat-icon-color:#ffd740}.mat-icon.mat-warn{--mat-icon-color:#f44336}html{--mat-sidenav-container-shape:0;--mat-sidenav-container-elevation-shadow:0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);--mat-sidenav-container-width:auto}html{--mat-sidenav-container-divider-color:rgba(0, 0, 0, 0.12);--mat-sidenav-container-background-color:white;--mat-sidenav-container-text-color:rgba(0, 0, 0, 0.87);--mat-sidenav-content-background-color:#fafafa;--mat-sidenav-content-text-color:rgba(0, 0, 0, 0.87);--mat-sidenav-scrim-color:rgba(0, 0, 0, 0.6)}html{--mat-stepper-header-icon-foreground-color:white;--mat-stepper-header-selected-state-icon-background-color:#673ab7;--mat-stepper-header-selected-state-icon-foreground-color:white;--mat-stepper-header-done-state-icon-background-color:#673ab7;--mat-stepper-header-done-state-icon-foreground-color:white;--mat-stepper-header-edit-state-icon-background-color:#673ab7;--mat-stepper-header-edit-state-icon-foreground-color:white;--mat-stepper-container-color:white;--mat-stepper-line-color:rgba(0, 0, 0, 0.12);--mat-stepper-header-hover-state-layer-color:rgba(0, 0, 0, 0.04);--mat-stepper-header-focus-state-layer-color:rgba(0, 0, 0, 0.04);--mat-stepper-header-label-text-color:rgba(0, 0, 0, 0.54);--mat-stepper-header-optional-label-text-color:rgba(0, 0, 0, 0.54);--mat-stepper-header-selected-state-label-text-color:rgba(0, 0, 0, 0.87);--mat-stepper-header-error-state-label-text-color:#f44336;--mat-stepper-header-icon-background-color:rgba(0, 0, 0, 0.54);--mat-stepper-header-error-state-icon-foreground-color:#f44336;--mat-stepper-header-error-state-icon-background-color:transparent}html .mat-step-header.mat-accent{--mat-stepper-header-icon-foreground-color:rgba(0, 0, 0, 0.87);--mat-stepper-header-selected-state-icon-background-color:#ffd740;--mat-stepper-header-selected-state-icon-foreground-color:rgba(0, 0, 0, 0.87);--mat-stepper-header-done-state-icon-background-color:#ffd740;--mat-stepper-header-done-state-icon-foreground-color:rgba(0, 0, 0, 0.87);--mat-stepper-header-edit-state-icon-background-color:#ffd740;--mat-stepper-header-edit-state-icon-foreground-color:rgba(0, 0, 0, 0.87)}html .mat-step-header.mat-warn{--mat-stepper-header-icon-foreground-color:white;--mat-stepper-header-selected-state-icon-background-color:#f44336;--mat-stepper-header-selected-state-icon-foreground-color:white;--mat-stepper-header-done-state-icon-background-color:#f44336;--mat-stepper-header-done-state-icon-foreground-color:white;--mat-stepper-header-edit-state-icon-background-color:#f44336;--mat-stepper-header-edit-state-icon-foreground-color:white}html{--mat-stepper-header-height:72px}html{--mat-stepper-container-text-font:Roboto, sans-serif;--mat-stepper-header-label-text-font:Roboto, sans-serif;--mat-stepper-header-label-text-size:14px;--mat-stepper-header-label-text-weight:400;--mat-stepper-header-error-state-label-text-size:16px;--mat-stepper-header-selected-state-label-text-size:16px;--mat-stepper-header-selected-state-label-text-weight:400}html{--mat-sort-arrow-color:#757575}html{--mat-toolbar-container-background-color:whitesmoke;--mat-toolbar-container-text-color:rgba(0, 0, 0, 0.87)}.mat-toolbar.mat-primary{--mat-toolbar-container-background-color:#673ab7;--mat-toolbar-container-text-color:white}.mat-toolbar.mat-accent{--mat-toolbar-container-background-color:#ffd740;--mat-toolbar-container-text-color:rgba(0, 0, 0, 0.87)}.mat-toolbar.mat-warn{--mat-toolbar-container-background-color:#f44336;--mat-toolbar-container-text-color:white}html{--mat-toolbar-standard-height:64px;--mat-toolbar-mobile-height:56px}html{--mat-toolbar-title-text-font:Roboto, sans-serif;--mat-toolbar-title-text-line-height:32px;--mat-toolbar-title-text-size:20px;--mat-toolbar-title-text-tracking:0.0125em;--mat-toolbar-title-text-weight:500}html{--mat-tree-container-background-color:white;--mat-tree-node-text-color:rgba(0, 0, 0, 0.87)}html{--mat-tree-node-min-height:48px}html{--mat-tree-node-text-font:Roboto, sans-serif;--mat-tree-node-text-size:14px;--mat-tree-node-text-weight:400}.mat-h1,.mat-headline-5,.mat-typography .mat-h1,.mat-typography .mat-headline-5,.mat-typography h1{font:400 24px/32px Roboto, sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-headline-6,.mat-typography .mat-h2,.mat-typography .mat-headline-6,.mat-typography h2{font:500 20px/32px Roboto, sans-serif;letter-spacing:.0125em;margin:0 0 16px}.mat-h3,.mat-subtitle-1,.mat-typography .mat-h3,.mat-typography .mat-subtitle-1,.mat-typography h3{font:400 16px/28px Roboto, sans-serif;letter-spacing:.009375em;margin:0 0 16px}.mat-h4,.mat-body-1,.mat-typography .mat-h4,.mat-typography .mat-body-1,.mat-typography h4{font:400 16px/24px Roboto, sans-serif;letter-spacing:.03125em;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:400 calc(14px*.83)/20px Roboto, sans-serif;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:400 calc(14px*.67)/20px Roboto, sans-serif;margin:0 0 12px}.mat-body-strong,.mat-subtitle-2,.mat-typography .mat-body-strong,.mat-typography .mat-subtitle-2{font:500 14px/22px Roboto, sans-serif;letter-spacing:.0071428571em}.mat-body,.mat-body-2,.mat-typography .mat-body,.mat-typography .mat-body-2,.mat-typography{font:400 14px/20px Roboto, sans-serif;letter-spacing:.0178571429em}.mat-body p,.mat-body-2 p,.mat-typography .mat-body p,.mat-typography .mat-body-2 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 12px/20px Roboto, sans-serif;letter-spacing:.0333333333em}.mat-headline-1,.mat-typography .mat-headline-1{font:300 96px/96px Roboto, sans-serif;letter-spacing:-0.015625em;margin:0 0 56px}.mat-headline-2,.mat-typography .mat-headline-2{font:300 60px/60px Roboto, sans-serif;letter-spacing:-.0083333333em;margin:0 0 64px}.mat-headline-3,.mat-typography .mat-headline-3{font:400 48px/50px Roboto, sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-headline-4,.mat-typography .mat-headline-4{font:400 34px/40px Roboto, sans-serif;letter-spacing:.0073529412em;margin:0 0 64px}
/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/@angular-devkit/build-angular/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/styles.css?ngGlobalStyle ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
/* --- Role Skill Selection Dialog: neutral BW palette (no blue in light theme) --- */
.role-skill-dialog-header h2 {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.2;
}

/* Desktop - centered with max width */
@media (min-width: 768px) {
  .profile-bottom-sheet-dialog.cdk-overlay-pane {
    max-width: 480px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

/* Ensure the profile bottom sheet overlay pane stacks above bottom-tab on all viewports */
.profile-bottom-sheet-dialog.cdk-overlay-pane {
  z-index: 4000 !important;
}

/* Angular CDK backdrops — follow CDK state classes instead of forcing always-on
   Root cause: on mobile, a previously opened overlay (menu/dialog) could leave a
   backdrop element in the DOM with animations in progress. Our prior global
   overrides kept it visible and intercepting pointer events, blocking clicks on
   the bottom tabs after navigation. Fix by only enabling pointer-events and
   opacity when the CDK marks it as showing. */
.cdk-overlay-backdrop,
.cdk-overlay-dark-backdrop {
  /* Let CDK control visibility/opacity by default */
  transition: opacity 150ms ease-in-out;
}

.cdk-overlay-backdrop.cdk-overlay-backdrop-showing,
.cdk-overlay-dark-backdrop.cdk-overlay-backdrop-showing {
  opacity: 1;
  pointer-events: auto;
  background: rgba(0, 0, 0, 0.45);
  cursor: pointer;
}

/* Material Menu - ensure backdrop closes menu */
.cdk-overlay-backdrop.cdk-menu-backdrop {
  pointer-events: auto;
}

/* Ensure menu backdrop is clickable to close */
.cdk-menu-panel .cdk-overlay-backdrop {
  pointer-events: auto;
}

/* Material Dialog Panel */
.mat-mdc-dialog-panel {
  pointer-events: auto !important;
  width: 100% !important;
  max-width: min(600px, calc(100vw - 2rem)) !important;
  position: relative !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mat-mdc-dialog-panel .mdc-dialog__container {
  width: 100%;
  max-width: 100%;
}

.mat-mdc-dialog-panel .mat-mdc-dialog-surface {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden !important;
}

/* Profile bottom-sheet overlay: pin to viewport bottom and render above bottom-tab-navigation
   - Uses the panel class added by the component: `profile-bottom-sheet-panel`
   - z-index raised above bottom-tab (3000) so sheet overlays it; still below header/toasts (9999)
   - Important flags are used because overlay elements are injected outside component scope
*/
.profile-bottom-sheet-panel.cdk-overlay-pane,
.profile-bottom-sheet-panel.mat-mdc-dialog-container,
.profile-bottom-sheet-panel.mat-dialog-container {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  z-index: 4000 !important;
}

/* Make the overlay surface transparent so the component's inner .bottom-sheet-content
   can use the shared .glass-surface utilities for consistent theming.
   (overlay panels are injected outside component scope) */
.profile-bottom-sheet-panel .mat-mdc-dialog-surface,
.profile-bottom-sheet-panel .mat-dialog-container,
.profile-bottom-sheet-panel .cdk-overlay-pane>.mat-mdc-dialog-container {
  background: transparent !important;
  box-shadow: none !important;
}

/* Ensure the bottom-sheet backdrop sits above bottom-tab too */
.cdk-overlay-backdrop.profile-bottom-sheet-backdrop {
  /* Place backdrop below bottom-tab so tab stays visible */
  z-index: 2500 !important;
  /* Make backdrop transparent for profile sheet to avoid darkening whole page */
  background: transparent !important;
  /* Do not intercept clicks; allow interactions with sheet and page */
  pointer-events: none !important;
}

/* File-upload dialog sticky button bar fixes */
.file-upload-dialog app-sticky-button-bar {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

.file-upload-dialog app-sticky-button-bar .sticky-button-bar {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  padding: 0.6em 0.5em !important;
  margin-bottom: 0 !important;
  margin-top: 0.5rem;
}

/* Ensure button groups inside file-upload dialog don't overflow */
.file-upload-dialog .sticky-button-bar .button-group {
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.file-upload-dialog .sticky-button-bar .global-btn {
  max-width: calc((100% - 0.4em) / 2) !important;
}

/* Shared compact surface styling for other custom dialogs */
.dialog-surface-compact .mat-mdc-dialog-surface,
.dialog-surface-compact .mdc-dialog__surface {
  padding: 0;
  background: transparent;
  box-shadow: none;
}

/* Material Dialog Container - Displays the actual dialog */
.mat-dialog-container,
.mat-mdc-dialog-container {
  pointer-events: auto !important;
  visibility: visible !important;
  background: transparent !important;
  box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }
/* Material Dialog inner wrappers - Remove all default styling */
.mdc-dialog__container,
.mat-mdc-dialog-surface,
.mdc-dialog__surface {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
    margin: 0 !important;
  border-radius: 0 !important;
}

/* Ensure all interactive elements within dialogs can receive clicks */
.mat-dialog-container *,
.mat-mdc-dialog-container * {
  pointer-events: auto !important;
}

/* Dialog Base Container - Common wrapper for all custom dialogs */
.dialog-base-container {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: 90vh;
  overflow: hidden;
  background: var(--color-card);
  color: var(--color-text);
  pointer-events: auto !important;
}

/* When profile bottom sheet is open, keep bottom tab above the backdrop */
.profile-sheet-open .bottom-tab-navigation {
  z-index: 3000 !important;
}

/* While the profile sheet is open, raise the CDK overlay container so the sheet pane
   definitively stacks above the bottom tab, regardless of parent stacking contexts */
.profile-sheet-open .cdk-overlay-container {
  z-index: 4500 !important;
}

/* Desktop/tablet: ensure the sheet is fully on-screen and centered
   Override the full-width mobile rule for the panel-class variant */
@media (min-width: 768px) {
  .profile-bottom-sheet-panel.cdk-overlay-pane {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(520px, calc(100vw - 48px)) !important; /* 24px inset each side */
  }
}

html,
body {
  height: 100%;
}

body {
  min-height: 100vh;
  margin: 0;
  width: 100%;
  max-width: 100%;
  font-family: Roboto, "Helvetica Neue", sans-serif;
  position: relative;
  z-index: 1;
  background: var(--color-bg) !important;
  color: var(--color-text);
  overflow-x: hidden;
  /* Add padding for bottom tab navigation on mobile */
  padding-bottom: var(--bottom-tab-height);

  /* Responsive header height adjustments */
  @media (max-width: 768px) {
    :root {
      --app-header-height: 56px;
      /* typical mobile toolbar height */
    }
  }
}

/* Remove bottom padding on desktop (bottom tabs become horizontal tabs below header) */
@media (min-width: 768px) {
  body {
    padding-bottom: 0;
  }
}

/* Ensure body remains visible when dialog is open */
html.cdk-global-scrollblock,
body.cdk-global-scrollblock {
  position: fixed !important;
  width: 100%;
  left: 0;
  right: 0;
  overflow-y: scroll !important;
  /* Keep scroll bar space reserved so content doesn't shift */
  overflow-x: hidden !important;
}

/* Prevent mobile browsers from zooming when focusing small-form inputs */
input,
textarea,
select,
.mat-input-element {
  font-size: 16px;
  line-height: 1.4;
}

@supports (-webkit-touch-callout: none) {

  input,
  textarea,
  select,
  .mat-input-element {
    font-size: 16px;
  }
}

/* Removed background-image.png and related styles */

/* Global background layers (moved from component to global for consistent theming and crossfade) */
:root {
  --bg-image-light: url('/assets/background-image.png');
  --bg-image-dark: url('/assets/background-image-dark.png');
  --bg-layer-opacity-transition: 400ms;
  /* Confirm modal title color â€” defaults to the main text color but can be overridden per-theme */
  --confirm-title-color: var(--color-text);
  /* Confirm modal theme variables (defaults taken from the global palette) */
  --confirm-bg: var(--color-card);
  --confirm-text-color: var(--color-text);
  --confirm-border-color: var(--color-header-bg);
  --confirm-danger-bg: var(--color-danger, #d32f2f);
  --confirm-danger-text: #fff;
  /* Global header height used for sticky elements (e.g., step progress bar) */
  --app-header-height: 64px;
  /* desktop default */
  /* Bottom Tab Navigation (mobile-first UX redesign) */
  --bottom-tab-height: 64px;
  --fab-bottom-offset: 80px;
  /* bottom-tab-height + 16px gap */
  --bottom-tab-stack-offset: calc(var(--bottom-tab-height, 64px) + 20px);
  /* Glass surface tokens (light theme defaults) */
  --glass-bg: rgba(255, 255, 255, 0.78);
  --glass-tint-strong: rgba(255, 255, 255, 0.95);
  --glass-tint-weak: rgba(255, 255, 255, 0.35);
  --glass-border: rgba(30, 30, 30, 0.12);
  --glass-shadow: 0 18px 46px rgba(15, 15, 15, 0.18);
  --glass-blur: 18px;
  /* Shared tab/button glass tokens */
  --tab-glass-inactive-bg: rgba(255, 255, 255, 0.25);
  --tab-glass-hover: rgba(255, 255, 255, 0.4);
  --tab-glass-active-bg: rgba(0, 0, 0, 0.82);
  --tab-glass-active-border: rgba(0, 0, 0, 0.25);
  --tab-glass-active-hover-bg: rgba(0, 0, 0, 0.9);
  --tab-glass-active-hover-border: rgba(0, 0, 0, 0.35);
  --glass-border-strong: rgba(30, 30, 30, 0.28);
  --glass-border-muted: rgba(30, 30, 30, 0.12);
  --glass-sheen: rgba(255, 255, 255, 0.55);
  --glass-press-shadow: 0 12px 34px rgba(15, 15, 15, 0.28);
  --glass-elevated-shadow: 0 18px 44px rgba(15, 15, 15, 0.22);
}

/* Default (light) values */
html {
  --bg-layer-light: var(--bg-image-light);
  --bg-layer-dark: var(--bg-image-dark);
}

/* When dark theme is active, we'll fade the dark layer in via opacity */
html[data-theme="dark"] {
  --bg-active: dark;
  /* Make confirm modal title white in dark theme */
  --confirm-title-color: #fff;
  /* Dark theme overrides for the confirm modal */
  --confirm-bg: var(--color-card);
  --confirm-text-color: var(--color-text);
  --confirm-border-color: rgba(255, 255, 255, 0.08);
  --confirm-danger-bg: #ef5350;
  --confirm-danger-text: #fff;
  /* Glass surface tokens tuned for dark theme */
  --glass-bg: rgba(18, 18, 18, 0.7);
  --glass-tint-strong: rgba(255, 255, 255, 0.16);
  --glass-tint-weak: rgba(0, 0, 0, 0.55);
  --glass-border: rgba(255, 255, 255, 0.18);
  --glass-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
  --tab-glass-inactive-bg: rgba(255, 255, 255, 0.05);
  --tab-glass-hover: rgba(255, 255, 255, 0.16);
  --tab-glass-active-bg: rgba(255, 255, 255, 0.92);
  --tab-glass-active-border: rgba(255, 255, 255, 0.45);
  --tab-glass-active-hover-bg: rgba(255, 255, 255, 0.98);
  --tab-glass-active-hover-border: rgba(255, 255, 255, 0.6);
  --glass-border-strong: rgba(255, 255, 255, 0.32);
  --glass-border-muted: rgba(255, 255, 255, 0.16);
  --glass-sheen: rgba(255, 255, 255, 0.22);
  --glass-press-shadow: 0 14px 40px rgba(0, 0, 0, 0.55);
  --glass-elevated-shadow: 0 22px 54px rgba(0, 0, 0, 0.68);
}

/* Glassmorphism utility surfaces inspired by iOS 17/18/19 HIG (forward compatible with iOS 26) */
.glass-surface {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 20px;
  box-shadow: var(--glass-elevated-shadow);
  backdrop-filter: blur(var(--glass-blur)) saturate(160%);
  color: var(--color-text);
  transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.25s ease;
}

.glass-surface--subtle {
  background: var(--tab-glass-inactive-bg);
  border-color: var(--glass-border-muted);
  box-shadow: none;
}

.glass-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 44px;
  min-width: 48px;
  padding: 0.6rem 1.05rem;
  border-radius: 18px;
  border: 1px solid var(--glass-border);
  background: var(--tab-glass-inactive-bg);
  color: var(--color-text);
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.015em;
  text-decoration: none;
  cursor: pointer;
  backdrop-filter: blur(calc(var(--glass-blur) * 0.55)) saturate(150%);
  box-shadow: var(--glass-shadow);
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.18s ease;
  outline: none;
}

.glass-button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.glass-button:active {
  transform: scale(0.96);
  box-shadow: var(--glass-press-shadow);
}

.glass-button:disabled,
.glass-button[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
}

.glass-button mat-icon,
.glass-button .material-icons {
  font-size: 22px;
  width: 22px;
  height: 22px;
}

.glass-button--primary {
  background: var(--tab-glass-active-bg);
  border-color: var(--tab-glass-active-border);
  color: #fff;
  box-shadow: var(--glass-elevated-shadow);
}

[data-theme='dark'] .glass-button--primary {
  color: #000;
}

.glass-button--danger {
  background: rgba(229, 57, 53, 0.9);
  border-color: rgba(229, 57, 53, 0.52);
  color: #fff;
  box-shadow: 0 16px 36px rgba(229, 57, 53, 0.38);
}

.glass-button--ghost {
  background: transparent;
  border-color: var(--glass-border-muted);
}

.glass-icon-button {
  width: clamp(42px, 11vw, 48px);
  height: clamp(42px, 11vw, 48px);
  padding: clamp(0.45rem, 2.6vw, 0.6rem);
  border-radius: 16px;
}

.glass-input,
.glass-textarea,
.glass-select {
  width: 100%;
  padding: 0.85rem 1rem;
  border-radius: 16px;
  border: 1px solid var(--glass-border-muted);
  background: var(--glass-bg);
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.45;
  backdrop-filter: blur(calc(var(--glass-blur) * 0.45)) saturate(140%);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.3s ease;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.glass-input::placeholder,
.glass-textarea::placeholder {
  color: rgba(99, 99, 99, 0.65);
}

[data-theme='dark'] .glass-input::placeholder,
[data-theme='dark'] .glass-textarea::placeholder {
  color: rgba(220, 220, 220, 0.45);
}

.glass-input:focus,
.glass-textarea:focus,
.glass-select:focus {
  outline: none;
  border-color: var(--tab-glass-active-border);
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.12);
}

.glass-input.error,
.glass-textarea.error {
  border-color: var(--color-error);
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.18);
}

.glass-input:disabled,
.glass-textarea:disabled,
.glass-select:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.glass-toast {
  border-radius: 18px;
  padding: 1rem 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border-muted);
  box-shadow: var(--glass-elevated-shadow);
  color: var(--color-text);
}

.glass-progress {
  background: var(--glass-bg);
  border-radius: 999px;
  border: 1px solid var(--glass-border-muted);
  backdrop-filter: blur(calc(var(--glass-blur) * 0.4)) saturate(140%);
}

.glass-step {
  background: var(--tab-glass-inactive-bg);
  border: 1px solid var(--glass-border-muted);
  border-radius: 999px;
  backdrop-filter: blur(calc(var(--glass-blur) * 0.5)) saturate(150%);
  color: var(--color-text);
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.glass-step.active {
  background: var(--tab-glass-active-bg);
  border-color: var(--tab-glass-active-border);
  color: #fff;
  box-shadow: var(--glass-elevated-shadow);
}

[data-theme='dark'] .glass-step.active {
  color: #000;
}

@media (hover: hover) {
  .glass-button:not(:disabled):not(.glass-button--primary):not(.glass-button--danger):hover {
    background: var(--tab-glass-hover);
    border-color: var(--glass-border-muted);
  }

  .glass-button--primary:not(:disabled):hover {
    background: var(--tab-glass-active-hover-bg);
    border-color: var(--tab-glass-active-hover-border, var(--tab-glass-active-border));
  }

  .glass-button--ghost:not(:disabled):hover {
    border-color: var(--glass-border-strong);
  }

  .glass-button--danger:not(:disabled):hover {
    background: rgba(229, 57, 53, 0.94);
    border-color: rgba(229, 57, 53, 0.6);
  }
}

@media (prefers-reduced-transparency: reduce) {

  .glass-surface,
  .glass-button,
  .glass-input,
  .glass-textarea,
  .glass-select,
  .glass-toast,
  .glass-progress,
  .glass-step {
    backdrop-filter: none !important;
  }
}

/* High-specificity override for the dialog title element to ensure theme-aware color wins
   Use ID selector (from template) combined with mat-dialog-title attribute to be extra specific */
#confirm-title[mat-dialog-title] {
  color: var(--confirm-title-color, var(--color-text));
}

/* Dark mode explicit override in case any very-specific dark-mode rules exist elsewhere */
html[data-theme="dark"] #confirm-title[mat-dialog-title] {
  color: var(--confirm-title-color, #fff);
}

.glass-surface {
  background-color: var(--glass-bg);
  background-image: linear-gradient(135deg, var(--glass-tint-strong), var(--glass-tint-weak));
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  backdrop-filter: blur(var(--glass-blur)) saturate(160%);
  transition: background-color 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

@supports not (backdrop-filter: blur(0)) {
  .glass-surface {
    background-image: none;
    background-color: var(--color-card);
    border-color: var(--color-header-bg);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
  }

  [data-theme="dark"] .glass-surface {
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
  }
}

@media (prefers-reduced-transparency: reduce) {
  .glass-surface {
    background-image: none;
    backdrop-filter: none;
  }
}

/* Container: sits behind app content and holds two positioned layers */
.global-background {
  position: fixed;
  inset: 0;
  /* top:0; right:0; bottom:0; left:0 */
  width: 100vw;
  height: 100vh;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}

.global-background__layer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-repeat: no-repeat;
  background-size: 900px auto;
  will-change: opacity, filter, transform;
  transition: opacity var(--bg-layer-opacity-transition) ease, filter var(--bg-layer-opacity-transition) ease;
  opacity: 0;
}

/* Light layer (visible in light theme) */
.global-background__layer--light {
  background-image: linear-gradient(rgba(255, 255, 255, 0.0), rgba(255, 255, 255, 0.0)), var(--bg-layer-light);
  opacity: 1;
  /* default visible */
  transform-origin: center;
  /* Use same transforms used previously for the ::before to keep layout */
  background-position: 30% 28%;
}

/* Dark layer (fades in when html[data-theme="dark"]) */
.global-background__layer--dark {
  background-image: linear-gradient(rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)), var(--bg-layer-dark);
  opacity: 0;
  /* hidden by default */
  transform-origin: center;
  background-position: 70% 64%;
  filter: brightness(0.92) contrast(0.98) saturate(0.9);
}

/* Crossfade: when dark theme is active, show dark layer and dim light layer */
html[data-theme="dark"] .global-background__layer--dark {
  opacity: 1;
}

html[data-theme="dark"] .global-background__layer--light {
  opacity: 0;
  filter: brightness(0.85) saturate(0.9);
}

/* Ensure background layers never render above dialogs in dark mode and don't block visuals */
html[data-theme="dark"] .global-background,
html[data-theme="dark"] .global-background__layer {
  z-index: 0 !important;
  pointer-events: none !important;
  mix-blend-mode: multiply;
  /* reduce chance of bright white wash over dark UI */
}

/* Force dialog header color in dark theme to be visible above decorative layers */
html[data-theme="dark"] .mat-dialog-container .role-skill-dialog-header h2,
html[data-theme="dark"] .mat-mdc-dialog-container .role-skill-dialog-header h2 {
  color: var(--color-text, #fff) !important;
  -webkit-text-fill-color: var(--color-text, #fff) !important;
  /* safeguard for some browsers */
}

/* Apply dark background to dialog container in dark theme */
html[data-theme="dark"] .mat-dialog-container,
html[data-theme="dark"] .mat-mdc-dialog-container {
  background: transparent !important;
    color: inherit !important;
}

/* Ensure dialog header has proper background and isolation */
html[data-theme="dark"] .mat-dialog-container .role-skill-dialog-header,
html[data-theme="dark"] .mat-mdc-dialog-container .role-skill-dialog-header {
  background-color: #1e1e1e !important;
  isolation: isolate !important;
  /* Prevent any background layer blending from affecting this element */
}

/* Ensure all text elements in the dialog are visible in dark theme */
html[data-theme="dark"] .role-skill-dialog-container h3,
html[data-theme="dark"] .role-skill-dialog-container .hint,
html[data-theme="dark"] .role-skill-dialog-container .info-icon {
  color: #ffffff !important;
}

/* Positioning variants to emulate the original ::before / ::after shapes */
.global-background__layer--light {
  clip-path: none;
}

.global-background__layer--light {
  /* top-left tilted shape */
  background-size: 1050px auto;
  transform: rotate(-16deg) scale(1.08);
  left: -30vw;
  top: -20vh;
  width: 85vw;
  height: 85vh;
  background-position: 30% 28%;
}

.global-background__layer--dark {
  /* bottom-right tilted shape */
  background-size: 820px auto;
  transform: rotate(18deg) scale(0.98);
  right: -25vw;
  bottom: -18vh;
  width: 70vw;
  height: 70vh;
  background-position: 70% 64%;
}

@media (max-width: 768px) {
  .global-background__layer--light {
    width: 120vw;
    height: 80vh;
    left: -45vw;
    top: -24vh;
    transform: rotate(-16deg) scale(1.12);
    background-size: 1000px auto;
  }

  .global-background__layer--dark {
    width: 100vw;
    height: 60vh;
    right: -45vw;
    bottom: -26vh;
    transform: rotate(18deg) scale(1.04);
    background-size: 900px auto;
  }
}

@media (max-width: 480px) {
  .global-background__layer--light {
    width: 135vw;
    height: 78vh;
    left: -55vw;
    top: -26vh;
    background-size: 980px auto;
  }

  .global-background__layer--dark {
    width: 115vw;
    height: 58vh;
    right: -55vw;
    bottom: -28vh;
    background-size: 860px auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .global-background__layer {
    transition: none !important;
  }
}

/* Global button row and button styles */
.button-row {
  display: flex;
  gap: 1em;
  margin-bottom: 1.5em;
}

/* --- Unified Modern Button Styles for .global-btn (Everywhere) --- */
.global-btn {
  background: #fff;
  color: #000;
  border: 2px solid #000;
  border-radius: 10px;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.10);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
  padding: 0.8em 1.6em;
  font-size: 1em;
  cursor: pointer;
}

.global-btn:hover,
.global-btn:focus {
  background: #000;
  color: #fff;
  border-color: #000;
  transform: translateY(-2px) scale(1.04);
}

.global-btn:focus-visible {
  box-shadow: 0 0 0 2px #1976d2;
}

.global-btn:disabled,
.global-btn[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  background: #fff;
  color: #000;
  border-color: #000;
  transform: none;
}

.global-btn.primary {
  background: #000;
  color: #fff;
  border: 2px solid #000;
}

.global-btn.primary:hover,
.global-btn.primary:focus {
  background: #222;
  color: #fff;
  border-color: #222;
}

.global-btn.secondary {
  background: transparent;
  color: #000;
  border: 2px solid #000;
  box-shadow: none;
}

.global-btn.secondary:hover,
.global-btn.secondary:focus {
  background: #000;
  color: #fff;
  border-color: #000;
}

.global-btn.danger {
  background: #d32f2f;
  color: #fff;
  border: 2px solid #d32f2f;
}

.global-btn.danger:hover,
.global-btn.danger:focus {
  background: #b71c1c;
  color: #fff;
  border-color: #b71c1c;
}

[data-theme="dark"] .global-btn {
  background: #000;
  color: #fff;
  border: 2px solid #fff;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

[data-theme="dark"] .global-btn:hover,
[data-theme="dark"] .global-btn:focus {
  background: #fff;
  color: #000;
  border-color: #fff;
}

[data-theme="dark"] .global-btn:focus-visible {
  box-shadow: 0 0 0 2px #90caf9;
}

[data-theme="dark"] .global-btn:disabled,
[data-theme="dark"] .global-btn[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  background: #000;
  color: #fff;
  border-color: #fff;
  transform: none;
}

[data-theme="dark"] .global-btn.primary {
  background: #fff;
  color: #000;
  border: 2px solid #fff;
}

[data-theme="dark"] .global-btn.primary:hover,
[data-theme="dark"] .global-btn.primary:focus {
  background: #e0e0e0;
  color: #000;
  border-color: #e0e0e0;
}

[data-theme="dark"] .global-btn.secondary {
  background: transparent;
  color: #fff;
  border: 2px solid #fff;
  box-shadow: none;
}

[data-theme="dark"] .global-btn.secondary:hover,
[data-theme="dark"] .global-btn.secondary:focus {
  background: #fff;
  color: #000;
  border-color: #fff;
}

[data-theme="dark"] .global-btn.danger {
  background: #ef5350;
  color: #fff;
  border: 2px solid #ef5350;
}

[data-theme="dark"] .global-btn.danger:hover,
[data-theme="dark"] .global-btn.danger:focus {
  background: #d32f2f;
  color: #fff;
  border-color: #d32f2f;
}

/* Global alert styles */
.alert {
  padding: 1rem;
  border-radius: 6px;
  margin-bottom: 1rem;
  text-align: center;
}

.alert-success {
  background: rgba(76, 175, 80, 0.1);
  color: #4caf50;
  border: 1px solid rgba(76, 175, 80, 0.3);
}

.alert-danger {
  background: rgba(244, 67, 54, 0.1);
  color: var(--color-error);
  border: 1px solid rgba(244, 67, 54, 0.3);
}

/* You can add more button variants here if needed */

/* Unified card and grid styles for all selection steps */
.selection-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 1rem 0;
  justify-items: stretch;
  align-items: stretch;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}

@media (max-width: 380px) {
  .selection-grid {
    grid-template-columns: 1fr;
  }
}

/* Compact card sizing when used in selection grids */
.selection-grid .card-unified {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0.8rem;
  min-height: 76px;
  font-size: 1rem;
  box-sizing: border-box;
  /* include borders in width */
}

.selection-grid .card-unified:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* --- Unified Card Styles for All Selection Steps --- */
.card-unified {
  background: #fff;
  color: #000;
  border-radius: 10px;
  border: 2px solid #000;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
  padding: 1.2em 1em;
  margin-bottom: 1.2em;
  max-width: 100%;
  min-height: 76px;
  font-size: 1.1em;
  cursor: pointer;
  transition: box-shadow 0.2s, transform 0.2s, background 0.2s, color 0.2s, border 0.2s;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
}

.card-unified:hover,
.card-unified:focus {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.13);
  background: #f5f5f5;
  color: #1976d2;
  border-color: #1976d2;
  outline: none;
  transform: translateY(-2px) scale(1.02);
}

.card-unified:focus-visible {
  box-shadow: 0 0 0 2px #1976d2;
}

[data-theme="dark"] .card-unified {
  background: #000;
  color: #fff;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

[data-theme="dark"] .card-unified:hover,
[data-theme="dark"] .card-unified:focus {
  background: #222;
  color: #90caf9;
  border-color: #90caf9;
}

[data-theme="dark"] .card-unified:focus-visible {
  box-shadow: 0 0 0 2px #90caf9;
}

/* Pill-shaped card variant */
.pill-checkbox {
  border-radius: 20px;
  padding: 0.65rem 1rem;
  background: #fff;
  color: #000;
  border: 2px solid #000;
  font-size: 0.95rem;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, color 0.2s, border 0.2s;
  text-align: center;
  min-height: 44px;
  cursor: pointer;
}

.pill-checkbox.selected,
.pill-checkbox:focus,
.pill-checkbox:hover {
  background: #e3f2fd;
  color: #1976d2;
  border-color: #1976d2;
}

[data-theme="dark"] .pill-checkbox {
  background: #000;
  color: #fff;
  border: 2px solid #fff;
}

[data-theme="dark"] .pill-checkbox.selected,
[data-theme="dark"] .pill-checkbox:focus,
[data-theme="dark"] .pill-checkbox:hover {
  background: #222;
  color: #90caf9;
  border-color: #90caf9;
}

/* Remove redundant/old card color rules below (if any) */

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 0.7em;
  font-size: 1em;
  cursor: pointer;
  width: 100%;
  justify-content: center;
}

.checkbox-label input[type="checkbox"] {
  accent-color: #1976d2;
  width: 1.1em;
  height: 1.1em;
}

@media (max-width: 600px) {
  .selection-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;
    padding: 1em 0;
  }

  .card-unified {
    font-size: 1em;
    min-height: 80px;
  }
}

.badge-unified {
  background: #000;
  color: #fff;
  border-radius: 12px;
  padding: 0.3rem 0.75rem;
  font-size: 0.85rem;
  display: inline-block;
  font-weight: 500;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.badge-unified:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.badge-unified.soft-skill {
  background: #fff;
  color: #000;
  border: 1.5px solid #000;
}

.badge-unified.soft {
  background: #43a047;
}

/* Role badges - inverted from soft skills */
.badge-unified.role-badge {
  background: #000;
  color: #fff;
  border: 1.5px solid #000;
}

/* Dark theme support */
[data-theme="dark"] .badge-unified {
  background: #fff;
  color: #000;
}

/* Native-like scrolling and gesture behavior for PWA */
html, body {
  -webkit-text-size-adjust: 100%; /* prevent iOS font auto-zoom */
  overscroll-behavior-y: none;    /* disable pull-to-refresh feel */
  touch-action: manipulation;     /* reduce double-tap zoom on interactive elements */
}

/* Keep Soft badges white-on-green in dark mode (match light mode) */
[data-theme="dark"] .badge-unified.soft {
  background: #43a047;
  color: #fff;
  /* no border for parity with light mode soft badge */
}

[data-theme="dark"] .badge-unified.soft-skill {
  background: #000;
  color: #fff;
  border: 1.5px solid #fff;
}

[data-theme="dark"] .badge-unified.role-badge {
  background: #fff;
  color: #000;
  border: 1.5px solid #fff;
}

.selected-skills-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4em 0.3em;
  margin-top: 0.7em;
  justify-content: center;
}

/* Unified button styles for all card components */
.success-message-button {
  padding: 10px 20px;
  margin-top: 20px;
  background-color: #1976d2;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.success-message-button:hover {
  background-color: #125ea2;
  transform: translateY(-2px) scale(1.04);
}

/* Responsive styles for card components */
@media (max-width: 768px) {
  .card-unified {
    flex-basis: calc(50% - 20px);
  }
}

@media (max-width: 480px) {
  .card-unified {
    flex-basis: calc(100% - 20px);
  }
}

/* Specific styles for idea and expert cards */
.idea-card,
.expert-card {
  flex: 1 1 300px;
  max-width: 300px;
  background-color: #ccc;
  padding: 15px;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
  margin-bottom: 20px;
}

.idea-card:hover,
.expert-card:hover {
  background-color: lightgreen;
}

.idea-card h2,
.expert-card h2 {
  font-weight: bold;
}

.idea-card .skills,
.expert-card .skills {
  font-style: italic;
}

/* Unified form container */
.form-unified {
  width: 100%;
  max-width: 600px;
  margin: 2em auto;
  padding: 24px 24px;
  border: 1px solid var(--color-header-bg);
  border-radius: 8px;
  background: var(--color-card);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  box-sizing: border-box;
}

@media (max-width: 600px) {
  .form-unified {
    max-width: 100vw;
    width: 100vw;
    margin: 0;
    padding-left: max(5vw, 12px);
    padding-right: max(5vw, 12px);
    padding-top: 16px;
    padding-bottom: 16px;
    border-radius: 0;
  }
}

/* Unified label */
.form-label {
  font-weight: bold;
}

/* Unified input, textarea, select, file */
.form-input,
.form-unified input[type="text"],
.form-unified input[type="number"],
.form-unified input[type="date"],
.form-unified input[type="file"],
.form-unified textarea,
.form-unified select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid var(--color-header-bg);
  border-radius: 5px;
  background: var(--color-bg);
  color: var(--color-text);
}

/* Unified error message */
.form-error {
  color: var(--color-error);
  font-weight: bold;
  margin-top: 5px;
  font-size: 0.9rem;
}

/* Unified char counter */
.form-char-counter {
  font-size: 0.95em;
  color: var(--color-text);
  text-align: right;
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}

.small-badges .badge-unified {
  font-size: 0.85em;
  padding: 0.13em 0.7em;
  margin-right: 0.25em;
  margin-bottom: 0.15em;
}

.selected-skills-badges.small-badges {
  margin-top: 0.3em;
  text-align: center;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 0.4em;
}

/* Responsive: Hide sticky bar with desktop-nav-only class on mobile */
.desktop-nav-only,
app-sticky-button-bar.desktop-nav-only {
  display: none !important;
}

@media (min-width: 768px) {

  .desktop-nav-only,
  app-sticky-button-bar.desktop-nav-only {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 900 !important;
  }
}

.global-btn.primary {
  background: #000;
  color: #fff;
}

/* Confirmation Card (used for delete confirmations etc.) */
.confirm-card {
  background: var(--color-card);
  color: var(--color-text);
  border: 2px solid rgba(0, 0, 0, 0.8);
  border-radius: 14px;
  padding: 1.25rem 1.25rem 1rem 1.25rem;
  margin: 1rem auto;
  max-width: 560px;
  text-align: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.confirm-card .confirm-title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-weight: 800;
  font-size: 1.15rem;
  margin: 0 0 0.5rem 0;
}

.confirm-card .confirm-text {
  margin: 0.25rem 0 0.75rem 0;
  line-height: 1.5;
}

.confirm-card .button-row {
  justify-content: center;
}

/* Variant: dangerous action emphasis (keeps Delete button red) */
.confirm-card.danger .confirm-title {
  color: #d32f2f;
}

[data-theme="dark"] .confirm-card {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
  border-color: rgba(255, 255, 255, 0.8);
}

/* Pill selection style (Figma-style rounded list) */
.pill-selection {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.1rem;
  max-width: 720px;
  margin: 0 auto;
}

@media (max-width: 380px) {
  .pill-selection {
    grid-template-columns: 1fr;
    max-width: 420px;
  }
}

.pill-selection .card-unified {
  background: var(--color-bg);
  color: var(--color-text);
  border: 2px solid rgba(0, 0, 0, 0.8);
  border-radius: 14px;
  padding: 0.7rem 0.9rem;
  max-width: 100%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
  transform: none;
  box-sizing: border-box;
  /* prevent overflow into neighbor cell */
}

.pill-selection .card-unified:hover {
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}

.pill-selection .card-unified .checkbox-label {
  width: 100%;
  justify-content: center;
  font-weight: 700;
}

.pill-selection .card-unified:focus-within {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Make internal checkboxes visually hidden but accessible */
.pill-selection .card-unified input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Selected/active state: reverse background and text color */
.card-unified.selected,
.card-unified[aria-checked="true"],
.pill-checkbox.selected,
.pill-checkbox[aria-checked="true"] {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

[data-theme="dark"] .card-unified.selected,
[data-theme="dark"] .card-unified[aria-checked="true"],
[data-theme="dark"] .pill-checkbox.selected,
[data-theme="dark"] .pill-checkbox[aria-checked="true"] {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
}

/* Dark theme for pill selection */
[data-theme="dark"] .pill-selection .card-unified {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.8);
}

[data-theme="dark"] .pill-selection .card-unified[aria-checked="true"],
[data-theme="dark"] .pill-selection .card-unified.selected {
  background: var(--color-primary);
  color: var(--color-bg);
  border-color: var(--color-primary);
}

/* Skills dialog pills */
.checkbox-label.pill,
.pill-checkbox {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  padding: 0.8rem 1rem;
  margin: 0.5rem 0;
  border: 2px solid rgba(0, 0, 0, 0.8);
  border-radius: 14px;
  background: var(--color-bg);
  color: var(--color-text);
  font-weight: 700;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
}

.checkbox-label.pill input[type="checkbox"],
.pill-checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.checkbox-label.pill.selected,
.pill-checkbox.selected {
  background: #000;
  color: #fff;
  border-color: #000;
}

[data-theme="dark"] .checkbox-label.pill,
[data-theme="dark"] .pill-checkbox {
  border-color: rgba(255, 255, 255, 0.8);
}

[data-theme="dark"] .checkbox-label.pill.selected,
[data-theme="dark"] .pill-checkbox.selected {
  background: var(--color-primary);
  color: var(--color-bg);
  border-color: var(--color-primary);
}

/* Expert choose skills page: ensure light theme pills are white with dark text */
.create-expert-container .pill-checkbox:not(.selected),
.create-expert-container .checkbox-label.pill:not(.selected) {
  background: #fff;
  color: #000;
}

.create-expert-container .pill-checkbox.selected,
.create-expert-container .checkbox-label.pill.selected {
  background: #000;
  color: #fff;
  border-color: #000;
}

[data-theme="dark"] .create-expert-container .pill-checkbox,
[data-theme="dark"] .create-expert-container .checkbox-label.pill {
  background: var(--color-bg);
  color: var(--color-text);
}

/* Enforce visual states on Expert Skills (wins over earlier generic rules) */
.create-expert-container .skills-column .pill-checkbox,
.create-expert-container .skills-column .checkbox-label.pill {
  background: #fff !important;
  color: #000 !important;
}

.create-expert-container .skills-column .pill-checkbox.selected,
.create-expert-container .skills-column .checkbox-label.pill.selected {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

/* Make skill lists two-column without changing markup */
.skills-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem 0.75rem;
}

.skills-column h3,
.skills-column .skills-hint,
.skills-column .skills-error {
  grid-column: 1 / -1;
}

.skills-column>div {
  width: 100%;
}

.skills-column label,
.skills-column .pill-checkbox,
.skills-column .checkbox-label.pill {
  width: 100%;
}

@media (max-width: 600px) {
  .skills-column {
    grid-template-columns: 1fr;
  }
}


/* Secondary: outline/ghost style */
.global-btn.secondary {
  background: transparent;
  color: #000;
  border: 2px solid #000;
  box-shadow: none;
}

.global-btn.secondary:hover {
  background: #000;
  color: #fff;
}

/* Destructive action button */
.global-btn.danger {
  background: #d32f2f;
  color: #fff;
}

.global-btn.danger:hover {
  background: #b71c1c;
}

/* Dark theme button support - REMOVED conflicting rules that used blue colors */

@media (max-width: 600px) {
  .sort-toolbar {
    top: 64px;
    margin-top: 8px;
    padding: 0.5rem 0.5rem;
    margin-bottom: 1rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.13);
  }

  .toolbar-inner {
    flex-direction: column;
    gap: 0.75rem;
    align-items: stretch;
  }

  .sort-select {
    min-width: 100px;
    max-width: 100vw;
    width: 100%;
    font-size: 1rem;
  }
}

/* Accessibility utility */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Visible focus styles for keyboard users */
.global-btn:focus-visible,
.tab-item:focus-visible,
.fab:focus-visible,
.header .logo:focus-visible,
.header .account-icon:focus-visible,
button:focus-visible,
a.skip-link:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Globalized App Header styles (moved from component to reduce per-file size) */
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: transparent;
  /* blend with global background */
  padding: 0.75rem 1.5rem;
  box-shadow: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  z-index: 2000;
  height: 60px;
  box-sizing: border-box;
  /* Include padding in height calculation */
  position: fixed;
  top: env(safe-area-inset-top, 0);
  /* Respect iOS notch and Android status bar */
  left: 0;
  right: 0;
  backdrop-filter: blur(6px) saturate(1.1);
  color: var(--color-text);
}

.left-section,
.right-section {
  flex: 1;
  display: flex;
  align-items: center;
}

.right-section {
  justify-content: flex-end;
}

.logo {
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 0.5rem;
  border-radius: 6px;
  transition: background-color 0.2s;
  outline: none;
}

.logo:hover,
.logo:focus {
  background-color: rgba(255, 255, 255, 0.1);
}

.logo:focus-visible {
  box-shadow: 0 0 0 2px var(--color-primary);
}

.account-icon,
.menu-icon {
  cursor: pointer;
  margin-left: 0.75rem;
  position: relative;
  display: flex;
  align-items: center;
  height: 40px;
  width: 40px;
  justify-content: center;
  border-radius: 6px;
  transition: background-color 0.2s;
  outline: none;
}

.account-icon mat-icon,
.menu-icon mat-icon {
  font-size: 1.5rem;
  color: #000 !important;
  transition: color 0.2s;
}

.account-icon:hover,
.menu-icon:hover,
.account-icon:focus,
.menu-icon:focus {
  background-color: rgba(255, 255, 255, 0.1);
}

.account-icon:hover mat-icon,
.menu-icon:hover mat-icon,
.account-icon:focus mat-icon,
.menu-icon:focus mat-icon {
  color: #1976d2 !important;
}

.account-icon:focus-visible,
.menu-icon:focus-visible {
  box-shadow: 0 0 0 2px #1976d2;
}

.actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.separator {
  width: 1px;
  height: 24px;
  background-color: rgba(255, 255, 255, 0.2);
  margin: 0 0.5rem;
}

.menu,
.account-modal,
.dropdown-menu {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  background-color: var(--color-card);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border: 1px solid var(--color-header-bg);
  padding: 0.75rem;
  border-radius: 8px;
  white-space: nowrap;
  display: none;
  z-index: 1000;
  min-width: 200px;
  color: var(--color-text);
}

.menu.open,
.account-modal.open,
.dropdown-menu.open {
  display: block;
}

.menu ul,
.dropdown-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu li,
.dropdown-menu li {
  margin-bottom: 0.25rem;
}

.menu li:last-child,
.dropdown-menu li:last-child {
  margin-bottom: 0;
}

.menu li {
  cursor: pointer;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  transition: background-color 0.2s;
  outline: none;
}

.menu li:hover,
.menu li:focus {
  background-color: var(--color-primary-hover);
  color: var(--color-primary);
}

.menu li:focus-visible {
  box-shadow: 0 0 0 2px var(--color-primary);
}

.dropdown-menu button {
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  cursor: pointer;
  color: var(--color-text);
  transition: background-color 0.2s;
  outline: none;
}

.dropdown-menu button:hover,
.dropdown-menu button:focus {
  background-color: var(--color-primary-hover);
  color: var(--color-primary);
}

.dropdown-menu button:focus-visible {
  box-shadow: 0 0 0 2px var(--color-primary);
}

.theme-switcher-container {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--color-header-bg);
}

.theme-switcher-container:focus,
.theme-switcher-container:focus-visible {
  outline: none;
  background-color: transparent;
}

.theme-switcher-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  justify-content: center;
}

.theme-switcher-row:focus,
.theme-switcher-row:focus-visible {
  outline: none;
  background-color: transparent;
}

.theme-switcher-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-text);
  font: inherit;
  padding: 0.5rem;
  display: flex;
  align-items: center;
  border-radius: 6px;
  transition: background-color 0.2s, color 0.2s;
  outline: none;
}

.theme-switcher-btn:hover,
.theme-switcher-btn:focus {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--color-text);
}

.theme-switcher-btn:focus-visible {
  box-shadow: 0 0 0 2px var(--color-text);
}

.theme-switcher-icon {
  font-size: 1.25rem !important;
  color: var(--color-text) !important;
}

/* Override Angular Material icon defaults for theme switcher with higher specificity */
.theme-switcher-container .theme-switcher-btn mat-icon,
.theme-switcher-row .theme-switcher-btn mat-icon,
button.theme-switcher-btn mat-icon {
  color: var(--color-text) !important;
}

.theme-switcher-container .theme-icon-dark,
.theme-switcher-container .theme-icon-light,
.theme-switcher-container .theme-icon-system,
.theme-switcher-row .theme-icon-dark,
.theme-switcher-row .theme-icon-light,
.theme-switcher-row .theme-icon-system {
  color: var(--color-text) !important;
}

.theme-switcher-separator {
  width: 1px;
  height: 20px;
  background-color: var(--color-header-bg);
  margin: 0 0.25rem;
}

/* Dark theme overrides for theme switcher */
[data-theme="dark"] .theme-switcher-btn {
  color: #fff;
}

[data-theme="dark"] .theme-switcher-btn:hover,
[data-theme="dark"] .theme-switcher-btn:focus {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}

[data-theme="dark"] .theme-switcher-btn:focus-visible {
  box-shadow: 0 0 0 2px #fff;
}

[data-theme="dark"] .theme-switcher-icon {
  color: #fff !important;
}

/* Dark theme overrides for Angular Material icons in theme switcher with higher specificity */
[data-theme="dark"] .theme-switcher-container .theme-switcher-btn mat-icon,
[data-theme="dark"] .theme-switcher-row .theme-switcher-btn mat-icon,
[data-theme="dark"] button.theme-switcher-btn mat-icon {
  color: #fff !important;
}

[data-theme="dark"] .theme-switcher-container .theme-icon-dark,
[data-theme="dark"] .theme-switcher-container .theme-icon-light,
[data-theme="dark"] .theme-switcher-container .theme-icon-system,
[data-theme="dark"] .theme-switcher-row .theme-icon-dark,
[data-theme="dark"] .theme-switcher-row .theme-icon-light,
[data-theme="dark"] .theme-switcher-row .theme-icon-system {
  color: #fff !important;
}

/* Active theme button styling - ensure it overrides hover/focus states */
.active-theme {
  background-color: var(--color-primary) !important;
  border-radius: 6px;
  color: #fff !important;
}

.active-theme:hover,
.active-theme:focus {
  background-color: var(--color-primary) !important;
  color: #fff !important;
}

.active-theme:focus-visible {
  box-shadow: 0 0 0 2px #fff !important;
}

.active-theme .theme-switcher-icon {
  color: #fff !important;
}

.active-theme .theme-icon-dark,
.active-theme .theme-icon-light,
.active-theme .theme-icon-system {
  color: #fff !important;
}

/* Override Angular Material icons in active theme state with higher specificity */
.theme-switcher-container .active-theme mat-icon,
.theme-switcher-row .active-theme mat-icon,
button.active-theme mat-icon {
  color: #fff !important;
}

/* Dark theme active state - ensure it overrides hover/focus states */
[data-theme="dark"] .active-theme {
  background-color: var(--color-primary) !important;
  color: #fff !important;
}

[data-theme="dark"] .active-theme:hover,
[data-theme="dark"] .active-theme:focus {
  background-color: var(--color-primary) !important;
  color: #fff !important;
}

[data-theme="dark"] .active-theme:focus-visible {
  box-shadow: 0 0 0 2px #fff !important;
}

[data-theme="dark"] .active-theme .theme-switcher-icon {
  color: #fff !important;
}

[data-theme="dark"] .active-theme .theme-icon-dark,
[data-theme="dark"] .active-theme .theme-icon-light,
[data-theme="dark"] .active-theme .theme-icon-system {
  color: #fff !important;
}

/* Dark theme override for Angular Material icons in active state with higher specificity */
[data-theme="dark"] .theme-switcher-container .active-theme mat-icon,
[data-theme="dark"] .theme-switcher-row .active-theme mat-icon,
[data-theme="dark"] button.active-theme mat-icon {
  color: #fff !important;
}

/* NUCLEAR OPTION: Maximum specificity override for Angular Material theme switcher icons */
html body .theme-switcher-container .theme-switcher-row button.theme-switcher-btn mat-icon.theme-switcher-icon,
html body .theme-switcher-container .theme-switcher-row button.theme-switcher-btn mat-icon.theme-icon-dark,
html body .theme-switcher-container .theme-switcher-row button.theme-switcher-btn mat-icon.theme-icon-light,
html body .theme-switcher-container .theme-switcher-row button.theme-switcher-btn mat-icon.theme-icon-system {
  color: var(--color-text) !important;
}

html body[data-theme="dark"] .theme-switcher-container .theme-switcher-row button.theme-switcher-btn mat-icon.theme-switcher-icon,
html body[data-theme="dark"] .theme-switcher-container .theme-switcher-row button.theme-switcher-btn mat-icon.theme-icon-dark,
html body[data-theme="dark"] .theme-switcher-container .theme-switcher-row button.theme-switcher-btn mat-icon.theme-icon-light,
html body[data-theme="dark"] .theme-switcher-container .theme-switcher-row button.theme-switcher-btn mat-icon.theme-icon-system {
  color: #fff !important;
}

html body .theme-switcher-container .theme-switcher-row button.active-theme mat-icon.theme-switcher-icon,
html body .theme-switcher-container .theme-switcher-row button.active-theme mat-icon.theme-icon-dark,
html body .theme-switcher-container .theme-switcher-row button.active-theme mat-icon.theme-icon-light,
html body .theme-switcher-container .theme-switcher-row button.active-theme mat-icon.theme-icon-system {
  color: #fff !important;
}

/* Responsive theme switcher styles */
@media (max-width: 768px) {
  .theme-switcher-btn {
    padding: 0.4rem;
  }

  .theme-switcher-icon {
    font-size: 1.1rem !important;
  }
}

@media (max-width: 480px) {
  .theme-switcher-btn {
    padding: 0.3rem;
  }

  .theme-switcher-icon {
    font-size: 1rem !important;
  }
}

.form-btn {
  display: block;
  margin: 20px auto 0 auto;
  width: 100%;
  max-width: 350px;
}

/* --- SkillInvest Logo Styles (shared) --- */
.logo {
  cursor: pointer;
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: 1px;
  -webkit-user-select: none;
  user-select: none;
}

.logo-mat-icon {
  font-size: 1.7rem;
  margin: 0 4px 0 4px;
  background: var(--logo-mat-icon-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(var(--logo-mat-icon-shadow));
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.logo-skill {
  background: var(--logo-skill-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  font-weight: 700;
  font-family: "Montserrat", "Segoe UI", Arial, sans-serif;
  font-size: 1.4rem;
  letter-spacing: 1.5px;
  text-shadow: var(--logo-skill-shadow);
}

.logo-invest {
  background: var(--logo-invest-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  font-weight: 900;
  font-family: "Montserrat", "Segoe UI", Arial, sans-serif;
  font-size: 1.4rem;
  margin-left: 1px;
  letter-spacing: 1.5px;
  text-shadow: var(--logo-invest-shadow);
  padding-bottom: 1px;
}

/* --- End SkillInvest Logo Styles --- */

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: transparent;
  padding: 10px 20px;
  box-shadow: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  z-index: 2000;
  height: 60px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.menu-icon mat-icon,
.account-icon mat-icon {
  font-size: 2.2rem;
  color: var(--color-header-icon);
  vertical-align: middle;
  transition: color 0.2s;
}

/* --- Header icon color fix for dark theme --- */
.account-icon mat-icon,
.menu-icon mat-icon {
  color: #000 !important;
  /* Always black for visibility */
}

[data-theme="dark"] .account-icon mat-icon,
[data-theme="dark"] .account-icon mat-icon,
[data-theme="dark"] .menu-icon mat-icon,
[data-theme="dark"] .logo mat-icon,
[data-theme="dark"] .theme-switcher-container mat-icon,
[data-theme="dark"] .theme-switcher-row mat-icon,
[data-theme="dark"] button.theme-switcher-btn mat-icon {
  color: #fff !important;
  /* White in dark theme for visibility */
}

/* Ensure SVG contents follow currentColor so mat-icon and inline svgs become white */
[data-theme="dark"] .account-icon mat-icon svg,
[data-theme="dark"] .menu-icon mat-icon svg,
[data-theme="dark"] .logo mat-icon svg,
[data-theme="dark"] .theme-switcher-container mat-icon svg,
[data-theme="dark"] .theme-switcher-row mat-icon svg,
[data-theme="dark"] button.theme-switcher-btn mat-icon svg {
  fill: currentColor !important;
}

[data-theme="dark"] .account-icon mat-icon svg path,
[data-theme="dark"] .menu-icon mat-icon svg path,
[data-theme="dark"] .logo mat-icon svg path,
[data-theme="dark"] .theme-switcher-container mat-icon svg path,
[data-theme="dark"] .theme-switcher-row mat-icon svg path,
[data-theme="dark"] button.theme-switcher-btn mat-icon svg path {
  fill: currentColor !important;
}

/* Ensure focus/hover states remain accessible */
.account-icon:hover mat-icon,
.menu-icon:hover mat-icon,
.account-icon:focus mat-icon,
.menu-icon:focus mat-icon {
  color: #1976d2 !important;
  /* Primary blue for action */
}

.account-icon:focus-visible,
.menu-icon:focus-visible {
  box-shadow: 0 0 0 2px #1976d2;
}

:root {
  --color-bg: #fff;
  --color-text: #222;
  /* Default global background image variable used by app.component.css */
  --bg-image: url('/assets/background-image.png');
  --color-card: #fff;
  --color-primary: #1976d2;
  --color-primary-hover: #1565c0;
  --color-secondary: #424242;
  --color-secondary-hover: #333;
  --color-danger: #d32f2f;
  --color-danger-hover: #b71c1c;
  --color-header-bg: #e0e0e0;
  --color-error: #d32f2f;
  --color-browse-section: #c8e6c9;
  --color-create-section: #b3e5fc;
  --logo-skill-gradient: linear-gradient(90deg, #3949ab 0%, #8e24aa 100%);
  --logo-skill-shadow: 0 2px 8px rgba(62, 81, 181, 0.25), 0 0 6px #8e24aa44;
  --logo-mat-icon-gradient: linear-gradient(90deg,
      #8e24aa 0%,
      #222 40%,
      #666 100%);
  --logo-mat-icon-shadow: 0 2px 6px rgba(62, 81, 181, 0.1);
  --logo-invest-gradient: linear-gradient(90deg, #666 0%, #222 60%, #111 100%);
  --logo-invest-shadow: 0 2px 8px rgba(34, 34, 34, 0.18), 0 0 6px #2222;
  --color-soft-skill: #43a047;
}

/* Global override: use dark asset when the document is in dark theme */
html[data-theme="dark"] {
  --bg-image: url('/assets/background-image-dark.png');
}

[data-theme="dark"] {
  --color-bg: #181a1b;
  --color-text: #f5f5f5;
  --color-card: #23272b;
  --color-primary: #90caf9;
  --color-primary-hover: #42a5f5;
  --color-secondary: #212121;
  --color-secondary-hover: #333;
  --color-danger: #ef5350;
  --color-danger-hover: #d32f2f;
  --color-header-bg: #333;
  --color-error: #ef5350;
  --color-browse-section: #29543a;
  --color-create-section: #234055;
  --logo-skill-gradient: linear-gradient(90deg, #90caf9 0%, #ce93d8 100%);
  --logo-skill-shadow: 0 2px 8px rgba(144, 202, 249, 0.18), 0 0 6px #ce93d888;
  --logo-mat-icon-gradient: linear-gradient(90deg,
      #ce93d8 0%,
      #90caf9 40%,
      #bdbdbd 100%);
  --logo-mat-icon-shadow: 0 2px 6px rgba(144, 202, 249, 0.1);
  --logo-invest-gradient: linear-gradient(90deg,
      #bdbdbd 0%,
      #90caf9 60%,
      #ce93d8 100%);
  --logo-invest-shadow: 0 2px 8px rgba(144, 202, 249, 0.18), 0 0 6px #ce93d888;
  --color-soft-skill: #43a047;
}

/* Global Angular Material Dark Theme Overrides */
[data-theme="dark"] .mat-form-field .mat-form-field-label {
  color: #fff !important;
}

[data-theme="dark"] .mat-form-field .mat-input-element {
  color: #fff !important;
}

[data-theme="dark"] .mat-form-field .mat-input-element::placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
}

[data-theme="dark"] .mat-form-field .mat-hint {
  color: rgba(255, 255, 255, 0.7) !important;
}

[data-theme="dark"] .mat-form-field .mat-error {
  color: #f5c2c7 !important;
}

[data-theme="dark"] .mat-form-field .mat-form-field-outline {
  color: rgba(255, 255, 255, 0.3) !important;
}

[data-theme="dark"] .mat-form-field.mat-focused .mat-form-field-outline-thick {
  color: var(--color-primary) !important;
}

[data-theme="dark"] .mat-form-field.mat-focused .mat-form-field-label {
  color: var(--color-primary) !important;
}

[data-theme="dark"] .mat-form-field.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label {
  color: var(--color-primary) !important;
}

/* Override Angular Material's default text colors in dark theme */
[data-theme="dark"] .mat-form-field .mat-form-field-label:not(.mat-focused) {
  color: rgba(255, 255, 255, 0.6) !important;
}

[data-theme="dark"] .mat-form-field .mat-input-element:not(:focus) {
  color: #fff !important;
}

[data-theme="dark"] .mat-form-field .mat-input-element:focus {
  color: #fff !important;
}

/* Utility class to ensure content is not hidden behind sticky button bar */
.with-sticky-bottom-padding {
  padding-bottom: 5em !important;
}

/* Utility class to ensure min full viewport height */
.min-full-vh {
  min-height: 100vh !important;
}

/* Global Alert Styles */
.alert {
  padding: 1rem;
  margin-bottom: 1rem;
  border-radius: 8px;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
  max-width: 400px;
}

.alert h3 {
  margin: 0 0 0.5rem 0;
  font-size: 1.2rem;
  font-weight: 600;
}

.alert p {
  margin: 0 0 0.5rem 0;
}

.alert .note {
  font-size: 0.875rem;
  opacity: 0.8;
  font-style: italic;
  margin: 0;
}

.alert-success {
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  color: #155724;
}

.alert-info {
  background-color: #d1ecf1;
  border: 1px solid #bee5eb;
  color: #0c5460;
}

.alert-warning {
  background-color: #fff3cd;
  border: 1px solid #ffeeba;
  color: #856404;
}

.alert-danger {
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  color: #721c24;
}

/* Resend Verification Styles */
.resend-verification-section {
  margin-top: 1.5rem;
  padding: 1.5rem;
  background: var(--color-card);
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.resend-header {
  text-align: center;
  margin-bottom: 1.5rem;
}

.resend-header h3 {
  margin: 0 0 0.5rem 0;
  color: var(--color-primary);
  font-size: 1.3rem;
}

.resend-header p {
  margin: 0;
  color: var(--color-text);
  font-size: 0.95rem;
}

.resend-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1rem;
}

.resend-link-section {
  margin-top: 1rem;
  font-size: 0.9rem;
  color: var(--color-text);
}

.resend-link-section p {
  margin: 0;
}

.resend-link-btn {
  background: none;
  border: none;
  color: var(--color-primary);
  text-decoration: underline;
  cursor: pointer;
  font-size: inherit;
  padding: 0;
  margin-left: 0.25rem;
}

.resend-link-btn:hover {
  color: var(--color-primary-hover);
  text-decoration: none;
}

/* Dark theme support for alerts */
[data-theme="dark"] .alert-success {
  background-color: rgba(40, 167, 69, 0.15);
  border-color: rgba(40, 167, 69, 0.3);
  color: #6fd671;
}

[data-theme="dark"] .alert-info {
  background-color: rgba(13, 202, 240, 0.15);
  border-color: rgba(13, 202, 240, 0.3);
  color: #9eeaf9;
}

[data-theme="dark"] .alert-danger {
  background-color: rgba(220, 53, 69, 0.15);
  border-color: rgba(220, 53, 69, 0.3);
  color: #f5c2c7;
}

[data-theme="dark"] .alert-warning {
  background-color: rgba(255, 193, 7, 0.15);
  border-color: rgba(255, 193, 7, 0.3);
  color: #ffdf7e;
}

[data-theme="dark"] .resend-verification-section {
  border-color: rgba(255, 255, 255, 0.1);
}

/* Authentication Layout Styles */
.main-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  --auth-pad: clamp(0.5rem, 3vw, 1.5rem);
  --auth-top-gap: clamp(0.25rem, 2vw, 0.75rem);
  margin: 0;
  height: 100vh;
  height: 100svh;
  min-height: 100vh;
  min-height: 100svh;
  padding: var(--auth-pad);
  padding-top: calc(var(--app-header-height, 64px) + var(--auth-top-gap));
  background: transparent;
  gap: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.login-section {
  position: relative;
  width: min(100%, 520px);
  padding: clamp(1rem, 3vw, 2.5rem);
  border-radius: 28px;
  border: 1px solid var(--glass-border);
  background: var(--glass-bg);
  color: var(--color-text);
  box-shadow: var(--glass-shadow, 0 18px 44px rgba(15, 15, 15, 0.22));
  backdrop-filter: blur(calc(var(--glass-blur, 18px) * 0.6)) saturate(155%);
  text-align: center;
  overflow: hidden;
}

.login-section h1 {
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
  color: var(--color-text);
  font-weight: 500;
}

.login-section .description {
  color: var(--color-text);
  margin-bottom: 2rem;
  opacity: 0.8;
  line-height: 1.5;
  font-size: 1rem;
}

.main-logo {
  margin: 1rem 0 2rem 0;
  display: flex;
  justify-content: center;
}

.form-row {
  margin-bottom: 1.5rem;
  text-align: left;
}

.form-row label {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--color-text);
  font-weight: 500;
  font-size: 0.95rem;
}

.form-row input {
  width: 100%;
  padding: 0.875rem 0.9rem;
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  background: transparent;
  color: var(--color-text);
  font-size: 1rem;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
  box-sizing: border-box;
  backdrop-filter: blur(calc(var(--glass-blur, 18px) * 0.35)) saturate(140%);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.15);
}

.form-row input:focus {
  outline: none;
  border-color: var(--tab-glass-active-border, var(--color-primary));
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.15);
  background: var(--glass-tint-strong, rgba(255, 255, 255, 0.92));
}

.form-row input.error {
  border-color: var(--color-error);
}

.button-group-column {
  flex-direction: column;
  gap: 0.75rem;
}

.button-group-column .global-btn {
  width: 100%;
  margin-bottom: 0.5rem;
}

.password-checklist {
  background: var(--glass-bg);
  padding: 1rem;
  border-radius: 18px;
  margin-bottom: 1.5rem;
  text-align: left;
  font-size: 0.9rem;
  border: 1px solid var(--glass-border);
  backdrop-filter: blur(calc(var(--glass-blur, 18px) * 0.4)) saturate(150%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.password-checklist div {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.password-checklist span {
  font-size: 0.85rem;
  font-weight: 500;
}

.password-checklist .satisfied {
  color: #4caf50;
}

.password-checklist .unsatisfied {
  color: var(--color-error);
}

.forgot-password-link {
  text-align: center;
  margin-top: 1.5rem;
}

.forgot-password-link a {
  color: var(--color-primary);
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.2s;
}

.forgot-password-link a:hover {
  color: var(--color-primary-hover);
  text-decoration: underline;
}

/* Responsive Design */
@media (max-width: 600px) {
  .main-container {
    padding: 0.75rem;
    padding-top: calc(var(--app-header-height, 56px) + 0.35rem);
  }

  .login-section {
    padding: 1.2rem;
    border-radius: 18px;
  }

  .login-section h1 {
    font-size: 1.5rem;
  }

  .form-row input {
    padding: 0.6rem;
    font-size: 0.95rem;
  }

  .password-checklist {
    padding: 0.75rem;
    font-size: 0.85rem;
  }
}

@media (max-width: 480px) {
  .main-container {
    padding: 0.5rem;
    padding-top: calc(var(--app-header-height, 56px) + 0.2rem);
  }

  .login-section {
    padding: 1rem;
    border-radius: 16px;
  }

  .login-section h1 {
    font-size: 1.3rem;
  }
}

/* Dark theme support for authentication components */
[data-theme="dark"] .login-section {
  box-shadow: var(--glass-elevated-shadow, 0 22px 54px rgba(0, 0, 0, 0.68));
}

[data-theme="dark"] .password-checklist {
  background: var(--glass-bg);
}

[data-theme="dark"] .form-row input {
  background: transparent;
  border-color: var(--glass-border);
}

[data-theme="dark"] .form-row input:focus {
  border-color: var(--tab-glass-active-border, var(--color-primary));
  box-shadow: 0 0 0 2px rgba(144, 202, 249, 0.2);
}

/* Browse Experts Flow Layout Styles */
.browse-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 2rem;
  background: transparent;
  /* show global background */
  color: var(--color-text);
}

.browse-header {
  text-align: center;
  margin-bottom: 2rem;
}

.browse-header h2 {
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
  color: var(--color-text);
  font-weight: 500;
}

.browse-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-bottom: 110px;
  /* room for sticky button bar */
}

/* Empty State Styles */
.empty-message {
  background: var(--color-card);
  border: 1px solid var(--color-header-bg);
  color: var(--color-text);
  border-radius: 12px;
  padding: 2.5rem;
  margin: 2rem auto;
  max-width: 480px;
  text-align: center;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.09);
  font-size: 1.1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.empty-message p {
  margin-bottom: 1.5rem;
  font-size: 1.1em;
  line-height: 1.5;
}

.empty-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* Expert Cards Grid */
.expert-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 4rem;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  align-items: stretch;
}

.expert-cards-grid>li {
  display: flex;
  height: 100%;
}

.expert-cards-grid app-expert-card-short {
  display: block;
  width: 100%;
  height: 100%;
}

/* Ensure expert cards fill their grid cell height */
.expert-cards-grid .expert-card-short {
  height: 100%;
  width: 100%;
  min-height: 180px;
  overflow: visible;
  display: flex;
  flex-direction: column;
}

/* Grouped sections for browse lists */
.group-section {
  width: 100%;
  max-width: 1200px;
  margin: 1.2rem auto 2rem auto;
}

.group-heading {
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--color-primary);
  text-align: left;
  margin: 0.5rem 0 0.75rem 0.25rem;
}

/* Pagination Controls */
.pagination-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin: 2rem 0;
  padding: 1rem;
  background: var(--color-card);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.pagination-controls button {
  min-width: 100px;
}

.pagination-info {
  font-size: 0.95rem;
  color: var(--color-text);
  font-weight: 500;
}

/* Loading State */
.loading-state {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 3rem;
  font-size: 1.1rem;
  color: var(--color-text);
  opacity: 0.8;
}

/* Responsive Design */
@media (max-width: 1024px) and (min-width: 769px) {

  .expert-cards-grid,
  .idea-cards-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
    gap: 2.5rem;
  }
}

@media (max-width: 768px) {
  .browse-container {
    padding: 1rem;
  }

  .browse-header h2 {
    font-size: 1.5rem;
  }

  .empty-message {
    padding: 1.5rem;
    margin: 1rem;
  }

  .expert-cards-grid,
  .idea-cards-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.75rem;
  }

  .pagination-controls {
    flex-direction: column;
    gap: 0.75rem;
  }

  .empty-actions {
    flex-direction: column;
    width: 100%;
  }

  .empty-actions .global-btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .browse-container {
    padding: 0.5rem;
  }

  .browse-header h2 {
    font-size: 1.3rem;
  }

  .empty-message {
    padding: 1rem;
    margin: 0.5rem;
    border-radius: 8px;
  }

  .expert-cards-grid,
  .idea-cards-grid {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }
}

/* Dark theme support */
[data-theme="dark"] .empty-message {
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .pagination-controls {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Browse Ideas Flow Layout Styles */
.browse-ideas-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 2rem;
  background: transparent;
  /* show global background */
  color: var(--color-text);
}

.browse-ideas-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-bottom: 110px;
  /* room for sticky button bar */
}

.browse-ideas-header {
  text-align: center;
  margin-bottom: 2rem;
}

.browse-ideas-header h2 {
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
  color: var(--color-text);
  font-weight: 500;
}

.browse-ideas-header p {
  color: var(--color-text);
  opacity: 0.8;
  line-height: 1.5;
  font-size: 1rem;
}

/* Sticky Sort Toolbar (shared) */
.sort-toolbar {
  position: sticky;
  top: 64px;
  /* below header, will stack under search bar */
  z-index: 99;
  background: var(--color-card);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
  padding: 0.75rem 1.5rem;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  width: 100%;
}

.toolbar-inner {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  width: 100%;
  flex-wrap: wrap;
}

.toolbar-title {
  font-weight: 600;
  margin-right: 0.5rem;
  color: var(--color-text);
}

.input-with-icon {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.sort-select {
  min-width: 140px;
  max-width: 220px;
  width: 100%;
  font-size: 1rem;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  border: 1px solid var(--color-header-bg);
  background: var(--color-bg);
  color: var(--color-text);
}

@media (max-width: 600px) {
  .sort-toolbar {
    top: 64px;
    margin-top: 8px;
    padding: 0.5rem 0.5rem;
    margin-bottom: 1rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.13);
  }

  .toolbar-inner {
    flex-direction: column;
    gap: 0.75rem;
    align-items: stretch;
  }

  .sort-select {
    min-width: 100px;
    max-width: 100vw;
    width: 100%;
    font-size: 1rem;
  }
}

[data-theme="dark"] .sort-toolbar {
  background: var(--color-card);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Idea Cards Grid */
.idea-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
  gap: clamp(1.5rem, 4vw, 4rem);
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  align-items: stretch;
}

.idea-cards-grid>[role='row'] {
  display: flex;
  height: 100%;
}

.idea-cards-grid app-idea-card-short {
  display: block;
  width: 100%;
  height: 100%;
}

/* Ensure idea cards fill their grid cell height */
.idea-cards-grid .idea-card-short {
  display: flex;
  flex-direction: column;
  margin: 0;
    width: 100%;
    min-height: 180px;
    height: 100%;
    overflow: visible;
    padding-bottom: 1rem;
  }
  
  /* Neutralize the shared card-unified hover/focus lift for tall idea cards */
  .card-unified.idea-card-short:hover,
  .card-unified.idea-card-short:focus,
  .card-unified.idea-card-short:focus-visible {
    transform: none;
}

/* Load More Button */
.load-more-container {
  display: flex;
  justify-content: center;
  margin: 2rem 0;
}

.load-more-container button {
  min-width: 120px;
}

/* Idea Card Specific Styles */
.idea-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
  color: var(--color-text);
  font-size: 0.95rem;
  justify-content: center;
}

.idea-meta span {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.idea-meta strong {
  color: var(--color-text);
}

.idea-section {
  margin-top: 1.5rem;
  width: 100%;
  max-width: 800px;
}

.idea-section h3 {
  margin-bottom: 1rem;
  color: var(--color-text);
  font-size: 1.2rem;
  font-weight: 600;
}

/* Centered badges/skills rows used across cards */
.skills-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-start;
}

.idea-role-card,
.idea-skill-card {
  background: var(--color-bg);
  border: 1px solid var(--color-header-bg);
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1rem;
  color: var(--color-text);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

.idea-role-card h4,
.idea-skill-card strong {
  color: var(--color-text);
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.idea-role-card ul,
.idea-skill-card ul {
  margin: 0.5rem 0;
  padding-left: 1.5rem;
}

.idea-role-card li,
.idea-skill-card li {
  margin-bottom: 0.25rem;
  line-height: 1.4;
}

.idea-review {
  background: var(--color-card);
  border-left: 4px solid var(--color-primary);
  padding: 1rem;
  margin-bottom: 1rem;
  border-radius: 6px;
  color: var(--color-text);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

.idea-review p {
  margin: 0 0 0.5rem 0;
  line-height: 1.5;
}

.idea-review small {
  color: var(--color-text);
  opacity: 0.7;
  font-size: 0.85rem;
}

.idea-logo {
  max-width: 120px;
  border-radius: 8px;
  border: 1px solid var(--color-header-bg);
  margin-bottom: 1rem;
}

.idea-description {
  color: var(--color-text);
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

/* Unified input styles */
.global-input {
  width: 100%;
  max-width: 800px;
  box-sizing: border-box;
  padding: 0.65rem 0.8rem;
  border: 1px solid var(--color-header-bg);
  border-radius: 6px;
  background: var(--color-card);
  color: var(--color-text);
  outline: none;
}

.global-input:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.15);
}

textarea.global-input {
  resize: vertical;
  min-height: 110px;
}

.counter {
  margin-top: 4px;
  font-size: 0.85rem;
  opacity: 0.8;
}

.counter.invalid {
  color: var(--color-error);
  opacity: 1;
}

/* Availability badge (top-right bulb) */
.availability-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05);
}

.availability-badge.ok {
  background: #43a047;
}

.availability-badge.no {
  background: #d32f2f;
}

/* Responsive Design */
@media (max-width: 768px) {
  .browse-ideas-container {
    padding: 1rem;
  }

  .browse-ideas-header h2 {
    font-size: 1.5rem;
  }

  .idea-cards-grid {
    grid-template-columns: 1fr;
    gap: 3.25rem;
  }

  .sort-toolbar {
    top: 56px;
  }

  .idea-meta {
    flex-direction: column;
    gap: 0.5rem;
  }

  .idea-role-card,
  .idea-skill-card {
    padding: 0.75rem;
  }
}

@media (max-width: 480px) {
  .browse-ideas-container {
    padding: 0.5rem;
  }

  .browse-ideas-header h2 {
    font-size: 1.3rem;
  }

  .idea-logo {
    max-width: 80px;
  }

  .sort-toolbar {
    top: 52px;
  }
}

/* Dark theme support */
[data-theme="dark"] .idea-role-card,
[data-theme="dark"] .idea-skill-card {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .idea-review {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Image Display Styles */
.idea-logo-container,
.profile-picture-container {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
}

.idea-logo {
  max-width: 200px;
  max-height: 200px;
  border-radius: 8px;
  border: 2px solid var(--color-header-bg);
  object-fit: cover;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.profile-picture-short {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 2px solid var(--color-header-bg);
  object-fit: cover;
  margin-bottom: 1rem;
}

.profile-picture-full {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: 3px solid var(--color-header-bg);
  object-fit: cover;
  margin-bottom: 1rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Responsive image styles */
@media (max-width: 768px) {
  .idea-logo {
    max-width: 150px;
    max-height: 150px;
  }

  .profile-picture-short {
    width: 60px;
    height: 60px;
  }

  .profile-picture-full {
    width: 120px;
    height: 120px;
  }
}

@media (max-width: 480px) {
  .idea-logo {
    max-width: 120px;
    max-height: 120px;
  }

  .profile-picture-short {
    width: 50px;
    height: 50px;
  }

  .profile-picture-full {
    width: 100px;
    height: 100px;
  }
}

/* Dark theme support for images */
[data-theme="dark"] .idea-logo,
[data-theme="dark"] .profile-picture-short,
[data-theme="dark"] .profile-picture-full {
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .idea-logo,
[data-theme="dark"] .profile-picture-full {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* Create Expert Profile Flow Layout Styles */
.create-expert-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 2rem;
  background: transparent;
  /* show global background */
  color: var(--color-text);
}

.create-expert-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-bottom: 110px;
  /* keep content clear of sticky footer */
}

.create-expert-header {
  text-align: center;
  margin-bottom: 2rem;
}

.create-expert-header h2 {
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
  color: var(--color-text);
  font-weight: 500;
}

.create-expert-header p {
  color: var(--color-text);
  opacity: 0.8;
  line-height: 1.5;
  font-size: 1rem;
}

/* Skills Grid Layout - Base (default for skills/tag cloud) */
.skills-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
  max-width: 900px;
  margin: 0 auto 1.5rem auto;
  box-sizing: border-box;
}

/* Compact Grid for Categories, Statuses, Phases (4 columns desktop) */
.skills-grid.compact-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
  max-width: 900px;
}

@media (max-width: 1024px) {
  .skills-grid.compact-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 600px) {
  .skills-grid.compact-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Compact Grid for Expert Roles (3 columns desktop) */
.skills-grid.compact-grid-roles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  max-width: 900px;
}

@media (max-width: 768px) {
  .skills-grid.compact-grid-roles {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .skills-grid.compact-grid-roles {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}

.skills-column {
  background: var(--color-card);
  color: var(--color-text);
  padding: 1.5rem;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--color-header-bg);
  max-width: 100%;
  box-sizing: border-box;
  word-break: break-word;
  display: flex;
  flex-direction: column;
}

.skills-column h3 {
  margin-bottom: 1rem;
  font-size: 1.1rem;
}

/* Tag cloud layout for skills inside column */
.skills-column>div:not(.skills-hint) {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.skills-column .pill-checkbox {
  margin-bottom: 0;
  padding: 0.5rem 0.85rem;
  font-size: 0.9rem;
  min-height: 38px;
  flex: 0 0 auto;
  width: auto;
}

.skills-column .hint {
  margin-bottom: 0.75rem;
  /* Ensure hint is always above the cards */
}

.skills-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

@media (min-width: 768px) {
  .skills-grid {
    display: flex;
    gap: 2rem;
  }

  .skills-column {
    flex: 1;
    min-width: 280px;
  }

  .skills-column .hint {
    margin-bottom: 1rem;
    /* On desktop, keep hint above cards, not inline */
    display: block;
  }

  .skills-list {
    margin-top: 0;
  }
}

@media (max-width: 768px) {
  .skills-grid {
    flex-direction: column;
    gap: 1.5rem;
  }

  .skills-column {
    padding: 1rem;
  }

  .skills-column .pill-checkbox {
    font-size: 0.85rem;
    padding: 0.45rem 0.75rem;
    min-height: 36px;
  }
}

.skills-column h3 {
  margin-bottom: 1rem;
  color: var(--color-primary);
  font-size: 1.2rem;
  font-weight: 600;
}

.skills-column label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  cursor: pointer;
  font-size: 1rem;
  color: var(--color-text);
  transition: color 0.2s;
}

.skills-column label:hover {
  color: var(--color-primary);
}

.skills-column input[type="checkbox"] {
  accent-color: var(--color-primary);
  width: 1.1em;
  height: 1.1em;
  cursor: pointer;
}

.skills-hint {
  font-size: 0.9rem;
  color: var(--color-text);
  opacity: 0.7;
  margin-top: 0.5rem;
  font-style: italic;
}

.skills-error {
  color: var(--color-error);
  margin-top: 0.5rem;
  font-weight: 500;
  font-size: 0.9rem;
}

/* Review Profile Styles */
.review-profile-container {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}

.review-profile-card {
  background: var(--color-card);
  border: 1px solid var(--color-header-bg);
  border-radius: 8px;
  padding: 2rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  color: var(--color-text);
}

.review-profile-card h2 {
  margin-bottom: 1rem;
  color: var(--color-text);
  font-size: 1.3rem;
  font-weight: 600;
}

.review-profile-card h3 {
  margin: 1.5rem 0 0.5rem 0;
  color: var(--color-text);
  font-size: 1.1rem;
  font-weight: 600;
}

.review-profile-card h4 {
  margin: 1rem 0 0.5rem 0;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 600;
}

.review-profile-card p {
  margin: 0.5rem 0;
  line-height: 1.5;
}

.review-profile-card .description {
  font-style: italic;
  opacity: 0.8;
}

.skills-columns {
  display: flex;
  gap: 2rem;
  margin-top: 1rem;
}

.skills-columns>div {
  flex: 1;
}

.skills-columns ul {
  margin: 0.5rem 0;
  padding-left: 1.5rem;
}

.skills-columns li {
  margin-bottom: 0.25rem;
  line-height: 1.4;
}

/* Confirmation Styles */
.confirmation-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 60vh;
  background: var(--color-card);
  border: 1px solid var(--color-header-bg);
  border-radius: 12px;
  padding: 3rem 2rem;
  margin: 2rem auto;
  max-width: 600px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.09);
  color: var(--color-text);
}

.confirmation-title {
  font-size: 1.8rem;
  color: var(--color-text);
  margin-bottom: 1.5rem;
  font-weight: 600;
}

.confirmation-text {
  font-size: 1.1rem;
  color: var(--color-text);
  margin-bottom: 2rem;
  line-height: 1.6;
}

.confirmation-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1rem;
}

.confirmation-actions .button-group {
  display: flex;
  gap: 1rem;
  justify-content: center;
  width: auto;
}

.confirmation-actions .button-group .global-btn {
  min-width: 140px;
  width: 100%;
  margin-bottom: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
  .create-expert-container {
    padding: 1rem;
  }

  .create-expert-header h2 {
    font-size: 1.5rem;
  }

  .skills-grid {
    flex-direction: column;
    gap: 1.5rem;
  }

  .skills-column {
    padding: 1rem;
  }

  .review-profile-card {
    padding: 1.5rem;
    margin: 1rem;
  }

  .skills-columns {
    flex-direction: column;
    gap: 1rem;
  }

  .confirmation-container {
    padding: 2rem 1rem;
    margin: 1rem;
  }

  .confirmation-title {
    font-size: 1.5rem;
  }

  .confirmation-actions {
    flex-direction: column;
    gap: 1.5rem;
  }

  .confirmation-actions .button-group {
    width: 100%;
    max-width: 100%;
  }

  .confirmation-actions .button-group .global-btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .create-expert-container {
    padding: 0.5rem;
  }

  .create-expert-header h2 {
    font-size: 1.3rem;
  }

  .skills-column {
    padding: 0.75rem;
  }

  .review-profile-card {
    padding: 1rem;
    margin: 0.5rem;
  }

  .confirmation-container {
    padding: 1.5rem 0.75rem;
    margin: 0.5rem;
  }

  .confirmation-title {
    font-size: 1.3rem;
  }
}

/* Dark theme support */
[data-theme="dark"] .skills-column {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .review-profile-card {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .confirmation-container {
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

/* Create Ideas Flow Layout Styles */
.create-ideas-container {
  display: flex;
  flex-direction: column;
  padding: 2rem;
  background: transparent;
  /* show global background */
  color: var(--color-text);
}

.create-ideas-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-bottom: 110px;
  /* keep content clear of sticky footer */
}

.create-ideas-header {
  text-align: center;
  margin-bottom: 2rem;
}

.create-ideas-header h2 {
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
  color: var(--color-text);
  font-weight: 500;
}

.create-ideas-header p {
  color: var(--color-text);
  opacity: 0.8;
  line-height: 1.5;
  font-size: 1rem;
}

/* Role Skill Selection Dialog Styles - consolidated from duplicates */
.role-skill-dialog-container {
  padding: 1.5rem 0;
  max-width: 520px;
  width: 90vw;
  max-height: 85vh;
  overflow: auto;
  padding-bottom: 72px;
  /* room for sticky actions inside dialog */
  box-sizing: border-box;
}



/* Expert Role Questions Form Styles */
.expert-role-questions-container {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.role-form-group {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: var(--color-card);
  border: 1px solid var(--color-header-bg);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.role-form-group h2 {
  margin-bottom: 1rem;
  color: var(--color-text);
  font-size: 1.3rem;
  font-weight: 600;
}

.share-offer-input {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.percent-sign {
  color: var(--color-text);
  font-size: 1.1rem;
  font-weight: 500;
}

.valid-icon {
  color: #43a047;
}

.invalid-icon {
  color: var(--color-error);
}

/* Review Idea Styles */
.review-idea-container {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.review-idea-card {
  background: var(--color-card);
  border: 1px solid var(--color-header-bg);
  border-radius: 8px;
  padding: 2rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  color: var(--color-text);
}

.review-idea-card h2 {
  margin-bottom: 1rem;
  color: var(--color-text);
  font-size: 1.3rem;
  font-weight: 600;
}

.review-idea-card h3 {
  margin: 1.5rem 0 0.5rem 0;
  color: var(--color-text);
  font-size: 1.1rem;
  font-weight: 600;
}

.review-idea-card p {
  margin: 0.5rem 0;
  line-height: 1.5;
}

.review-idea-card .description {
  font-style: italic;
  opacity: 0.8;
}



.meta-row span {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.meta-row strong {
  color: var(--color-text);
}

.idea-logo {
  max-width: 200px;
  border-radius: 8px;
  border: 1px solid var(--color-header-bg);
  margin: 1rem 0;
}

.role-header h3 {
  margin: 0 0 0.5rem 0;
  color: var(--color-text);
  font-size: 1.1rem;
  font-weight: 600;
}

.role-details-list li {
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

.role-details-list strong {
  color: var(--color-text);
}

.skills-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.skill-desc {
  color: var(--color-text);
  font-size: 0.95rem;
  margin-left: 0.3rem;
  opacity: 0.8;
}

.badge.core {
  background: #000;
}

.badge.soft {
  background: #000;
}

/* Ensure card content does not overflow the viewport width */
.card-unified {
  max-width: min(100%, 800px);
  overflow-wrap: anywhere;
}

/* Make inline headings and links inherit color for BW theme */
.card-unified h2,
.card-unified h3,
.card-unified h4,
.card-unified p,
.card-unified a {
  color: var(--color-text);
}

/* --- Ensure headings and top text are always visible in both themes --- */
/* Ensure create-flow headings are black in light theme and inherit var(--color-text) */
.create-ideas-header h2,
.create-ideas-header p,
.create-expert-header h2,
.create-expert-header p {
  color: var(--color-text) !important;
}

/* --- Ensure headings and top text are always visible in both themes for browse-ideas and idea-details --- */
.browse-ideas-header h2,
.browse-ideas-header p,
.idea-details-header h2,
.idea-details-header p {
  color: #000 !important;
}

[data-theme="dark"] .browse-ideas-header h2,
[data-theme="dark"] .browse-ideas-header p,
[data-theme="dark"] .idea-details-header h2,
[data-theme="dark"] .idea-details-header p {
  color: #fff !important;
}

/* Higher-specificity overrides for certain headers when dark theme is active.
     Use var(--color-text) so the color follows the theme variables and avoids hard-coded contradictions.
  */
html[data-theme="dark"] .browse-ideas-header h2,
html[data-theme="dark"] .browse-ideas-header p,
html[data-theme="dark"] .browse-header h2,
html[data-theme="dark"] .browse-header p,
html[data-theme="dark"] .create-expert-header h2,
html[data-theme="dark"] .create-expert-header p {
  color: var(--color-text) !important;
}

/* Responsive Design */
@media (max-width: 768px) {
  .create-ideas-container {
    padding: 1rem;
  }

  .create-ideas-header h2 {
    font-size: 1.5rem;
  }

  .role-skill-dialog-container {
    padding: 1rem 0;
    width: 95vw;
    max-height: 80vh;
  }

  .role-skill-dialog-header h2 {
    font-size: 1.3rem;
  }

  .role-form-group {
    padding: 1rem;
  }

  .review-idea-card {
    padding: 1.5rem;
    margin: 1rem;
  }

  .role-details {
    padding: 1rem;
  }

  .meta-row {
    flex-direction: column;
    gap: 0.5rem;
  }

  .idea-logo {
    max-width: 150px;
  }
}

@media (max-width: 480px) {
  .create-ideas-container {
    padding: 0.5rem;
  }

  .create-ideas-header h2 {
    font-size: 1.3rem;
  }

  .role-skill-dialog-container {
    padding: 0.75rem 0;
  }

  .role-skill-dialog-header h2 {
    font-size: 1.2rem;
  }

  .role-form-group {
    padding: 0.75rem;
  }

  .review-idea-card {
    padding: 1rem;
    margin: 0.5rem;
  }

  .role-details {
    padding: 0.75rem;
  }

  .idea-logo {
    max-width: 120px;
  }
}

/* Dark theme support */
[data-theme="dark"] .role-form-group {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .review-idea-card {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .role-details {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Availability Dot Styles */
.availability-dot {
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  margin: 0.5em 0.5em 0 0;
  vertical-align: middle;
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
}

.availability-dot.red {
  background: #e53935;
}

.availability-dot.orange {
  background: #ffb300;
}

.availability-dot.lightgreen {
  background: #8bc34a;
}

.availability-dot.green {
  background: #43a047;
}

.availability-dot.gray {
  background: #757575;
}

/* Role Skill Selection Dialog Responsive Grid */
.skills-grid {
  display: flex;
  flex-direction: row;
  gap: 2.5rem;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}

.skills-column {
  flex: 1 1 320px;
  min-width: 280px;
  max-width: 400px;
  background: var(--color-card);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
  padding: 1.2em 1em 1.5em 1em;
  margin-bottom: 1.5em;
}

.checkbox-label.pill {
  background: #f5f5f5;
  border-radius: 20px;
  padding: 0.5em 1em;
  margin-bottom: 0.7em;
  font-size: 1.05em;
  display: flex;
  align-items: center;
  gap: 0.7em;
  transition: background 0.2s;
  word-break: break-word;
}

.checkbox-label.pill.selected {
  background: #e3f2fd;
  font-weight: 600;
}

@media (max-width: 900px) {
  .skills-grid {
    flex-direction: column;
    gap: 1.2rem;
    align-items: stretch;
  }

  .skills-column {
    max-width: 100%;
    min-width: 0;
    margin-bottom: 1.2em;
  }
}

@media (max-width: 600px) {
  .skills-grid {
    flex-direction: column;
    gap: 0.7rem;
    align-items: stretch;
  }

  .skills-column {
    max-width: 100vw;
    min-width: 0;
    padding: 1em 0.5em;
  }

  .checkbox-label.pill {
    font-size: 1em;
    padding: 0.4em 0.7em;
  }
}

.browse-ideas-btn {
  background: #fff;
  color: #000;
  border: 2px solid #000;
  border-radius: 10px;
  padding: 0.8em 1.6em;
  font-size: 1em;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.10);
  margin-bottom: 1rem;
  margin-top: 0.5rem;
}

.browse-ideas-btn:hover,
.browse-ideas-btn:focus {
  background: #f5f5f5;
  color: #1976d2;
  border-color: #1976d2;
  outline: none;
  transform: translateY(-2px) scale(1.04);
}

.browse-ideas-btn:focus-visible {
  box-shadow: 0 0 0 2px #1976d2;
}

[data-theme="dark"] .browse-ideas-btn {
  background: #000;
  color: #fff;
  border: 2px solid #fff;
}

[data-theme="dark"] .browse-ideas-btn:hover,
[data-theme="dark"] .browse-ideas-btn:focus {
  background: #222;
  color: #90caf9;
  border-color: #90caf9;
}


[data-theme="dark"] .browse-header h2,
[data-theme="dark"] .browse-header p,
[data-theme="dark"] .browse-ideas-header h2,
[data-theme="dark"] .browse-ideas-header p {
  color: #000 !important;
}


.filter-by-category-text {
  color: #000 !important;
}

[data-theme="dark"] .filter-by-category-text {
  color: #fff !important;
}

[data-theme="dark"] .pill-selection .card-unified:not(.selected):not([aria-checked="true"]) {
  background: #000 !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.8);
}

/* --- End Sticky Button Bar BW Styles --- */

/* Password Toggle Styles */
.password-input-container {
  position: relative;
  display: flex;
  align-items: center;
}

.password-toggle-btn {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  border-radius: 4px;
  color: var(--color-text);
  opacity: 0.7;
  transition: opacity 0.2s, background-color 0.2s;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
}

.password-toggle-btn:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.05);
}

.password-toggle-btn:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.password-toggle-btn mat-icon {
  font-size: 18px;
  width: 18px;
  height: 18px;
}

/* Dark theme support for password toggle */
[data-theme="dark"] .password-toggle-btn:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .password-toggle-btn:focus {
  outline-color: var(--color-primary);
}

/* Ensure password input has proper padding for toggle button */
.password-input-container input[type="password"],
.password-input-container input[type="text"] {
  padding-right: 48px;
  /* Space for toggle button */
}

/* === Angular Material Datepicker Black/White Theme Overrides === */
[data-theme="dark"] .mat-mdc-form-field .mat-mdc-input-element {
  color: #fff !important;
}

[data-theme="dark"] .mat-mdc-form-field .mdc-floating-label,
[data-theme="dark"] .mat-mdc-form-field .mat-mdc-floating-label {
  color: #fff !important;
}

[data-theme="dark"] .mat-mdc-datepicker-toggle,
[data-theme="dark"] .mat-mdc-datepicker-toggle .mat-mdc-icon-button,
[data-theme="dark"] .mat-mdc-datepicker-toggle .mat-mdc-icon-button mat-icon {
  color: #fff !important;
}

[data-theme="dark"] .mat-mdc-form-field .mat-mdc-form-field-label {
  color: #fff !important;
}

[data-theme="dark"] .mat-mdc-form-field .mat-mdc-input-element::placeholder {
  color: #fff !important;
}

[data-theme="dark"] .mat-mdc-form-field .mat-mdc-input-element::-webkit-input-placeholder {
  color: #fff !important;
}

[data-theme="dark"] .mat-mdc-form-field .mat-mdc-input-element::-moz-placeholder {
  color: #fff !important;
}

[data-theme="dark"] .mat-mdc-form-field .mat-mdc-input-element:-ms-input-placeholder {
  color: #fff !important;
}

[data-theme="dark"] .custom-datepicker-panel {
  background: #181a1b !important;
  color: #fff !important;
}

[data-theme="dark"] .custom-datepicker-panel * {
  color: #fff !important;
}

/* === Bulletproof dark theme override for Angular Material datepicker icon === */
[data-theme="dark"] .mat-mdc-datepicker-toggle,
[data-theme="dark"] .mat-mdc-datepicker-toggle .mat-mdc-icon-button,
[data-theme="dark"] .mat-mdc-datepicker-toggle .mat-mdc-icon-button mat-icon,
[data-theme="dark"] .mat-mdc-datepicker-toggle .mat-mdc-icon-button svg,
[data-theme="dark"] .mat-mdc-datepicker-toggle .mat-mdc-icon-button .mat-icon,
[data-theme="dark"] .mat-mdc-datepicker-toggle .mat-mdc-icon-button .mat-mdc-icon-button svg,
[data-theme="dark"] .mat-mdc-datepicker-toggle .mat-mdc-icon-button .mat-mdc-icon-button mat-icon {
  color: #fff !important;
  fill: #fff !important;
  stroke: #fff !important;
}

/* === Bulletproof SVG icon override for Angular Material datepicker in dark theme === */
[data-theme="dark"] .mat-mdc-datepicker-toggle .mat-mdc-icon-button svg,
[data-theme="dark"] .mat-mdc-datepicker-toggle .mat-mdc-icon-button svg path {
  color: #fff !important;
  fill: #fff !important;
  stroke: #fff !important;
}
/* Auth-only viewport lock */
app-login .main-container, app-register .main-container, app-forgot-password .main-container, app-reset-password .main-container {
  height: 100vh; height: 100svh; height: 100dvh;
  min-height: 100vh; min-height: 100svh; min-height: 100dvh;
  box-sizing: border-box;
  padding-top: calc(var(--app-header-height, 64px) + clamp(0.25rem, 2vw, 0.75rem));
  padding-left: clamp(0.5rem, 3vw, 1.5rem);
  padding-right: clamp(0.5rem, 3vw, 1.5rem);
  padding-bottom: clamp(0.5rem, 3vw, 1.25rem);
  display: grid;
  align-content: start;
  justify-items: center;
  overflow: hidden;
  overscroll-behavior: contain;
}

/* Auth card sizing */
app-login .login-section, app-register .login-section, app-forgot-password .login-section, app-reset-password .login-section {
  width: min(100%, 520px);
  max-height: calc(100% - clamp(1rem, 4vw, 2rem));
  overflow: hidden;
  margin: 0;
}

@media (max-width: 600px) {
  app-login .login-section, app-register .login-section, app-forgot-password .login-section, app-reset-password .login-section {
    padding: 1rem;
    max-height: calc(100% - 1rem);
  }
}
/* Auth login/register: lock viewport below header and full-width card */
app-login .main-container, app-register .main-container {
  position: fixed;
  top: var(--app-header-height, 64px);
  left: 0;
  right: 0;
  bottom: 0;
  height: auto;
  min-height: 0;
  padding: clamp(0.5rem, 3vw, 1rem);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  overflow: hidden;
  box-sizing: border-box;
}

app-login .login-section, app-register .login-section {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  overflow: hidden;
}
/* Auth (login/register): prevent horizontal overflow and use border-box sizing */
app-login .main-container, app-register .main-container {
  max-width: 100vw;
  overflow-x: hidden;
}

app-login .login-section, app-register .login-section {
  box-sizing: border-box;
  width: 100%;
  max-width: 100vw;
  margin: 0 auto;
}

/* Ensure inner elements cannot push horizontally */
app-login .login-section *, app-register .login-section * {
  max-width: 100%;
}
/* Auth reset-password: viewport lock and full-width card */
app-reset-password .main-container {
  position: fixed;
  top: var(--app-header-height, 64px);
  left: 0;
  right: 0;
  bottom: 0;
  height: auto;
  min-height: 0;
  padding: clamp(0.5rem, 3vw, 1rem);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  overflow: hidden;
  box-sizing: border-box;
  max-width: 100vw;
  overflow-x: hidden;
}

app-reset-password .login-section {
  box-sizing: border-box;
  width: 100%;
  max-width: 100vw;
  height: 100%;
  max-height: 100%;
  margin: 0;
  overflow: hidden;
}

/* Ensure inner elements cannot push horizontally on reset */
app-reset-password .login-section * {
  max-width: 100%;
}
/* Auth forgot-password: viewport lock and full-width card */
app-forgot-password .main-container {
  position: fixed;
  top: var(--app-header-height, 64px);
  left: 0;
  right: 0;
  bottom: 0;
  height: auto;
  min-height: 0;
  padding: clamp(0.5rem, 3vw, 1rem);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  overflow: hidden;
  box-sizing: border-box;
  max-width: 100vw;
  overflow-x: hidden;
}

app-forgot-password .login-section {
  box-sizing: border-box;
  width: 100%;
  max-width: 100vw;
  height: 100%;
  max-height: 100%;
  margin: 0;
  overflow: hidden;
}

/* Ensure inner elements cannot push horizontally on forgot-password */
app-forgot-password .login-section * {
  max-width: 100%;
}




/* Ensure overlay container itself never blocks pointer events.
   Only active panes/backdrops should be interactive. */
.cdk-overlay-container { pointer-events: none; }
.cdk-overlay-container .cdk-overlay-pane { pointer-events: auto; }
/* Non-showing backdrops never intercept taps */
.cdk-overlay-backdrop:not(.cdk-overlay-backdrop-showing) { pointer-events: none !important; opacity: 0; }


/*# sourceMappingURL=styles.7f590554e5bed75a.css.map*/