/*!**********************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/styles.css?ngGlobalStyle ***!
  \**********************************************************************************************************************************************************************************************************************/
@import url(https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css);
/*!**************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/styles.css?ngGlobalStyle (1) ***!
  \**************************************************************************************************************************************************************************************************************************/
@import url(https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css);
/*!**************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/styles.css?ngGlobalStyle (2) ***!
  \**************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
/*!**************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/styles.css?ngGlobalStyle (3) ***!
  \**************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap);
/*!********************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@angular/material/prebuilt-themes/indigo-pink.css ***!
  \********************************************************************************************************************************************************************************************************************************************************/
.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-drag-preview .mat-ripple-element,.cdk-drag-placeholder .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, var(--mat-app-background, transparent));color:var(--mat-app-text-color, var(--mat-app-on-background, inherit))}.mat-elevation-z0,.mat-mdc-elevation-specific.mat-elevation-z0{box-shadow:var(--mat-app-elevation-shadow-level-0, none)}.mat-elevation-z1,.mat-mdc-elevation-specific.mat-elevation-z1{box-shadow:var(--mat-app-elevation-shadow-level-1, none)}.mat-elevation-z2,.mat-mdc-elevation-specific.mat-elevation-z2{box-shadow:var(--mat-app-elevation-shadow-level-2, none)}.mat-elevation-z3,.mat-mdc-elevation-specific.mat-elevation-z3{box-shadow:var(--mat-app-elevation-shadow-level-3, none)}.mat-elevation-z4,.mat-mdc-elevation-specific.mat-elevation-z4{box-shadow:var(--mat-app-elevation-shadow-level-4, none)}.mat-elevation-z5,.mat-mdc-elevation-specific.mat-elevation-z5{box-shadow:var(--mat-app-elevation-shadow-level-5, none)}.mat-elevation-z6,.mat-mdc-elevation-specific.mat-elevation-z6{box-shadow:var(--mat-app-elevation-shadow-level-6, none)}.mat-elevation-z7,.mat-mdc-elevation-specific.mat-elevation-z7{box-shadow:var(--mat-app-elevation-shadow-level-7, none)}.mat-elevation-z8,.mat-mdc-elevation-specific.mat-elevation-z8{box-shadow:var(--mat-app-elevation-shadow-level-8, none)}.mat-elevation-z9,.mat-mdc-elevation-specific.mat-elevation-z9{box-shadow:var(--mat-app-elevation-shadow-level-9, none)}.mat-elevation-z10,.mat-mdc-elevation-specific.mat-elevation-z10{box-shadow:var(--mat-app-elevation-shadow-level-10, none)}.mat-elevation-z11,.mat-mdc-elevation-specific.mat-elevation-z11{box-shadow:var(--mat-app-elevation-shadow-level-11, none)}.mat-elevation-z12,.mat-mdc-elevation-specific.mat-elevation-z12{box-shadow:var(--mat-app-elevation-shadow-level-12, none)}.mat-elevation-z13,.mat-mdc-elevation-specific.mat-elevation-z13{box-shadow:var(--mat-app-elevation-shadow-level-13, none)}.mat-elevation-z14,.mat-mdc-elevation-specific.mat-elevation-z14{box-shadow:var(--mat-app-elevation-shadow-level-14, none)}.mat-elevation-z15,.mat-mdc-elevation-specific.mat-elevation-z15{box-shadow:var(--mat-app-elevation-shadow-level-15, none)}.mat-elevation-z16,.mat-mdc-elevation-specific.mat-elevation-z16{box-shadow:var(--mat-app-elevation-shadow-level-16, none)}.mat-elevation-z17,.mat-mdc-elevation-specific.mat-elevation-z17{box-shadow:var(--mat-app-elevation-shadow-level-17, none)}.mat-elevation-z18,.mat-mdc-elevation-specific.mat-elevation-z18{box-shadow:var(--mat-app-elevation-shadow-level-18, none)}.mat-elevation-z19,.mat-mdc-elevation-specific.mat-elevation-z19{box-shadow:var(--mat-app-elevation-shadow-level-19, none)}.mat-elevation-z20,.mat-mdc-elevation-specific.mat-elevation-z20{box-shadow:var(--mat-app-elevation-shadow-level-20, none)}.mat-elevation-z21,.mat-mdc-elevation-specific.mat-elevation-z21{box-shadow:var(--mat-app-elevation-shadow-level-21, none)}.mat-elevation-z22,.mat-mdc-elevation-specific.mat-elevation-z22{box-shadow:var(--mat-app-elevation-shadow-level-22, none)}.mat-elevation-z23,.mat-mdc-elevation-specific.mat-elevation-z23{box-shadow:var(--mat-app-elevation-shadow-level-23, none)}.mat-elevation-z24,.mat-mdc-elevation-specific.mat-elevation-z24{box-shadow:var(--mat-app-elevation-shadow-level-24, none)}.mat-theme-loaded-marker{display:none}html{--mat-ripple-color:rgba(0, 0, 0, 0.1)}html{--mat-option-selected-state-label-text-color:#3f51b5;--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:#ff4081;--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:#3f51b5;--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:#3f51b5;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color:#b0b0b0}html{--mat-full-pseudo-checkbox-selected-icon-color:#ff4081;--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:#ff4081;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color:#b0b0b0}.mat-accent{--mat-full-pseudo-checkbox-selected-icon-color:#ff4081;--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:#ff4081;--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-app-elevation-shadow-level-0: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-app-elevation-shadow-level-1: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-app-elevation-shadow-level-2: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-app-elevation-shadow-level-3: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-app-elevation-shadow-level-4: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-app-elevation-shadow-level-5: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-app-elevation-shadow-level-6: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-app-elevation-shadow-level-7: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-app-elevation-shadow-level-8: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-app-elevation-shadow-level-9: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-app-elevation-shadow-level-10: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-app-elevation-shadow-level-11: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-app-elevation-shadow-level-12: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-app-elevation-shadow-level-13: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-app-elevation-shadow-level-14: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-app-elevation-shadow-level-15: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-app-elevation-shadow-level-16: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-app-elevation-shadow-level-17: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-app-elevation-shadow-level-18: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-app-elevation-shadow-level-19: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-app-elevation-shadow-level-20: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-app-elevation-shadow-level-21: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-app-elevation-shadow-level-22: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-app-elevation-shadow-level-23: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-app-elevation-shadow-level-24: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-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:#3f51b5;--mdc-linear-progress-track-color:rgba(63, 81, 181, 0.25)}.mat-mdc-progress-bar.mat-accent{--mdc-linear-progress-active-indicator-color:#ff4081;--mdc-linear-progress-track-color:rgba(255, 64, 129, 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:#3f51b5;--mdc-filled-text-field-focus-active-indicator-color:#3f51b5;--mdc-filled-text-field-focus-label-text-color:rgba(63, 81, 181, 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:#3f51b5;--mdc-outlined-text-field-focus-outline-color:#3f51b5;--mdc-outlined-text-field-focus-label-text-color:rgba(63, 81, 181, 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(63, 81, 181, 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:#ff4081;--mdc-filled-text-field-focus-active-indicator-color:#ff4081;--mdc-filled-text-field-focus-label-text-color:rgba(255, 64, 129, 0.87);--mdc-outlined-text-field-caret-color:#ff4081;--mdc-outlined-text-field-focus-outline-color:#ff4081;--mdc-outlined-text-field-focus-label-text-color:rgba(255, 64, 129, 0.87);--mat-form-field-focus-select-arrow-color:rgba(255, 64, 129, 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(63, 81, 181, 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, 64, 129, 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-shape:4px;--mat-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);--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-radius:16px;--mdc-chip-with-avatar-avatar-shape-radius: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:#3f51b5;--mdc-chip-elevated-selected-container-color:#3f51b5;--mdc-chip-elevated-disabled-container-color:#3f51b5;--mdc-chip-flat-disabled-selected-container-color:#3f51b5;--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:white;--mdc-chip-elevated-container-color:#ff4081;--mdc-chip-elevated-selected-container-color:#ff4081;--mdc-chip-elevated-disabled-container-color:#ff4081;--mdc-chip-flat-disabled-selected-container-color:#ff4081;--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-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}html .mat-mdc-slide-toggle{--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-selected-track-outline-color:transparent;--mat-switch-disabled-unselected-track-outline-width:1px;--mat-switch-disabled-unselected-track-outline-color:transparent}html{--mdc-switch-selected-focus-state-layer-color:#3949ab;--mdc-switch-selected-handle-color:#3949ab;--mdc-switch-selected-hover-state-layer-color:#3949ab;--mdc-switch-selected-pressed-state-layer-color:#3949ab;--mdc-switch-selected-focus-handle-color:#1a237e;--mdc-switch-selected-hover-handle-color:#1a237e;--mdc-switch-selected-pressed-handle-color:#1a237e;--mdc-switch-selected-focus-track-color:#7986cb;--mdc-switch-selected-hover-track-color:#7986cb;--mdc-switch-selected-pressed-track-color:#7986cb;--mdc-switch-selected-track-color:#7986cb;--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:#fff;--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-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-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-disabled-label-text-color: rgba(0, 0, 0, 0.38)}html .mat-mdc-slide-toggle{--mat-switch-label-text-color:rgba(0, 0, 0, 0.87)}html .mat-mdc-slide-toggle.mat-accent{--mdc-switch-selected-focus-state-layer-color:#d81b60;--mdc-switch-selected-handle-color:#d81b60;--mdc-switch-selected-hover-state-layer-color:#d81b60;--mdc-switch-selected-pressed-state-layer-color:#d81b60;--mdc-switch-selected-focus-handle-color:#880e4f;--mdc-switch-selected-hover-handle-color:#880e4f;--mdc-switch-selected-pressed-handle-color:#880e4f;--mdc-switch-selected-focus-track-color:#f06292;--mdc-switch-selected-hover-track-color:#f06292;--mdc-switch-selected-pressed-track-color:#f06292;--mdc-switch-selected-track-color:#f06292}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{--mat-switch-label-text-font:Roboto, sans-serif;--mat-switch-label-text-line-height:20px;--mat-switch-label-text-size:14px;--mat-switch-label-text-tracking:0.0178571429em;--mat-switch-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.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-focus-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:#3f51b5;--mdc-radio-selected-hover-icon-color:#3f51b5;--mdc-radio-selected-icon-color:#3f51b5;--mdc-radio-selected-pressed-icon-color:#3f51b5;--mat-radio-ripple-color:black;--mat-radio-checked-ripple-color:#3f51b5;--mat-radio-disabled-label-color:rgba(0, 0, 0, 0.38);--mat-radio-label-text-color:rgba(0, 0, 0, 0.87)}.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-focus-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:#ff4081;--mdc-radio-selected-hover-icon-color:#ff4081;--mdc-radio-selected-icon-color:#ff4081;--mdc-radio-selected-pressed-icon-color:#ff4081;--mat-radio-ripple-color:black;--mat-radio-checked-ripple-color:#ff4081;--mat-radio-disabled-label-color:rgba(0, 0, 0, 0.38);--mat-radio-label-text-color:rgba(0, 0, 0, 0.87)}.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-focus-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);--mat-radio-label-text-color:rgba(0, 0, 0, 0.87)}html{--mdc-radio-state-layer-size:40px;--mat-radio-touch-target-display:block}html{--mat-radio-label-text-font:Roboto, sans-serif;--mat-radio-label-text-line-height:20px;--mat-radio-label-text-size:14px;--mat-radio-label-text-tracking:0.0178571429em;--mat-radio-label-text-weight:400}html{--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;--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-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%)}html{--mdc-slider-handle-color:#3f51b5;--mdc-slider-focus-handle-color:#3f51b5;--mdc-slider-hover-handle-color:#3f51b5;--mdc-slider-active-track-color:#3f51b5;--mdc-slider-inactive-track-color:#3f51b5;--mdc-slider-with-tick-marks-inactive-container-color:#3f51b5;--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;--mat-slider-ripple-color:#3f51b5;--mat-slider-hover-state-layer-color:rgba(63, 81, 181, 0.05);--mat-slider-focus-state-layer-color:rgba(63, 81, 181, 0.2);--mat-slider-value-indicator-opacity:0.6}html .mat-accent{--mdc-slider-handle-color:#ff4081;--mdc-slider-focus-handle-color:#ff4081;--mdc-slider-hover-handle-color:#ff4081;--mdc-slider-active-track-color:#ff4081;--mdc-slider-inactive-track-color:#ff4081;--mdc-slider-with-tick-marks-inactive-container-color:#ff4081;--mdc-slider-with-tick-marks-active-container-color:white;--mat-slider-ripple-color:#ff4081;--mat-slider-hover-state-layer-color:rgba(255, 64, 129, 0.05);--mat-slider-focus-state-layer-color:rgba(255, 64, 129, 0.2)}html .mat-warn{--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;--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)}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;--mat-menu-base-elevation-level:8}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-focus-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:#3f51b5;--mdc-radio-selected-hover-icon-color:#3f51b5;--mdc-radio-selected-icon-color:#3f51b5;--mdc-radio-selected-pressed-icon-color:#3f51b5}.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-focus-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:#ff4081;--mdc-radio-selected-hover-icon-color:#ff4081;--mdc-radio-selected-icon-color:#ff4081;--mdc-radio-selected-pressed-icon-color:#ff4081}.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-focus-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:#3f51b5;--mdc-checkbox-selected-hover-icon-color:#3f51b5;--mdc-checkbox-selected-icon-color:#3f51b5;--mdc-checkbox-selected-pressed-icon-color:#3f51b5;--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-selected-focus-state-layer-color:#3f51b5;--mdc-checkbox-selected-hover-state-layer-color:#3f51b5;--mdc-checkbox-selected-pressed-state-layer-color:#3f51b5;--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:white;--mdc-checkbox-selected-focus-icon-color:#ff4081;--mdc-checkbox-selected-hover-icon-color:#ff4081;--mdc-checkbox-selected-icon-color:#ff4081;--mdc-checkbox-selected-pressed-icon-color:#ff4081;--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-selected-focus-state-layer-color:#ff4081;--mdc-checkbox-selected-hover-state-layer-color:#ff4081;--mdc-checkbox-selected-pressed-state-layer-color:#ff4081;--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-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--selected .mdc-list-item__start,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated .mdc-list-item__primary-text,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated .mdc-list-item__start{color:#3f51b5}.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;--mat-paginator-touch-target-display:block}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-secondary-navigation-tab-container-height:48px;--mdc-tab-indicator-active-indicator-height:2px;--mdc-tab-indicator-active-indicator-shape:0;--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:#3f51b5;--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:#3f51b5;--mat-tab-header-active-ripple-color:#3f51b5;--mat-tab-header-inactive-ripple-color:#3f51b5;--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:#3f51b5;--mat-tab-header-active-hover-label-text-color:#3f51b5;--mat-tab-header-active-focus-indicator-color:#3f51b5;--mat-tab-header-active-hover-indicator-color:#3f51b5}.mat-mdc-tab-group.mat-accent,.mat-mdc-tab-nav-bar.mat-accent{--mdc-tab-indicator-active-indicator-color:#ff4081;--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:#ff4081;--mat-tab-header-active-ripple-color:#ff4081;--mat-tab-header-inactive-ripple-color:#ff4081;--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:#ff4081;--mat-tab-header-active-hover-label-text-color:#ff4081;--mat-tab-header-active-focus-indicator-color:#ff4081;--mat-tab-header-active-hover-indicator-color:#ff4081}.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:#3f51b5;--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:#ff4081;--mat-tab-header-with-background-foreground-color:white}.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:white;--mdc-checkbox-selected-focus-icon-color:#ff4081;--mdc-checkbox-selected-hover-icon-color:#ff4081;--mdc-checkbox-selected-icon-color:#ff4081;--mdc-checkbox-selected-pressed-icon-color:#ff4081;--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-selected-focus-state-layer-color:#ff4081;--mdc-checkbox-selected-hover-state-layer-color:#ff4081;--mdc-checkbox-selected-pressed-state-layer-color:#ff4081;--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-checkbox-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:#3f51b5;--mdc-checkbox-selected-hover-icon-color:#3f51b5;--mdc-checkbox-selected-icon-color:#3f51b5;--mdc-checkbox-selected-pressed-icon-color:#3f51b5;--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-selected-focus-state-layer-color:#3f51b5;--mdc-checkbox-selected-hover-state-layer-color:#3f51b5;--mdc-checkbox-selected-pressed-state-layer-color:#3f51b5;--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-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}html{--mat-checkbox-label-text-font:Roboto, sans-serif;--mat-checkbox-label-text-line-height:20px;--mat-checkbox-label-text-size:14px;--mat-checkbox-label-text-tracking:0.0178571429em;--mat-checkbox-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-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-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);--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:#3f51b5;--mat-text-button-state-layer-color:#3f51b5;--mat-text-button-ripple-color:rgba(63, 81, 181, 0.1)}.mat-mdc-button.mat-accent{--mdc-text-button-label-text-color:#ff4081;--mat-text-button-state-layer-color:#ff4081;--mat-text-button-ripple-color:rgba(255, 64, 129, 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:#3f51b5;--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:#ff4081;--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-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:#3f51b5;--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:#ff4081;--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-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:#3f51b5;--mdc-outlined-button-outline-color:rgba(0, 0, 0, 0.12);--mat-outlined-button-state-layer-color:#3f51b5;--mat-outlined-button-ripple-color:rgba(63, 81, 181, 0.1)}.mat-mdc-outlined-button.mat-accent{--mdc-outlined-button-label-text-color:#ff4081;--mdc-outlined-button-outline-color:rgba(0, 0, 0, 0.12);--mat-outlined-button-state-layer-color:#ff4081;--mat-outlined-button-ripple-color:rgba(255, 64, 129, 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-protected-button-container-height:36px;--mdc-outlined-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-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;--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}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:#3f51b5;--mat-icon-button-state-layer-color:#3f51b5;--mat-icon-button-ripple-color:rgba(63, 81, 181, 0.1)}html .mat-mdc-icon-button.mat-accent{--mdc-icon-button-icon-color:#ff4081;--mat-icon-button-state-layer-color:#ff4081;--mat-icon-button-ripple-color:rgba(255, 64, 129, 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-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-small-container-shape:50%;--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-extended-fab-container-height:48px;--mdc-extended-fab-container-shape:24px;--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)}html{--mdc-fab-container-color:white;--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;--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)}html .mat-mdc-fab.mat-primary{--mdc-fab-container-color:#3f51b5;--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:#ff4081;--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-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:#3f51b5;--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:#ff4081;--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-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:#ff4081}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:#3f51b5}html .mat-accent{--mdc-circular-progress-active-indicator-color:#ff4081}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:#3f51b5;--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:#ff4081;--mat-badge-text-color:white}.mat-badge-warn{--mat-badge-background-color:#f44336;--mat-badge-text-color:white}html{--mat-badge-text-font:Roboto, sans-serif;--mat-badge-line-height:22px;--mat-badge-text-size:12px;--mat-badge-text-weight:600;--mat-badge-small-size-text-size:9px;--mat-badge-small-size-line-height:16px;--mat-badge-large-size-text-size:24px;--mat-badge-large-size-line-height:28px}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:#3f51b5;--mat-datepicker-calendar-date-selected-disabled-state-background-color:rgba(63, 81, 181, 0.4);--mat-datepicker-calendar-date-today-selected-state-outline-color:white;--mat-datepicker-calendar-date-focus-state-background-color:rgba(63, 81, 181, 0.3);--mat-datepicker-calendar-date-hover-state-background-color:rgba(63, 81, 181, 0.3);--mat-datepicker-toggle-active-state-icon-color:#3f51b5;--mat-datepicker-calendar-date-in-range-state-background-color:rgba(63, 81, 181, 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:white;--mat-datepicker-calendar-date-selected-state-background-color:#ff4081;--mat-datepicker-calendar-date-selected-disabled-state-background-color:rgba(255, 64, 129, 0.4);--mat-datepicker-calendar-date-today-selected-state-outline-color:white;--mat-datepicker-calendar-date-focus-state-background-color:rgba(255, 64, 129, 0.3);--mat-datepicker-calendar-date-hover-state-background-color:rgba(255, 64, 129, 0.3);--mat-datepicker-calendar-date-in-range-state-background-color:rgba(255, 64, 129, 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:#ff4081}.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:#3f51b5}.mat-icon.mat-accent{--mat-icon-color:#ff4081}.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:#3f51b5;--mat-stepper-header-selected-state-icon-foreground-color:white;--mat-stepper-header-done-state-icon-background-color:#3f51b5;--mat-stepper-header-done-state-icon-foreground-color:white;--mat-stepper-header-edit-state-icon-background-color:#3f51b5;--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:white;--mat-stepper-header-selected-state-icon-background-color:#ff4081;--mat-stepper-header-selected-state-icon-foreground-color:white;--mat-stepper-header-done-state-icon-background-color:#ff4081;--mat-stepper-header-done-state-icon-foreground-color:white;--mat-stepper-header-edit-state-icon-background-color:#ff4081;--mat-stepper-header-edit-state-icon-foreground-color:white}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:#3f51b5;--mat-toolbar-container-text-color:white}.mat-toolbar.mat-accent{--mat-toolbar-container-background-color:#ff4081;--mat-toolbar-container-text-color:white}.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/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/styles/responsive.css ***!
  \*******************************************************************************************************************************************************************************************************************/
/* ======================================
   RESPONSIVE GRID UTILITIES
   ====================================== */

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
  .container-responsive {
    padding: 10px;
  }

  .grid-col-xs-1 { width: 100%; }
  .grid-col-xs-2 { width: 50%; }
  .grid-col-xs-3 { width: 33.333%; }
  .grid-col-xs-4 { width: 25%; }
  .grid-col-xs-6 { width: 50%; }
  .grid-col-xs-12 { width: 100%; }

  .d-xs-none { display: none !important; }
  .d-xs-block { display: block !important; }
  .d-xs-flex { display: flex !important; }

  .p-xs-1 { padding: 5px; }
  .p-xs-2 { padding: 10px; }
  .p-xs-3 { padding: 15px; }

  .m-xs-1 { margin: 5px; }
  .m-xs-2 { margin: 10px; }
  .m-xs-3 { margin: 15px; }

  .flex-xs-column { flex-direction: column !important; }
  .gap-xs-1 { gap: 5px !important; }
  .gap-xs-2 { gap: 10px !important; }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  .container-responsive {
    padding: 15px;
  }

  .grid-col-sm-1 { width: 100%; }
  .grid-col-sm-2 { width: 50%; }
  .grid-col-sm-3 { width: 33.333%; }
  .grid-col-sm-4 { width: 25%; }
  .grid-col-sm-6 { width: 50%; }
  .grid-col-sm-12 { width: 100%; }

  .d-sm-none { display: none !important; }
  .d-sm-block { display: block !important; }
  .d-sm-flex { display: flex !important; }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .container-responsive {
    padding: 15px;
  }

  .grid-col-md-1 { width: 100%; }
  .grid-col-md-2 { width: 50%; }
  .grid-col-md-3 { width: 33.333%; }
  .grid-col-md-4 { width: 25%; }
  .grid-col-md-6 { width: 50%; }
  .grid-col-md-12 { width: 100%; }

  .d-md-none { display: none !important; }
  .d-md-block { display: block !important; }
  .d-md-flex { display: flex !important; }

  .flex-md-row { flex-direction: row !important; }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .grid-col-lg-1 { width: 100%; }
  .grid-col-lg-2 { width: 50%; }
  .grid-col-lg-3 { width: 33.333%; }
  .grid-col-lg-4 { width: 25%; }
  .grid-col-lg-6 { width: 50%; }
  .grid-col-lg-12 { width: 100%; }

  .d-lg-none { display: none !important; }
  .d-lg-block { display: block !important; }
  .d-lg-flex { display: flex !important; }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .grid-col-xl-1 { width: 100%; }
  .grid-col-xl-2 { width: 50%; }
  .grid-col-xl-3 { width: 33.333%; }
  .grid-col-xl-4 { width: 25%; }
  .grid-col-xl-6 { width: 50%; }
  .grid-col-xl-12 { width: 100%; }

  .d-xl-none { display: none !important; }
  .d-xl-block { display: block !important; }
  .d-xl-flex { display: flex !important; }
}

/* ======================================
   RESPONSIVE UTILITIES
   ====================================== */

.flex-wrap-responsive {
  flex-wrap: wrap;
}

.table-responsive-vertical {
  width: 100%;
  overflow-x: auto;
}

@media (max-width: 767.98px) {
  .table-responsive-vertical table {
    border: 0;
  }

  .table-responsive-vertical table thead {
    display: none;
  }

  .table-responsive-vertical table tbody tr {
    display: block;
    border: 1px solid #ddd;
    margin-bottom: 10px;
    border-radius: 5px;
    padding: 10px;
  }

  .table-responsive-vertical table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    border: none;
    padding: 10px 0;
  }

  .table-responsive-vertical table td::before {
    content: attr(data-label);
    display: inline-block;
    width: 35%;
    font-weight: bold;
    text-align: left;
    margin-right: 10px;
  }
}

/* ======================================
   RESPONSIVE FORM UTILITIES
   ====================================== */

@media (max-width: 575.98px) {
  .form-row {
    flex-direction: column !important;
  }

  .form-group {
    width: 100% !important;
    margin-bottom: 15px;
  }

  .input-group {
    flex-direction: column;
  }

  .input-group .form-control,
  .input-group .btn {
    width: 100%;
    margin-bottom: 5px;
  }

  .btn-group {
    flex-direction: column;
    width: 100%;
  }

  .btn-group .btn {
    width: 100%;
  }
}

/* ======================================
   RESPONSIVE SPACING UTILITIES
   ====================================== */

@media (max-width: 575.98px) {
  .m-sm-auto { margin: auto !important; }
  .ms-sm-auto { margin-left: auto !important; }
  .me-sm-auto { margin-right: auto !important; }
  .mt-sm-0 { margin-top: 0 !important; }
  .mb-sm-0 { margin-bottom: 0 !important; }
  .mt-sm-2 { margin-top: 10px !important; }
  .mb-sm-2 { margin-bottom: 10px !important; }
}

/* ======================================
   PRINT STYLES
   ====================================== */

@media print {
  .no-print {
    display: none !important;
  }

  .print-only {
    display: block !important;
  }

  body {
    background: white;
  }
}


/*!**************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/styles.css?ngGlobalStyle (4) ***!
  \**************************************************************************************************************************************************************************************************************************/
/* You can add global styles to this file */

/* ========================================
   THEME SYSTEM - Metallic Chicks Design
   ======================================== */

/* Default theme: Emerald Lookout (applies before JS/theme service runs) */
:root {
  --primary-from: #1abc9c;
  --primary-to: #16a085;
  --primary-hover-from: #159a85;
  --primary-hover-to: #13846f;
  --primary-shadow: rgba(26, 188, 156, 0.35);
  --primary-shadow-hover: rgba(26, 188, 156, 0.45);
  --primary-light: rgba(26, 188, 156, 0.1);
  --primary-border: #16a085;
  --theme-font: 'Inter', sans-serif;
}

/* Theme 1: Golden Egg - Warm golden theme inspired by precious eggs */
:root[data-theme="golden-egg"] {
  --primary-from: #d4af37;
  --primary-to: #f4d03f;
  --primary-to: #ffd700;
  --primary-hover-from: #b8941f;
  --primary-hover-to: #e6c200;
  --primary-shadow: rgba(212, 175, 55, 0.35);
  --primary-shadow-hover: rgba(212, 175, 55, 0.45);
  --primary-light: rgba(212, 175, 55, 0.1);
  --primary-border: #d4af37;
  --theme-font: 'Inter', sans-serif;
}

/* Theme 2: Silver Feather - Cool silver theme with elegant metallic finish */
:root[data-theme="silver-feather"] {
  --primary-from: #708090;
  --primary-to: #c0c0c0;
  --primary-hover-from: #5a6a78;
  --primary-hover-to: #a8a8a8;
  --primary-shadow: rgba(112, 128, 144, 0.35);
  --primary-shadow-hover: rgba(112, 128, 144, 0.45);
  --primary-light: rgba(112, 128, 144, 0.1);
  --primary-border: #708090;
  --theme-font: 'Inter', sans-serif;
}

/* Theme 3: Copper Crest - Earthy copper theme with rustic warmth */
:root[data-theme="copper-crest"] {
  --primary-from: #b87333;
  --primary-to: #cd7f32;
  --primary-hover-from: #9a5e2a;
  --primary-hover-to: #b36b28;
  --primary-shadow: rgba(184, 115, 51, 0.35);
  --primary-shadow-hover: rgba(184, 115, 51, 0.45);
  --primary-light: rgba(184, 115, 51, 0.1);
  --primary-border: #b87333;
  --theme-font: 'Inter', sans-serif;
}

/* Theme 4: Emerald Lookout - Business-style green theme with fresh accent */
:root[data-theme="emerald-lookout"] {
  --primary-from: #1abc9c;
  --primary-to: #16a085;
  --primary-hover-from: #159a85;
  --primary-hover-to: #13846f;
  --primary-shadow: rgba(26, 188, 156, 0.35);
  --primary-shadow-hover: rgba(26, 188, 156, 0.45);
  --primary-light: rgba(26, 188, 156, 0.1);
  --primary-border: #16a085;
  --theme-font: 'Inter', sans-serif;
}

/* Global Reset & Typography */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body, app-root {
  min-height: 100%;
  height: 100%;
}

body {
  margin: 0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica', 'Arial', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #2d3748;
  background: #f0f2f5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.3;
  color: #1a202c;
}

h1 { font-size: 32px; }
h2 { font-size: 28px; }
h3 { font-size: 24px; }
h4 { font-size: 20px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

/* Form Elements Global Styling */
label, .app-form-label {
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: #2d3748;
  margin-bottom: 6px;
}

label.required::after,
.app-form-label.required::after {
  content: ' *';
  color: #e53935;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="date"],
input[type="datetime-local"],
input[type="time"],
select,
textarea,
.app-form-control {
  width: 100%;
  padding: 5px;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #2d3748;
  background: white;
  transition: all 0.2s ease;
  outline: none !important;
  box-shadow: none !important;
}

/* Remove browser default focus outline */
input:focus,
select:focus,
textarea:focus,
button:focus {
  outline: none !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus,
input[type="datetime-local"]:focus,
input[type="time"]:focus,
select:focus,
textarea:focus,
.app-form-control:focus {
  border-color: var(--primary-border) !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1) !important;
  background: #ffffff !important;
  outline: none !important;
}

/* Remove any invalid/valid browser styling */
input:invalid,
select:invalid,
textarea:invalid {
  box-shadow: none !important;
  outline: none !important;
}

/* Angular validation states - show red border when field is invalid and touched */
input.ng-invalid.ng-touched,
select.ng-invalid.ng-touched,
textarea.ng-invalid.ng-touched,
.app-form-control.ng-invalid.ng-touched {
  border-color: #e53e3e !important;
  box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.1) !important;
}

/* Override focus state for invalid fields */
input.ng-invalid.ng-touched:focus,
select.ng-invalid.ng-touched:focus,
textarea.ng-invalid.ng-touched:focus,
.app-form-control.ng-invalid.ng-touched:focus {
  border-color: #e53e3e !important;
  box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.2) !important;
}

input[type="text"]:disabled,
input[type="email"]:disabled,
input[type="password"]:disabled,
input[type="number"]:disabled,
input[type="tel"]:disabled,
input[type="date"]:disabled,
select:disabled,
textarea:disabled,
.app-form-control:disabled {
  background: #f7fafc;
  color: #a0aec0;
  cursor: not-allowed;
  border-color: #e2e8f0;
}

input::placeholder,
textarea::placeholder {
  color: #a0aec0;
  font-weight: 400;
}

/* Select Dropdown Styling */
select,
select.app-form-control {
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232d3748' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
  padding-right: 15px;
}

select:focus,
select.app-form-control:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23667eea' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
}

/* Textarea */
textarea {
  resize: vertical;
  min-height: 80px;
  line-height: 1.5;
}

/* Non-resizable remarks textarea with scroll */
.remarks-textarea {
  resize: none !important;
  overflow-y: auto;
}

/* DataTables empty state message */
table.dataTable tbody td.dataTables_empty {
  color: #c62828 !important;
  font-size: 18px !important;
  font-weight: 600;
  text-align: center !important;
  padding: 18px 10px !important;
}

.name-titlecase {
  text-transform: capitalize;
}

td[data-label="Farmer Name"],
td[data-label="Visitor Name"],
.mat-column-farmername,
.mat-column-farmerName,
.mat-column-visitorname,
.mat-column-visitorName {
  text-transform: capitalize;
}

/* Global uniform table row height */
:root {
  --app-table-row-height: 48px;
  --app-table-header-height: 50px;
}

/* Angular Material tables */
.mat-mdc-table .mat-mdc-header-row,
.mat-mdc-table .mat-header-row {
  height: var(--app-table-header-height) !important;
}

.mat-mdc-table .mat-mdc-row,
.mat-mdc-table .mat-row,
table[mat-table] tr[mat-row] {
  height: var(--app-table-row-height) !important;
}

.mat-mdc-table .mat-mdc-header-cell,
.mat-mdc-table .mat-header-cell,
.mat-mdc-table .mat-mdc-cell,
.mat-mdc-table .mat-cell {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  line-height: 1.25 !important;
  vertical-align: middle !important;
}

/* DataTables and normal tables */
table.dataTable thead tr,
table thead tr {
  height: var(--app-table-header-height);
}

table.dataTable tbody tr,
table tbody tr {
  height: var(--app-table-row-height);
}

table.dataTable thead th,
table.dataTable tbody td,
table thead th,
table tbody td {
  vertical-align: middle;
  line-height: 1.25;
}

@media (max-width: 768px) {
  :root {
    --app-table-row-height: 44px;
    --app-table-header-height: 46px;
  }
}

/* Uniform table/grid height across list and report pages */
.table-responsive {
  min-height: 420px;
}

.table-responsive .dataTables_wrapper {
  min-height: 420px;
}

/* Chicks orders: keep list height stable and scroll inside the table container */
.orders-table-wrap {
  min-height: 420px;
  max-height: calc(100vh - 280px);
  overflow-y: auto;
  overflow-x: auto;
}

.orders-table-wrap table {
  margin-bottom: 0;
}

/* Common table responsiveness across all listing/report pages */
.table-responsive {
  width: 100%;
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.table-responsive > table,
.table-responsive > .table,
.table-responsive table.dataTable {
  width: 100%;
  min-width: 0;
}

@media (max-width: 991.98px) {
  .table-responsive {
    min-height: auto;
    max-height: calc(100vh - 260px);
  }

  .table-responsive .dataTables_wrapper {
    min-height: auto;
  }

  .orders-table-wrap {
    min-height: auto;
    max-height: calc(100vh - 260px);
  }
}

@media (max-width: 991.98px) and (orientation: landscape) {
  .mobile-menu-toggle {
    top: 12px;
    left: 12px;
    width: 40px;
    height: 40px;
  }

  .top-header {
    height: 58px;
  }

  .content-area {
    padding: 10px;
  }

  .table-responsive {
    max-height: calc(100vh - 210px);
  }
}

/* Checkbox & Radio Styling */
input[type="checkbox"],
input[type="radio"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: var(--primary-from);
}

/* Button Global Styling */
button,
.btn {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  outline: none;
}

.btn-primary {
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  color: white;
  padding: 10px 15px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4);
}

.btn-secondary {
  background: #e2e8f0;
  color: #2d3748;
  padding: 10px 15px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
}

.btn-secondary:hover {
  background: #cbd5e0;
}

.btn-success {
  background: #48bb78;
  color: white;
  padding: 10px 15px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(72, 187, 120, 0.3);
}

.btn-success:hover {
  background: #38a169;
}

.btn-danger {
  background: #f56565;
  color: white;
  padding: 10px 15px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(245, 101, 101, 0.3);
}

.btn-danger:hover {
  background: #e53e3e;
}

.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
}

/* Date Input Calendar Icon */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  filter: none;
  opacity: 0.9;
  pointer-events: auto;
}

input[type="date"]:focus::-webkit-calendar-picker-indicator,
input[type="datetime-local"]:focus::-webkit-calendar-picker-indicator {
  filter: none;
  opacity: 1;
}

/* Ensure native date controls render consistently */
input[type="date"],
input[type="datetime-local"] {
  color-scheme: light;
  appearance: auto;
  -webkit-appearance: auto;
}

.mat-mdc-form-field input[type="date"].mat-mdc-input-element,
.mat-mdc-form-field input[type="datetime-local"].mat-mdc-input-element {
  padding: 5px !important;
}

/* Shared modal styles for all popups */
.app-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  z-index: 1050;
  backdrop-filter: blur(2px);
  /* Prevent all interactions outside modal */
  pointer-events: auto;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  overflow: hidden;
  overscroll-behavior: contain;
}

/* Lock page scroll whenever any modal overlay is visible */
html:has(.app-modal-overlay),
body:has(.app-modal-overlay) {
  overflow: hidden !important;
}

.app-modal-overlay > * {
  pointer-events: auto;
  user-select: auto;
  -webkit-user-select: auto;
}

/* Prevent any clicks on overlay background from reaching page below */
.app-modal-overlay::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: auto;
}

/* Ensure Material overlay panels appear above custom modal overlay */
.cdk-overlay-container,
.cdk-global-overlay-wrapper,
.cdk-overlay-pane {
  z-index: 1100;
}

.app-modal {
  width: min(900px, 100%);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  overflow: auto;
  animation: app-modal-pop 200ms ease-out;
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  height: auto;
  max-width: 100%;
}

.app-modal--wide {
  width: min(1100px, 100%);
}

.app-modal--large {
  width: min(1280px, 100%);
  max-height: calc(100vh - 1.5rem);
}

.app-modal--small {
  width: min(460px, 100%);
}

.app-modal--inspection {
  overflow: auto;
}

.app-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 15px;
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  color: #fff;
  flex-shrink: 0;
}

.app-modal__title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
}

.app-modal__close {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 32px;
  cursor: pointer;
  padding: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: all 0.2s ease;
  line-height: 1;
}

.app-modal__close:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}

.app-modal__close:active {
  transform: scale(0.95);
}

.app-modal__body {
  padding: 15px 15px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px 16px;
  flex: 1;
  overflow: auto;
  height: auto;
  max-height: none;
  min-height: auto;
}

/* Allow specific modals to grow naturally without internal body scroll */
.app-modal-overlay--scrollable {
  align-items: flex-start;
  overflow: auto;
  padding-block: 0.75rem;
}

.app-modal--daily-report {
  width: min(1200px, 100%);
  max-height: calc(100vh - 1.5rem) !important;
  overflow: hidden !important;
  margin: 0.5rem auto;
}

.app-modal__body--daily-report {
  overflow: auto !important;
  max-height: calc(100vh - 210px) !important;
  padding-bottom: 10px;
}

@media (max-height: 900px) {
  .app-modal--daily-report {
    max-height: calc(100vh - 1rem) !important;
  }

  .app-modal__body--daily-report {
    max-height: calc(100vh - 190px) !important;
  }
}

@media (max-width: 768px) {
  .app-modal-overlay {
    padding: 5px;
  }

  .app-modal--large {
    width: 100%;
    max-height: calc(100vh - 0.5rem);
    border-radius: 14px;
  }

  .app-modal--small {
    width: min(420px, 100%);
  }

  .app-modal--daily-report {
    max-height: calc(100vh - 0.8rem) !important;
    border-radius: 12px;
  }

  .app-modal__body--daily-report {
    max-height: calc(100vh - 175px) !important;
  }
}

.app-modal__body.two-cols {
  display: grid;
  /* Ensure enough width for longer labels */
  grid-template-columns: minmax(360px, 1fr) minmax(360px, 1fr);
  gap: 12px 16px;
  max-height: none;
  overflow: visible;
  height: auto;
}

@media (max-width: 768px) {
  .app-modal__body.two-cols {
    grid-template-columns: 1fr;
  }
}

.app-modal__footer {
  padding: 15px 15px;
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  background: #f8fafb;
  border-top: 1px solid #e6eaf0;
  flex-shrink: 0;
}

.inspection-attachments-modal {
  overflow: hidden;
}

.inspection-attachments-header {
  align-items: flex-start;
}

.inspection-attachments-title-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.inspection-attachments-subtitle {
  font-size: 0.92rem;
  color: rgba(255, 255, 255, 0.92);
  word-break: break-word;
}

.inspection-attachments-body {
  padding: 0.95rem 1rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  overflow: auto;
}

.inspection-attachments-stage-wrap {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.75rem;
  align-items: center;
}

.inspection-attachments-stage {
  min-height: 420px;
  max-height: 68vh;
  border: 1px solid #d8e1ef;
  border-radius: 0.9rem;
  background: #f6f8fb;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0.65rem;
}

.inspection-attachments-preview-image {
  width: 100%;
  height: 100%;
  max-height: 66vh;
  object-fit: contain;
}

.inspection-attachments-preview-pdf {
  width: 100%;
  min-height: 420px;
  height: 66vh;
  border: 0;
  border-radius: 0.45rem;
  background: #fff;
}

.inspection-attachments-arrow {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid #bfd0e8;
  background: #ffffff;
  color: #1e3a8a;
  font-size: 1.15rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.inspection-attachments-arrow:hover:not(:disabled) {
  background: #eaf1ff;
}

.inspection-attachments-arrow:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.inspection-attachments-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(125px, 1fr));
  gap: 0.55rem;
}

.inspection-attachments-thumb {
  border: 1px solid #d6dfed;
  border-radius: 0.75rem;
  background: #fff;
  padding: 0.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  align-items: stretch;
  text-align: left;
}

.inspection-attachments-thumb.active {
  border-color: #2563eb;
  box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.18);
  background: #f8fbff;
}

.inspection-attachments-thumb img,
.inspection-attachments-thumb-pdf {
  width: 100%;
  height: 72px;
  border-radius: 0.5rem;
  object-fit: cover;
}

.inspection-attachments-thumb-pdf {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eff3f9;
  color: #1e3a8a;
  font-size: 0.88rem;
  font-weight: 700;
}

.inspection-attachments-thumb-name {
  font-size: 0.76rem;
  color: #334155;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.inspection-attachments-footer {
  padding-top: 0.7rem;
}

@media (max-width: 768px) {
  .inspection-attachments-stage-wrap {
    grid-template-columns: 1fr;
  }

  .inspection-attachments-arrow {
    display: none;
  }

  .inspection-attachments-stage {
    min-height: 280px;
    max-height: 52vh;
  }

  .inspection-attachments-preview-pdf {
    min-height: 280px;
    height: 52vh;
  }

  .inspection-attachments-thumbs {
    grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
  }

  .inspection-attachments-thumb img,
  .inspection-attachments-thumb-pdf {
    height: 60px;
  }
}

.app-form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.app-form-label {
  font-weight: 600;
  font-size: 14px;
  color: #2d3748;
  font-family: 'Inter', sans-serif;
}

.app-form-control {
  padding: 10px 15px;
  border-radius: 8px;
  border: 2px solid #e2e8f0;
  font-size: 14px;
  font-weight: 500;
  font-family: 'Inter', sans-serif;
  color: #2d3748;
  background: white;
  transition: all 0.2s ease;
}

.app-form-control:focus {
  outline: none;
  border-color: var(--primary-border);
  box-shadow: 0 0 0 3px var(--primary-light);
}

/* Summary Order Status Section - List View (One Line) */
.summary-list-section {
  margin-top: 16px;
  padding: 15px 15px;
  border-radius: 8px;
  background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
  border: 2px solid #0ea5e9;
  box-shadow: 0 2px 8px rgba(14, 165, 233, 0.15);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}

.summary-list-title {
  font-size: 15px;
  font-weight: 700;
  color: #0c4a6e;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-right: 10px;
}

.summary-list-item {
  font-size: 14px;
  color: #075985;
  padding: 5px 15px;
  background: white;
  border-radius: 6px;
  border: 1px solid #bae6fd;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  white-space: nowrap;
}

.summary-list-item strong {
  font-weight: 600;
  margin-right: 4px;
}

/* Remarks truncation indicator */
.remarks-truncated {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.25rem;
  cursor: help;
  white-space: normal;
  word-break: break-word;
}

.remarks-truncated i {
  font-size: 0.95rem;
  line-height: 1.2;
}

/* Visit list table sizing */
.visit-table {
  table-layout: fixed;
  width: 100%;
}

.visit-table th,
.visit-table td {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.visit-table th:nth-child(1),
.visit-table td:nth-child(1) { width: 70px; }
.visit-table th:nth-child(2),
.visit-table td:nth-child(2) { width: 110px; }
.visit-table th:nth-child(3),
.visit-table td:nth-child(3) { width: 180px; }
.visit-table th:nth-child(4),
.visit-table td:nth-child(4) { width: 160px; }
.visit-table th:nth-child(5),
.visit-table td:nth-child(5) { width: 100px; }
.visit-table th:nth-child(6),
.visit-table td:nth-child(6) { width: 100px; }
.visit-table th:nth-child(7),
.visit-table td:nth-child(7) { width: 140px; }
.visit-table th:nth-child(8),
.visit-table td:nth-child(8) { width: 160px; }
.visit-table th:nth-child(9),
.visit-table td:nth-child(9) { width: 170px; }
.visit-table th:nth-child(10),
.visit-table td:nth-child(10) { width: 140px; }
.visit-table th:nth-child(11),
.visit-table td:nth-child(11) {
  width: 150px;
  max-width: 150px;
  white-space: normal;
  word-break: break-word;
  overflow: visible;
  text-overflow: unset;
}
.visit-table th:nth-child(12),
.visit-table td:nth-child(12) { width: 120px; }

.app-form-control:disabled {
  background: #f7fafc;
  cursor: not-allowed;
  opacity: 0.6;
}

.app-form-error {
  color: #e53e3e;
  font-size: 13px;
  font-weight: 500;
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.app-form-error span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.app-form-error span::before {
  content: 'âš ';
  font-size: 14px;
}

.app-btn {
  border: none;
  border-radius: 8px;
  padding: 10px 15px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.app-btn-primary {
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  color: #fff;
  box-shadow: 0 6px 16px var(--primary-shadow);
}

.app-btn-primary:hover {
  box-shadow: 0 8px 20px var(--primary-shadow-hover);
  transform: translateY(-2px);
  background: linear-gradient(135deg, var(--primary-hover-from) 0%, var(--primary-hover-to) 100%);
}

.app-btn-primary:active {
  transform: translateY(0);
}

.app-btn-secondary {
  background: #e2e8f0;
  color: #2d3748;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.app-btn-secondary:hover {
  background: #cbd5e0;
  transform: translateY(-2px);
}

.app-btn-secondary:active {
  transform: translateY(0);

	padding: 15px 15px;
	display: flex;
	justify-content: flex-end;
	gap: 0.65rem;
	background: #f7f8fb;
	border-top: 1px solid #e6e9f0;
}

.app-form-field { display: flex; flex-direction: column; gap: 0.35rem; }
.app-form-label { font-weight: 600; color: #2d3a4a; }
.app-form-control {
	padding: 10px 10px;
	border-radius: 8px;
	border: 1px solid #d6dbe1;
	font-size: 0.95rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.app-form-control:focus {
	outline: none;
	border-color: #1f6feb;
	box-shadow: 0 0 0 3px rgba(31, 111, 235, 0.18);
}

.app-btn {
	border: none;
	border-radius: 8px;
	padding: 10px 15px;
	font-weight: 700;
	cursor: pointer;
	transition: transform 0.1s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.app-btn-primary {
	background: #1f6feb;
	color: #fff;
	box-shadow: 0 6px 16px rgba(31, 111, 235, 0.35);
}
.app-btn-primary:hover { background: #195ccc; }
.app-btn-primary:active { transform: translateY(1px); }

.app-btn-secondary { background: #eef1f6; color: #2d3a4a; }
.app-btn-secondary:hover { background: #e2e6ee; }
.app-btn-secondary:active { transform: translateY(1px); }

@keyframes app-modal-pop {
	from { transform: translateY(12px) scale(0.98); opacity: 0; }
	to   { transform: translateY(0) scale(1); opacity: 1; }
}

/* Size utilities for tighter alignment in forms */
.app-control--xs { max-width: 140px; }
.app-control--sm { max-width: 200px; }
.app-control--md { max-width: 320px; }
.app-control--num { width: 14ch; max-width: 180px; }

/* Production modal common classes used by multiple components */
.custom-modal {
  width: 900px;
  max-width: 95vw;
  border-radius: 20px;
  box-shadow: 0 8px 32px rgba(60, 60, 60, 0.12);
  background: #fff;
  padding: 0;
  overflow: hidden;
}

.custom-modal .modal-header {
  background: linear-gradient(90deg, #FFD600 0%, #FFB800 100%);
  color: #222;
  font-weight: 600;
  font-size: 1.125rem;
  padding: 15px 15px;
  border-bottom: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.custom-modal .modal-header .close {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 1.6rem;
  cursor: pointer;
  padding: 0 10px;
  line-height: 1;
  border-radius: 8px;
}

.custom-modal .modal-body { padding: 15px 15px; }
.custom-modal .form-row { display:flex; gap:28px; margin-bottom:20px; }
.custom-modal .form-group { flex:1; display:flex; flex-direction:column; }
.custom-modal .form-group.full-width { flex:2 }
.custom-modal .modal-footer { display:flex; justify-content:flex-end; gap:16px; padding:15px 15px; }

/* Custom Form Master modal alignment and dropdown behavior */
.custom-form-master-modal {
  overflow: visible;
}

.custom-form-master-modal .custom-form-master-body {
  display: grid;
  gap: 0.75rem;
}

.custom-form-master-modal .custom-form-master-top-row {
  display: grid;
  grid-template-columns: 1fr 140px;
  gap: 0.9rem;
  margin-bottom: 0.25rem;
}

.custom-form-master-modal .custom-form-master-group {
  min-width: 0;
}

.custom-form-master-modal .custom-form-master-group .mat-mdc-form-field {
  margin-bottom: 0;
}

.custom-form-master-modal .custom-form-master-options-header {
  margin-top: 0.25rem;
}

.custom-form-master-modal .custom-form-option-card {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  background: #f8fbff;
  border: 1px solid #dbe3f0;
  border-radius: 0.75rem;
  padding: 0.75rem;
  margin-bottom: 0.55rem;
}

.custom-form-master-modal .custom-form-option-card:last-child {
  margin-bottom: 0;
}

.custom-form-master-modal .custom-form-option-number {
  flex: 0 0 auto;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 0.78rem;
  font-weight: 700;
  display: grid;
  place-items: center;
  align-self: center;
}

.custom-form-master-modal .custom-form-option-fields {
  flex: 1 1 0;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(210px, 240px) 100px;
  gap: 0.65rem;
  min-width: 0;
  align-items: start;
}

.custom-form-master-modal .custom-form-option-name,
.custom-form-master-modal .custom-form-option-type,
.custom-form-master-modal .custom-form-option-order {
  width: 100%;
  margin-bottom: 0;
}

.custom-form-master-modal .custom-form-option-type .mat-mdc-form-field-subscript-wrapper {
  display: none;
}

.custom-form-master-modal .custom-form-option-delete {
  flex: 0 0 auto;
  align-self: center;
}

.custom-form-master-modal select[matNativeControl].custom-form-native-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 2rem;
  background-image: linear-gradient(45deg, transparent 50%, #64748b 50%), linear-gradient(135deg, #64748b 50%, transparent 50%);
  background-position: calc(100% - 16px) calc(50% - 3px), calc(100% - 10px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

/* Native select wrapper to match mat-form-field appearance */
.native-select-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  position: relative;
}

.native-select-label {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.6);
  font-family: inherit;
  margin-bottom: 4px;
  font-weight: 400;
}

.native-select {
  width: 100%;
  height: 56px;
  padding: 0 36px 0 12px;
  border: 1px solid rgba(0, 0, 0, 0.42);
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.04);
  font-size: 16px;
  font-family: inherit;
  color: rgba(0, 0, 0, 0.87);
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.54)' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  cursor: pointer;
  outline: none;
  transition: border-color 0.2s;
}

.native-select:focus {
  border-color: #1976d2;
  border-width: 2px;
  background-color: rgba(0, 0, 0, 0.04);
}

.native-select:hover {
  border-color: rgba(0, 0, 0, 0.87);
}

.native-select-error {
  font-size: 11px;
  color: #f44336;
  margin-top: 4px;
}

.custom-form-input-type-panel {
  min-width: 280px !important;
  max-width: 360px !important;
  max-height: 320px !important;
}

.custom-form-input-type-panel .mat-mdc-optgroup-label {
  font-weight: 700;
  color: #475569;
}

.custom-form-input-type-panel .mat-mdc-option {
  min-height: 42px;
}

.custom-form-input-type-panel .mat-icon {
  margin-right: 6px;
  vertical-align: middle;
}

@media (max-width: 900px) {
  .custom-form-master-modal .custom-form-master-top-row {
    grid-template-columns: 1fr 120px;
    gap: 0.65rem;
  }

  .custom-form-master-modal .custom-form-option-fields {
    grid-template-columns: 1fr 150px;
  }

  .custom-form-master-modal .custom-form-option-order {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .custom-form-master-modal .custom-form-master-top-row {
    grid-template-columns: 1fr;
  }

  .custom-form-master-modal .custom-form-option-fields {
    grid-template-columns: 1fr;
  }
}

/* Button focus and sizing across app */
.app-btn { 
  min-width: 110px; 
  padding: 10px 15px; 
  border: 2px solid transparent;
  transition: all 0.2s ease;
}

.app-btn:focus { 
  outline: 3px solid #1f6feb;
  outline-offset: 2px;
  border: 2px solid #1f6feb;
}

.app-btn:active {
  border: 2px solid #1f6feb;
  outline: 3px solid #1f6feb;
  outline-offset: 2px;
}

.app-btn-primary { 
  border: 2px solid transparent;
}

.app-btn-primary:focus { 
  outline: 3px solid #1f6feb;
  outline-offset: 2px;
  border: 2px solid #1f6feb;
  background: #0d47a1;
}

/* Keep readonly/disabled form text readable (not gray) */
.form-control[readonly],
.form-control:disabled,
.form-select:disabled,
input[readonly],
textarea[readonly],
input:disabled,
textarea:disabled,
select:disabled {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  opacity: 1 !important;
}

.app-btn-primary:active {
  border: 2px solid #1f6feb;
  outline: 3px solid #1f6feb;
  outline-offset: 2px;
  background: #0d47a1;
}

.app-btn-secondary { 
  border: 2px solid transparent;
}

.app-btn-secondary:focus { 
  outline: 3px solid #2d3a4a;
  outline-offset: 2px;
  border: 2px solid #2d3a4a;
  background: #d4d9e3;
}

.app-btn-secondary:active {
  border: 2px solid #2d3a4a;
  outline: 3px solid #2d3a4a;
  outline-offset: 2px;
  background: #d4d9e3;
}
.app-control--date { width: 18ch; max-width: 220px; }

/* Daily Visit Form Specific Styling */
.daily-visit-form {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.form-section {
  display: none;
}

.section-title {
  display: none;
}

.form-row {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.form-col-2 {
  min-width: 0;
}

.form-col-3 {
  min-width: 0;
}

/* Global form-page spacing (all modal/form pages) */
.app-modal .form-row,
.custom-modal .form-row,
.daily-visit-form .form-row {
  gap: 10px !important;
  margin-bottom: 1px !important;
}

.app-modal .form-group,
.custom-modal .form-group,
.daily-visit-form .form-group {
  margin-bottom: 1px !important;
}

.app-modal .mat-mdc-form-field,
.custom-modal .mat-mdc-form-field,
.daily-visit-form .mat-mdc-form-field {
  margin-bottom: 1px !important;
}

.app-modal .mat-mdc-form-field-subscript-wrapper,
.custom-modal .mat-mdc-form-field-subscript-wrapper,
.daily-visit-form .mat-mdc-form-field-subscript-wrapper {
  margin-top: 1px !important;
  min-height: 1px !important;
}

.app-form-field {
  gap: 1px !important;
}

/* Global highlighted Material labels for all form pages */
.mat-mdc-form-field .mdc-floating-label {
  font-weight: 700 !important;
  color: #1f2937 !important;
}

.mat-mdc-form-field.mat-focused .mdc-floating-label {
  color: #0b63ce !important;
}

/* Remove outer Material wrapper border globally (single-border UI) */
.app-modal .mat-mdc-form-field .mat-mdc-text-field-wrapper,
.custom-modal .mat-mdc-form-field .mat-mdc-text-field-wrapper,
form .mat-mdc-form-field .mat-mdc-text-field-wrapper,
.app-modal .mat-mdc-form-field.mat-focused .mat-mdc-text-field-wrapper,
.custom-modal .mat-mdc-form-field.mat-focused .mat-mdc-text-field-wrapper,
form .mat-mdc-form-field.mat-focused .mat-mdc-text-field-wrapper,
.app-modal .mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field--focused,
.custom-modal .mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field--focused,
form .mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field--focused {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Static/read-only field styling */
.app-form-control-static {
  padding: 10px 15px;
  border-radius: 8px;
  background: #f7fafc;
  border: 2px solid #e2e8f0;
  color: #2d3748;
  font-size: 14px;
  font-weight: 500;
  font-family: 'Inter', sans-serif;
  min-height: 40px;
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-form-field .app-form-control-static {
  cursor: default;
}

@media (max-width: 768px) {
  .app-control--xs,
  .app-control--sm,
  .app-control--md,
  .app-control--num,
  .app-control--date { 
    max-width: 100%; 
    width: 100%; 
  }
  
  .form-section {
    padding: 10px;
    border-left-width: 3px;
  }
  
  .form-row {
    grid-template-columns: 1fr;
  }
}


/* Shared table styling for list screens */
.table-header-controls {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.table-header-controls .input-group {
  max-width: 440px;
  width: 100%;
}

.table-header-toggle {
  display: flex;
  justify-content: flex-end;
}

.list-toolbar {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.list-toolbar__search {
  flex: 1 1 320px;
  min-width: 260px;
}

.list-toolbar__controls {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-left: auto;
}

.list-sort .form-select {
  min-width: 180px;
}

.list-table-wrapper {
  max-height: calc(100vh - 280px);
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  background: #fff;
  position: relative;
}

.list-table-wrapper .report-table thead th {
  position: sticky;
  top: 0;
  z-index: 5;
}

.app-table thead tr.table-controls th {
  background: #ffffff;
  border-bottom: 1px solid #e2e8f0;
  padding: 10px 10px;
}

.report-table th.sortable {
  cursor: pointer;
  padding-right: 15px;
  position: relative;
}

.report-table th.sortable::after {
  content: '\F282';
  font-family: 'bootstrap-icons';
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #a0aec0;
  font-size: 12px;
  opacity: 0.6;
}

.report-table th.sortable.asc::after {
  content: '\F145';
  color: var(--primary-from);
  opacity: 1;
}

.report-table th.sortable.desc::after {
  content: '\F1E0';
  color: var(--primary-from);
  opacity: 1;
}

@media (max-width: 768px) {
  .list-toolbar__controls {
    width: 100%;
    margin-left: 0;
    justify-content: flex-start;
  }
}

.app-table-wrapper {
  max-height: calc(100vh - 250px);
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  background: #fff;
  position: relative;
}

.app-table-wrapper::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.app-table-wrapper::-webkit-scrollbar-track {
  background: #f7fafc;
  border-radius: 5px;
}

.app-table-wrapper::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  border-radius: 5px;
}

.app-table-wrapper::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(135deg, var(--primary-hover-from) 0%, var(--primary-hover-to) 100%);
}

.app-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  font-family: 'Inter', sans-serif;
  margin: 0;
  table-layout: auto;
}

.app-table thead {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fff;
}

.app-table thead th {
  background: linear-gradient(180deg, #f7fafc 0%, #edf2f7 100%);
  font-weight: 700;
  font-size: 12px;
  padding: 10px 10px;
  color: #2d3748;
  border: 1px solid #cbd5e0;
  text-align: left;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: relative;
  -webkit-user-select: none;
          user-select: none;
  min-height: auto;
  line-height: 1.35;
  max-width: 150px;
}

/* Sortable Table Headers */
.app-table thead th.sortable {
  cursor: pointer;
  padding-right: 15px;
  transition: background 0.2s ease;
}

.app-table thead th.sortable:hover {
  background: linear-gradient(180deg, #edf2f7 0%, #e2e8f0 100%);
}

.app-table thead th.sortable::after {
  content: '\F282';
  font-family: 'bootstrap-icons';
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #a0aec0;
  font-size: 12px;
  opacity: 0.5;
  transition: all 0.2s ease;
}

.app-table thead th.sortable.asc::after {
  content: '\F145';
  color: var(--primary-from);
  opacity: 1;
}

.app-table thead th.sortable.desc::after {
  content: '\F1E0';
  color: var(--primary-from);
  opacity: 1;
}

.app-table tbody td {
  padding: 10px 10px;
  border: 1px solid #e2e8f0;
  color: #2d3748;
  font-size: 13px;
  font-weight: 500;
  vertical-align: middle;
  min-height: 40px;
  line-height: 1.4;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}

.app-table tbody tr:last-child td {
  border-bottom: 1px solid #e2e8f0;
}

.app-table tbody tr:hover {
  background: linear-gradient(90deg, var(--primary-light) 0%, var(--primary-light) 50%, var(--primary-light) 100%);
  box-shadow: inset 0 0 0 1px var(--primary-light);
}

/* Visit list column widths */
.visit-table th:nth-child(1), .visit-table td:nth-child(1) { width: 60px; text-align: left; }
.visit-table th:nth-child(2), .visit-table td:nth-child(2) { width: 110px; }
.visit-table th:nth-child(3), .visit-table td:nth-child(3) { width: 170px; }
.visit-table th:nth-child(4), .visit-table td:nth-child(4) { width: 160px; }
.visit-table th:nth-child(5), .visit-table td:nth-child(5) { width: 90px; text-align: center; }
.visit-table th:nth-child(6), .visit-table td:nth-child(6) { width: 90px; text-align: center; }
.visit-table th:nth-child(7), .visit-table td:nth-child(7) { width: 110px; text-align: center; }
.visit-table th:nth-child(8), .visit-table td:nth-child(8) { width: 140px; text-align: center; }
.visit-table th:nth-child(9), .visit-table td:nth-child(9) { width: 150px; text-align: center; }
.visit-table th:nth-child(10), .visit-table td:nth-child(10) { width: 110px; text-align: center; }
.visit-table th:nth-child(11), .visit-table td:nth-child(11) { width: 150px; }
.visit-table th:nth-child(12), .visit-table td:nth-child(12) { width: 110px; text-align: center; }

.option-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 2px 0;
}

.option-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 2px 8px;
  font-size: 0.78rem;
  color: #334155;
  white-space: nowrap;
}

.option-type-badge {
  background: #dbeafe;
  color: #1d4ed8;
  border-radius: 10px;
  padding: 1px 6px;
  font-size: 0.72rem;
  font-weight: 600;
}

.app-table-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.app-action-btn {
  border: none;
  border-radius: 8px;
  padding: 10px 15px;
  min-height: 36px;
  min-width: 75px;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-family: 'Inter', sans-serif;
  white-space: nowrap;
}

.app-action-btn:active {
  transform: translateY(1px);
}

.app-action-btn i {
  font-size: 15px;
  line-height: 1;
  color: inherit;
}

.app-action-btn--primary {
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  color: #fff;
  box-shadow: 0 4px 10px var(--primary-shadow);
}

.app-action-btn--primary:hover {
  box-shadow: 0 6px 14px var(--primary-shadow-hover);
  transform: translateY(-2px);
  background: linear-gradient(135deg, var(--primary-hover-from) 0%, var(--primary-hover-to) 100%);
}

.app-action-btn--danger {
  background: linear-gradient(135deg, #f56565 0%, #e53e3e 100%);
  color: #fff;
  box-shadow: 0 4px 10px rgba(245, 101, 101, 0.25);
}

.app-action-btn--danger:hover {
  box-shadow: 0 6px 14px rgba(245, 101, 101, 0.4);
  transform: translateY(-2px);
  background: linear-gradient(135deg, #e24949 0%, #c92a2a 100%);
}

.app-action-btn--success {
  background: linear-gradient(135deg, #48bb78 0%, #38a169 100%);
  color: #fff;
  box-shadow: 0 4px 10px rgba(72, 187, 120, 0.25);
}

.app-action-btn--success:hover {
  box-shadow: 0 6px 14px rgba(72, 187, 120, 0.4);
  transform: translateY(-2px);
  background: linear-gradient(135deg, #3aa765 0%, #2f855a 100%);
}

.app-action-btn--secondary {
  background: #e2e8f0;
  color: #2d3748;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.app-action-btn--secondary:hover {
  background: #cbd5e0;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

/* Action Button Sizes */
.app-action-btn--sm {
  padding: 5px 10px;
  min-height: 30px;
  min-width: 60px;
  font-size: 12px;
}

.app-action-btn--lg {
  padding: 10px 15px;
  min-height: 42px;
  min-width: 90px;
  font-size: 14px;
}

.app-action-btn--info {
  background: linear-gradient(135deg, #4299e1 0%, #3182ce 100%);
  color: #fff;
  box-shadow: 0 4px 10px rgba(66, 153, 225, 0.25);
}

.app-action-btn--info:hover {
  box-shadow: 0 6px 14px rgba(66, 153, 225, 0.4);
  transform: translateY(-2px);
  background: linear-gradient(135deg, #3182ce 0%, #2c5282 100%);
}

.app-action-btn--warning {
  background: linear-gradient(135deg, #ed8936 0%, #dd6b20 100%);
  color: #fff;
  box-shadow: 0 4px 10px rgba(237, 137, 54, 0.25);
}

.app-action-btn--warning:hover {
  box-shadow: 0 6px 14px rgba(237, 137, 54, 0.4);
  transform: translateY(-2px);
  background: linear-gradient(135deg, #dd6b20 0%, #c05621 100%);
}

.app-action-btn--icon {
  padding: 0;
  min-width: auto;
  min-height: auto;
  width: auto;
  height: auto;
  border-radius: 4px;
  background: transparent !important;
  box-shadow: none !important;
  color: #2d3748;
  transition: color 0.2s ease, transform 0.2s ease;
}

@media (max-width: 575.98px) {
  .app-action-btn--icon {
    min-width: 28px;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

.app-action-btn--icon:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: scale(1.15);
}

.app-action-btn--icon i {
  font-size: 20px;
  color: inherit;
}

.app-action-btn--icon.app-action-btn--primary i {
  color: var(--primary-from);
}

.app-action-btn--icon.app-action-btn--primary:hover i {
  color: var(--primary-hover-from);
}

.app-action-btn--icon.app-action-btn--danger i {
  color: #e53e3e;
}

.app-action-btn--icon.app-action-btn--danger:hover i {
  color: #c92a2a;
}

.app-action-btn--icon.app-action-btn--success i {
  color: #38a169;
}

.app-action-btn--icon.app-action-btn--success:hover i {
  color: #2f855a;
}

.app-action-btn--icon.app-action-btn--info i {
  color: #3182ce;
}

.app-action-btn--icon.app-action-btn--info:hover i {
  color: #2c5282;
}

/* Disabled state for action buttons */
.app-action-btn:disabled,
.app-action-btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed !important;
  pointer-events: none;
  transform: none !important;
}

.app-action-btn:disabled:hover,
.app-action-btn[disabled]:hover {
  transform: none !important;
  box-shadow: none !important;
}

.app-action-btn:disabled:active,
.app-action-btn[disabled]:active {
  transform: none !important;
}

/* Top bar action buttons (Add, Back to Dashboard) */
.app-top-btn {
  border: none;
  border-radius: 10px;
  padding: 10px 15px;
  min-height: 42px;
  min-width: 130px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
}

.app-top-btn:active {
  transform: translateY(1px);
}

.app-top-btn i {
  font-size: 16px;
}

.app-top-btn--primary {
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  color: #fff;
  box-shadow: 0 6px 16px var(--primary-shadow);
}

.app-top-btn--primary:hover {
  box-shadow: 0 8px 20px var(--primary-shadow-hover);
  transform: translateY(-2px);
  background: linear-gradient(135deg, var(--primary-hover-from) 0%, var(--primary-hover-to) 100%);
}

.app-top-btn--secondary {
  background: #e2e8f0;
  color: #2d3748;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.app-top-btn--secondary:hover {
  background: #cbd5e0;
  transform: translateY(-2px);
}

/* Table Responsive Wrapper */
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-responsive::-webkit-scrollbar {
  height: 8px;
}

.table-responsive::-webkit-scrollbar-track {
  background: #f7fafc;
  border-radius: 4px;
}

.table-responsive::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 4px;
}

.table-responsive::-webkit-scrollbar-thumb:hover {
  background: #a0aec0;
}



.app-top-btn--secondary:hover { background: #e2e6ee; }
/* Loading Spinner Animation */
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Smooth scroll behavior */
.app-table-wrapper {
  scroll-behavior: smooth;
}

/* ========================================
   ANGULAR MATERIAL TABLE STYLES
   ======================================== */

/* Material Table Base Styles */
.mat-mdc-table,
table[mat-table] {
  width: 100%;
  background: white;
  border-collapse: separate !important;
  border-spacing: 0;
  display: table;
  table-layout: fixed;
}

/* Table Head - Fixed */
.mat-mdc-table thead,
table[mat-table] thead {
  display: table-header-group;
}

/* Grid Lines - Add borders to all cells */
.mat-mdc-table .mat-mdc-header-cell,
.mat-mdc-table .mat-mdc-cell,
table[mat-table] th[mat-header-cell],
table[mat-table] td[mat-cell] {
  border: 1px solid #e2e8f0 !important;
  border-right: 1px solid #cbd5e0 !important;
  border-bottom: 1px solid #cbd5e0 !important;
}

/* Header Styles - Single Line */
.mat-mdc-table .mat-mdc-header-cell,
table[mat-table] th[mat-header-cell] {
  background: linear-gradient(135deg, #1a202c, #2d3748) !important;
  color: #f8fafc !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 10px 10px !important;
  white-space: normal !important;
  word-break: break-word;
  text-align: left !important;
  vertical-align: middle !important;
  height: 48px !important;
  line-height: 1.2 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  position: sticky;
  top: 0;
  z-index: 10;
}

/* Header text and filter input visibility */
.mat-mdc-table .mat-mdc-header-cell .column-header,
table[mat-table] th[mat-header-cell] .column-header {
  color: #f8fafc;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 0.35rem;
}

.mat-mdc-table .mat-mdc-header-cell.sortable > .column-header::after,
table[mat-table] th[mat-header-cell].sortable > .column-header::after {
  content: '\2195';
  margin-left: auto;
  font-size: 0.75rem;
  opacity: 0.55;
}

.mat-mdc-table .mat-mdc-header-cell.sortable.asc > .column-header::after,
table[mat-table] th[mat-header-cell].sortable.asc > .column-header::after {
  content: '\25B2';
  opacity: 1;
}

.mat-mdc-table .mat-mdc-header-cell.sortable.desc > .column-header::after,
table[mat-table] th[mat-header-cell].sortable.desc > .column-header::after {
  content: '\25BC';
  opacity: 1;
}

.mat-mdc-table .mat-mdc-header-cell.sortable,
table[mat-table] th[mat-header-cell].sortable {
  cursor: pointer;
}

.mat-mdc-table .mat-mdc-header-cell input,
table[mat-table] th[mat-header-cell] input {
  color: #1a202c;
}

.mat-mdc-table .mat-mdc-header-cell input::placeholder,
table[mat-table] th[mat-header-cell] input::placeholder {
  color: #4a5568;
}

/* Header Cell Content Wrapper */
.mat-mdc-table .mat-mdc-header-cell > *,
table[mat-table] th[mat-header-cell] > * {
  white-space: normal !important;
  overflow: visible;
  text-overflow: unset;
}

/* Cell Styles */
.mat-mdc-table .mat-mdc-cell,
table[mat-table] td[mat-cell] {
  padding: 10px !important;
  font-size: 13px !important;
  color: #2d3748 !important;
  vertical-align: middle !important;
  border-color: #e2e8f0 !important;
  white-space: normal !important;
  word-break: break-word;
}

/* Remarks Column - Special Handling */
.mat-mdc-table .mat-mdc-cell .remarks-truncated,
table[mat-table] td[mat-cell] .remarks-truncated {
  display: inline-block;
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: help;
}

table[mat-table] caption.table-caption {
  caption-side: top;
  text-align: left;
  font-weight: 700;
  font-size: 0.92rem;
  color: #1f2937;
  padding: 0.35rem 0.25rem 0.65rem;
}

/* Row Styles */
.mat-mdc-row,
table[mat-table] tr[mat-row] {
  border-bottom: 1px solid #e2e8f0 !important;
  transition: background-color 0.2s ease;
}

.mat-mdc-row:hover,
table[mat-table] tr[mat-row]:hover {
  background-color: #f7fafc !important;
}

/* Alternating Row Colors */
.mat-mdc-row:nth-child(even),
table[mat-table] tr[mat-row]:nth-child(even) {
  background-color: #fafbfc !important;
}

.mat-mdc-row:nth-child(odd),
table[mat-table] tr[mat-row]:nth-child(odd) {
  background-color: #ffffff !important;
}

/* Empty State Row */
.mat-mdc-table td.text-center,
table[mat-table] td.text-center {
  text-align: center !important;
  padding: 15px !important;
  color: #718096 !important;
  font-style: italic;
}

/* Action Buttons in Tables */
.mat-mdc-table .app-table-actions,
table[mat-table] .app-table-actions {
  display: flex;
  gap: 4px;
  justify-content: flex-start;
  flex-wrap: nowrap;
  align-items: center;
}

/* Specific Column Width Optimizations (fallback â€” table-specific rules take priority) */
.mat-mdc-table .mat-column-id,
table[mat-table] .mat-column-id {
  min-width: 55px;
  text-align: center !important;
}

.mat-mdc-table .mat-column-actions,
table[mat-table] .mat-column-actions {
  text-align: center !important;
  white-space: nowrap;
}

.mat-mdc-table .mat-column-remarks,
table[mat-table] .mat-column-remarks {
  min-width: 120px;
}

.mat-mdc-table .mat-column-address,
table[mat-table] .mat-column-address {
  min-width: 160px;
}

.mat-mdc-table .mat-column-date,
table[mat-table] .mat-column-date {
  min-width: 100px;
  white-space: nowrap !important;
}

.mat-mdc-table .mat-column-totalDays,
.mat-mdc-table .mat-column-mortality,
table[mat-table] .mat-column-totalDays,
table[mat-table] .mat-column-mortality {
  width: 90px !important;
  text-align: center !important;
}

/* Fix for long text columns */
.mat-mdc-table .mat-mdc-cell,
table[mat-table] td[mat-cell] {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Table Container */
.table-responsive .mat-mdc-table,
.table-responsive table[mat-table] {
  width: 100%;
}

/* Fixed Header Row */
.mat-mdc-table .mat-mdc-header-row,
table[mat-table] tr[mat-header-row] {
  display: table-row;
}

/* Table Body */
.mat-mdc-table tbody,
table[mat-table] tbody {
  display: table-row-group;
}

/* Custom Scrollbar for Table */
.table-responsive::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.table-responsive::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.table-responsive::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

.table-responsive::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Elevation Override for Better Border Visibility */
.mat-elevation-z1 {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  overflow: visible;
}

/* Table Wrapper for Scroll Container */
.table-responsive {
  position: relative;
  border-radius: 6px;
  overflow-y: auto;
  overflow-x: auto;
  height: calc(100vh - 220px);
  min-height: 320px;
  max-height: calc(100vh - 220px);
  /* Vertical scrollbar always visible so layout doesn't shift */
  scrollbar-gutter: stable;
}

/* Keep table headers fixed while body scrolls */
.mat-mdc-table thead,
table[mat-table] thead {
  position: sticky;
  top: 0;
  z-index: 2;
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
}

.mat-mdc-table .mat-mdc-header-row,
table[mat-table] tr[mat-header-row] {
  position: sticky;
  top: 0;
  z-index: 3;
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
}

/* Make each header cell sticky inside the scrolling grid container */
.table-responsive .mat-mdc-header-cell,
.table-responsive table[mat-table] th[mat-header-cell] {
  position: sticky;
  top: 0;
  z-index: 4;
  background: linear-gradient(135deg, #1a202c, #2d3748) !important;
}

.mat-mdc-table .mat-mdc-header-cell,
table[mat-table] th[mat-header-cell] {
  color: #111827 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

.column-header {
  color: #111827;
}

/* ================================================
   PER-TABLE COLUMN WIDTHS (PERCENTAGE BASED)
   Keeps each grid within viewport width at 100% zoom
   ================================================ */

/* Visitors Table */
#visitorsTable .mat-column-id           { width: 8%; text-align: center !important; }
#visitorsTable .mat-column-visitorName  { width: 22%; }
#visitorsTable .mat-column-mobileNumber { width: 16%; }
#visitorsTable .mat-column-address      { width: 28%; }
#visitorsTable .mat-column-city         { width: 12%; }
#visitorsTable .mat-column-actions      { width: 14%; text-align: center !important; }

/* Farmers Table */
#farmersTable .mat-column-id            { width: 7%; text-align: center !important; }
#farmersTable .mat-column-farmername    { width: 21%; }
#farmersTable .mat-column-mobileNumber  { width: 16%; }
#farmersTable .mat-column-address       { width: 25%; }
#farmersTable .mat-column-city          { width: 12%; }
#farmersTable .mat-column-totalCapacity { width: 10%; text-align: center !important; }
#farmersTable .mat-column-actions       { width: 9%; text-align: center !important; }

/* Orders Table */
#ordersTable .mat-column-id          { width: 7%; text-align: center !important; }
#ordersTable .mat-column-orderDate   { width: 15%; }
#ordersTable .mat-column-batchNumber { width: 8%; text-align: center !important; }
#ordersTable .mat-column-farmerName  { width: 17%; }
#ordersTable .mat-column-visitorName { width: 17%; }
#ordersTable .mat-column-quantity    { width: 10%; text-align: center !important; }
#ordersTable .mat-column-status      { width: 10%; text-align: center !important; }
#ordersTable .mat-column-actions     { width: 16%; text-align: center !important; }

/* Daily Visits Table */
#visitsTable .mat-column-id                 { width: 4%; text-align: center !important; }
#visitsTable .mat-column-date               { width: 9%; }
#visitsTable .mat-column-farmerName         { width: 14%; }
#visitsTable .mat-column-visitorName        { width: 11%; }
#visitsTable .mat-column-totalDays          { width: 6%; text-align: center !important; }
#visitsTable .mat-column-mortality          { width: 7%; text-align: center !important; }
#visitsTable .mat-column-availableChicks    { width: 8%; text-align: center !important; }
#visitsTable .mat-column-newFeedBagSupply   { width: 8%; text-align: center !important; }
#visitsTable .mat-column-feedBagConsumption { width: 8%; text-align: center !important; }
#visitsTable .mat-column-feedBagStock       { width: 7%; text-align: center !important; }
#visitsTable .mat-column-batchNumber        { width: 7%; text-align: center !important; }
#visitsTable .mat-column-actions            { width: 11%; text-align: center !important; }

.mat-mdc-table .mat-mdc-header-cell,
.mat-mdc-table .mat-mdc-cell,
table[mat-table] th[mat-header-cell],
table[mat-table] td[mat-cell] {
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Hide DataTables global UI and sorting arrows */
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  display: none !important;
}

table.dataTable thead .sorting:before,
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_desc:after {
  display: none !important;
  content: none !important;
}

.mat-sort-header-arrow {
  display: none !important;
}

/* Column filter row in tables */
.column-filter-row th {
  padding: 5px 10px !important;
  background: #ffffff;
}

.column-header {
  font-weight: 600;
  font-size: 12px;
  color: #111827;
  margin-bottom: 4px;
  display: block;
  width: 100%;
}

/* Keep header label and search input aligned */
.mat-mdc-header-cell,
table[mat-table] th[mat-header-cell] {
  vertical-align: bottom;
}

.column-filter-input {
  width: 100%;
  min-height: 28px;
  padding: 5px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-size: 12px;
  color: #111827;
  background-color: #ffffff;
}

.column-filter-input:focus {
  outline: none;
  border-color: var(--primary-from);
  box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.12);
}

/* Single global grid search toolbar */
.list-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.list-search {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 280px;
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px 10px;
}

.list-search .bi-search {
  color: #6b7280;
}

.list-search-input {
  border: none;
  outline: none;
  width: 100%;
  font-size: 14px;
  color: #111827;
  background: transparent;
}

.list-search:focus-within {
  border-color: var(--primary-from);
  box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.12);
}

/* Responsive Table Adjustments */
@media (max-width: 768px) {
  .mat-mdc-table .mat-mdc-header-cell,
  .mat-mdc-table .mat-mdc-cell,
  table[mat-table] th[mat-header-cell],
  table[mat-table] td[mat-cell] {
    padding: 10px 5px !important;
    font-size: 12px !important;
  }
  
  .mat-mdc-table .mat-column-remarks,
  table[mat-table] .mat-column-remarks {
    max-width: 120px !important;
  }
  
  .table-responsive {
    height: calc(100vh - 200px);
    min-height: 300px;
  }
}

/* ========================================
   FORM FIELDS - Modern Design with Top-Left Label
   Per User Requirements - WCAG Accessible
   ======================================== */

/* Hide unwanted MDC visual elements */
.mdc-text-field::before,
.mdc-text-field::after {
  display: none !important;
}

.mdc-line-ripple,
.mdc-line-ripple::after,
.mdc-line-ripple::before {
  display: none !important;
}

.mat-mdc-form-field .mdc-floating-label::after {
  display: none !important;
}

.mat-mdc-form-field .mdc-text-field {
  border: none !important;
  background: transparent !important;
}

.mat-mdc-form-field-focus-overlay {
  display: none !important;
}

/* Base Form Field Container */
.mat-mdc-form-field {
  width: 100%;
  font-family: var(--theme-font);
  display: block;
  position: relative;
  margin-bottom: 0;
}

/* Fill Appearance Container */
.mat-mdc-form-field.mat-form-field-appearance-fill {
  display: block;
  position: relative;
}

/* Remove gray background from fill appearance */
.mat-mdc-form-field.mat-form-field-appearance-fill .mdc-text-field--filled {
  background-color: transparent !important;
}

.mat-mdc-form-field.mat-form-field-appearance-fill .mdc-text-field {
  background-color: transparent !important;
}

.mat-mdc-form-field.mat-form-field-appearance-fill .mat-mdc-text-field-wrapper {
  background-color: transparent !important;
  padding: 0 !important;
}

.mat-mdc-form-field.mat-form-field-appearance-fill::before {
  display: none !important;
}

/* ========================================
   LABEL STYLING - Top-Left Positioned
   ======================================== */

.mat-mdc-form-field .mat-mdc-floating-label {
  position: absolute !important;
  top: 6px !important;
  left: 10px !important;
  transform: none !important;
  color: #6b7280 !important;
  font-weight: 700;
  font-size: 13px !important;
  line-height: 1.2;
  z-index: 10;
  transition: color 0.2s ease;
  letter-spacing: 0.2px;
}

/* Label always visible at top-left */
.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label--float-above {
  top: 6px !important;
  color: #6b7280 !important;
}

/* Focused Label - Theme Color */
.mat-mdc-form-field.mat-focused .mat-mdc-floating-label {
  color: var(--primary-from) !important;
  font-weight: 600;
}

/* Error Label - High Contrast Red */
.mat-mdc-form-field.mat-form-field-invalid .mat-mdc-floating-label {
  color: #991b1b !important;
  font-weight: 600;
}

/* Required Asterisk */
.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label--required::after {
  content: ' *';
  color: #dc2626;
  margin-left: 2px;
}

/* ========================================
   INPUT FIELD STYLING
   ======================================== */

.mat-mdc-form-field .mat-mdc-input-element,
.mat-mdc-form-field .mdc-text-field__input,
.mat-mdc-form-field input[type=date].mat-mdc-input-element,
.mat-mdc-form-field input[type=number].mat-mdc-input-element {
  color: #111827;
  font-size: 14px;
  font-weight: 400;
  padding: 5px !important;
  height: auto !important;
  min-height: 42px;
  line-height: 1.5;
  border: 1.5px solid #e5e7eb;
  border-radius: 6px;
  background-color: #f9f9f9;
  transition: all 0.25s ease;
  font-family: inherit;
}

/* Input Placeholder Text */
.mat-mdc-form-field .mat-mdc-input-element::placeholder {
  color: #b3b3b3;
  font-size: 13px;
}

/* ========================================
   INPUT STATES - Focus, Hover, Error
   ======================================== */

/* FOCUS STATE - Theme Color Border */
.mat-mdc-form-field.mat-focused .mat-mdc-input-element,
.mat-mdc-form-field.mat-focused .mdc-text-field__input {
  border: 2px solid var(--primary-from);
  outline: none;
  background-color: #ffffff;
  padding: 5px !important;
}

/* HOVER STATE */
.mat-mdc-form-field .mat-mdc-input-element:hover:not(:focus):not([readonly]),
.mat-mdc-form-field .mdc-text-field__input:hover:not(:focus):not([readonly]) {
  border-color: #d1d5db;
}

/* ERROR STATE - Red Border */
.mat-mdc-form-field.mat-form-field-invalid .mat-mdc-input-element,
.mat-mdc-form-field.mat-form-field-invalid .mdc-text-field__input {
  border: 1.5px solid #dc2626;
  background-color: #ffffff;
}

/* ERROR STATE + FOCUS */
.mat-mdc-form-field.mat-form-field-invalid.mat-focused .mat-mdc-input-element,
.mat-mdc-form-field.mat-form-field-invalid.mat-focused .mdc-text-field__input {
  border: 2px solid #dc2626;
  background-color: #ffffff;
  padding: 5px !important;
}

/* DISABLED STATE */
.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element,
.mat-mdc-form-field.mat-form-field-disabled .mdc-text-field__input {
  color: #9ca3af;
  background-color: #f3f4f6;
  border: 1.5px solid #e5e7eb;
  cursor: not-allowed;
}

/* READONLY STATE */
.mat-mdc-form-field .mat-mdc-input-element[readonly] {
  background-color: #f3f4f6;
  color: #4b5563;
  cursor: default;
  border: 1.5px solid #d1d5db;
}

/* Date and Number Input */
.mat-mdc-form-field input[type="date"].mat-mdc-input-element,
.mat-mdc-form-field input[type="number"].mat-mdc-input-element {
  padding: 5px !important;
}

/* Remove number spinner buttons */
.mat-mdc-form-field input[type="number"].mat-mdc-input-element::-webkit-inner-spin-button,
.mat-mdc-form-field input[type="number"].mat-mdc-input-element::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.mat-mdc-form-field input[type="number"].mat-mdc-input-element {
  -moz-appearance: textfield;
}

/* Error Message Styling - WCAG Compliant */
.mat-mdc-form-field .mat-mdc-form-field-error {
  color: #991b1b;
  font-size: 13px;
  font-weight: 500;
  margin-top: 8px;
  display: flex;
  align-items: flex-start;
  gap: 6px;
  line-height: 1.4;
}

/* Hint Message Styling */
.mat-mdc-form-field .mat-mdc-form-field-hint {
  color: #4b5563;
  font-size: 12px;
  margin-top: 6px;
  line-height: 1.3;
}

/* Form Field Wrapper in Modal */
.modal-body .mat-mdc-form-field {
  margin-bottom: 8px;
}

/* Form Field Subscript Wrapper - Prevents Layout Shift */
.mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper {
  padding-top: 5px;
  min-height: auto;
}

/* Ensure error and hint messages don't cause layout shift */
.mat-mdc-form-field .mat-mdc-form-field-hint-wrapper,
.mat-mdc-form-field .mat-mdc-form-field-error-wrapper {
  padding: 0;
}

/* Hide hint spacer element */
.mat-mdc-form-field-hint-spacer {
  display: none !important;
}

/* Disabled State - Clear Visual Feedback */
.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-floating-label {
  color: #9ca3af !important;
  opacity: 0.6;
}

/* Select Field Styling */
.mat-mdc-form-field .mat-mdc-select {
  padding: 15px 10px 10px 10px !important;
  height: auto !important;
  min-height: 42px;
  font-size: 14px;
  color: #111827;
  border: 1.5px solid #e5e7eb;
  border-radius: 6px;
  background-color: #f9f9f9;
  transition: all 0.25s ease;
}

/* Select Focus State */
.mat-mdc-form-field.mat-focused .mat-mdc-select {
  border: 2px solid var(--primary-from);
  outline: none;
  background-color: #ffffff;
  padding: 15px 10px 10px 10px !important;
}

/* Select Error State */
.mat-mdc-form-field.mat-form-field-invalid .mat-mdc-select {
  border: 1.5px solid #dc2626;
  background-color: #ffffff;
}

/* Select Error + Focus */
.mat-mdc-form-field.mat-form-field-invalid.mat-focused .mat-mdc-select {
  border: 2px solid #dc2626;
  background-color: #ffffff;
  padding: 15px 10px 10px 10px !important;
}

.mat-mdc-form-field .mat-mdc-select-trigger {
  display: flex;
  align-items: center;
  height: auto !important;
}

/* Select Arrow Icon */
.mat-mdc-select-arrow {
  color: #9ca3af;
  margin-left: 8px;
  transition: color 0.2s ease;
}

.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow {
  color: var(--primary-from);
}

.mat-mdc-form-field.mat-form-field-invalid .mat-mdc-select-arrow {
  color: #dc2626;
}

/* Select Value & Placeholder */
.mat-mdc-form-field .mat-mdc-select-value {
  color: #111827;
  font-size: 14px;
  font-weight: 400;
}

.mat-mdc-form-field .mat-mdc-select-placeholder {
  color: #b3b3b3;
  font-size: 13px;
}

/* Textarea Styling */
.mat-mdc-form-field textarea.mat-mdc-input-element {
  padding: 5px !important;
  min-height: 90px;
  resize: vertical;
  line-height: 1.6;
  border: 1.5px solid #e5e7eb;
  border-radius: 6px;
  background-color: #f9f9f9;
}

.mat-mdc-form-field.mat-focused textarea.mat-mdc-input-element {
  border: 2px solid var(--primary-from);
  outline: none;
  background-color: #ffffff;
  padding: 5px !important;
}

.mat-mdc-form-field.mat-form-field-invalid textarea.mat-mdc-input-element {
  border: 1.5px solid #dc2626;
  background-color: #ffffff;
}

.mat-mdc-form-field.mat-form-field-invalid.mat-focused textarea.mat-mdc-input-element {
  border: 2px solid #dc2626;
  background-color: #ffffff;
  padding: 5px !important;
}

/* Form Row Spacing */
.form-row {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
  align-items: flex-start;
}

.form-group {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.form-group.full-width {
  flex: 1 1 100%;
}

.form-group .mat-mdc-form-field {
  width: 100%;
}

/* Form Section Headers */
.form-section-header {
  font-size: 15px;
  font-weight: 700;
  color: #1f2937;
  margin: 12px 0 8px 0;
  padding-bottom: 5px;
  border-bottom: 2px solid #e5e7eb;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Form container padding */
.form-container {
  padding: 15px;
}

/* Ensure proper spacing between form groups */
.form-group .mat-mdc-form-field + .mat-mdc-form-field {
  margin-top: 0;
}

/* Daily Visit Form - Three Column Layout */
.daily-visit-form .form-row {
  gap: 12px;
  margin-bottom: 0;
}

.daily-visit-form .form-group {
  flex: 1 1 calc(33.333% - 16px);
  min-width: 200px;
}

.daily-visit-form .form-group.full-width {
  flex: 1 1 100%;
}

/* ========================================
   RESPONSIVE ADJUSTMENTS
   ======================================== */

/* Tablet (768px and below) */
@media (max-width: 768px) {
  .form-row {
    flex-direction: column;
    gap: 10px;
    margin-bottom: 10px;
  }
  
  .app-modal__body {
    max-height: none;
    height: auto;
    gap: 10px 12px;
  }
  
  .mat-mdc-form-field .mat-mdc-input-element {
    padding: 10px 10px 10px 10px !important;
    font-size: 14px;
  }
  
  .mat-mdc-form-field .mat-mdc-floating-label {
    font-size: 11px !important;
    top: 6px !important;
    left: 6px !important;
  }
  
  .mat-mdc-form-field .mat-mdc-select {
    padding: 10px 10px 10px 10px !important;
  }
  
  .mat-mdc-form-field textarea.mat-mdc-input-element {
    padding: 10px 10px 10px 10px !important;
    min-height: 70px;
  }
  
  .daily-visit-form .form-row {
    flex-direction: column;
  }
  
  .daily-visit-form .form-group {
    flex: 1 1 100%;
    min-width: 0;
  }
  
  .form-section-header {
    font-size: 14px;
    margin: 20px 0 10px 0;
  }
}

/* Mobile (480px and below) */
@media (max-width: 480px) {
  .form-row {
    flex-direction: column;
    gap: 8px;
    margin-bottom: 8px;
  }
  
  .app-modal__body {
    max-height: none;
    height: auto;
    gap: 8px 10px;
  }
  
  .mat-mdc-form-field .mat-mdc-input-element {
    padding: 10px 10px 10px 10px !important;
    font-size: 13px;
  }
  
  .mat-mdc-form-field .mat-mdc-floating-label {
    font-size: 10px !important;
    top: 4px !important;
    left: 4px !important;
  }
  
  .mat-mdc-form-field .mat-mdc-select {
    padding: 10px 10px 10px 10px !important;
  }
  
  .mat-mdc-form-field .mat-mdc-form-field-error {
    font-size: 11px;
  }
  
  .form-section-header {
    font-size: 13px;
    margin: 16px 0 8px 0;
  }
}

/* ========================================
   MATERIAL SELECT DROPDOWN - Professional Style
   ======================================== */

/* Select Dropdown Panel */
.mat-mdc-select-panel {
  background: #ffffff;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border: 1px solid #e5e7eb;
  margin-top: 8px;
}

/* Select Options */
.mat-mdc-option {
  font-size: 14px;
  color: #374151;
  padding: 10px 15px;
  min-height: 44px;
}

.mat-mdc-option:hover {
  background-color: #f3f4f6;
}

.mat-mdc-option.mat-mdc-option-active {
  background-color: #f9fafb;
}

.mat-mdc-option.mdc-list-item--selected {
  background-color: rgba(212, 175, 55, 0.08);
  color: var(--primary-from);
  font-weight: 500;
}

.mat-mdc-option.mdc-list-item--selected:hover {
  background-color: rgba(212, 175, 55, 0.12);
}

/* Material Button Styling */
.mat-mdc-button,
.mat-mdc-raised-button,
.mat-mdc-stroked-button {
  font-family: var(--theme-font);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 6px;
}

.mat-mdc-raised-button.mat-primary {
  background: linear-gradient(135deg, var(--primary-from), var(--primary-to));
  color: #ffffff;
  box-shadow: 0 2px 6px var(--primary-shadow);
}

.mat-mdc-raised-button.mat-primary:hover {
  box-shadow: 0 4px 12px var(--primary-shadow-hover);
  transform: translateY(-1px);
}

.mat-mdc-button.mat-button-base {
  padding: 10px 15px;
  font-size: 15px;
  font-weight: 600;
}

.mat-mdc-raised-button.mat-button-base {
  padding: 10px 15px;
  font-size: 15px;
  font-weight: 600;
  min-width: 120px;
}

/* ========================================
   UNIFORM DESIGN OVERRIDES (FINAL LAYER)
   ======================================== */
:root {
  --ui-bg: #f4f6f8;
  --ui-surface: #ffffff;
  --ui-text: #1f2937;
  --ui-muted: #6b7280;
  --ui-border: #cfd8e3;
  --ui-border-focus: #22c55e;
  --ui-focus-ring: rgba(34, 197, 94, 0.16);
}

body {
  background: var(--ui-bg) !important;
  color: var(--ui-text) !important;
}

/* Uniform card/modal surfaces */
.app-modal,
.custom-modal,
.card,
.app-table,
.table,
.report-table {
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
}

/* Uniform border + corner system */
.app-form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="date"],
input[type="datetime-local"],
input[type="time"],
select,
textarea,
.mat-mdc-form-field .mat-mdc-select {
  border: 2px solid var(--ui-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
}

/* Uniform focus across native + material */
.app-form-control:focus,
input:focus,
select:focus,
textarea:focus,
.mat-mdc-form-field.mat-focused .mat-mdc-select {
  border-color: var(--ui-border-focus) !important;
  box-shadow: 0 0 0 2px var(--ui-focus-ring) !important;
}

/* Keep invalid state visually consistent with normal fields */
input.ng-invalid.ng-touched,
select.ng-invalid.ng-touched,
textarea.ng-invalid.ng-touched,
.app-form-control.ng-invalid.ng-touched,
.mat-mdc-form-field.mat-form-field-invalid .mat-mdc-select,
.mat-mdc-form-field.mat-form-field-invalid .mat-mdc-floating-label {
  border-color: var(--ui-border) !important;
  color: var(--ui-text) !important;
}

/* Validation/Error message color - force red globally */
.mat-mdc-form-field .mat-mdc-form-field-error,
mat-error,
.app-form-error,
.validation-error,
.daily-select-error,
.invalid-feedback,
.text-danger {
  color: #b91c1c !important;
}

/* Uniform labels */
label,
.app-form-label,
.mat-mdc-form-field .mdc-floating-label,
.mat-mdc-form-field .mat-mdc-floating-label {
  color: var(--ui-text) !important;
  font-weight: 700 !important;
}

/* Uniform primary buttons */
.app-btn-primary,
.btn-primary,
.mat-mdc-raised-button.mat-primary {
  background: linear-gradient(135deg, var(--primary-from), var(--primary-to)) !important;
  color: #ffffff !important;
  border: 1px solid var(--primary-from) !important;
}

/* Uniform neutral buttons */
.app-btn-secondary,
.btn-secondary,
.mat-mdc-stroked-button {
  background: #eef2f6 !important;
  color: var(--ui-text) !important;
  border: 1px solid var(--ui-border) !important;
}

/* Uniform table header style */
.app-table thead th,
.table thead th,
.report-table thead th,
.mat-mdc-table .mat-mdc-header-cell {
  background: #eef3f8 !important;
  color: #243447 !important;
  border-bottom: 1px solid var(--ui-border) !important;
}

/* ========================================
   FINAL SINGLE-BORDER OVERRIDE (ALL FORMS)
   ======================================== */
/* Remove outer Material container/wrapper borders globally */
.mat-mdc-form-field .mat-mdc-text-field-wrapper,
.mat-mdc-form-field .mdc-text-field,
.mat-mdc-form-field .mdc-text-field--filled,
.mat-mdc-form-field .mdc-text-field--focused,
.mat-mdc-form-field .mdc-line-ripple {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Keep one border on actual controls only (input + dropdown) */
.mat-mdc-form-field .mat-mdc-input-element,
.mat-mdc-form-field .mdc-text-field__input,
.mat-mdc-form-field .mat-mdc-select {
  border: 2px solid var(--ui-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
}

/* Focus state: only the control border changes */
.mat-mdc-form-field.mat-focused .mat-mdc-input-element,
.mat-mdc-form-field.mat-focused .mdc-text-field__input,
.mat-mdc-form-field.mat-focused .mat-mdc-select,
.mat-mdc-form-field .mat-mdc-input-element:focus,
.mat-mdc-form-field .mdc-text-field__input:focus {
  border-color: var(--ui-border-focus) !important;
  box-shadow: 0 0 0 2px var(--ui-focus-ring) !important;
}

/* Invalid state stays single-border too */
.mat-mdc-form-field.mat-form-field-invalid .mat-mdc-input-element,
.mat-mdc-form-field.mat-form-field-invalid .mdc-text-field__input,
.mat-mdc-form-field.mat-form-field-invalid .mat-mdc-select {
  border-color: var(--ui-border) !important;
}

/* ========================================
   REUSABLE SELECT WRAPPER WITH ICON
   ======================================== */

.app-select-wrapper {
  position: relative;
  display: inline-flex;
  align-items: stretch;
  background: #ffffff;
  border: 2px solid #d8e0ea;
  border-radius: 8px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
}

.app-select-wrapper:focus-within {
  border-color: #0b63ce;
  box-shadow: 0 0 0 2px rgba(11, 99, 206, 0.14);
}

.app-select-wrapper:hover {
  border-color: #cbd5e0;
}

.app-select-wrapper.disabled,
.app-select-wrapper:has(select:disabled) {
  background-color: #f3f4f6;
  border-color: #e5e7eb;
}

.app-select-wrapper select {
  flex: 1;
  border: none;
  background-color: transparent;
  color: #111827;
  font-size: 14px;
  padding: 10px 10px;
  padding-right: 15px;
  line-height: 1.4;
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-family: inherit;
  font-weight: 500;
  min-height: 40px;
}

.app-select-wrapper select:focus {
  outline: none;
}

.app-select-wrapper select:disabled {
  color: #6b7280;
  cursor: not-allowed;
  background-color: transparent;
}

.app-select-wrapper select option {
  color: #111827;
  background: #ffffff;
  padding: 10px;
}

.app-select-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #6b7280;
  font-size: 12px;
  line-height: 1;
  font-weight: 600;
}

.app-select-wrapper:has(select:disabled) .app-select-icon {
  color: #9ca3af;
}

/* ========================================
   MATERIAL SELECT ENHANCED STYLING
   ======================================== */

.mat-mdc-form-field .mat-mdc-select::after {
  content: '\25bc';
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #6b7280;
  font-size: 12px;
  pointer-events: none;
}

/* Add visual arrow indicator to Material selects */
.mat-mdc-select-trigger::after {
  content: ' â–¼';
  color: #6b7280;
  font-size: 11px;
  opacity: 0.7;
}

/* ========================================
   FINAL TYPOGRAPHY STANDARDIZATION
   ======================================== */

:root {
  --app-font-family: 'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --app-header-color: #111827;
}

body,
button,
input,
select,
textarea,
.mat-typography {
  font-family: var(--app-font-family) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.app-modal__title,
.section-title,
.chart-title h3,
.table-title,
.mat-mdc-card-title,
.mat-mdc-dialog-title {
  font-family: var(--app-font-family) !important;
  color: var(--app-header-color) !important;
  letter-spacing: 0.01em;
}

h1 { font-size: clamp(1.75rem, 2.4vw, 2.15rem) !important; font-weight: 700 !important; line-height: 1.25 !important; }
h2 { font-size: clamp(1.45rem, 2vw, 1.8rem) !important; font-weight: 700 !important; line-height: 1.3 !important; }
h3 { font-size: clamp(1.2rem, 1.5vw, 1.45rem) !important; font-weight: 650 !important; line-height: 1.35 !important; }
h4 { font-size: clamp(1.05rem, 1.25vw, 1.2rem) !important; font-weight: 650 !important; line-height: 1.35 !important; }
h5 { font-size: 1.05rem !important; font-weight: 650 !important; line-height: 1.35 !important; }
h6 { font-size: 0.95rem !important; font-weight: 650 !important; line-height: 1.35 !important; }

.app-modal__title {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

/* High-contrast table header readability + consistent height */
.mat-mdc-table .mat-mdc-header-cell,
table[mat-table] th[mat-header-cell] {
  font-family: var(--app-font-family) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #f8fafc !important;
  min-height: 10px !important;
  height: 20px !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  vertical-align: middle !important;
}

.mat-mdc-table .mat-mdc-header-cell .column-header,
table[mat-table] th[mat-header-cell] .column-header,
.column-header {
  font-family: var(--app-font-family) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #f8fafc !important;
  margin-bottom: 0 !important;
}

/* Global mobile landscape fix: keep table body visible and scrollable on all list/report pages */
@media (max-width: 991.98px) and (orientation: landscape) {
  .table-responsive,
  .orders-table-wrap {
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - 180px) !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .table-responsive > table,
  .table-responsive > .table,
  .table-responsive table.dataTable,
  .table-responsive .mat-mdc-table,
  .table-responsive table[mat-table],
  .orders-table-wrap table {
    min-width: 760px !important;
  }

  .mat-mdc-table .mat-mdc-header-cell,
  .mat-mdc-table .mat-mdc-cell,
  table[mat-table] th[mat-header-cell],
  table[mat-table] td[mat-cell] {
    padding: 8px 6px !important;
    font-size: 12px !important;
  }
}

/* Global mobile zoom fix: keep page scroll functional after pinch zoom */
@media (max-width: 991.98px) {
  html:not(:has(.app-modal-overlay)),
  body:not(:has(.app-modal-overlay)) {
    height: auto !important;
    min-height: 100% !important;
    overflow: auto !important;
    overscroll-behavior: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }

  app-root,
  .layout-wrapper,
  .main-wrapper {
    height: auto !important;
    min-height: 100dvh;
  }

  .main-wrapper,
  .content-area {
    overflow: visible !important;
    touch-action: pan-x pan-y;
  }
}

/* Final table viewport sizing override for all listing/report pages */
.table-responsive,
.orders-table-wrap {
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 220px) !important;
  max-height: calc(100dvh - 220px) !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable;
}

.table-responsive .dataTables_wrapper {
  min-height: 0 !important;
}

@media (max-width: 991.98px) {
  .table-responsive,
  .orders-table-wrap {
    max-height: calc(100vh - 190px) !important;
    max-height: calc(100dvh - 190px) !important;
  }
}

@media (max-width: 575.98px) {
  .table-responsive,
  .orders-table-wrap {
    max-height: calc(100vh - 175px) !important;
    max-height: calc(100dvh - 175px) !important;
  }
}

@media (max-width: 430px) {
  .list-toolbar {
    width: 100%;
    gap: 8px;
    align-items: stretch;
  }

  .list-search {
    width: 100%;
    min-width: 0;
  }

  .list-search-input {
    font-size: 13px;
  }

  .table-responsive,
  .orders-table-wrap {
    max-height: calc(100vh - 170px) !important;
    max-height: calc(100dvh - 170px) !important;
  }
}

/*!***********************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/login.component.css?ngGlobalStyle ***!
  \***********************************************************************************************************************************************************************************************************************************/
/* Login Container */
.login-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at top left, rgba(255,255,255,0.25), transparent 25%),
              radial-gradient(circle at bottom right, rgba(255,255,255,0.16), transparent 24%),
              linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  padding: 20px;
}

.login-card {
  width: 100%;
  max-width: 450px;
  background: rgba(255, 255, 255, 0.98);
  border-radius: 22px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
  overflow: hidden;
}

.login-header {
  text-align: center;
  padding: 30px 25px 24px;
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  color: white;
  position: relative;
}

.login-header::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
}

.login-header .logo {
  width: 90px;
  height: 90px;
  margin-bottom: 18px;
  background: white;
  border-radius: 50%;
  padding: 14px;
  width: 80px;
  height: 80px;
  margin-bottom: 15px;
  background: white;
  border-radius: 50%;
  padding: 10px;
}

.title {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 5px;
}

.subtitle {
  font-size: 14px;
  opacity: 0.9;
  margin: 0;
}

.login-form {
  padding: 28px 30px 32px;
}

/* Material Form Fields in Login Form */
.login-form mat-form-field {
  display: block;
  margin-bottom: 18px;
}

.login-form mat-form-field.w-100 {
  width: 100%;
}

:host ::ng-deep .login-form .mat-mdc-form-field .mat-mdc-text-field-wrapper,
:host ::ng-deep .login-form .mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field--focused,
:host ::ng-deep .login-form .mat-mdc-form-field.mat-form-field-invalid .mat-mdc-text-field-wrapper {
  background: #f8fafc !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 12px !important;
  padding: 0.45rem 0.7rem !important;
}

:host ::ng-deep .login-form .mat-mdc-form-field.mat-focused .mat-mdc-text-field-wrapper {
  border-color: var(--primary-from) !important;
}

/* Remove outer Material wrapper border on login fields (keep only input border) */
:host ::ng-deep .login-form .mat-mdc-form-field .mat-mdc-text-field-wrapper,
:host ::ng-deep .modal-body .mat-mdc-form-field .mat-mdc-text-field-wrapper,
:host ::ng-deep .login-form .mat-mdc-form-field.mat-focused .mat-mdc-text-field-wrapper,
:host ::ng-deep .modal-body .mat-mdc-form-field.mat-focused .mat-mdc-text-field-wrapper,
:host ::ng-deep .login-form .mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field--focused,
:host ::ng-deep .modal-body .mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field--focused,
:host ::ng-deep .login-form .mat-mdc-form-field.mat-form-field-invalid .mat-mdc-text-field-wrapper,
:host ::ng-deep .modal-body .mat-mdc-form-field.mat-form-field-invalid .mat-mdc-text-field-wrapper {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Login Button */
.login-form button[type="submit"] {
  width: 100%;
  height: 52px;
  margin-top: 16px;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  background: linear-gradient(135deg, var(--primary-from), var(--primary-to));
  border: none;
  color: white;
  border-radius: 14px;
  box-shadow: 0 12px 24px rgba(212, 175, 55, 0.18);
}

.login-form button[type="submit"]:hover {
  transform: translateY(-1px);
}

.login-form button[type="submit"] .spinner-border {
  color: white;
}

/* Password Toggle Button */
.mat-mdc-icon-button.mat-mdc-button-base {
  width: 40px;
  height: 40px;
  min-width: 40px;
  padding: 8px;
}

:host ::ng-deep .login-form .mat-mdc-form-field .mat-mdc-text-field-suffix {
  position: absolute;
  right: 0.8rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
}

:host ::ng-deep .login-form .mat-mdc-form-field .mat-mdc-text-field-suffix .mat-mdc-button-touch-target {
  position: absolute;
  inset: 0;
  border-radius: 50%;
}

:host ::ng-deep .login-form .mat-mdc-form-field .mat-mdc-text-field-wrapper {
  padding-right: 3.6rem !important;
}

.mat-mdc-icon-button .bi {
  font-size: 18px;
  color: #718096;
}

/* Login Form Select Label */
.login-label {
  font-weight: 700;
  color: #1f2937;
  font-size: 13px;
  line-height: 1.2;
  margin: 0 0 6px 2px;
  display: block;
}

.forgot-password-link {
  text-align: center;
  margin-top: 20px;
}

.forgot-password-link a {
  color: var(--primary-from);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.2s;
}

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

/* Alert Styles */
.alert {
  padding: 10px 15px;
  border-radius: 8px;
  margin-bottom: 20px;
  font-size: 14px;
}

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

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

.alert-info small {
  line-height: 1.6;
}

.text-danger {
  color: #dc3545;
}

/* Password Policy */
.password-policy {
  padding: 10px;
  background: #f7fafc;
  border-left: 3px solid var(--primary-from);
  border-radius: 4px;
}

/* Modal Styles */
.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1040;
  animation: fadeIn 0.2s;
}

.modal-dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1050;
  width: 90%;
  max-width: 500px;
  animation: slideDown 0.3s;
}

.modal-content {
  background: white;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}

.modal-header {
  padding: 15px 15px;
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal-title {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
}

.btn-close {
  background: transparent;
  border: none;
  color: white;
  font-size: 28px;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  line-height: 1;
  opacity: 0.8;
  transition: opacity 0.2s;
}

.btn-close:hover {
  opacity: 1;
}

.modal-body {
  padding: 15px;
  max-height: 70vh;
  overflow-y: auto;
}

/* Material Form Fields in Modal */
.modal-body mat-form-field {
  display: block;
  margin-bottom: 16px;
}

.modal-body mat-form-field.w-100 {
  width: 100%;
}

.modal-body .mb-3 {
  margin-bottom: 16px;
}

.modal-footer {
  padding: 15px 15px;
  background: #f8f9fa;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideDown {
  from {
    transform: translate(-50%, -60%);
    opacity: 0;
  }
  to {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
}

@media (max-width: 576px) {
  .login-card {
    max-width: 100%;
  }
  
  .login-form {
    padding: 15px;
  }
  
  .modal-dialog {
    width: 95%;
  }
}


/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/chicks-orders/chicks-order-form.component.css?ngGlobalStyle ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
/* Using shared modal styles from styles.css */

/* Order Form Select Label */
.order-form-label {
  font-weight: 700;
  color: #1f2937;
  font-size: 13px;
  line-height: 1.2;
  margin: 0 0 6px 2px;
  display: block;
}

/* Order Form Hint/Error Text */
.order-form-hint {
  margin-top: 6px;
  margin-left: 2px;
  color: #991b1b;
  font-size: 12px;
  font-weight: 500;
  display: block;
}

/*!**************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/chicks-orders/chicks-orders-list.component.css?ngGlobalStyle ***!
  \**************************************************************************************************************************************************************************************************************************************************************/
/* Uses shared app-table and app-action-btn styles for consistent tables and buttons. */

.table-loading-cell {
  padding: 15px;
}

/* Order Status Badge Styles */
.order-status {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.farmer-name-link {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  color: #1d4ed8;
  text-decoration: underline;
  font: inherit;
  cursor: pointer;
}

.farmer-name-link:hover,
.farmer-name-link:focus {
  color: #1e40af;
  outline: none;
}

.order-status.status-open {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.order-status.status-closed {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

:host ::ng-deep #ordersTable .mat-column-batchNumber,
:host ::ng-deep #ordersTable th[mat-header-cell].mat-column-batchNumber,
:host ::ng-deep #ordersTable td[mat-cell].mat-column-batchNumber {
  min-width: 90px;
  width: 90px;
  text-align: center;
}


/*!**************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/chicks-orders/close-order-dialog.component.css?ngGlobalStyle ***!
  \**************************************************************************************************************************************************************************************************************************************************************/
.close-order-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(12, 12, 12, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1050;
  padding: 15px;
}

.app-modal--wide-horizontal {
  max-width: 1300px;
  width: min(94vw, 1300px);
}

.app-modal__header--gradient {
  background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
  color: white;
  padding: 15px;
}

.modal-title-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
}

.modal-title-wrapper i {
  font-size: 24px;
}

.app-modal__header--gradient .app-modal__title {
  color: white;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.app-modal__header--gradient .app-modal__subtitle {
  margin: 4px 0 0;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.4;
}

.app-modal__header--gradient .app-modal__close {
  color: white;
  opacity: 0.9;
  font-size: 32px;
}

.app-modal__header--gradient .app-modal__close:hover {
  opacity: 1;
}

.app-modal__body--compact {
  padding: 15px;
  overflow: hidden;
}

.app-modal__footer--compact {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 15px;
}

.loading-state,
.error-state {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 10px;
  border-radius: 10px;
  font-weight: 600;
}

.loading-state {
  background: #f8f9fa;
  color: #444;
}

.loading-state i {
  animation: spin 1s linear infinite;
}

.error-state {
  background: #ffe0e0;
  color: #8b0000;
}

.summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 15px;
}

.summary-item {
  background: #fff6d9;
  border-radius: 12px;
  padding: 10px;
  border: 1px solid rgba(212, 175, 55, 0.35);
}

.summary-item label {
  display: block;
  font-size: 0.85rem;
  color: #5b4b2a;
  margin-bottom: 0.25rem;
  font-weight: 600;
  white-space: normal;
  overflow-wrap: anywhere;
}

.summary-item span {
  font-size: 1.05rem;
  font-weight: 700;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.stat-card {
  border-radius: 12px;
  padding: 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 110px;
}

.stat-label {
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: normal;
  overflow-wrap: anywhere;
}

.stat-value {
  font-size: 1.35rem;
  font-weight: 700;
}

.stat-danger {
  background: #ffe5e5;
  color: #8b0000;
}

.stat-success {
  background: #e6f7e9;
  color: #1b5e20;
}

.stat-info {
  background: #e4f1ff;
  color: #0d47a1;
}

.stat-warning {
  background: #fff4d6;
  color: #8a5a00;
}

.warning-box {
  background: #fff3cd;
  border: 1px solid #ffeeba;
  color: #b71c1c;
  padding: 10px;
  border-radius: 10px;
  display: flex;
  gap: 0.6rem;
  align-items: center;
  font-weight: 600;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  width: 100%;
  margin: 15px 0 0;
}


.close-order-footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 10px 15px 15px;
  background: #fff7e0;
}

.summary-horizontal-layout {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
  grid-auto-rows: 1fr;
}

.summary-section {
  display: flex;
  flex-direction: column;
  background: white;
  border-radius: 12px;
  border: 1px solid #e0e0e0;
  overflow: hidden;
  min-height: 260px;
}

.summary-list {
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  background: #f5f7fa;
  border-bottom: 1px solid #e0e0e0;
  font-weight: 600;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #37474f;
}

.section-header i {
  font-size: 1rem;
  color: #1976d2;
}

.summary-section--order {
  border-top: 3px solid #1976d2;
}

.summary-section--visits {
  border-top: 3px solid #f57c00;
}

.summary-section--feed {
  border-top: 3px solid #388e3c;
}

.summary-section--payment {
  border-top: 3px solid #6a1b9a;
}

.summary-list {
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: calc(100% - 52px);
}

.summary-list--compact {
  justify-content: flex-start;
}

.summary-list-row {
  display: grid;
  grid-template-columns: minmax(120px, max-content) 10px auto;
  align-items: center;
  column-gap: 8px;
  padding: 10px;
  border: 1px solid #eceff1;
  border-radius: 8px;
  background: #fafafa;
  min-height: 44px;
}

.summary-list-row--input .summary-list-value {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.summary-input {
  width: 75% !important;
  min-width: 5rem;
  max-width: 8rem;
  border: 1px solid #cfd8dc;
  border-radius: 8px;
  padding: 10px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #263238;
  background: #ffffff;
  box-sizing: border-box;
}


.summary-list-row--highlight {
  border-left: 4px solid #1976d2;
  background: linear-gradient(135deg, #e3f2fd 0%, #f1f8ff 100%);
}

.summary-list-label {
  font-size: 0.8rem;
  font-weight: 700;
  color: #607d8b;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.summary-list-sep {
  font-size: 0.95rem;
  font-weight: 700;
  color: #90a4ae;
  text-align: center;
}

.summary-list-value {
  font-size: 0.95rem;
  font-weight: 700;
  color: #263238;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 960px) {
  .summary-horizontal-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .summary-horizontal-layout {
    grid-template-columns: 1fr;
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 992px) {
  .summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .summary-grid,
  .stats-grid {
    grid-template-columns: 1fr;
  }
}

/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/chiks-farmers/chiks-farmer-form.component.css?ngGlobalStyle ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
/* Production-style modal and form layout (matches production screenshot) */
.app-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,0.45);
	z-index: 9999 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(3px);
	/* Block ALL interactions outside modal */
	pointer-events: auto;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

.app-modal-overlay::before {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: -1;
	pointer-events: auto;
}

.custom-modal {
	width: 900px;
	max-width: 95vw;
	border-radius: 20px;
	box-shadow: 0 8px 32px rgba(60, 60, 60, 0.12);
	background: #fff;
	padding: 0;
	overflow: hidden;
	animation: modalIn 180ms ease-out;
	/* Ensure modal can receive all interactions */
	pointer-events: auto;
	user-select: auto;
	-webkit-user-select: auto;
}

.modal-header {
	background: linear-gradient(90deg, #FFD600 0%, #FFB800 100%);
	color: #222;
	font-weight: 600;
	font-size: 1.125rem;
	padding: 15px 15px;
	border-bottom: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.modal-header .close {
	background: transparent;
	border: none;
	color: #fff;
	font-size: 1.6rem;
	cursor: pointer;
	padding: 0 10px;
	line-height: 1;
	border-radius: 8px;
	transition: background 0.15s;
}
.modal-header .close:hover {
	background: rgba(255,255,255,0.08);
}

.modal-body {
	padding: 15px 15px;
}

.form-row {
	display: flex;
	gap: 28px;
	margin-bottom: 20px;
}

.form-group {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.form-group.full-width { flex: 2; }

.modal-footer {
	display: flex;
	justify-content: flex-end;
	gap: 16px;
	padding: 15px 15px;
	background: #fff;
	border-top: none;
}

@keyframes modalIn {
	from { transform: translateY(10px) scale(0.995); opacity: 0; }
	to { transform: translateY(0) scale(1); opacity: 1; }
}

/* ensure inputs follow app form control look */
.form-group .app-form-label { margin-bottom: 8px; }
.form-group .app-form-control { width: 100%; }


/*!**************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/chiks-farmers/chiks-farmers-list.component.css?ngGlobalStyle ***!
  \**************************************************************************************************************************************************************************************************************************************************************/
/* Relies on shared app-table and app-action-btn styles for consistent layout. */

/*!**********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/daily-chick-visit/daily-chick-visit-form.component.css?ngGlobalStyle ***!
  \**********************************************************************************************************************************************************************************************************************************************************************/
/* Daily Chick Visit Form Styles */

/* Order Summary Card */
.order-summary-card {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border: 2px solid #dee2e6;
  border-radius: 0.5rem;
  margin: 1.5rem 0;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.order-summary-header {
  background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
  color: white;
  padding: 10px 15px;
  border-bottom: 2px solid #0056b3;
}

.order-summary-header h4 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.3px;
}

.order-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  padding: 15px;
}

.summary-item {
  background: white;
  border: 1px solid #dee2e6;
  border-radius: 0.35rem;
  padding: 15px;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.summary-item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-color: #007bff;
}

.summary-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: #495057;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.5rem;
  display: block;
}

.summary-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #007bff;
  line-height: 1;
}

/* Disabled form state */
.daily-visit-form.disabled-form {
  opacity: 0.6;
  pointer-events: none;
}

/* Alert styling for closed order */
.alert {
  margin-bottom: 1rem;
  padding: 10px 15px;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

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

.alert-danger strong {
  font-weight: 600;
  display: block;
  margin-bottom: 0.5rem;
}

.alert-danger p {
  margin: 0;
}

/* Form styling */
.daily-visit-form {
  padding: 15px 0;
}

.daily-visit-form .form-row {
  gap: 1px;
  margin-bottom: 1px;
}

.daily-visit-form .form-group {
  margin-bottom: 1px;
}

/* Highlight Material labels inside this form */
:host ::ng-deep .daily-visit-form .mat-mdc-form-field .mdc-floating-label {
  font-weight: 700;
  color: #1f2937;
}

:host ::ng-deep .daily-visit-form .mat-mdc-form-field.mat-focused .mdc-floating-label {
  color: #0b63ce;
}

.form-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin-bottom: 0;
}

.form-group {
  display: flex;
  flex-direction: column;
}

.form-group.full-width {
  grid-column: 1 / -1;
}

.w-100 {
  width: 100%;
}

/* Calendar icon for date fields */
.daily-date-field {
  position: relative;
}

:host ::ng-deep .daily-date-field input[type="date"] {
  color: #111827;
  font-size: 14px;
}

:host ::ng-deep .daily-date-field input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  border-radius: 4px;
  margin-right: 4px;
  opacity: 0.7;
  filter: invert(0.3);
}

:host ::ng-deep .daily-date-field input[type="date"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

/* Dropdown label */
.daily-select-label {
  font-weight: 700;
  color: #1f2937;
  font-size: 13px;
  line-height: 1.2;
  margin: 0 0 6px 2px;
  display: block;
}

/* Dropdown wrapper with icon */
.daily-select-wrapper {
  position: relative;
  display: flex;
  align-items: stretch;
  background: #ffffff;
  border: 2px solid #d8e0ea;
  border-radius: 8px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.daily-select-wrapper:focus-within {
  border-color: #0b63ce;
  box-shadow: 0 0 0 2px rgba(11, 99, 206, 0.14);
}

.daily-select-wrapper.disabled {
  background-color: #f3f4f6;
  border-color: #e5e7eb;
}

/* Native select control */
.daily-native-select {
  flex: 1;
  border: none;
  background-color: transparent;
  color: #111827;
  font-size: 14px;
  padding: 10px 10px;
  line-height: 1.4;
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 15px;
}

.daily-native-select:focus {
  outline: none;
}

.daily-native-select:disabled {
  color: #6b7280;
  cursor: not-allowed;
  background-color: transparent;
}

.daily-native-select option {
  color: #111827;
  background: #ffffff;
  padding: 10px;
}

/* Dropdown arrow icon */
.daily-select-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #6b7280;
  font-size: 12px;
  line-height: 1;
}

/* Validation error text */
.daily-select-error {
  margin-top: 6px;
  margin-left: 2px;
  color: #991b1b;
  font-size: 12px;
  font-weight: 500;
  display: block;
}

/* Disabled state for select wrapper */
.daily-select-wrapper:has(.daily-native-select:disabled) {
  background-color: #f3f4f6;
  border-color: #e5e7eb;
}

:host ::ng-deep .daily-select-wrapper:has(.daily-native-select:disabled) .daily-select-icon {
  color: #9ca3af;
}

/* Keep compatibility if any residual mat-select remains in template */
:host ::ng-deep .daily-visit-form .mat-mdc-form-field .mat-mdc-select {
  min-height: 42px;
}



/*!**********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/daily-chick-visit/daily-chick-visit-list.component.css?ngGlobalStyle ***!
  \**********************************************************************************************************************************************************************************************************************************************************************/
/* Action button styles */
.app-action-btn--info {
  background-color: #0288d1;
  color: white;
}

.selected-farmer-banner {
  margin-bottom: 14px;
  padding: 2px 0;
  color: #1d4ed8;
  font-size: 14px;
}

.banner-value {
  display: inline;
  font-weight: 700;
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
  border-bottom: 1px solid currentColor;
}

.banner-value--farmer {
  color: #166534;
}

.banner-value--visitor {
  color: #7c2d12;
}

.banner-value--batch {
  color: #4a044e;
}

.app-action-btn--info:hover {
  background-color: #0277bd;
}

.app-action-btn--info:disabled {
  background-color: #b0bec5;
  cursor: not-allowed;
}

/* Modal Size - Wide Horizontal Layout */
.app-modal--wide-horizontal {
  max-width: 1300px;
  width: min(94vw, 1300px);
}

/* Modal Header with Gradient */
.app-modal__header--gradient {
  background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
  color: white;
  padding: 15px 15px;
}

.modal-title-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
}

.modal-title-wrapper i {
  font-size: 24px;
}

.app-modal__header--gradient .app-modal__title {
  color: white;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.app-modal__header--gradient .app-modal__close {
  color: white;
  opacity: 0.9;
  font-size: 32px;
}

.app-modal__header--gradient .app-modal__close:hover {
  opacity: 1;
}

/* Compact Modal Body */
.app-modal__body--compact {
  padding: 15px 15px;
  overflow: hidden;
}

/* Horizontal Layout Container */
.summary-horizontal-layout {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 14px;
  grid-auto-rows: 1fr;
}

/* Summary Section Base Styles */
.summary-section {
  display: flex;
  flex-direction: column;
  background: white;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  overflow: hidden;
  min-height: 276px;
}

.summary-list {
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 10px;
  background-color: #f5f7fa;
  border-bottom: 2px solid #e0e0e0;
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #37474f;
}

.section-header i {
  font-size: 16px;
  color: #1976d2;
}

/* Order Details Section */
.summary-section--order {
  border-top: 3px solid #1976d2;
}

.info-grid {
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.info-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.info-item label {
  font-size: 11px;
  font-weight: 600;
  color: #78909c;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}

.info-item .value {
  font-size: 14px;
  font-weight: 600;
  color: #37474f;
}

.info-item--highlight {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  padding: 10px;
  border-radius: 6px;
  border-left: 4px solid #1976d2;
  align-items: center;
  text-align: center;
}

.info-item--highlight .value-large {
  font-size: 26px;
  font-weight: 700;
  color: #1976d2;
  display: block;
  line-height: 1;
  margin-bottom: 4px;
}

.info-item--highlight .unit-text {
  font-size: 12px;
  font-weight: 500;
  color: #1565c0;
  text-transform: uppercase;
}

/* Visit & Mortality Section */
.summary-section--visits {
  border-top: 3px solid #f57c00;
}

/* Feed Management Section */
.summary-section--feed {
  border-top: 3px solid #388e3c;
}

.summary-section--payment {
  border-top: 3px solid #6a1b9a;
}

/* Summary row layout */
.summary-list {
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: calc(100% - 48px);
}

.summary-list--compact {
  justify-content: flex-start;
}

.summary-list-row {
  display: grid;
  grid-template-columns: minmax(120px, max-content) 10px auto;
  align-items: center;
  column-gap: 6px;
  padding: 10px 10px;
  border: 1px solid #eceff1;
  border-radius: 6px;
  background: #fafafa;
  min-height: 42px;
}

.summary-list-row--input .summary-list-value {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.summary-input {
  width: 75% !important;
  border: 1px solid #cfd8dc;
  border-radius: 6px;
  padding: 10px 10px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #263238;
  background: #ffffff;
}


.summary-list-row--highlight {
  border-left: 4px solid #1976d2;
  background: linear-gradient(135deg, #e3f2fd 0%, #f1f8ff 100%);
}

.summary-list-label {
  font-size: 12px;
  font-weight: 600;
  color: #607d8b;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  white-space: nowrap;
}

.summary-list-sep {
  font-size: 13px;
  font-weight: 700;
  color: #90a4ae;
  text-align: center;
}

.summary-list-value {
  font-size: 15px;
  font-weight: 700;
  color: #263238;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}

.summary-list-value--success {
  color: #2e7d32;
}

.summary-list-value--danger {
  color: #c62828;
}

/* Metric Row */
.metric-row {
  padding: 10px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

/* Metric Cards */
.metric-card {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border-radius: 6px;
  background-color: #fafafa;
  border: 1px solid #e0e0e0;
  transition: all 0.2s ease;
  min-height: 72px;
}

.metric-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-color: currentColor;
}

.metric-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 16px;
  flex-shrink: 0;
}

.metric-card--primary {
  border-left: 3px solid #1976d2;
}

.metric-card--primary .metric-icon {
  background-color: #e3f2fd;
  color: #1976d2;
}

.metric-card--success {
  border-left: 3px solid #388e3c;
}

.metric-card--success .metric-icon {
  background-color: #e8f5e9;
  color: #388e3c;
}

.metric-card--danger {
  border-left: 3px solid #d32f2f;
}

.metric-card--danger .metric-icon {
  background-color: #ffebee;
  color: #d32f2f;
}

.metric-card--warning {
  border-left: 3px solid #f57c00;
}

.metric-card--warning .metric-icon {
  background-color: #fff3e0;
  color: #f57c00;
}

.metric-card--info {
  border-left: 3px solid #0288d1;
}

.metric-card--info .metric-icon {
  background-color: #e1f5fe;
  color: #0288d1;
}

.metric-data {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex-grow: 1;
}

.metric-data label {
  font-size: 10px;
  font-weight: 500;
  color: #78909c;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}

.metric-value {
  font-size: 18px;
  font-weight: 700;
  color: #37474f;
  line-height: 1;
}

/* Compact Footer */
.app-modal__footer--compact {
  padding: 10px 15px;
  border-top: 1px solid #e0e0e0;
  background-color: #fafafa;
}

/* Responsive Design */
@media (max-width: 1280px) {
  .summary-horizontal-layout {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1100px) {
  .summary-horizontal-layout {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .metric-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .summary-list-row {
    padding: 10px;
  }

  .summary-list-label {
    font-size: 11px;
  }

  .summary-list-value {
    font-size: 14px;
  }

  .metric-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .metric-card {
    padding: 10px;
  }

  .metric-icon {
    width: 30px;
    height: 30px;
    font-size: 14px;
  }

  .metric-value {
    font-size: 16px;
  }
}

/* Spinner styling */
.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}


/*!*************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/dashboard/dashboard.component.css?ngGlobalStyle ***!
  \*************************************************************************************************************************************************************************************************************************************************/
.dashboard-container {
  padding: 15px 15px;
  font-family: 'Inter', sans-serif;
  position: relative;
  background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
  min-height: 100vh;
}

/* Dashboard Header */
.dashboard-header {
  margin-bottom: 32px;
}

.dashboard-header h1 {
  font-size: 32px;
  font-weight: 800;
  color: #1a202c;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.dashboard-header h1 i {
  font-size: 36px;
  color: var(--primary-from);
}

/* Loading State */
.loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 100;
  border-radius: 12px;
  /* Block ALL interactions */
  pointer-events: auto;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.loading-spinner {
  width: 60px;
  height: 60px;
  border: 4px solid #e2e8f0;
  border-top-color: var(--primary-from);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

.loading-overlay p {
  margin-top: 20px;
  color: #4a5568;
  font-size: 16px;
  font-weight: 600;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Metric Cards */
.dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(200px, 1fr));
  gap: 16px;
  margin: 0 0 16px;
  grid-column: 1 / -1;
}

.metric-card {
  min-width: 220px;
  max-width: 100%;
  background: white;
  border-radius: 14px;
  padding: 15px 15px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  gap: 14px;
  transition: all 0.2s ease;
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}

.metric-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-from), var(--primary-to));
}

.metric-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
}

.metric-icon {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  flex-shrink: 0;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}

.metric-card--primary .metric-icon {
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  color: white;
}

.metric-card--info .metric-icon {
  background: linear-gradient(135deg, #4299e1 0%, #3182ce 100%);
  color: white;
}

.metric-card--warning .metric-icon {
  background: linear-gradient(135deg, #ed8936 0%, #dd6b20 100%);
  color: white;
}

.metric-card--danger .metric-icon {
  background: linear-gradient(135deg, #f56565 0%, #c53030 100%);
  color: white;
}

.metric-content {
  flex: 1;
}

.metric-value {
  font-size: 32px;
  font-weight: 800;
  color: #1a202c;
  margin: 0 0 4px 0;
  line-height: 1;
  letter-spacing: -0.25px;
}

.metric-label {
  font-size: 13px;
  font-weight: 700;
  color: #718096;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Chart + Active Farmer Panel Section */
.dashboard-main-row {
  display: grid;
  grid-template-columns: 82% 18%;
  gap: 16px;
  margin-top: 16px;
  align-items: start;
  min-height: 0;
}

.dashboard-left-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.dashboard-chart-section {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 16px;
}

.dashboard-chart-section > .chart-card {
  min-width: 0;
}

.chicks-summary-card {
  min-width: 0;
}

.dashboard-active-orders-panel {
  display: flex;
  flex-direction: column;
  align-self: start;
  min-height: 0;
  max-height: calc(100vh - 150px);
  background: white;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

.panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 20px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.panel-header h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: #1f2937;
}

.panel-header p {
  margin: 6px 0 0;
  color: #4b5563;
  font-size: 13px;
  line-height: 1.5;
}

.active-search-box {
  margin-top: 12px;
}

.active-search-box input {
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 14px;
  color: #1f2937;
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.active-search-box input:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.12);
}

.active-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  border-radius: 999px;
  background: #2563eb;
  color: white;
  font-weight: 700;
  font-size: 0.95rem;
}

.active-orders-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  overflow-y: auto;
  min-height: 0;
  flex: 1;
}

.farmer-button {
  width: 100%;
  text-align: left;
  border: none;
  background: #f8fafc;
  border-radius: 14px;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.farmer-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.farmer-button.active {
  background: linear-gradient(135deg, #2563eb, #3b82f6);
  color: white;
}

.farmer-button.active .farmer-meta {
  color: rgba(255, 255, 255, 0.85);
}

.farmer-name {
  font-size: 15px;
  font-weight: 700;
}

.farmer-meta {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  color: #6b7280;
}

.farmer-action-icons {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.1rem;
  color: inherit;
}

.farmer-button .bi-arrow-right-circle {
  font-size: 1.25rem;
}

.farmer-button .bi-journal-plus {
  font-size: 1rem;
  color: #2563eb;
}

.farmer-button.active .bi-journal-plus {
  color: white;
}

.empty-state {
  padding: 18px 16px;
  border-radius: 14px;
  background: #f8fafc;
  color: #475569;
  font-size: 14px;
  text-align: center;
}

.chart-card {
  background: white;
  border-radius: 18px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: all 0.3s ease;
}

.chart-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.chart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 15px;
  background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
  border-bottom: 2px solid #e2e8f0;
  flex-wrap: wrap;
  gap: 12px;
}

.chart-title {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
}

.chart-title i {
  font-size: 26px;
  color: var(--primary-from);
}

.chart-title h3 {
  font-size: 18px;
  font-weight: 700;
  color: #1a202c;
  margin: 0;
}

.chart-controls {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.chart-controls label {
  font-size: 13px;
  font-weight: 600;
  color: #4a5568;
  margin: 0;
  white-space: nowrap;
}

.chart-controls input[type='date'] {
  min-height: 34px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 4px 8px;
  font-size: 12px;
  color: #1f2937;
  background: #fff;
}

.chicks-summary-filters {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(240px, 1.5fr) minmax(170px, 1fr) minmax(170px, 1fr);
  gap: 12px;
  align-items: end;
}

.chicks-summary-filters .filter-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.chicks-summary-filters .filter-item .app-select-wrapper,
.chicks-summary-filters .filter-item input[type='date'] {
  width: 100%;
}

/* Removed farmer-select - now using global app-select-wrapper */

.chart-body {
  padding: 15px;
}

.chart-canvas-wrapper {
  position: relative;
  height: 340px;
}

.chart-canvas-wrapper canvas {
  max-height: 100%;
}

.chart-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 340px;
  color: #a0aec0;
}

.chart-empty-state i {
  font-size: 64px;
  margin-bottom: 16px;
  opacity: 0.5;
}

.chart-empty-state p {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
}

/* Responsive Design */
@media (max-width: 1200px) {
  .dashboard-main-row {
    grid-template-columns: 1fr;
  }

  .dashboard-chart-section {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .dashboard-container {
    padding: 15px 15px;
  }

  .dashboard-metrics {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 24px;
  }

  .metric-card {
    padding: 15px 15px;
    gap: 16px;
  }

  .metric-icon {
    width: 70px;
    height: 70px;
    font-size: 30px;
  }

  .metric-value {
    font-size: 32px;
  }

  .metric-label {
    font-size: 12px;
    letter-spacing: 0.5px;
  }

  .chart-header {
    flex-direction: column;
    align-items: flex-start;
    padding: 15px 15px;
  }

  .chart-controls {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .chicks-summary-filters {
    grid-template-columns: 1fr;
  }

  .farmer-select {
    width: 100%;
  }

  .chart-canvas-wrapper {
    height: 360px;
  }

  .chart-body {
    padding: 15px;
  }

  .dashboard-chart-section {
    gap: 16px;
  }

  .dashboard-header h1 {
    font-size: 26px;
  }
}


/*!***************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/help/help.component.css?ngGlobalStyle ***!
  \***************************************************************************************************************************************************************************************************************************************/
.help-container {
  display: flex;
  min-height: calc(100vh - 100px);
  gap: 0;
  background: #f8f9fa;
}

.help-sidebar {
  width: 280px;
  background: white;
  border-right: 1px solid #dee2e6;
  padding: 15px 0;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

.help-search {
  padding: 0 15px;
  margin-bottom: 1rem;
}

.help-search input {
  width: 100%;
  padding: 5px;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  font-size: 0.9rem;
}

.help-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}

.help-nav-item {
  margin: 0;
}

.help-nav-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 10px 15px;
  color: #495057;
  text-decoration: none;
  transition: all 0.2s;
  border-left: 3px solid transparent;
}

.help-nav-link:hover {
  background: #f8f9fa;
  color: #0d6efd;
}

.help-nav-link.active {
  background: #e7f3ff;
  color: #0d6efd;
  border-left-color: #0d6efd;
  font-weight: 500;
}

.help-nav-link i {
  font-size: 1.2rem;
  width: 24px;
}

.help-content {
  flex: 1;
  padding: 15px;
  max-width: 900px;
  background: white;
  margin: 1rem;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.help-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding-bottom: 15px;
  border-bottom: 2px solid #0d6efd;
}

.help-header h1 {
  margin: 0;
  color: #212529;
  font-size: 2rem;
}

.help-actions button {
  padding: 10px 15px;
  background: #0d6efd;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.help-actions button:hover {
  background: #0b5ed7;
}

.help-section h2 {
  color: #212529;
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  padding-bottom: 10px;
  border-bottom: 1px solid #dee2e6;
}

.help-section h3 {
  color: #495057;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  font-size: 1.2rem;
}

.help-section p {
  line-height: 1.6;
  color: #6c757d;
  margin-bottom: 1rem;
}

.help-section ul, .help-section ol {
  line-height: 1.8;
  color: #6c757d;
  margin-bottom: 1rem;
}

.help-section li {
  margin-bottom: 0.5rem;
}

.help-card {
  background: #f8f9fa;
  padding: 15px;
  border-radius: 8px;
  margin: 1.5rem 0;
  border-left: 4px solid #0d6efd;
}

.help-card-warning {
  border-left-color: #ffc107;
  background: #fff8e6;
}

.help-card-success {
  border-left-color: #198754;
  background: #e8f5e9;
}

.help-card-danger {
  border-left-color: #dc3545;
  background: #fee;
}

.help-card h4 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  color: #212529;
}

.help-screenshot {
  max-width: 100%;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  margin: 1rem 0;
}

.help-steps {
  counter-reset: step-counter;
  padding-left: 0;
}

.help-steps li {
  counter-increment: step-counter;
  position: relative;
  padding-left: 15px;
  margin-bottom: 1.5rem;
}

.help-steps li::before {
  content: counter(step-counter);
  position: absolute;
  left: 0;
  top: 0;
  background: #0d6efd;
  color: white;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

.shortcut-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
}

.shortcut-table th,
.shortcut-table td {
  padding: 10px;
  text-align: left;
  border-bottom: 1px solid #dee2e6;
}

.shortcut-table th {
  background: #f8f9fa;
  font-weight: 600;
  color: #212529;
}

.shortcut-key {
  background: #e9ecef;
  padding: 5px 10px;
  border-radius: 4px;
  font-family: monospace;
  font-weight: bold;
}

@media print {
  .help-sidebar,
  .help-actions {
    display: none;
  }
  
  .help-container {
    display: block;
  }
  
  .help-content {
    margin: 0;
    box-shadow: none;
  }
}

@media (max-width: 768px) {
  .help-container {
    flex-direction: column;
  }
  
  .help-sidebar {
    width: 100%;
    position: relative;
    height: auto;
    border-right: none;
    border-bottom: 1px solid #dee2e6;
  }
  
  .help-content {
    margin: 0;
    border-radius: 0;
  }
}


/*!*******************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/layout/layout.component.css?ngGlobalStyle ***!
  \*******************************************************************************************************************************************************************************************************************************************/
/* Layout Wrapper */
.layout-wrapper {
  display: flex;
  min-height: 100vh;
  background: #f0f2f5;
}

/* Mobile Menu Toggle */
.mobile-menu-toggle {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 1060;
  width: 45px;
  height: 45px;
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  border: none;
  border-radius: 10px;
  color: white;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
  transition: all 0.3s;
}

.mobile-menu-toggle:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5);
}

.mobile-menu-toggle.active {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

/* Sidebar Overlay */
.sidebar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1040;
  animation: fadeIn 0.3s;
}

/* Sidebar */
.sidebar {
  width: 280px;
  background: linear-gradient(180deg, #2c3e50 0%, #34495e 100%);
  color: white;
  display: flex;
  flex-direction: column;
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  box-shadow: 4px 0 15px rgba(0, 0, 0, 0.1);
  z-index: 1050;
  transition: width 0.3s ease;
}

.sidebar.collapsed {
  width: 80px;
}

.sidebar::-webkit-scrollbar {
  width: 6px;
}

.sidebar::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
}

.sidebar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
}

.sidebar::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* Sidebar Header with Toggle Button */
.sidebar-header {
  padding: 10px 15px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  background: rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.sidebar-toggle-btn {
  width: 38px;
  height: 38px;
  border: none;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-size: 18px;
}

.sidebar-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.05);
}

/* User Profile */
.user-profile {
  padding: 15px 15px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  transition: padding 0.3s ease;
}

.sidebar.collapsed .user-profile {
  padding: 15px;
  justify-content: center;
}

.user-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--primary-border);
  box-shadow: 0 4px 10px rgba(102, 126, 234, 0.3);
  flex-shrink: 0;
}

.user-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.user-info h6 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: white;
}

.user-role {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.7);
  background: rgba(102, 126, 234, 0.3);
  padding: 5px 10px;
  border-radius: 10px;
  display: inline-block;
  margin-top: 3px;
}

/* Sidebar Navigation */
.sidebar-nav {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 15px 0;
}

.nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1;
}

.nav-item {
  margin: 0;
}

.nav-link {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 15px 15px;
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
  font-size: 15px;
  border-left: 3px solid transparent;
}

.sidebar.collapsed .nav-link {
  padding: 15px 10px;
  justify-content: center;
  gap: 0;
}

.nav-link i {
  font-size: 20px;
  min-width: 24px;
  text-align: center;
}

.nav-link:hover {
  background: rgba(255, 255, 255, 0.08);
  color: white;
  padding-left: 15px;
}

.sidebar.collapsed .nav-link:hover {
  padding-left: 10px;
}

.nav-link.active {
  background: linear-gradient(90deg, rgba(102, 126, 234, 0.3) 0%, transparent 100%);
  color: white;
  border-left-color: var(--primary-border);
  font-weight: 600;
}

.sidebar.collapsed .nav-link.active {
  background: rgba(102, 126, 234, 0.3);
  border-left-color: transparent;
}

.nav-link.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 4px;
  background: linear-gradient(180deg, var(--primary-from) 0%, var(--primary-to) 100%);
}

.sidebar.collapsed .nav-link.active::before {
  width: 100%;
  height: 4px;
  top: 0;
  left: 0;
  border-radius: 0 0 4px 0;
}

/* Submenu Styles */
.submenu {
  list-style: none;
  padding: 0;
  margin: 0;
  background: rgba(0, 0, 0, 0.2);
  max-height: 500px;
  overflow: hidden;
  animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
  from {
    max-height: 0;
    opacity: 0;
  }
  to {
    max-height: 500px;
    opacity: 1;
  }
}

.submenu li {
  margin: 0;
}

.submenu a {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 10px 15px 10px 15px;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
  font-size: 14px;
  border-left: 3px solid transparent;
}

.submenu a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.95);
  padding-left: 15px;
}

.submenu a.active {
  background: rgba(102, 126, 234, 0.2);
  color: white;
  border-left-color: var(--primary-border);
  font-weight: 600;
}

.submenu i {
  font-size: 16px;
  min-width: 20px;
  text-align: center;
}

/* Sidebar Footer */
.sidebar-footer {
  padding: 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.logout-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  color: white;
  border: none;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 4px 15px rgba(245, 87, 108, 0.3);
}

.logout-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(245, 87, 108, 0.4);
}

.logout-btn i {
  font-size: 18px;
}

/* Main Wrapper */
.main-wrapper {
  flex: 1;
  margin-left: 280px;
  display: flex;
  flex-direction: column;
  height: 100vh;
  transition: margin-left 0.3s ease;
  overflow: hidden;
}

.sidebar.collapsed ~ .main-wrapper {
  margin-left: 80px;
}

/* Top Header */
.top-header {
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
  z-index: 1030;
  flex-shrink: 0;
}

.header-left {
  display: flex;
  align-items: center;
  gap: 15px;
  flex: 0 0 auto;
}

.logo-container-header {
  width: 50px;
  height: 50px;
  background: white;
  border-radius: 12px;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.logo-img-header {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.header-center {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.app-title {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: white;
  text-align: center;
}

.sidebar-toggle-btn {
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  color: #495057;
  font-size: 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: all 0.3s;
}

.sidebar-toggle-btn:hover {
  background: #f0f2f5;
  color: var(--primary-from);
}

.page-title h4 {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 15px;
  flex: 0 0 auto;
}

.header-icon-btn {
  position: relative;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  border-radius: 10px;
  color: white;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  backdrop-filter: blur(10px);
}

.header-icon-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
}

.header-icon-btn .badge {
  position: absolute;
  top: -5px;
  right: -5px;
  background: #f5576c;
  color: white;
  border-radius: 10px;
  padding: 5px 5px;
  font-size: 10px;
  font-weight: 700;
  border: 2px solid var(--primary-border);
}

/* Content Area */
.content-area {
  flex: 1;
  padding: 15px;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Keep page scroll enabled even when table containers are present */
.content-area:has(.table-responsive) {
  overflow-y: auto;
  overflow-x: hidden;
}

.content-area::-webkit-scrollbar {
  width: 8px;
}

.content-area::-webkit-scrollbar-track {
  background: #f0f2f5;
}

.content-area::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 4px;
}

.content-area::-webkit-scrollbar-thumb:hover {
  background: #a0aec0;
}

.content-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 5px;
  flex-wrap: wrap;
  gap: 15px;
}

.breadcrumb-area .breadcrumb {
  background: transparent;
  padding: 0;
  margin: 0;
  font-size: 14px;
}

.breadcrumb-item a {
  color: var(--primary-from);
  text-decoration: none;
  transition: color 0.2s;
}

.breadcrumb-item a:hover {
  color: #0ea5e9;
}

.breadcrumb-item.active {
  color: #6c757d;
}

.btn-action {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 15px;
  background: linear-gradient(135deg, var(--primary-from) 0%, var(--primary-to) 100%);
  border: none;
  border-radius: 10px;
  color: white;
  font-weight: 600;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
  transition: all 0.3s;
}

.btn-action:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

.btn-action i {
  font-size: 18px;
}

/* Footer */
.main-footer {
  background: white;
  padding: 10px;
  border-top: 1px solid #e9ecef;
  flex-shrink: 0;
}

.footer-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  color: #6c757d;
  flex-wrap: wrap;
  gap: 10px;
}

/* Responsive Design */
@media (max-width: 991.98px) {
  .sidebar {
    transform: translateX(-100%);
  }

  .sidebar.show {
    transform: translateX(0);
  }

  .main-wrapper {
    margin-left: 0;
  }

  .mobile-menu-toggle {
    display: flex;
  }

  .sidebar-toggle-btn {
    display: none;
  }

  .content-area {
    padding: 15px 15px;
  }

  .top-header {
    padding: 0 15px 0 15px;
  }

  .app-title {
    font-size: 18px;
  }

  .header-center {
    padding: 0 10px;
  }
}

@media (min-width: 992px) {
  .mobile-menu-toggle {
    display: none;
  }

  .sidebar-overlay {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .header-right {
    gap: 8px;
  }

  .header-icon-btn {
    width: 35px;
    height: 35px;
    font-size: 16px;
  }

  .user-menu-btn {
    width: 38px;
    height: 38px;
  }

  .app-title {
    font-size: 16px;
  }

  .logo-container-header {
    width: 40px;
    height: 40px;
  }

  .content-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-content {
    flex-direction: column;
    text-align: center;
  }
}

@media (max-width: 430px) {
  .top-header {
    height: 60px;
    padding: 0 8px 0 8px;
  }

  .mobile-menu-toggle {
    top: max(10px, env(safe-area-inset-top));
    left: 10px;
    width: 36px;
    height: 36px;
    font-size: 20px;
  }

  .logo-container-header {
    display: none;
  }

  .header-left {
    width: 0;
    min-width: 0;
  }

  .header-center {
    justify-content: flex-start;
    min-width: 0;
    padding-left: 46px;
    padding-right: 6px;
  }

  .app-title {
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 46vw;
  }

  .header-right {
    gap: 6px;
  }

  .header-icon-btn {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }

  .content-area {
    padding: 10px;
  }

  .content-header {
    width: 100%;
    gap: 8px;
  }

  .action-buttons {
    width: 100%;
  }

  .action-buttons .btn-action {
    width: 100%;
    justify-content: center;
    min-height: 40px;
    padding: 9px 12px;
  }
}

/* Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Dark Sidebar Collapsed State */
.layout-wrapper.sidebar-collapsed .sidebar {
  width: 80px;
}

.layout-wrapper.sidebar-collapsed .main-wrapper {
  margin-left: 80px;
}

.layout-wrapper.sidebar-collapsed .sidebar .user-info,
.layout-wrapper.sidebar-collapsed .sidebar .nav-link span {
  display: none;
}

.layout-wrapper.sidebar-collapsed .sidebar .user-profile {
  justify-content: center;
}

.layout-wrapper.sidebar-collapsed .sidebar .nav-link {
  justify-content: center;
  padding: 15px 0;
}

.layout-wrapper.sidebar-collapsed .sidebar .logout-btn span {
  display: none;
}

.layout-wrapper.sidebar-collapsed .sidebar .logout-btn {
  justify-content: center;
}


/*!**************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/reports/closed-order-details-report.component.css?ngResource ***!
  \**************************************************************************************************************************************************************************************************************************************************************/
.filter-section {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(260px, auto);
  gap: 12px;
  align-items: end;
  margin-bottom: 16px;
}

.filter-group {
  min-width: 0;
}

.filter-group--farmer {
  min-width: 240px;
}

.filter-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  align-items: center;
}

.report-section {
  margin-top: 1rem;
  background: #fffdf4;
  border-radius: 12px;
  padding: 15px;
  border: 1px solid #f2e3b3;
}

.report-header {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  color: #5b4b2a;
}

.no-data {
  background: #fff3cd;
  border: 1px solid #ffeeba;
  color: #6c4f00;
  padding: 10px 15px;
  border-radius: 10px;
}

.report-table {
  width: 100%;
  border-collapse: collapse;
}

.report-table th,
.report-table td {
  padding: 10px 10px;
  border-bottom: 1px solid #f0e6c5;
  text-align: left;
}

.report-table th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #fff3d1;
  color: #5b4b2a;
  font-weight: 700;
}

.totals-row td {
  font-weight: 700;
  background: #fff7dc;
}

@media (max-width: 768px) {
  .filter-section {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .filter-actions {
    justify-content: stretch;
    align-items: stretch;
  }

  .filter-actions .btn {
    flex: 1 1 180px;
  }
}

@media (max-width: 980px) and (min-width: 769px) {
  .filter-section {
    grid-template-columns: 1fr;
  }

  .filter-actions {
    justify-content: flex-start;
    align-items: center;
  }
}


/*!****************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/reports/daily-data-report.component.css?ngResource ***!
  \****************************************************************************************************************************************************************************************************************************************************/
:host {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 110px);
}

.container-fluid.container-responsive {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.reports-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 15px;
  overflow-x: hidden;
}

.reports-header {
  margin-bottom: 30px;
}

.reports-header h3 {
  font-size: 24px;
  font-weight: 600;
  color: #1f4e78;
  margin: 0 0 5px 0;
}

.reports-header p {
  color: #666;
  margin: 0;
  font-size: 14px;
}



.filter-section {
  display: grid;
  grid-template-columns: minmax(300px, 1.4fr) minmax(160px, 0.6fr) minmax(160px, 0.6fr) minmax(170px, 0.7fr) minmax(330px, auto);
  gap: 12px;
  align-items: end;
  margin-bottom: 16px;
}

.filter-group {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  min-height: 62px;
  min-width: 0;
}

.filter-group--farmer {
  min-width: 0;
}

.filter-group--date {
  min-width: 160px;
}

.filter-group--batch {
  min-width: 170px;
}

.form-label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-weight: 500;
  color: #333;
  font-size: 12px;
  margin: 0;
}

.form-label span {
  display: flex;
  gap: 3px;
}

.text-danger {
  color: #dc3545;
}

.form-control {
  padding: 10px 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  font-family: inherit;
  height: 36px;
  margin: 0;
  min-width: 0;
}

.form-control:focus {
  outline: none;
  border-color: #4472c4;
  box-shadow: 0 0 0 3px rgba(68, 114, 196, 0.1);
}

.multi-select {
  position: relative;
  z-index: 1001;
}

.multi-select__control {
  width: 100%;
  padding: 10px 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  height: 36px;
  min-width: 0;
}

.multi-select__control:hover {
  border-color: #4472c4;
}

.multi-select__value {
  font-size: 13px;
  color: #333;
}

.multi-select__arrow {
  color: #666;
}

.multi-select__menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: auto;
  z-index: 10000;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  padding: 10px;
  width: clamp(300px, 100%, 540px);
  max-height: 400px;
  overflow-y: auto;
}

.multi-select__top {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
}

.multi-select__search {
  position: relative;
}

.multi-select__search .bi {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
}

.multi-select__search .form-control {
  padding-left: 15px;
}

.multi-select__actions {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}

.multi-select__options {
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: 8px 12px;
  max-height: 240px;
  overflow: auto;
}

.multi-select__option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 5px;
  border-radius: 4px;
}

.multi-select__option .option-label {
  font-size: 13px;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


.filter-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  align-items: flex-end;
  min-height: 62px;
}

.action-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
}

.btn {
  padding: 10px 15px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.3s ease;
  height: 36px;
  white-space: nowrap;
}

.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.btn-primary {
  background: #4472c4;
  color: white;
}

.btn-primary:hover:not(:disabled) {
  background: #3659a3;
}

.btn-secondary {
  background: #6c757d;
  color: white;
}

.btn-secondary:hover:not(:disabled) {
  background: #5a6268;
}

.btn-success {
  background: #28a745;
  color: white;
}

.btn-success:hover:not(:disabled) {
  background: #218838;
}

.alert {
  padding: 10px 15px;
  border-radius: 4px;
  margin-bottom: 20px;
}

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

.report-section {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 15px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.single-farmer-banner {
  margin-bottom: 12px;
  padding: 2px 0;
  color: #1f3a6d;
  font-size: 14px;
}

.single-farmer-banner .single-farmer-banner__value {
  font-weight: 700;
  color: #0d3f8f;
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
  border-bottom: 1px solid currentColor;
}

.report-header-box {
  background: #f0f4f8;
  border: 1px solid #d9e1f2;
  border-radius: 6px;
  padding: 15px;
  margin-bottom: 20px;
  flex: 0 0 auto;
}

.report-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  margin-bottom: 10px;
}

.report-row:last-child {
  margin-bottom: 0;
}


.report-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.report-item label {
  font-weight: 600;
  color: #1f4e78;
  font-size: 13px;
  margin: 0;
}

.report-item span {
  font-size: 14px;
  color: #333;
}

.table-responsive {
  flex: 1 1 auto;
  min-height: 0;
  max-height: calc(100vh - 360px);
  overflow-x: auto;
  overflow-y: auto;
  margin-bottom: 20px;
  width: 100%;
}

.report-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.report-table thead {
  background: #4472c4;
  color: white;
}

.report-table th {
  position: sticky;
  top: 0;
  z-index: 3;
  padding: 10px 10px;
  text-align: left;
  font-weight: 600;
  border-bottom: 2px solid #4472c4;
}

.report-table td {
  padding: 10px;
  border-bottom: 1px solid #e9ecef;
}

.report-table tbody tr:nth-child(even) {
  background: #f8f9fa;
}

.report-table tbody tr:hover {
  background: #e7eef7;
}

.report-table tbody tr.missing-row {
  background: rgba(220, 53, 69, 0.08);
  color: #c0392b;
}

.report-table tbody tr.missing-row td {
  color: #c0392b;
}

.export-section {
  display: flex;
  gap: 10px;
  padding-top: 15px;
  border-top: 1px solid #e9ecef;
}

/* Tablet: force 2 columns and narrower dropdown */
@media (max-width: 992px) {
  .filter-section {
    grid-template-columns: minmax(240px, 1fr) minmax(160px, 1fr) minmax(160px, 1fr) minmax(150px, 1fr);
  }

  .filter-actions {
    grid-column: 1 / -1;
    align-items: center;
    min-height: 0;
    justify-content: flex-start;
  }

  .multi-select__menu {
    width: clamp(320px, 90vw, 420px);
  }
  .multi-select__options {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
  }
}

/* Mobile: single column and full-width dropdown */
@media (max-width: 768px) {
  .filter-section {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .filter-group--date {
    min-width: 0;
  }

  .filter-actions {
    align-items: stretch;
    justify-content: stretch;
  }

  .filter-actions .btn {
    flex: 1 1 180px;
  }


  .multi-select__options {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .multi-select__menu {
    left: 0;
    right: 0;
    width: auto;
    min-width: 0;
  }
  .report-row {
    grid-template-columns: 1fr;
  }
  .table-responsive {
    font-size: 12px;
  }
  .report-table th,
  .report-table td {
    padding: 10px 5px;
  }
}


/*!******************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/shared/alert.component.css?ngGlobalStyle ***!
  \******************************************************************************************************************************************************************************************************************************************/
.alert { margin: 8px 0; }

/*!***************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/shared/confirm-dialog.component.css?ngGlobalStyle ***!
  \***************************************************************************************************************************************************************************************************************************************************/
:host { display: contents; }

.confirm-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3000;
  padding: 15px;
  backdrop-filter: blur(3px);
  animation: fadeIn 200ms ease-out;
  /* Block ALL interactions outside modal */
  pointer-events: auto;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.confirm-overlay::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: auto;
}

.confirm-modal {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  max-width: 480px;
  width: 100%;
  overflow: hidden;
  animation: modalSlideUp 250ms ease-out;
  /* Ensure modal can receive all interactions */
  pointer-events: auto;
  user-select: auto;
  -webkit-user-select: auto;
}

.confirm-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 15px;
  background: linear-gradient(135deg, #1e40af 0%, #0ea5e9 100%);
  color: #fff;
}

.confirm-title {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
  font-family: 'Inter', sans-serif;
}

.confirm-close {
  border: none;
  background: transparent;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  color: #fff;
  padding: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: all 0.2s ease;
}

.confirm-close:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}

.confirm-close:active {
  transform: scale(0.95);
}

.confirm-body {
  padding: 15px 15px;
  color: #2d3748;
  font-size: 15px;
  line-height: 1.6;
  font-family: 'Inter', sans-serif;
}

.confirm-message {
  margin: 0;
  font-weight: 500;
}

.confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 15px 15px;
  background: #f8fafb;
  border-top: 1px solid #e6eaf0;
}

.btn {
  min-width: 90px;
  padding: 10px 15px;
  font-weight: 600;
  font-size: 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: 'Inter', sans-serif;
  border: 2px solid transparent;
}

.btn:focus {
  outline: 3px solid #1f6feb;
  outline-offset: 2px;
  border: 2px solid #1f6feb;
}

.btn:active {
  outline: 3px solid #1f6feb;
  outline-offset: 2px;
  border: 2px solid #1f6feb;
}

.btn-primary {
  background: linear-gradient(135deg, #1e40af 0%, #0ea5e9 100%);
  color: #fff;
  box-shadow: 0 4px 12px rgba(30, 64, 175, 0.3);
  border: 2px solid transparent;
}

.btn-primary:hover {
  box-shadow: 0 6px 16px rgba(30, 64, 175, 0.4);
  transform: translateY(-2px);
  background: linear-gradient(135deg, #1e3a8a 0%, #0284c7 100%);
}

.btn-primary:focus {
  outline: 3px solid #1f6feb;
  outline-offset: 2px;
  border: 2px solid #1f6feb;
  background: linear-gradient(135deg, #1e3a8a 0%, #0284c7 100%);
}

.btn-primary:active {
  outline: 3px solid #1f6feb;
  outline-offset: 2px;
  border: 2px solid #1f6feb;
  transform: translateY(0);
  background: linear-gradient(135deg, #1e3a8a 0%, #0284c7 100%);
}

.btn-outline-secondary {
  background: #e2e8f0;
  color: #2d3748;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  border: 2px solid transparent;
}

.btn-outline-secondary:hover {
  background: #cbd5e0;
  transform: translateY(-2px);
}

.btn-outline-secondary:focus {
  outline: 3px solid #2d3748;
  outline-offset: 2px;
  border: 2px solid #2d3748;
  background: #cbd5e0;
}

.btn-outline-secondary:active {
  outline: 3px solid #2d3748;
  outline-offset: 2px;
  border: 2px solid #2d3748;
  transform: translateY(0);
  background: #cbd5e0;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes modalSlideUp {
  from { 
    opacity: 0; 
    transform: translateY(20px) scale(0.96);
  }
  to { 
    opacity: 1; 
    transform: translateY(0) scale(1);
  }
}


/*!***************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/shared/toast.component.css?ngResource ***!
  \***************************************************************************************************************************************************************************************************************************************/
.toast-container {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: min(360px, 80vw);
  pointer-events: none;
}

.toast {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 15px 15px;
  border-radius: 12px;
  color: #0f172a;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(0, 0, 0, 0.08);
  cursor: pointer;
  animation: slideIn 220ms ease-out;
  pointer-events: auto;
  min-width: 240px;
  overflow-wrap: break-word;
  word-break: break-word;
}

.toast-content { display: flex; align-items: center; gap: 10px; }
.toast-message { font-weight: 600; line-height: 1.3; }

.toast-icon {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
  background: #0ea5e9;
}
.toast-icon[data-type='success'] { background: #22c55e; }
.toast-icon[data-type='error']   { background: #ef4444; }
.toast-icon[data-type='warning'] { background: #f59e0b; }
.toast-icon[data-type='info']    { background: #0ea5e9; }

.toast-success { border-color: rgba(34, 197, 94, 0.25); }
.toast-error   { border-color: rgba(239, 68, 68, 0.25); }
.toast-warning { border-color: rgba(245, 158, 11, 0.25); }
.toast-info    { border-color: rgba(14, 165, 233, 0.25); }

.toast-close {
  background: transparent;
  border: none;
  color: #475569;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  padding: 0 5px;
  line-height: 1;
  transition: transform 0.1s ease, opacity 0.2s ease;
}
.toast-close:hover { opacity: 0.7; }
.toast-close:active { transform: scale(0.96); }

@keyframes slideIn {
  from { transform: translateX(22px); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}


/*!**************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/visitor/visitor-form.component.css?ngGlobalStyle ***!
  \**************************************************************************************************************************************************************************************************************************************************/
/* Using shared modal styles from styles.css */

/*!**************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/app/visitor/visitor-list.component.css?ngGlobalStyle ***!
  \**************************************************************************************************************************************************************************************************************************************************/
/* Relies on shared app-table and app-action-btn styles for consistent layout. */

.table-loading-cell {
  padding: 15px;
}


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