:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--text-primary: #212529;--text-secondary: #6c757d;--text-tertiary: #adb5bd;--border-color: #dee2e6;--border-color-dark: #ced4da;--primary: #0d6efd;--primary-hover: #0b5ed7;--primary-light: #cfe2ff;--success: #198754;--success-light: #d1e7dd;--danger: #dc3545;--danger-hover: #bb2d3b;--danger-light: #f8d7da;--warning: #ffc107;--warning-light: #fff3cd;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--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)}[data-theme=dark]{--bg-primary: #1a1d21;--bg-secondary: #22262b;--bg-tertiary: #2b3035;--text-primary: #e9ecef;--text-secondary: #adb5bd;--text-tertiary: #6c757d;--border-color: #373b40;--border-color-dark: #495057;--primary: #3b82f6;--primary-hover: #2563eb;--primary-light: #1e3a5f;--success: #22c55e;--success-light: #1e4131;--danger: #ef4444;--danger-hover: #dc2626;--danger-light: #4a2929;--warning: #f59e0b;--warning-light: #4a3d1e;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mat-mdc-card{background-color:var(--bg-primary)!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important;border-radius:6px!important;box-shadow:var(--shadow-sm)!important}.mat-toolbar{background-color:var(--bg-primary)!important;color:var(--text-primary)!important;border-bottom:1px solid var(--border-color)!important}.mat-drawer{background-color:var(--bg-primary)!important;border-right:1px solid var(--border-color)!important}.mat-mdc-dialog-container{background-color:var(--bg-primary)!important;color:var(--text-primary)!important;border-radius:8px!important;box-shadow:var(--shadow-lg)!important}.mat-mdc-dialog-container .mat-mdc-dialog-surface{background-color:var(--bg-primary)!important}.mat-mdc-dialog-title{color:var(--text-primary)!important;padding:1.5rem 1.5rem 1rem!important;margin:0!important}.mat-mdc-dialog-content{padding:0 1.5rem 1rem!important;color:var(--text-primary)!important}.mat-mdc-dialog-actions{padding:1rem 1.5rem 1.5rem!important;min-height:auto!important}.mat-mdc-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{border-radius:6px!important;text-transform:none!important;font-weight:500!important;letter-spacing:0!important}.mat-mdc-raised-button.mat-primary{background-color:var(--primary)!important;color:#fff!important}.mat-mdc-raised-button.mat-primary:hover{background-color:var(--primary-hover)!important}.mat-mdc-raised-button.mat-warn{background-color:var(--danger)!important;color:#fff!important}.mat-mdc-icon-button.mat-primary{color:var(--primary)!important}.mat-mdc-icon-button.mat-warn{color:var(--danger)!important}.mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:var(--bg-primary)!important}.mat-mdc-form-field .mat-mdc-form-field-infix{padding-top:16px!important;padding-bottom:16px!important;min-height:56px!important}.mat-mdc-form-field .mdc-floating-label{transform:translateY(-50%) scale(.75)!important;top:0!important;left:12px!important;position:absolute!important}.mat-mdc-form-field .mdc-notched-outline__notch{padding:0 4px!important;border-top:none!important}.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline__leading,.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline__notch,.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline__trailing{border-color:var(--border-color)!important}.mat-mdc-form-field .mdc-text-field--outlined:hover .mdc-notched-outline__leading,.mat-mdc-form-field .mdc-text-field--outlined:hover .mdc-notched-outline__notch,.mat-mdc-form-field .mdc-text-field--outlined:hover .mdc-notched-outline__trailing{border-color:var(--border-color-dark)!important}.mat-mdc-form-field input,.mat-mdc-form-field textarea{color:var(--text-primary)!important;padding:12px 16px!important}.mat-mdc-form-field label{color:var(--text-secondary)!important}.mat-mdc-form-field .mat-mdc-input-element::placeholder{color:var(--text-tertiary)!important;opacity:1!important}.mat-mdc-select .mat-mdc-select-value{color:var(--text-primary)!important;padding-left:16px!important}.mat-mdc-select .mat-mdc-select-placeholder{color:var(--text-tertiary)!important;padding-left:16px!important}.mat-mdc-select .mat-mdc-select-arrow{color:var(--text-secondary)!important;margin-right:12px!important}.mat-mdc-select .mat-mdc-select-trigger{padding-right:12px!important}.mat-mdc-select-panel{background-color:var(--bg-primary)!important}.mat-mdc-select-panel .mat-mdc-option{color:var(--text-primary)!important}.mat-mdc-select-panel .mat-mdc-option:hover,.mat-mdc-select-panel .mat-mdc-option.mat-mdc-option-active{background-color:var(--bg-tertiary)!important}.mat-datepicker-content{background-color:var(--bg-primary)!important;color:var(--text-primary)!important;box-shadow:0 4px 12px #00000026!important}.mat-calendar{background-color:var(--bg-primary)!important}.mat-calendar-body-cell-content{color:var(--text-primary)!important;border-color:var(--border-color)!important}.mat-calendar-body-cell-content:hover{background-color:#0000000a!important}.mat-calendar-body-label,.mat-calendar-table-header th{color:var(--text-secondary)!important}.mat-calendar-body-disabled>.mat-calendar-body-cell-content{color:var(--text-tertiary)!important}.mat-calendar-body-selected{background-color:var(--primary)!important;color:var(--bg-primary)!important}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:var(--primary)!important}.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:#0000000a!important}[data-theme=dark] .mat-datepicker-content{background-color:var(--bg-secondary)!important;box-shadow:0 4px 16px #0006!important}[data-theme=dark] .mat-calendar{background-color:var(--bg-secondary)!important}[data-theme=dark] .mat-calendar-body-cell-content:hover{background-color:#ffffff1a!important}[data-theme=dark] .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:#ffffff1a!important}.mat-mdc-table{background-color:transparent!important}.mat-mdc-table .mat-mdc-header-row{background-color:var(--bg-tertiary)}.mat-mdc-table .mat-mdc-header-cell{color:var(--text-primary)!important;font-weight:600!important;border-bottom-color:var(--border-color)!important}.mat-mdc-table .mat-mdc-cell{color:var(--text-primary)!important;border-bottom-color:var(--border-color)!important}.mat-mdc-table .mat-mdc-row:hover{background-color:var(--bg-tertiary)}.mat-mdc-chip{background-color:var(--bg-tertiary)!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important;font-weight:500!important}.mat-mdc-list-item{color:var(--text-primary)!important}.mat-mdc-list-item:hover{background-color:var(--bg-tertiary)!important}.mat-mdc-snack-bar-container{background-color:var(--bg-tertiary)!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important;box-shadow:var(--shadow-md)!important}.success-snackbar .mat-mdc-snack-bar-container{background-color:var(--success)!important;color:#fff!important;border:none!important;box-shadow:var(--shadow-lg)!important}.success-snackbar .mdc-snackbar__surface{background-color:var(--success)!important}.success-snackbar .mat-mdc-button.mat-mdc-snack-bar-action{color:#fff!important}.success-snackbar .mat-mdc-button.mat-mdc-snack-bar-action:hover{background-color:#ffffff1a!important}.error-snackbar .mat-mdc-snack-bar-container{background-color:var(--danger)!important;color:#fff!important;border:none!important;box-shadow:var(--shadow-lg)!important}.error-snackbar .mdc-snackbar__surface{background-color:var(--danger)!important}.error-snackbar .mat-mdc-button.mat-mdc-snack-bar-action{color:#fff!important}.error-snackbar .mat-mdc-button.mat-mdc-snack-bar-action:hover{background-color:#ffffff1a!important}.warning-snackbar .mat-mdc-snack-bar-container{background-color:var(--warning)!important;color:#000!important;border:none!important;box-shadow:var(--shadow-lg)!important}.warning-snackbar .mdc-snackbar__surface{background-color:var(--warning)!important}.warning-snackbar .mat-mdc-button.mat-mdc-snack-bar-action{color:#000!important;font-weight:600!important}.warning-snackbar .mat-mdc-button.mat-mdc-snack-bar-action:hover{background-color:#0000001a!important}.warning-snackbar .mdc-snackbar__label{color:#000!important}.info-snackbar .mat-mdc-snack-bar-container{background-color:var(--primary)!important;color:#fff!important;border:none!important;box-shadow:var(--shadow-lg)!important}.info-snackbar .mdc-snackbar__surface{background-color:var(--primary)!important}.info-snackbar .mat-mdc-button.mat-mdc-snack-bar-action{color:#fff!important}.info-snackbar .mat-mdc-button.mat-mdc-snack-bar-action:hover{background-color:#ffffff1a!important}.mat-mdc-menu-panel{background-color:var(--bg-primary)!important}.mat-mdc-menu-panel .mat-mdc-menu-item{color:var(--text-primary)!important}.mat-mdc-menu-panel .mat-mdc-menu-item:hover{background-color:var(--bg-tertiary)!important}.mat-mdc-menu-panel .mat-mdc-menu-item[disabled]{color:var(--text-tertiary)!important}.login-container,.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;position:relative}.login-container .theme-toggle-wrapper,.register-container .theme-toggle-wrapper{position:absolute;top:20px;right:20px;z-index:10}.login-container .theme-toggle-wrapper button,.register-container .theme-toggle-wrapper button{background-color:#fff3;color:#fff}.login-container .theme-toggle-wrapper button:hover,.register-container .theme-toggle-wrapper button:hover{background-color:#ffffff4d}.login-container .login-card,.login-container .register-card,.register-container .login-card,.register-container .register-card{width:100%;max-width:500px}.login-container .login-card mat-card-header,.login-container .register-card mat-card-header,.register-container .login-card mat-card-header,.register-container .register-card mat-card-header{padding:24px 24px 0}.login-container .login-card mat-card-header .header-content,.login-container .register-card mat-card-header .header-content,.register-container .login-card mat-card-header .header-content,.register-container .register-card mat-card-header .header-content{width:100%;text-align:center}.login-container .login-card mat-card-header .header-content h1,.login-container .register-card mat-card-header .header-content h1,.register-container .login-card mat-card-header .header-content h1,.register-container .register-card mat-card-header .header-content h1{font-size:2rem;font-weight:600;margin:0 0 8px;color:var(--text-primary)}.login-container .login-card mat-card-header .header-content .subtitle,.login-container .register-card mat-card-header .header-content .subtitle,.register-container .login-card mat-card-header .header-content .subtitle,.register-container .register-card mat-card-header .header-content .subtitle{margin:0;color:var(--text-secondary);font-size:1rem}.login-container .login-card mat-card-header .header-content .invitation-info,.login-container .register-card mat-card-header .header-content .invitation-info,.register-container .login-card mat-card-header .header-content .invitation-info,.register-container .register-card mat-card-header .header-content .invitation-info{margin:8px 0 0;padding:8px 16px;background-color:var(--bg-secondary);border-radius:4px;font-size:.875rem;color:var(--text-secondary)}.login-container .login-card mat-card-content,.login-container .register-card mat-card-content,.register-container .login-card mat-card-content,.register-container .register-card mat-card-content{padding:24px}.login-container .login-card form,.login-container .register-card form,.register-container .login-card form,.register-container .register-card form{display:flex;flex-direction:column;gap:16px}.login-container .login-card form .name-fields,.login-container .register-card form .name-fields,.register-container .login-card form .name-fields,.register-container .register-card form .name-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 600px){.login-container .login-card form .name-fields,.login-container .register-card form .name-fields,.register-container .login-card form .name-fields,.register-container .register-card form .name-fields{grid-template-columns:1fr}}.login-container .login-card form .full-width,.login-container .register-card form .full-width,.register-container .login-card form .full-width,.register-container .register-card form .full-width{width:100%}.login-container .login-card form .submit-button,.login-container .register-card form .submit-button,.register-container .login-card form .submit-button,.register-container .register-card form .submit-button{height:48px;font-size:1rem;font-weight:500;margin-top:8px}.login-container .login-card form .submit-button mat-spinner,.login-container .register-card form .submit-button mat-spinner,.register-container .login-card form .submit-button mat-spinner,.register-container .register-card form .submit-button mat-spinner{display:inline-block;margin-right:8px}.login-container .login-card form .register-link,.login-container .login-card form .login-link,.login-container .register-card form .register-link,.login-container .register-card form .login-link,.register-container .login-card form .register-link,.register-container .login-card form .login-link,.register-container .register-card form .register-link,.register-container .register-card form .login-link{text-align:center;margin-top:16px;color:var(--text-secondary)}.login-container .login-card form .register-link span,.login-container .login-card form .login-link span,.login-container .register-card form .register-link span,.login-container .register-card form .login-link span,.register-container .login-card form .register-link span,.register-container .login-card form .login-link span,.register-container .register-card form .register-link span,.register-container .register-card form .login-link span{margin-right:8px}.login-container .login-card form .register-link a,.login-container .login-card form .login-link a,.login-container .register-card form .register-link a,.login-container .register-card form .login-link a,.register-container .login-card form .register-link a,.register-container .login-card form .login-link a,.register-container .register-card form .register-link a,.register-container .register-card form .login-link a{font-weight:500}.login-container .disabled-card .disabled-content,.register-container .disabled-card .disabled-content{text-align:center;padding:40px 20px}.login-container .disabled-card .disabled-content .disabled-icon,.register-container .disabled-card .disabled-content .disabled-icon{font-size:64px;width:64px;height:64px;margin-bottom:16px;color:var(--text-tertiary)}.login-container .disabled-card .disabled-content h2,.register-container .disabled-card .disabled-content h2{margin:0 0 16px;color:var(--text-primary)}.login-container .disabled-card .disabled-content p,.register-container .disabled-card .disabled-content p{color:var(--text-secondary);margin:8px 0;line-height:1.6}.login-container .disabled-card .disabled-content .disabled-actions,.register-container .disabled-card .disabled-content .disabled-actions{margin-top:24px}.loading-status,.validating-invitation{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.loading-status p,.validating-invitation p{margin:0;color:var(--text-secondary)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state mat-icon{font-size:64px;width:64px;height:64px;margin-bottom:16px;color:var(--text-tertiary)}.empty-state p{margin:8px 0;font-size:1rem}.empty-state p:first-of-type{font-size:1.1rem;font-weight:500;color:var(--text-primary)}.empty-state .empty-subtitle{color:var(--text-tertiary);font-size:.9rem;margin-top:12px}.empty-state .empty-subtitle a{color:var(--primary);text-decoration:none;font-weight:500}.empty-state .empty-subtitle a:hover{text-decoration:underline}.empty-state button{margin-top:20px}.password-requirements{margin:16px 0;padding:16px;background-color:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.password-requirements .requirements-title{margin:0 0 12px;font-size:.875rem;font-weight:600;color:var(--text-primary)}.password-requirements .requirements-list{display:flex;flex-direction:column;gap:8px}.password-requirements .requirement{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#f44336;transition:color .2s ease}.password-requirements .requirement mat-icon{font-size:20px;width:20px;height:20px;color:#f44336;transition:color .2s ease}.password-requirements .requirement.met{color:#4caf50}.password-requirements .requirement.met mat-icon{color:#4caf50}.text-muted{color:var(--text-secondary)!important}.text-primary{color:var(--primary)!important}.text-danger{color:var(--danger)!important}.text-success{color:var(--success)!important}.bg-primary-light{background-color:var(--primary-light)!important}.bg-danger-light{background-color:var(--danger-light)!important}.bg-success-light{background-color:var(--success-light)!important}.bg-warning-light{background-color:var(--warning-light)!important}.border{border:1px solid var(--border-color)!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow{box-shadow:var(--shadow)!important}.shadow-md{box-shadow:var(--shadow-md)!important}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color-dark);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.mat-mdc-tooltip{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important;font-size:.875rem!important;padding:.5rem!important;max-width:300px!important;white-space:pre-wrap!important;word-wrap:break-word!important}[data-theme=dark] .mat-mdc-tooltip{background-color:var(--bg-tertiary)!important;box-shadow:0 2px 8px #0006!important}
