html{height:100%}body{color-scheme:light;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background-attachment:fixed;color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0;height:100%;min-height:100vh}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Inter,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}html,body{height:100%;overflow-x:hidden}:root{--primary-color: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--secondary-color: #8b5cf6;--accent-color: #ec4899;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8;--border-color: #e2e8f0;--border-light: #f1f5f9;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-colored: 0 10px 30px -5px rgba(99, 102, 241, .3);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--spacing-xxxl: 64px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-xxl: 1.5rem;--font-size-xxxl: 2rem;--font-size-xxxxl: 2.5rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--text-primary);line-height:1.2;margin:0}h1{font-size:var(--font-size-xxxl);font-weight:700;letter-spacing:-.02em}h2{font-size:var(--font-size-xxl);font-weight:600}h3{font-size:var(--font-size-xl);font-weight:600}mat-card{border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--border-light)!important;background:var(--bg-primary)!important;transition:all var(--transition-base)!important;overflow:hidden}mat-card:hover{box-shadow:var(--shadow-xl)!important;transform:translateY(-2px)}mat-card-header{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md)!important;border-bottom:1px solid var(--border-light);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%)}mat-card-title{font-size:var(--font-size-xl)!important;font-weight:600!important;color:var(--text-primary)!important;margin:0!important}mat-card-content{padding:var(--spacing-lg)!important}.mat-mdc-raised-button.mat-primary{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;background-color:transparent!important;color:#fff!important;box-shadow:var(--shadow-colored)!important;border-radius:var(--radius-md)!important;font-weight:500!important;letter-spacing:.02em!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;padding:var(--spacing-sm) var(--spacing-lg)!important;position:relative!important;overflow:hidden!important;--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important;--mdc-filled-button-label-text-color: white !important;--mdc-filled-button-container-color: transparent !important;--mat-button-protected-container-color: transparent !important}.mat-mdc-raised-button.mat-primary *,.mat-mdc-raised-button.mat-primary .mdc-button__label,.mat-mdc-raised-button.mat-primary .mdc-button__label *,.mat-mdc-raised-button.mat-primary mat-icon,.mat-mdc-raised-button.mat-primary span,.mat-mdc-raised-button.mat-primary .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button.mat-primary .mdc-button__ripple{color:#fff!important}button.mat-mdc-raised-button.mat-primary,button.mat-mdc-raised-button.mat-primary *{color:#fff!important}::ng-deep .mat-mdc-raised-button.mat-primary{--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important;--mdc-filled-button-label-text-color: white !important;--mdc-filled-button-container-color: transparent !important;--mat-button-protected-container-color: transparent !important;color:#fff!important;background:linear-gradient(135deg,#6366f1,#4f46e5)!important;background-color:transparent!important;position:relative!important;overflow:hidden!important}::ng-deep .mat-mdc-raised-button.mat-primary *,::ng-deep .mat-mdc-raised-button.mat-primary .mdc-button__label,::ng-deep .mat-mdc-raised-button.mat-primary mat-icon,::ng-deep .mat-mdc-raised-button.mat-primary span{color:#fff!important}::ng-deep .mat-mdc-raised-button.mat-primary .mdc-button__label{--mdc-filled-button-label-text-color: white !important;color:#fff!important}::ng-deep .mat-mdc-raised-button.mat-primary:not(:disabled){color:#fff!important;--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important}.add-patient-btn.mat-mdc-raised-button.mat-primary,.add-patient-btn.mat-mdc-raised-button.mat-primary *,.add-patient-btn.mat-mdc-raised-button.mat-primary .mdc-button__label,.add-patient-btn.mat-mdc-raised-button.mat-primary .mdc-button__label *,.add-patient-btn.mat-mdc-raised-button.mat-primary mat-icon,.add-patient-btn.mat-mdc-raised-button.mat-primary span,.add-patient-btn.mat-mdc-raised-button.mat-primary button{color:#fff!important;--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important;--mdc-filled-button-label-text-color: white !important}.add-patient-btn.mat-mdc-raised-button.mat-primary:not(:disabled){color:#fff!important;--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important}::ng-deep .add-patient-btn.mat-mdc-raised-button.mat-primary,::ng-deep .add-patient-btn.mat-mdc-raised-button.mat-primary *,::ng-deep .add-patient-btn.mat-mdc-raised-button.mat-primary .mdc-button__label,::ng-deep .add-patient-btn.mat-mdc-raised-button.mat-primary mat-icon,::ng-deep .add-patient-btn.mat-mdc-raised-button.mat-primary span{color:#fff!important;--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important;--mdc-filled-button-label-text-color: white !important}button.mat-mdc-raised-button.mat-primary,.mat-mdc-raised-button.mat-primary,button[mat-raised-button][color=primary],button.mat-mdc-raised-button.mat-primary:not(:disabled),.mdc-button--raised.mat-mdc-button.mat-primary{transition:all .3s cubic-bezier(.4,0,.2,1)!important;position:relative!important;overflow:hidden!important;background:linear-gradient(135deg,#6366f1,#4f46e5)!important;background-color:transparent!important;color:#fff!important;--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important;--mdc-filled-button-label-text-color: white !important;--mat-button-protected-container-color: transparent !important;--mdc-filled-button-container-color: transparent !important}button.mat-mdc-raised-button.mat-primary .mdc-button__ripple,.mat-mdc-raised-button.mat-primary .mdc-button__ripple,.mdc-button--raised.mat-mdc-button.mat-primary .mdc-button__ripple{background-color:transparent!important}button.mat-mdc-raised-button.mat-primary .mdc-button__ripple:before,.mat-mdc-raised-button.mat-primary .mdc-button__ripple:before,.mdc-button--raised.mat-mdc-button.mat-primary .mdc-button__ripple:before{background-color:transparent!important}button.mat-mdc-raised-button.mat-primary,.mat-mdc-raised-button.mat-primary,.mdc-button--raised.mat-mdc-button.mat-primary{--mdc-filled-button-container-color: transparent !important;--mat-button-protected-container-color: transparent !important;background:linear-gradient(135deg,#6366f1,#4f46e5)!important;background-color:transparent!important}button.mat-mdc-raised-button.mat-primary:hover,.mat-mdc-raised-button.mat-primary:hover,.mdc-button--raised.mat-mdc-button.mat-primary:hover,button.mat-mdc-raised-button.mat-primary:not(:disabled):hover{--mdc-filled-button-container-color: transparent !important;--mat-button-protected-container-color: transparent !important;background:linear-gradient(135deg,#818cf8,#6366f1,#4f46e5)!important;background-color:transparent!important;background-image:linear-gradient(135deg,#818cf8,#6366f1,#4f46e5)!important}::ng-deep button.mat-mdc-raised-button.mat-primary,::ng-deep .mat-mdc-raised-button.mat-primary{--mdc-filled-button-container-color: transparent !important;--mat-button-protected-container-color: transparent !important;background:linear-gradient(135deg,#6366f1,#4f46e5)!important;background-color:transparent!important}::ng-deep button.mat-mdc-raised-button.mat-primary:hover,::ng-deep .mat-mdc-raised-button.mat-primary:hover{--mdc-filled-button-container-color: transparent !important;--mat-button-protected-container-color: transparent !important;background:linear-gradient(135deg,#818cf8,#6366f1,#4f46e5)!important;background-color:transparent!important;background-image:linear-gradient(135deg,#818cf8,#6366f1,#4f46e5)!important}button.mat-mdc-raised-button.mat-primary *,.mat-mdc-raised-button.mat-primary *,button.mat-mdc-raised-button.mat-primary .mdc-button__label,.mat-mdc-raised-button.mat-primary .mdc-button__label,button.mat-mdc-raised-button.mat-primary mat-icon,.mat-mdc-raised-button.mat-primary mat-icon,button.mat-mdc-raised-button.mat-primary span,.mat-mdc-raised-button.mat-primary span{color:#fff!important;--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important;--mdc-filled-button-label-text-color: white !important}button.mat-mdc-raised-button.mat-primary:before,.mat-mdc-raised-button.mat-primary:before,.mdc-button--raised.mat-mdc-button.mat-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease;z-index:1;pointer-events:none}button.mat-mdc-raised-button.mat-primary:hover:before,.mat-mdc-raised-button.mat-primary:hover:before{left:100%}button.mat-mdc-raised-button.mat-primary:hover,.mat-mdc-raised-button.mat-primary:hover,button.mat-mdc-raised-button.mat-primary:not(:disabled):hover,button[mat-raised-button][color=primary]:hover,.mdc-button--raised.mat-mdc-button.mat-primary:hover{transform:translateY(-3px) scale(1.02)!important;box-shadow:0 12px 40px #6366f180,0 0 20px #818cf866,inset 0 1px #fff3!important;background:linear-gradient(135deg,#818cf8,#6366f1,#4f46e5)!important;background-color:transparent!important;color:#fff!important;--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important;--mdc-filled-button-label-text-color: white !important;--mat-button-protected-container-color: transparent !important;--mdc-filled-button-container-color: transparent !important;opacity:1!important;visibility:visible!important}button.mat-mdc-raised-button.mat-primary:hover .mdc-button__ripple,.mat-mdc-raised-button.mat-primary:hover .mdc-button__ripple{background-color:transparent!important}button.mat-mdc-raised-button.mat-primary:hover *,.mat-mdc-raised-button.mat-primary:hover *,button.mat-mdc-raised-button.mat-primary:hover .mdc-button__label,.mat-mdc-raised-button.mat-primary:hover .mdc-button__label,button.mat-mdc-raised-button.mat-primary:hover mat-icon,.mat-mdc-raised-button.mat-primary:hover mat-icon,button.mat-mdc-raised-button.mat-primary:hover span,.mat-mdc-raised-button.mat-primary:hover span{color:#fff!important;--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important;--mdc-filled-button-label-text-color: white !important}::ng-deep button.mat-mdc-raised-button.mat-primary,::ng-deep .mat-mdc-raised-button.mat-primary,::ng-deep button[mat-raised-button][color=primary],::ng-deep button.mat-mdc-raised-button.mat-primary:not(:disabled){transition:all .3s cubic-bezier(.4,0,.2,1)!important;position:relative!important;overflow:hidden!important;background:linear-gradient(135deg,#6366f1,#4f46e5)!important;background-color:transparent!important;color:#fff!important;--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important;--mdc-filled-button-label-text-color: white !important;--mat-button-protected-container-color: transparent !important;--mdc-filled-button-container-color: transparent !important}::ng-deep button.mat-mdc-raised-button.mat-primary *,::ng-deep .mat-mdc-raised-button.mat-primary *,::ng-deep button.mat-mdc-raised-button.mat-primary .mdc-button__label,::ng-deep .mat-mdc-raised-button.mat-primary .mdc-button__label,::ng-deep button.mat-mdc-raised-button.mat-primary mat-icon,::ng-deep .mat-mdc-raised-button.mat-primary mat-icon,::ng-deep button.mat-mdc-raised-button.mat-primary span,::ng-deep .mat-mdc-raised-button.mat-primary span{color:#fff!important;--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important;--mdc-filled-button-label-text-color: white !important}::ng-deep button.mat-mdc-raised-button.mat-primary:before,::ng-deep .mat-mdc-raised-button.mat-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease;z-index:1;pointer-events:none}::ng-deep button.mat-mdc-raised-button.mat-primary:hover:before,::ng-deep .mat-mdc-raised-button.mat-primary:hover:before{left:100%}::ng-deep button.mat-mdc-raised-button.mat-primary:hover,::ng-deep .mat-mdc-raised-button.mat-primary:hover,::ng-deep button.mat-mdc-raised-button.mat-primary:not(:disabled):hover,::ng-deep button[mat-raised-button][color=primary]:hover{transform:translateY(-3px) scale(1.02)!important;box-shadow:0 12px 40px #6366f180,0 0 20px #818cf866,inset 0 1px #fff3!important;background:linear-gradient(135deg,#818cf8,#6366f1,#4f46e5)!important;background-color:transparent!important;color:#fff!important;--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important;--mdc-filled-button-label-text-color: white !important;--mat-button-protected-container-color: transparent !important;--mdc-filled-button-container-color: transparent !important;opacity:1!important;visibility:visible!important}::ng-deep button.mat-mdc-raised-button.mat-primary:hover *,::ng-deep .mat-mdc-raised-button.mat-primary:hover *,::ng-deep button.mat-mdc-raised-button.mat-primary:hover .mdc-button__label,::ng-deep .mat-mdc-raised-button.mat-primary:hover .mdc-button__label,::ng-deep button.mat-mdc-raised-button.mat-primary:hover mat-icon,::ng-deep .mat-mdc-raised-button.mat-primary:hover mat-icon,::ng-deep button.mat-mdc-raised-button.mat-primary:hover span,::ng-deep .mat-mdc-raised-button.mat-primary:hover span{color:#fff!important;--mat-button-protected-label-text-color: white !important;--mat-sys-primary: white !important;--mdc-filled-button-label-text-color: white !important}.add-patient-btn.mat-mdc-raised-button.mat-primary{transition:all .3s cubic-bezier(.4,0,.2,1)!important}.add-patient-btn.mat-mdc-raised-button.mat-primary:hover,.add-patient-btn.mat-mdc-raised-button.mat-primary:hover *{background:linear-gradient(135deg,#818cf8,#6366f1,#4f46e5)!important;background-color:transparent!important;color:#fff!important;transform:translateY(-3px) scale(1.02)!important;box-shadow:0 12px 40px #6366f180,0 0 20px #818cf866,inset 0 1px #fff3!important;opacity:1!important;visibility:visible!important}::ng-deep .add-patient-btn.mat-mdc-raised-button.mat-primary{transition:all .3s cubic-bezier(.4,0,.2,1)!important}::ng-deep .add-patient-btn.mat-mdc-raised-button.mat-primary:hover,::ng-deep .add-patient-btn.mat-mdc-raised-button.mat-primary:hover *{background:linear-gradient(135deg,#818cf8,#6366f1,#4f46e5)!important;background-color:transparent!important;color:#fff!important;transform:translateY(-3px) scale(1.02)!important;box-shadow:0 12px 40px #6366f180,0 0 20px #818cf866,inset 0 1px #fff3!important;opacity:1!important;visibility:visible!important}.mat-mdc-button{border-radius:var(--radius-md)!important;font-weight:500!important;transition:all var(--transition-base)!important}.mat-mdc-button:hover{background-color:var(--bg-secondary)!important}::ng-deep .mat-mdc-text-field-wrapper{background-color:var(--bg-secondary)!important;border-radius:var(--radius-md)!important}::ng-deep .mat-mdc-form-field-focus-overlay{background-color:transparent!important}::ng-deep .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:var(--bg-secondary)!important;border-radius:var(--radius-md)!important}::ng-deep .mdc-text-field--filled:not(.mdc-text-field--disabled):hover{background-color:var(--bg-tertiary)!important}::ng-deep .mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-line-ripple:after{border-color:var(--primary-color)!important;border-width:2px!important}::ng-deep .cdk-overlay-container{z-index:10000!important;pointer-events:none!important}::ng-deep .cdk-overlay-container .cdk-overlay-pane{pointer-events:auto!important}::ng-deep .cdk-overlay-pane{z-index:10001!important;pointer-events:auto!important}::ng-deep .cdk-overlay-backdrop{z-index:10000!important;background-color:#0000001a!important}::ng-deep .mat-mdc-select-trigger{padding-left:12px!important;padding-right:32px!important;display:flex!important;align-items:center!important;box-sizing:border-box!important}::ng-deep .mat-mdc-select-value{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}::ng-deep .mat-mdc-select-value-text{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}::ng-deep .mat-mdc-form-field .mat-mdc-select .mat-mdc-select-trigger{padding-left:12px!important;padding-right:32px!important}::ng-deep .mat-mdc-select-panel{background-color:var(--bg-primary)!important;background:var(--bg-primary)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-xl)!important;border:1px solid var(--border-light)!important;z-index:10002!important;position:relative!important;opacity:1!important;min-width:100%!important;max-height:300px!important;overflow-y:auto!important;overflow-x:hidden!important}::ng-deep .cdk-overlay-pane.mat-mdc-select-panel{z-index:10002!important}::ng-deep .mdc-menu-surface{background-color:var(--bg-primary)!important;background:var(--bg-primary)!important;z-index:10002!important;opacity:1!important;box-shadow:var(--shadow-xl)!important}::ng-deep .mat-mdc-select-panel.mdc-menu-surface{z-index:10002!important;background-color:var(--bg-primary)!important;background:var(--bg-primary)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option{background-color:var(--bg-primary)!important;color:var(--text-primary)!important;opacity:1!important;min-height:48px!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option .mdc-list-item__primary-text{color:var(--text-primary)!important;opacity:1!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var(--bg-secondary)!important;color:var(--text-primary)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option:hover:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:var(--text-primary)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option.mdc-list-item--focus:not(.mdc-list-item--disabled){background-color:var(--bg-secondary)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled){background-color:#6366f126!important;color:var(--primary-color)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:var(--primary-color)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option.mdc-list-item--selected.mdc-list-item--focus:not(.mdc-list-item--disabled){background-color:#6366f133!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option.mdc-list-item--disabled{opacity:.5!important;cursor:not-allowed!important}::ng-deep .mat-mdc-select-panel .mdc-list{background-color:transparent!important;padding:4px 0!important}::ng-deep .mat-mdc-select-panel .mdc-list-item{background-color:transparent!important}::ng-deep .mat-mdc-select-panel[class*=mdc-menu-surface]{background-color:var(--bg-primary)!important;background:var(--bg-primary)!important;opacity:1!important}::ng-deep .mat-mdc-select-panel *{opacity:1!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option *{opacity:1!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option .mdc-list-item__ripple{opacity:0!important;display:none!important}::ng-deep .mat-mdc-select-panel::-webkit-scrollbar{width:8px}::ng-deep .mat-mdc-select-panel::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-sm)}::ng-deep .mat-mdc-select-panel::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:var(--radius-sm)}::ng-deep .mat-mdc-select-panel::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}::ng-deep .mat-datepicker-content{background-color:var(--bg-primary)!important;background:var(--bg-primary)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-xl)!important;border:1px solid var(--border-light)!important;z-index:10003!important;opacity:1!important;position:relative!important}::ng-deep .mat-datepicker-popup{z-index:10003!important}::ng-deep .cdk-overlay-pane.mat-datepicker-popup{z-index:10003!important}::ng-deep .mat-calendar{background-color:var(--bg-primary)!important;background:var(--bg-primary)!important;opacity:1!important;width:100%!important;color:var(--text-primary)!important}::ng-deep .mat-calendar-header{background-color:var(--bg-primary)!important;padding:8px!important;border-bottom:1px solid var(--border-light)!important}::ng-deep .mat-calendar-body{background-color:transparent!important}::ng-deep .mat-calendar-body-cell{background-color:transparent!important}::ng-deep .mat-calendar-body-cell-content{color:var(--text-primary)!important;background-color:transparent!important;border-radius:var(--radius-md)!important;opacity:1!important}::ng-deep .mat-calendar-body-cell-content:hover:not(.mat-calendar-body-disabled):not(.mat-calendar-body-selected){background-color:var(--bg-secondary)!important;color:var(--text-primary)!important;opacity:1!important}::ng-deep .mat-calendar-body-selected{background-color:var(--primary-color)!important;color:#fff!important;opacity:1!important}::ng-deep .mat-calendar-body-selected:hover{background-color:var(--primary-light)!important;color:#fff!important;opacity:1!important}::ng-deep .mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:var(--primary-color)!important;border-width:2px!important}::ng-deep .mat-calendar-body-disabled{opacity:.4!important;cursor:not-allowed!important}::ng-deep .mat-calendar-arrow{border-top-color:var(--text-primary)!important;opacity:1!important}::ng-deep .mat-calendar-period-button{color:var(--text-primary)!important;background-color:transparent!important;opacity:1!important}::ng-deep .mat-calendar-period-button:hover{background-color:var(--bg-secondary)!important;border-radius:var(--radius-md)!important}::ng-deep .mat-calendar-previous-button,::ng-deep .mat-calendar-next-button{color:var(--text-primary)!important;opacity:1!important}::ng-deep .mat-calendar-previous-button:hover,::ng-deep .mat-calendar-next-button:hover{background-color:var(--bg-secondary)!important;border-radius:var(--radius-md)!important}::ng-deep .mat-datepicker-close-button{color:var(--text-primary)!important;position:absolute!important;top:8px!important;right:8px!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10004!important;opacity:1!important;padding:0!important;margin:0!important;border:none!important;background:transparent!important;overflow:hidden!important;font-size:0!important;line-height:0!important;text-indent:-9999px!important}::ng-deep .mat-datepicker-close-button *{font-size:0!important;line-height:0!important;text-indent:-9999px!important}::ng-deep .mat-datepicker-close-button .mat-button-wrapper,::ng-deep .mat-datepicker-close-button .mdc-button__label,::ng-deep .mat-datepicker-close-button span:not(.mat-icon):not([class*=icon]),::ng-deep .mat-datepicker-close-button .mat-button-ripple,::ng-deep .mat-datepicker-close-button .mat-mdc-button-persistent-ripple,::ng-deep .mat-datepicker-close-button button,::ng-deep .mat-datepicker-close-button div:not(.mat-icon){display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;font-size:0!important;line-height:0!important;text-indent:-9999px!important;opacity:0!important}::ng-deep .mat-datepicker-close-button .mat-icon,::ng-deep .mat-datepicker-close-button .mat-mdc-button-icon,::ng-deep .mat-datepicker-close-button mat-icon,::ng-deep .mat-datepicker-close-button [class*=icon]{display:inline-flex!important;visibility:visible!important;font-size:20px!important;width:20px!important;height:20px!important;line-height:20px!important;color:var(--text-primary)!important;opacity:1!important;text-indent:0!important;align-items:center!important;justify-content:center!important}::ng-deep .mat-datepicker-close-button mat-icon{font-size:20px!important;width:20px!important;height:20px!important;line-height:20px!important;color:var(--text-primary)!important;opacity:1!important}::ng-deep .mat-datepicker-close-button:hover{background-color:var(--bg-secondary)!important;border-radius:var(--radius-md)!important}::ng-deep .mat-datepicker-close-button:hover mat-icon,::ng-deep .mat-datepicker-close-button:hover .mat-icon{color:var(--primary-color)!important}::ng-deep .mat-calendar-table-container{overflow-y:auto!important;max-height:280px!important;background-color:var(--bg-primary)!important}::ng-deep .mat-calendar-table{background-color:transparent!important}::ng-deep .mat-calendar-body-label{color:var(--text-primary)!important;opacity:1!important;font-weight:600!important}::ng-deep .mat-calendar-body-label:hover{background-color:var(--bg-secondary)!important}::ng-deep .mat-calendar-body-cell.mat-calendar-body-year-cell{color:var(--text-primary)!important;opacity:1!important}::ng-deep .mat-calendar-body-cell.mat-calendar-body-year-cell:hover:not(.mat-calendar-body-disabled):not(.mat-calendar-body-selected){background-color:var(--bg-secondary)!important}::ng-deep .mat-calendar-body-cell.mat-calendar-body-year-cell.mat-calendar-body-selected{background-color:var(--primary-color)!important;color:#fff!important}::ng-deep .mat-calendar-body-cell.mat-calendar-body-month-cell{color:var(--text-primary)!important;opacity:1!important}::ng-deep .mat-calendar-body-cell.mat-calendar-body-month-cell:hover:not(.mat-calendar-body-disabled):not(.mat-calendar-body-selected){background-color:var(--bg-secondary)!important}::ng-deep .mat-calendar-body-cell.mat-calendar-body-month-cell.mat-calendar-body-selected{background-color:var(--primary-color)!important;color:#fff!important}::ng-deep .mat-datepicker-toggle{color:var(--text-secondary)!important;opacity:1!important}::ng-deep .mat-datepicker-toggle:hover{color:var(--primary-color)!important}::ng-deep .mat-datepicker-toggle-icon{opacity:1!important}@media(max-width:768px){::ng-deep .mat-datepicker-content{max-width:calc(100vw - 32px)!important;width:100%!important}::ng-deep .mat-calendar{width:100%!important;min-width:auto!important;font-size:14px!important}::ng-deep .mat-calendar-table{width:100%!important}::ng-deep .mat-calendar-body-cell-content{font-size:14px!important;min-width:36px!important;width:36px!important;height:36px!important;line-height:36px!important}::ng-deep .mat-calendar-header{padding:4px!important}::ng-deep .mat-calendar-period-button,::ng-deep .mat-calendar-previous-button,::ng-deep .mat-calendar-next-button{min-width:36px!important;width:36px!important;height:36px!important}}::ng-deep .mat-datepicker-content *{opacity:1!important}::ng-deep .mat-calendar *{opacity:1!important}table{border-radius:var(--radius-lg)!important;overflow:hidden;box-shadow:var(--shadow-sm)!important}th{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%)!important;color:var(--text-primary)!important;font-weight:600!important;text-transform:uppercase;font-size:var(--font-size-xs)!important;letter-spacing:.05em;padding:var(--spacing-md)!important}td{padding:var(--spacing-md)!important;border-bottom:1px solid var(--border-light)!important}tr:hover{background-color:var(--bg-secondary)!important}.responsive-container{width:100%;max-width:100%;margin:0 auto;padding:var(--spacing-md)}img{max-width:100%;height:auto;border-radius:var(--radius-md)}@media(max-width:768px){.table-responsive{display:none}.table-mobile-cards{display:block}}@media(min-width:769px){.table-responsive{display:table}.table-mobile-cards{display:none}}button,.mat-mdc-button,.mat-mdc-raised-button{width:100%;max-width:100%}@media(min-width:481px){button,.mat-mdc-button,.mat-mdc-raised-button{width:auto;min-width:120px}}mat-card{margin-bottom:var(--spacing-md);width:100%}mat-form-field{width:100%}.responsive-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}@media(min-width:481px){.responsive-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:769px){.responsive-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1025px){.responsive-grid{grid-template-columns:repeat(4,1fr)}}.hide-mobile{display:none}.show-mobile{display:block}@media(min-width:769px){.hide-mobile{display:block}.show-mobile{display:none}}@media(max-width:768px){button,a,.clickable{min-height:44px;min-width:44px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.fade-in{animation:fadeIn .5s ease-out}.slide-in{animation:slideIn .4s ease-out}@media print{.navbar,.nav-content,.nav-links,.nav-title,.app-container>nav{display:none!important;visibility:hidden!important}.main-content{padding:0!important;margin:0!important;overflow:visible!important}*{background:transparent!important;box-shadow:none!important;text-shadow:none!important}html,body{overflow:hidden!important;overflow-x:hidden!important;overflow-y:hidden!important}html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}*{scrollbar-width:none!important;-ms-overflow-style:none!important;overflow-x:hidden!important}a,a:visited{color:#000!important;text-decoration:underline!important}@page{margin:1.5cm}h1,h2,h3,h4,h5,h6{page-break-after:avoid}table{page-break-inside:avoid}}::ng-deep .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media print{mat-card,.mat-mdc-card,mat-card.report-card,.report-card{overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;height:auto!important;max-height:none!important;min-height:auto!important;page-break-inside:auto!important;break-inside:auto!important}mat-card>*,.mat-mdc-card>*,mat-card.report-card>*,.report-card>*{overflow:visible!important;height:auto!important;max-height:none!important;display:block!important}}::ng-deep .mat-mdc-snack-bar-container.premium-toast{padding:0!important;min-width:auto!important;max-width:none!important;box-shadow:none!important;background:transparent!important;background-color:transparent!important}::ng-deep .mat-mdc-snack-bar-container.premium-toast .mdc-snackbar__surface{background:transparent!important;background-color:transparent!important;box-shadow:none!important;padding:0!important;min-width:auto!important;max-width:none!important}::ng-deep .mat-mdc-snack-bar-container.premium-toast app-custom-toast{display:block!important;width:100%!important}::ng-deep .mat-mdc-snack-bar-container.premium-toast .custom-toast-wrapper{width:100%!important;display:flex!important}
