.patient-health-overview .functional-metrics{display:flex;flex-direction:column;gap:16px}.patient-health-overview .functional-metrics .functional-item{display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:16px}.patient-health-overview .functional-metrics .functional-item .functional-label{font-weight:500}.patient-health-overview .functional-metrics .functional-item mat-progress-bar{height:10px;border-radius:5px}.patient-health-overview .functional-metrics .functional-item .functional-value{font-weight:600;text-align:right;min-width:50px}.patient-health-overview .assessments-list .assessment-item{padding:16px;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px}.patient-health-overview .assessments-list .assessment-item .assessment-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.patient-health-overview .assessments-list .assessment-item .assessment-header .assessment-name{flex:1;font-weight:500;font-size:16px}.patient-health-overview .assessments-list .assessment-item .assessment-score{font-size:14px;margin-bottom:8px}.patient-health-overview .assessments-list .assessment-item .assessment-score .assessment-trend{display:inline-flex;align-items:center;gap:4px;margin-left:16px}.patient-health-overview .assessments-list .assessment-item .assessment-interpretation{display:flex;align-items:center;gap:8px;padding:8px;background-color:#f5f5f5;border-radius:4px;margin:8px 0}.patient-health-overview .assessments-list .assessment-item .assessment-date{font-size:12px;color:#999}.patient-health-overview .assessments-list .assessment-item .assessment-followup{display:flex;align-items:center;gap:8px;margin-top:8px;color:#f44336;font-weight:500}.patient-health-overview .social-support-metrics{display:flex;flex-direction:column;gap:12px}.patient-health-overview .social-support-metrics .support-item{display:flex;align-items:center;gap:12px}.patient-health-overview .social-support-metrics .support-item .support-label{font-weight:500;margin-right:8px}.patient-health-overview .treatment-engagement{display:flex;flex-direction:column;gap:16px}.patient-health-overview .treatment-engagement .engagement-item{display:flex;align-items:center;gap:12px}.patient-health-overview .treatment-engagement .engagement-item .engagement-label{min-width:180px;font-weight:500}.patient-health-overview .treatment-engagement .engagement-item mat-progress-bar{flex:1;height:10px;border-radius:5px}.patient-health-overview .treatment-engagement .engagement-item .engagement-value{font-weight:600;min-width:60px;text-align:right}.patient-health-overview .sdoh-needs-list .sdoh-need-item{padding:16px;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px}.patient-health-overview .sdoh-needs-list .sdoh-need-item .need-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.patient-health-overview .sdoh-needs-list .sdoh-need-item .need-header .need-category{flex:1;font-weight:500;font-size:16px}.patient-health-overview .sdoh-needs-list .sdoh-need-item .need-description{margin:8px 0}.patient-health-overview .sdoh-needs-list .sdoh-need-item .need-identified{font-size:12px;color:#999}.patient-health-overview .sdoh-needs-list .sdoh-need-item .need-interventions{margin-top:12px;padding:12px;background-color:#e8f5e9;border-radius:4px}.patient-health-overview .sdoh-needs-list .sdoh-need-item .need-interventions ul{margin:8px 0 0;padding-left:20px}.patient-health-overview .referrals-list .referral-item{padding:12px;border-bottom:1px solid #f0f0f0}.patient-health-overview .referrals-list .referral-item .referral-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px}.patient-health-overview .referrals-list .referral-item .referral-header .referral-org{flex:1;font-weight:500}.patient-health-overview .referrals-list .referral-item .referral-category{font-size:13px;color:#666;margin:4px 0}.patient-health-overview .referrals-list .referral-item .referral-dates{display:flex;gap:16px;font-size:12px;color:#999;margin-top:4px}.patient-health-overview .status-pending{background-color:#ff9800;color:#fff}.patient-health-overview .status-active{background-color:#2196f3;color:#fff}.patient-health-overview .status-completed{background-color:#4caf50;color:#fff}.patient-health-overview .status-cancelled{background-color:#9e9e9e;color:#fff}.patient-health-overview .risk-scores{display:flex;flex-direction:column;gap:20px}.patient-health-overview .risk-scores .risk-score-item{display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:16px}.patient-health-overview .risk-scores .risk-score-item .risk-score-label{font-weight:500}.patient-health-overview .risk-scores .risk-score-item mat-progress-bar{height:12px;border-radius:6px}.patient-health-overview .risk-scores .risk-score-item .risk-score-value{font-size:18px;font-weight:600;min-width:50px;text-align:right}.patient-health-overview .predictions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.patient-health-overview .predictions-grid .prediction-item{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #e0e0e0;border-radius:8px}.patient-health-overview .predictions-grid .prediction-item mat-icon{font-size:36px;width:36px;height:36px;color:#2196f3}.patient-health-overview .predictions-grid .prediction-item .prediction-content{flex:1}.patient-health-overview .predictions-grid .prediction-item .prediction-content .prediction-label{display:block;font-size:13px;color:#666;margin-bottom:4px}.patient-health-overview .predictions-grid .prediction-item .prediction-content .prediction-value{font-size:28px;font-weight:600}.patient-health-overview .category-risks{display:flex;flex-direction:column;gap:12px}.patient-health-overview .category-risks .category-risk-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid #e0e0e0;border-radius:8px}.patient-health-overview .category-risks .category-risk-item .category-risk-label{font-weight:500}html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{--primary-color: #1976d2;--primary-light: #42a5f5;--primary-dark: #1565c0;--accent-color: #ff4081;--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #fafafa;--bg-hover: #f0f0f0;--bg-selected: #e3f2fd;--text-primary: #1a1a1a;--text-secondary: #424242;--text-disabled: #9e9e9e;--text-hint: #9e9e9e;--border-color: #e0e0e0;--divider-color: #e0e0e0;--status-success: #2e7d32;--status-warning: #ed6c02;--status-error: #d32f2f;--status-info: #0288d1;--card-background: #ffffff;--card-shadow: rgba(0, 0, 0, .1);--toolbar-background: #1976d2;--toolbar-text: #ffffff;--input-background: #ffffff;--input-border: #bdbdbd;--input-focused-border: #1976d2;--sidebar-background: #ffffff;--sidebar-hover: #f5f5f5;--sidebar-selected: #e3f2fd}body.light-theme,body[data-theme=light]{color-scheme:light;--primary-color: #1976d2;--primary-light: #42a5f5;--primary-dark: #1565c0;--accent-color: #ff4081;--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #fafafa;--bg-hover: #f0f0f0;--bg-selected: #e3f2fd;--text-primary: #1a1a1a;--text-secondary: #424242;--text-disabled: #9e9e9e;--text-hint: #9e9e9e;--border-color: #e0e0e0;--divider-color: #e0e0e0;--status-success: #2e7d32;--status-warning: #ed6c02;--status-error: #d32f2f;--status-info: #0288d1;--card-background: #ffffff;--card-shadow: rgba(0, 0, 0, .1);--toolbar-background: #1976d2;--toolbar-text: #ffffff;--input-background: #ffffff;--input-border: #bdbdbd;--input-focused-border: #1976d2;--sidebar-background: #ffffff;--sidebar-hover: #f5f5f5;--sidebar-selected: #e3f2fd}body.dark-theme,body[data-theme=dark]{color-scheme:dark;--primary-color: #90caf9;--primary-light: #bbdefb;--primary-dark: #42a5f5;--accent-color: #ff80ab;--bg-primary: #1a1a1a;--bg-secondary: #242424;--bg-tertiary: #2e2e2e;--bg-hover: #383838;--bg-selected: #1e3a5f;--text-primary: #f5f5f5;--text-secondary: #b0b0b0;--text-disabled: #757575;--text-hint: #757575;--border-color: #404040;--divider-color: #404040;--status-success: #81c784;--status-warning: #ffb74d;--status-error: #e57373;--status-info: #64b5f6;--card-background: #242424;--card-shadow: rgba(0, 0, 0, .4);--toolbar-background: #1565c0;--toolbar-text: #ffffff;--input-background: #2e2e2e;--input-border: #606060;--input-focused-border: #90caf9;--sidebar-background: #1a1a1a;--sidebar-hover: #2e2e2e;--sidebar-selected: #1e3a5f}body{background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.stat-card{color:var(--text-primary)!important}.stat-card .stat-title{color:var(--text-secondary)!important}.stat-card .stat-value{color:var(--stat-value-color, var(--text-primary))!important}.stat-card .stat-subtitle{color:var(--text-hint)!important}.mat-toolbar{background-color:var(--toolbar-background)!important;color:var(--toolbar-text)!important}.mat-drawer{background-color:var(--sidebar-background)!important;color:var(--text-primary)!important}.mat-drawer-container{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important}.mat-card,.mat-mdc-card{background-color:var(--card-background)!important;color:var(--text-primary)!important}.mat-list-item:hover,.mat-mdc-list-item:hover{background-color:var(--sidebar-hover)!important}.mat-list-item.active,.mat-mdc-list-item.active{background-color:var(--sidebar-selected)!important}.mat-form-field .mat-mdc-text-field-wrapper{background-color:var(--input-background)!important}.mat-divider{border-top-color:var(--divider-color)!important}.mat-table,.mat-mdc-table{background-color:var(--card-background)!important}.mat-table .mat-header-cell,.mat-table .mat-mdc-header-cell,.mat-mdc-table .mat-header-cell,.mat-mdc-table .mat-mdc-header-cell{color:var(--text-primary)!important;background-color:var(--bg-tertiary)!important}.mat-table .mat-cell,.mat-table .mat-mdc-cell,.mat-mdc-table .mat-cell,.mat-mdc-table .mat-mdc-cell{color:var(--text-primary)!important}.mat-table .mat-row:hover,.mat-table .mat-mdc-row:hover,.mat-mdc-table .mat-row:hover,.mat-mdc-table .mat-mdc-row:hover{background-color:var(--bg-hover)!important}.mat-button.mat-primary,.mat-raised-button.mat-primary,.mat-icon-button.mat-primary,.mat-mdc-button.mat-primary,.mat-mdc-raised-button.mat-primary,.mat-mdc-icon-button.mat-primary{--mdc-text-button-label-text-color: var(--primary-color);--mdc-filled-button-container-color: var(--primary-color)}.mat-dialog-container,.mat-mdc-dialog-container{background-color:var(--card-background)!important;color:var(--text-primary)!important}.mat-menu-panel{background-color:var(--card-background)!important}.mat-menu-panel .mat-menu-item{color:var(--text-primary)!important}.mat-menu-panel .mat-menu-item:hover{background-color:var(--bg-hover)!important}.mat-snack-bar-container,.mat-mdc-snack-bar-container{background-color:var(--bg-tertiary)!important;color:var(--text-primary)!important}.status-success{color:var(--status-success)!important}.status-warning{color:var(--status-warning)!important}.status-error{color:var(--status-error)!important}.status-info{color:var(--status-info)!important}.mat-badge-content.mat-badge-accent{background-color:var(--accent-color)!important}.demo-tooltip{background:linear-gradient(135deg,#1e3a5f,#2d5a87);color:#fff;padding:8px 12px;border-radius:8px;font-size:13px;max-width:300px;box-shadow:0 4px 16px #0000004d;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none;display:flex;align-items:center;gap:8px}.demo-tooltip.visible{opacity:1}.demo-tooltip.demo-tooltip-top{transform:translate(-50%) translateY(-5px)}.demo-tooltip.demo-tooltip-top.visible{transform:translate(-50%) translateY(0)}.demo-tooltip.demo-tooltip-bottom{transform:translate(-50%) translateY(5px)}.demo-tooltip.demo-tooltip-bottom.visible{transform:translate(-50%) translateY(0)}.demo-tooltip.demo-tooltip-left{transform:translateY(-50%) translate(-5px)}.demo-tooltip.demo-tooltip-left.visible{transform:translateY(-50%) translate(0)}.demo-tooltip.demo-tooltip-right{transform:translateY(-50%) translate(5px)}.demo-tooltip.demo-tooltip-right.visible{transform:translateY(-50%) translate(0)}.demo-tooltip-indicator{background:#fff3;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:1px}.demo-highlighted{position:relative}.demo-highlighted:after{content:"";position:absolute;inset:-4px;border-radius:8px;border:2px solid rgba(33,150,243,.5);pointer-events:none;animation:demo-border-pulse 2s infinite}@keyframes demo-border-pulse{0%,to{border-color:#2196f380}50%{border-color:#2196f333}}.demo-pulse{animation:demo-pulse-animation 2s infinite}.demo-storyboard-highlight{position:relative;z-index:1;outline:2px solid rgba(56,189,248,.7);box-shadow:0 0 24px #38bdf859;border-radius:8px}.demo-storyboard-popup{background:#0f172aeb;color:#f8fafc;padding:10px 14px;border-radius:10px;border:1px solid rgba(148,163,184,.25);box-shadow:0 12px 32px #0f172a66;font-size:13px;line-height:1.4}@keyframes demo-pulse-animation{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}body.demo-mode-active{padding-top:56px!important}body.demo-mode-active .mat-sidenav-container{margin-top:56px;height:calc(100vh - 120px)!important}body.demo-mode-active .mat-toolbar.mat-primary{position:relative;z-index:1000}[data-demo-metric]{position:relative}[data-demo-metric]:before{content:attr(data-demo-metric);position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:10px;color:#1e3a5f;background:#2196f31a;padding:2px 8px;border-radius:4px;white-space:nowrap;opacity:0;transition:opacity .2s ease}[data-demo-metric]:hover:before{opacity:1}.demo-success-animation{animation:demo-success .5s ease}@keyframes demo-success{0%{transform:scale(1);background-color:inherit}50%{transform:scale(1.05);background-color:#4caf5033}to{transform:scale(1);background-color:inherit}}.demo-counter{display:inline-block;transition:all .3s ease}.demo-counter.counting{animation:demo-count-up .5s ease}@keyframes demo-count-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.demo-focus-ring{position:relative}.demo-focus-ring:after{content:"";position:absolute;inset:-8px;border-radius:12px;border:3px solid #2196f3;animation:demo-focus-pulse 1.5s infinite;pointer-events:none}@keyframes demo-focus-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.02)}}.demo-progress-bar{height:4px;background:#2196f333;border-radius:2px;overflow:hidden}.demo-progress-bar .demo-progress-fill{height:100%;background:linear-gradient(90deg,#2196f3,#21cbf3);transition:width .3s ease}.demo-scenario-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;border-radius:8px;box-shadow:0 4px 12px #667eea4d}.demo-scenario-banner .scenario-title{font-size:18px;font-weight:600}.demo-scenario-banner .scenario-duration{font-size:14px;opacity:.9}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:Roboto,Helvetica Neue,sans-serif}body{margin:0}.full-width{width:100%}.spacer{flex:1 1 auto}.text-center{text-align:center}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.p-2{padding:16px}.p-3{padding:24px}.status-success{color:var(--status-success)}.status-warning{color:var(--status-warning)}.status-error{color:var(--status-error)}.status-info{color:var(--status-info)}.toast-success{background-color:#388e3c!important;color:#fff!important;font-weight:500}.toast-success .mat-mdc-snack-bar-label,.toast-success .mat-mdc-button{color:#fff}.toast-error{background-color:#d32f2f!important;color:#fff!important;font-weight:500}.toast-error .mat-mdc-snack-bar-label,.toast-error .mat-mdc-button{color:#fff}.toast-warning{background-color:#ef6c00!important;color:#fff!important;font-weight:500}.toast-warning .mat-mdc-snack-bar-label,.toast-warning .mat-mdc-button{color:#fff}.toast-info{background-color:#1976d2!important;color:#fff!important;font-weight:500}.toast-info .mat-mdc-snack-bar-label,.toast-info .mat-mdc-button{color:#fff}.mat-mdc-icon-button{--mdc-icon-button-state-layer-size: 44px;width:44px!important;height:44px!important;padding:10px!important}.mat-mdc-icon-button .mat-mdc-button-touch-target{width:44px!important;height:44px!important}*:focus{outline:2px solid var(--accent-color, #2196f3);outline-offset:2px}button:focus,a:focus,input:focus,textarea:focus,select:focus,[tabindex]:focus{outline:3px solid var(--accent-color, #2196f3);outline-offset:2px;box-shadow:0 0 0 4px #2196f333}.mat-mdc-button:focus,.mat-mdc-raised-button:focus,.mat-mdc-flat-button:focus,.mat-mdc-stroked-button:focus,.mat-mdc-icon-button:focus,.mat-mdc-fab:focus,.mat-mdc-mini-fab:focus{outline:3px solid var(--accent-color, #2196f3)!important;outline-offset:2px!important}.mat-mdc-form-field:focus-within .mdc-text-field--focused .mdc-notched-outline__leading,.mat-mdc-form-field:focus-within .mdc-text-field--focused .mdc-notched-outline__notch,.mat-mdc-form-field:focus-within .mdc-text-field--focused .mdc-notched-outline__trailing{border-width:3px!important}.mat-mdc-row:focus{outline:3px solid var(--accent-color, #2196f3)!important;outline-offset:-3px!important;background-color:#2196f30d!important}.mat-mdc-checkbox:focus-within .mdc-checkbox__ripple,.mat-mdc-checkbox:focus-within .mdc-radio__ripple,.mat-mdc-radio-button:focus-within .mdc-checkbox__ripple,.mat-mdc-radio-button:focus-within .mdc-radio__ripple{outline:3px solid var(--accent-color, #2196f3);outline-offset:2px}.mat-mdc-select:focus .mat-mdc-select-trigger{outline:3px solid var(--accent-color, #2196f3);outline-offset:2px}.mat-mdc-list-item:focus,.mat-mdc-nav-list .mat-mdc-list-item:focus{outline:3px solid var(--accent-color, #2196f3)!important;outline-offset:-3px!important;background-color:#2196f31a!important}.mat-mdc-card-actions button:focus{outline:3px solid var(--accent-color, #2196f3);outline-offset:2px}.skip-link:focus{outline:3px solid var(--accent-color, #2196f3);outline-offset:2px;box-shadow:0 2px 8px #0000004d}*:focus:not(:focus-visible){outline:none;box-shadow:none}*:focus-visible{outline:3px solid var(--accent-color, #2196f3);outline-offset:2px}@media(prefers-contrast:high){*:focus,*:focus-visible{outline:4px solid currentColor;outline-offset:2px}}@media(prefers-reduced-motion:reduce){*:focus,*:focus-visible{transition:none}}.mat-toolbar .mat-mdc-icon-button,.mat-card-header .mat-mdc-icon-button,.actions-cell .mat-mdc-icon-button{--mdc-icon-button-state-layer-size: 44px;width:44px!important;height:44px!important}
