*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #667eea;--primary-color-hover: #5a67d8;--secondary-color: #764ba2;--secondary-color-hover: #6a4190;--success-color: #38a169;--success-color-hover: #2f855a;--danger-color: #e53e3e;--danger-color-hover: #c53030;--warning-color: #d69e2e;--warning-color-hover: #b7791f;--gray-50: #f9fafb;--gray-100: #f7fafc;--gray-200: #edf2f7;--gray-300: #e2e8f0;--gray-400: #cbd5e0;--gray-500: #a0aec0;--gray-600: #718096;--gray-700: #4a5568;--gray-800: #2d3748;--gray-900: #1a202c;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--border-radius-sm: 6px;--border-radius: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-xl: 24px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1), 0 8px 10px rgba(0, 0, 0, .04);--transition-fast: all .15s ease;--transition: all .2s ease;--transition-slow: all .3s ease}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-weight:var(--font-weight-normal);line-height:1.6;color:var(--gray-800);background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.container{max-width:1600px;margin:0 auto;padding:0 var(--spacing-md)}@media (min-width: 640px){.container{padding:0 var(--spacing-lg)}}@media (min-width: 1024px){.container{padding:0 var(--spacing-xl)}}.container-sm{max-width:640px;margin:0 auto;padding:0 var(--spacing-md)}.container-md{max-width:768px;margin:0 auto;padding:0 var(--spacing-md)}.card{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:var(--border-radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-xl);transition:var(--transition)}.card:hover{transform:translateY(-2px);box-shadow:0 25px 50px #00000026,0 12px 24px #00000014}.card.card-sm{padding:var(--spacing-lg)}.card.card-lg{padding:var(--spacing-2xl)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius-md);font-family:inherit;font-size:.9rem;font-weight:var(--font-weight-semibold);text-decoration:none;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn:not(:disabled):hover{transform:translateY(-2px)}.btn:not(:disabled):active{transform:translateY(0)}.btn.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;box-shadow:var(--shadow-md)}.btn.btn-primary:hover:not(:disabled){box-shadow:0 10px 25px #667eea4d}.btn.btn-secondary{background:#fff;color:var(--gray-700);border:2px solid var(--gray-300)}.btn.btn-secondary:hover:not(:disabled){border-color:var(--gray-400);box-shadow:var(--shadow-md)}.btn.btn-success{background:var(--success-color);color:#fff}.btn.btn-success:hover:not(:disabled){background:var(--success-color-hover);box-shadow:0 10px 25px #38a1694d}.btn.btn-danger{background:var(--danger-color);color:#fff}.btn.btn-danger:hover:not(:disabled){background:var(--danger-color-hover);box-shadow:0 10px 25px #e53e3e4d}.btn.btn-outline{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn.btn-outline:hover:not(:disabled){background:var(--primary-color);color:#fff;box-shadow:0 10px 25px #667eea4d}.btn.btn-sm{padding:.5rem 1rem;font-size:.8rem;border-radius:var(--border-radius)}.btn.btn-lg{padding:1rem 2rem;font-size:1rem;border-radius:var(--border-radius-lg)}.btn.btn-full{width:100%}.form-group{margin-bottom:var(--spacing-lg)}.form-group .form-label{display:flex;align-items:center;margin-bottom:.75rem;font-weight:var(--font-weight-semibold);color:var(--gray-800);font-size:.9rem}.form-group .form-label .label-required{color:var(--danger-color);margin-left:.25rem}.form-group .input-wrapper{position:relative;display:flex;align-items:center}.form-group .input-wrapper .input-icon{position:absolute;left:1rem;font-size:1.1rem;color:var(--gray-500);z-index:2}.form-group .form-input,.form-group .form-select,.form-group .form-textarea{width:100%;padding:.875rem 1rem;border:2px solid var(--gray-300);border-radius:var(--border-radius-md);font-size:1rem;font-family:inherit;background:#fff;transition:var(--transition)}.form-group .form-input.with-icon,.form-group .form-select.with-icon,.form-group .form-textarea.with-icon{padding-left:3rem}.form-group .form-input:focus,.form-group .form-select:focus,.form-group .form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.form-group .form-input.error,.form-group .form-select.error,.form-group .form-textarea.error{border-color:var(--danger-color);box-shadow:0 0 0 3px #e53e3e1a}.form-group .form-input.success,.form-group .form-select.success,.form-group .form-textarea.success{border-color:var(--success-color);box-shadow:0 0 0 3px #38a1691a}.form-group .form-input::placeholder,.form-group .form-select::placeholder,.form-group .form-textarea::placeholder{color:var(--gray-500)}.form-group .form-textarea{resize:vertical;min-height:120px}.form-group .error-messages{margin-top:.5rem}.form-group .error-messages .error-message{display:block;color:var(--danger-color);font-size:.825rem;font-weight:var(--font-weight-medium);margin-bottom:.25rem}.alert{padding:1rem;border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);display:flex;align-items:flex-start}.alert.alert-success{background-color:#f0fff4;border:1px solid #9ae6b4;color:var(--success-color-hover)}.alert.alert-error{background-color:#fed7d7;border:1px solid #feb2b2;color:var(--danger-color-hover)}.alert.alert-warning{background-color:#fffbeb;border:1px solid #fbd38d;color:var(--warning-color-hover)}.alert.alert-info{background-color:#ebf8ff;border:1px solid #90cdf4;color:var(--primary-color-hover)}.alert .alert-icon{margin-right:.75rem;font-size:1.1rem}.alert .alert-content strong{display:block;font-weight:var(--font-weight-semibold);margin-bottom:.25rem}.alert .alert-content p{margin:0;font-size:.9rem}.spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify}.font-light{font-weight:300}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}.m-1{margin:var(--spacing-xs)}.m-2{margin:var(--spacing-sm)}.m-3{margin:var(--spacing-md)}.m-4{margin:var(--spacing-lg)}.m-5{margin:var(--spacing-xl)}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.ml-1{margin-left:var(--spacing-xs)}.ml-2{margin-left:var(--spacing-sm)}.ml-3{margin-left:var(--spacing-md)}.ml-4{margin-left:var(--spacing-lg)}.ml-5{margin-left:var(--spacing-xl)}.mr-1{margin-right:var(--spacing-xs)}.mr-2{margin-right:var(--spacing-sm)}.mr-3{margin-right:var(--spacing-md)}.mr-4{margin-right:var(--spacing-lg)}.mr-5{margin-right:var(--spacing-xl)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing-xs)}.gap-2{gap:var(--spacing-sm)}.gap-3{gap:var(--spacing-md)}.gap-4{gap:var(--spacing-lg)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}@media (max-width: 640px){.sm-hidden{display:none}.sm-block{display:block}}@media (max-width: 768px){.md-hidden{display:none}.md-block{display:block}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:none}.modal.active{display:flex;align-items:center;justify-content:center}.modal .modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal .modal-content{position:relative;background:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;z-index:1001}.modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--gray-200)}.modal .modal-header h3{margin:0;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--gray-800)}.modal .modal-header .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--gray-500);padding:.25rem;border-radius:var(--border-radius)}.modal .modal-header .modal-close:hover{background:var(--gray-100);color:var(--gray-700)}.modal .modal-form{padding:var(--spacing-lg)}.modal .modal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media (max-width: 640px){.modal .modal-form .form-row{grid-template-columns:1fr}}.modal .modal-actions{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--gray-200);justify-content:flex-end}.dashboard-section{background:#fff;border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl)}.dashboard-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.dashboard-section .section-header .header-content h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--gray-800)}.dashboard-section .section-header .header-content .section-description{margin:0;color:var(--gray-600);font-size:.9rem}.dashboard-section .section-header .header-actions{display:flex;gap:var(--spacing-md)}.filters-section{background:var(--gray-50);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.filters-section .filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}@media (max-width: 768px){.filters-section .filter-row{grid-template-columns:1fr}}.filters-section .filter-group label{display:block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--gray-700);font-size:.875rem}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stats-cards .stat-card{background:#fff;border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow);display:flex;align-items:center;gap:var(--spacing-md)}.stats-cards .stat-card .stat-icon{font-size:2rem}.stats-cards .stat-card .stat-content h3{margin:0;font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--gray-800)}.stats-cards .stat-card .stat-content p{margin:0;color:var(--gray-600);font-size:.875rem}.cdk-overlay-container{z-index:9999!important}.cdk-overlay-backdrop{z-index:9998!important;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cdk-overlay-pane{z-index:9999!important}
