:root{--color-primary: #0066CC;--color-primary-light: #E8F4FF;--color-primary-light-hover: #D1E7FF;--color-primary-dark: #004A99;--color-primary-darker: #003380;--color-neutral-white: #FFFFFF;--color-neutral-off-white: #F9FAFB;--color-neutral-light-gray: #E5E7EB;--color-neutral-medium-gray: #9CA3AF;--color-neutral-dark-gray: #6B7280;--color-neutral-text: #1F2937;--color-neutral-text-muted: #374151;--color-success: #10B981;--color-success-light: #ECFDF5;--color-warning: #F59E0B;--color-warning-light: #FFFBEB;--color-error: #EF4444;--color-error-light: #FEF2F2;--color-info: #3B82F6;--color-info-light: #EFF6FF;--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-family-secondary: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-h1: 32px;--font-size-h2: 24px;--font-size-h3: 20px;--font-size-h4: 16px;--font-size-body-large: 16px;--font-size-body: 14px;--font-size-body-small: 12px;--font-size-button: 14px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-none: none;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-xl: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-focus: 0 0 0 3px rgba(0, 102, 204, .1);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-modal: 1040;--z-tooltip: 1060}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:clip;max-width:100%}html app-root,body app-root{width:100%;height:100vh}body{font-family:var(--font-family-primary);font-size:var(--font-size-body);line-height:var(--line-height-relaxed);color:var(--color-neutral-text);background-color:var(--color-neutral-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.5px;color:var(--color-neutral-text);margin-bottom:var(--spacing-md)}@media (max-width: 640px){h1{font-size:24px}}h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);line-height:1.3;letter-spacing:-.3px;color:var(--color-neutral-text);margin-bottom:var(--spacing-md)}@media (max-width: 640px){h2{font-size:20px}}h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);line-height:1.4;color:var(--color-neutral-text);margin-bottom:var(--spacing-md)}@media (max-width: 640px){h3{font-size:18px}}h4{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);line-height:1.5;color:var(--color-neutral-text);margin-bottom:var(--spacing-sm)}p{margin-bottom:var(--spacing-md);color:var(--color-neutral-text)}p:last-child{margin-bottom:0}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px 24px;height:40px;font-family:var(--font-family-primary);font-size:var(--font-size-button);font-weight:var(--font-weight-semibold);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;letter-spacing:.5px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn mat-icon{font-size:20px;height:20px;width:20px;display:flex;align-items:center;justify-content:center}.btn-primary,button[mat-raised-button][color=primary]{background-color:var(--color-primary);color:var(--color-neutral-white);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled),button[mat-raised-button][color=primary]:hover:not(:disabled){background-color:var(--color-primary-dark);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled),button[mat-raised-button][color=primary]:active:not(:disabled){background-color:var(--color-primary-darker)}.btn-secondary,button[mat-stroked-button][color=primary]{background-color:transparent;border:1px solid var(--color-neutral-light-gray);color:var(--color-primary)}.btn-secondary:hover:not(:disabled),button[mat-stroked-button][color=primary]:hover:not(:disabled){background-color:var(--color-primary-light);border-color:var(--color-primary)}.btn-secondary:active:not(:disabled),button[mat-stroked-button][color=primary]:active:not(:disabled){background-color:var(--color-primary-light-hover)}.btn-tertiary,button[mat-button][color=primary]{background-color:transparent;color:var(--color-primary);border:none}.btn-tertiary:hover:not(:disabled),button[mat-button][color=primary]:hover:not(:disabled){background-color:var(--color-primary-light)}.btn-tertiary:active:not(:disabled),button[mat-button][color=primary]:active:not(:disabled){background-color:var(--color-primary-light-hover)}.btn-icon,button[mat-icon-button]{height:40px;width:40px;padding:8px;border-radius:var(--radius-md);color:var(--color-neutral-dark-gray)}.btn-icon:hover:not(:disabled),button[mat-icon-button]:hover:not(:disabled){background-color:var(--color-neutral-light-gray)}.btn-full,button[class*=full-width]{width:100%}.btn-large{padding:12px 24px;height:48px;font-size:16px}.form-field{display:flex;flex-direction:column;margin-bottom:var(--spacing-lg)}.form-field:last-child{margin-bottom:0}label{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-neutral-text-muted);margin-bottom:6px;display:block}label .required{color:var(--color-error);margin-left:4px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],textarea,select{padding:10px 12px;font-size:var(--font-size-body);font-family:var(--font-family-primary);line-height:var(--line-height-normal);border:1px solid var(--color-neutral-light-gray);border-radius:var(--radius-sm);background-color:var(--color-neutral-white);color:var(--color-neutral-text);transition:all var(--transition-fast)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=date]:focus,input[type=time]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}input[type=text]:disabled,input[type=email]:disabled,input[type=password]:disabled,input[type=number]:disabled,input[type=date]:disabled,input[type=time]:disabled,textarea:disabled,select:disabled{background-color:var(--color-neutral-off-white);border-color:var(--color-neutral-light-gray);color:var(--color-neutral-medium-gray);cursor:not-allowed}input[type=text]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder,input[type=number]::placeholder,input[type=date]::placeholder,input[type=time]::placeholder,textarea::placeholder,select::placeholder{color:var(--color-neutral-medium-gray)}textarea{resize:vertical;min-height:100px;font-family:var(--font-family-primary)}.mat-mdc-form-field{width:100%;margin-bottom:var(--spacing-lg)}.mat-mdc-form-field:last-child{margin-bottom:0}.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay{background-color:transparent}.mat-mdc-text-field-wrapper{padding-bottom:0}.mat-mdc-input-element{font-size:var(--font-size-body);color:var(--color-neutral-text)}.mat-mdc-form-field-label{color:var(--color-neutral-text-muted)}.mat-mdc-select{color:var(--color-neutral-text)}.mat-mdc-select-trigger{font-size:var(--font-size-body)}.card{background-color:var(--color-neutral-white);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--spacing-lg);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg)}.mat-mdc-card{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important;padding:var(--spacing-lg)!important;width:100%!important;box-sizing:border-box!important;margin:0!important}.mat-mdc-card .mat-mdc-card-header{padding:0 0 var(--spacing-lg) 0!important;margin-bottom:0!important}.mat-mdc-card .mat-mdc-card-content{padding:0!important}.alert{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);animation:slideIn .3s ease}.alert mat-icon{flex-shrink:0;margin-top:2px}.alert-success{background-color:var(--color-success-light);color:var(--color-success);border-left:3px solid var(--color-success)}.alert-success mat-icon{color:var(--color-success)}.alert-error,.error-message{background-color:var(--color-error-light);color:var(--color-error);border-left:3px solid var(--color-error)}.alert-error mat-icon,.error-message mat-icon{color:var(--color-error)}.alert-warning{background-color:var(--color-warning-light);color:var(--color-warning);border-left:3px solid var(--color-warning)}.alert-warning mat-icon{color:var(--color-warning)}.alert-info{background-color:var(--color-info-light);color:var(--color-info);border-left:3px solid var(--color-info)}.alert-info mat-icon{color:var(--color-info)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-xl)}@media (max-width: 1024px){.container{padding:0 var(--spacing-lg)}}@media (max-width: 640px){.container{padding:0 var(--spacing-md)}}.section{margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl)}@media (max-width: 640px){.section{padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}}.section-subtle{background-color:var(--color-neutral-off-white);border-radius:var(--radius-md)}.grid,.grid-3,.grid-2{display:grid;gap:var(--spacing-lg)}@media (max-width: 640px){.grid,.grid-3,.grid-2{gap:var(--spacing-md)}}.grid-2{grid-template-columns:repeat(2,1fr)}@media (max-width: 1024px){.grid-2{grid-template-columns:1fr}}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 1024px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-3{grid-template-columns:1fr}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width: 640px){.hidden-mobile{display:none!important}}@media (min-width: 641px) and (max-width: 1024px){.hidden-tablet{display:none!important}}@media (min-width: 1025px){.hidden-desktop{display:none!important}}.text-center{text-align:center}.text-muted{color:var(--color-neutral-medium-gray)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.text-sm{font-size:var(--font-size-body-small)}.text-lg{font-size:var(--font-size-body-large)}.mt{margin-top:var(--spacing-md)}.mb{margin-bottom:var(--spacing-md)}.my{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.p{padding:var(--spacing-md)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.gap{gap:var(--spacing-md)}::ng-deep .mat-mdc-form-field{width:100%!important;display:block!important}::ng-deep .mat-mdc-form-field-appearance-outline{width:100%!important}::ng-deep .mdc-text-field{width:100%!important;height:auto!important}::ng-deep .mdc-text-field__input{width:100%!important;padding:10px 12px!important;font-size:14px!important;line-height:1.2!important;box-sizing:border-box!important;border:none!important}::ng-deep .mat-mdc-form-field-icon-prefix{display:flex!important;align-items:center!important;padding-right:8px!important;margin-right:0!important}::ng-deep .mat-mdc-form-field-icon-prefix mat-icon{font-size:20px!important;width:20px!important;height:20px!important;color:#6b7280!important}::ng-deep .mat-mdc-form-field-has-icon-prefix .mat-mdc-input-element,::ng-deep .mat-mdc-form-field-has-icon-prefix .mdc-text-field__input{padding-left:0!important}::ng-deep .mat-mdc-select-panel{background-color:#fff!important;opacity:1!important;visibility:visible!important;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f!important;z-index:2000!important}::ng-deep .mat-mdc-select-panel-wrap{background-color:#fff!important;opacity:1!important}::ng-deep .mat-mdc-select-content{background-color:#fff!important}::ng-deep .mat-mdc-option{background-color:#fff!important;color:#1f2937!important;font-size:14px!important;padding:10px 16px!important;min-height:40px!important;line-height:1.5!important}::ng-deep .mat-mdc-option:hover{background-color:#f3f4f6!important}::ng-deep .mat-mdc-option.mat-selected{background-color:#e0f2fe!important;color:#06c!important;font-weight:600!important}::ng-deep .mat-mdc-option.mat-selected:hover{background-color:#d1e7ff!important}::ng-deep .mat-mdc-option-pseudo-checkbox{display:none!important}::ng-deep .mat-mdc-select{width:100%!important}::ng-deep .mat-mdc-select-trigger{width:100%!important;display:flex!important}::ng-deep .mdc-notched-outline{--mdc-theme-primary: #0066cc !important}::ng-deep .mdc-notched-outline__leading,::ng-deep .mdc-notched-outline__notch,::ng-deep .mdc-notched-outline__trailing{border-color:#d1d5db!important;border-width:1px!important}::ng-deep .mat-mdc-form-field.mat-focused .mdc-notched-outline__leading,::ng-deep .mat-mdc-form-field.mat-focused .mdc-notched-outline__notch,::ng-deep .mat-mdc-form-field.mat-focused .mdc-notched-outline__trailing{border-color:#06c!important;border-width:1px!important}.success-snackbar{background-color:var(--color-success)!important;color:var(--color-neutral-white)!important}.success-snackbar ::ng-deep .mdc-snackbar__surface{background-color:var(--color-success)!important}.success-snackbar ::ng-deep .mat-mdc-snack-bar-label{color:var(--color-neutral-white)!important;font-weight:var(--font-weight-semibold)!important}.success-snackbar ::ng-deep .mat-mdc-button{color:var(--color-neutral-white)!important}.success-snackbar ::ng-deep .mat-mdc-button:hover{background-color:#ffffff1a!important}.error-snackbar{background-color:var(--color-error)!important;color:var(--color-neutral-white)!important}.error-snackbar ::ng-deep .mdc-snackbar__surface{background-color:var(--color-error)!important}.error-snackbar ::ng-deep .mat-mdc-snack-bar-label{color:var(--color-neutral-white)!important;font-weight:var(--font-weight-semibold)!important}.error-snackbar ::ng-deep .mat-mdc-button{color:var(--color-neutral-white)!important}.error-snackbar ::ng-deep .mat-mdc-button:hover{background-color:#ffffff1a!important}::ng-deep .mat-mdc-snack-bar-container{margin:var(--spacing-md)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-xl)!important}::ng-deep .mat-mdc-snack-bar-container .mdc-snackbar__surface{border-radius:var(--radius-md)!important;padding:12px 16px!important;min-height:48px!important;display:flex!important;align-items:center!important;gap:var(--spacing-md)!important}::ng-deep .mat-mdc-snack-bar-container .mat-mdc-snack-bar-label{margin:0!important;font-size:var(--font-size-body)!important;line-height:var(--line-height-normal)!important}::ng-deep .mat-mdc-snack-bar-container .mat-mdc-button{font-size:var(--font-size-body-small)!important;font-weight:var(--font-weight-semibold)!important;text-transform:uppercase!important;letter-spacing:.5px!important;min-width:auto!important;padding:6px 12px!important;margin-left:auto!important}
