@charset "UTF-8";:root{--primary-color: #2196f3;--primary-light: #64b5f6;--primary-dark: #1976d2;--accent-color: #e91e63;--accent-light: #f06292;--accent-dark: #c2185b;--success-color: #4caf50;--warning-color: #ff9800;--error-color: #f44336;--info-color: #2196f3;--text-primary: rgba(0, 0, 0, .87);--text-secondary: rgba(0, 0, 0, .6);--text-disabled: rgba(0, 0, 0, .38);--text-white: #ffffff;--background-primary: #ffffff;--background-secondary: #f5f5f5;--background-disabled: #e0e0e0;--border-color: #e0e0e0;--divider-color: rgba(0, 0, 0, .12);--shadow-1: 0 2px 4px rgba(0,0,0,.1);--shadow-2: 0 4px 8px rgba(0,0,0,.1);--shadow-3: 0 8px 16px rgba(0,0,0,.1);--shadow-4: 0 16px 24px rgba(0,0,0,.1);--spacing-unit: 8px;--spacing-xs: calc(var(--spacing-unit) * .5);--spacing-sm: var(--spacing-unit);--spacing-md: calc(var(--spacing-unit) * 2);--spacing-lg: calc(var(--spacing-unit) * 3);--spacing-xl: calc(var(--spacing-unit) * 4);--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 16px;--border-radius-xl: 24px;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070}body{margin:0;font-family:Roboto,Helvetica Neue,sans-serif;background-color:var(--background-secondary);color:var(--text-primary)}.footer{position:fixed;bottom:0;left:0;right:0;background-color:#fff;box-shadow:0 -2px 4px #0000001a;transition:transform .3s ease;z-index:1000}.footer.retracted{transform:translateY(calc(100% - 40px))}.footer .footer-header{height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:var(--primary-color);color:#fff}.footer .footer-content{padding:16px}.appointment-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.appointment-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.appointment-card .status.pending{color:var(--accent-color)}.appointment-card .status.confirmed{color:var(--success-color)}.appointment-card .status.cancelled{color:var(--error-color)}.document-viewer{position:fixed;inset:0;background-color:#000000e6;z-index:2000;display:flex;flex-direction:column}.document-viewer .document-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:#ffffff1a}.document-viewer .document-toolbar .document-actions{display:flex;gap:8px}.document-viewer .document-content{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.document-viewer .document-content img{max-width:90%;max-height:90vh;object-fit:contain}.document-viewer .document-content iframe{width:90%;height:90vh;border:none;background-color:#fff}.mat-mdc-button.mat-primary,.mat-mdc-raised-button.mat-primary,.mat-mdc-outlined-button.mat-primary,.mat-mdc-flat-button.mat-primary{--mdc-filled-button-container-color: var(--primary-color);--mdc-filled-button-label-text-color: white}.mat-mdc-button.mat-accent,.mat-mdc-raised-button.mat-accent,.mat-mdc-outlined-button.mat-accent,.mat-mdc-flat-button.mat-accent{--mdc-filled-button-container-color: var(--accent-color);--mdc-filled-button-label-text-color: white}.mat-mdc-button.mat-warn,.mat-mdc-raised-button.mat-warn,.mat-mdc-outlined-button.mat-warn,.mat-mdc-flat-button.mat-warn{--mdc-filled-button-container-color: var(--error-color);--mdc-filled-button-label-text-color: white}@media (max-width: 599px){.container{padding:16px}.mat-card{margin:8px 0}}@media (min-width: 600px){.container{padding:24px}.mat-card{margin:12px}}.grid{display:grid;gap:16px}@media (min-width: 600px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 960px){.grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.grid{grid-template-columns:repeat(4,1fr)}}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clickable{cursor:pointer;transition:opacity var(--transition-fast)}.clickable:hover{opacity:.8}.card{background:var(--background-primary);border-radius:var(--border-radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-1);transition:transform var(--transition-normal)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.status-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:.875rem;font-weight:500}.status-badge.success{background-color:#4caf501a;color:var(--success-color)}.status-badge.warning{background-color:#ff98001a;color:var(--warning-color)}.status-badge.error{background-color:#f443361a;color:var(--error-color)}.status-badge.info{background-color:#2196f31a;color:var(--info-color)}.cdk-overlay-pane:has(.mat-datepicker-content){z-index:10000!important}.mat-datepicker-content .mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-datepicker-content .mat-calendar-header{padding:8px 16px}.mat-datepicker-content .mat-calendar-body-cell{position:relative;height:32px;width:32px;cursor:pointer;border:none;outline:none}.mat-datepicker-content .mat-calendar-body-cell-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;line-height:32px;font-size:14px;font-weight:400;border-radius:50%;transition:all .2s ease}.mat-datepicker-content .mat-calendar-body-selected .mat-calendar-body-cell-content{background-color:var(--primary-color);color:#fff}.mat-datepicker-content .mat-calendar-body-today:not(.mat-calendar-body-selected) .mat-calendar-body-cell-content{border:1px solid var(--primary-color);color:var(--primary-color);font-weight:500}.mat-datepicker-content .mat-calendar-body-cell:hover:not(.mat-calendar-body-selected) .mat-calendar-body-cell-content{background-color:#2196f31a}.mat-form-field.date-filter .mat-form-field-label{color:var(--text-secondary)}.mat-form-field.date-filter .mat-form-field-outline{color:var(--border-color)}.mat-form-field.date-filter .mat-form-field-outline-thick{color:var(--primary-color)}.mat-form-field.date-filter .mat-datepicker-toggle{margin-right:8px}@media (max-width: 768px){.date-filter{min-width:200px!important}.mat-calendar{width:280px!important}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #3498db;--primary-dark: #2980b9;--text-color: #333;--background-color: #f5f5f5;--border-color: #e0e0e0}html,body{height:100%;font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5;color:var(--text-color);background-color:var(--background-color)}input,button{font-family:inherit;font-size:inherit}input{padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;width:100%}button{cursor:pointer;padding:8px 16px;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;transition:background-color .3s ease}button:hover:not(:disabled){background-color:var(--primary-dark)}button:disabled{opacity:.7;cursor:not-allowed}.container{max-width:1200px;margin:0 auto;padding:0 20px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#666}.fullscreen-dialog{max-width:100vw!important;max-height:100vh!important;width:100vw;height:100vh}.fullscreen-dialog .mat-mdc-dialog-container{padding:0;border-radius:0}.fullscreen-dialog .mat-mdc-dialog-surface{background:transparent}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.transition-all{transition:all .3s ease}.m-0{margin:0!important}.p-0{padding:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-primary{color:#2196f3!important}.text-accent{color:#ff9800!important}.text-warn{color:#f44336!important}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}.btn-icon{display:inline-flex;align-items:center;gap:8px}.card{background:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .3s ease}.card:hover{box-shadow:0 4px 8px #00000026}.form-group{margin-bottom:1rem}.form-control{width:100%}.success-snackbar{background:#4caf50;color:#fff}.error-snackbar{background:#f44336;color:#fff}.success-snackbar .mat-simple-snackbar-action,.error-snackbar .mat-simple-snackbar-action{color:#fff}.mat-datepicker-popup{z-index:10000!important}.mat-date-range-input-container{display:flex!important;align-items:center!important}.mat-date-range-input{display:flex!important;width:100%!important}.mat-datepicker-toggle{color:#666!important}.mat-datepicker-toggle:hover{color:#2196f3!important}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0!important}.date-filter{min-width:280px!important}input[type=date]{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;background:#fff;color:#333;transition:border-color .2s ease,box-shadow .2s ease}input[type=date]:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}input[type=date]:hover{border-color:#bdbdbd}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;padding:4px;border-radius:3px}input[type=date]::-webkit-calendar-picker-indicator:hover{background-color:#0000000d}.date-filters{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.date-input-group{display:flex;flex-direction:column}.date-input-group label{font-size:12px;font-weight:500;color:#666;margin-bottom:4px}
