:root{--primary-color: #14b8a6;--primary-dark: #0d9488;--primary-light: #ccfbf1;--secondary-color: #3b82f6;--secondary-dark: #2563eb;--secondary-light: #dbeafe;--success-color: #10b981;--success-dark: #059669;--success-light: #d1fae5;--warning-color: #f59e0b;--warning-dark: #d97706;--warning-light: #fef3c7;--danger-color: #ef4444;--danger-dark: #dc2626;--danger-light: #fee2e2;--info-color: #06b6d4;--info-dark: #0891b2;--info-light: #e0f2fe;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "Fira Code", "Courier New", monospace;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-toast: 1060}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family-sans);line-height:1.6;color:var(--gray-900);background-color:var(--gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-weight:500;text-decoration:none;cursor:pointer;transition:var(--transition-normal);font-family:inherit;font-size:inherit}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.btn-secondary{background-color:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-200);color:var(--gray-900)}.btn-success{background-color:var(--success-color);color:#fff}.btn-danger{background-color:var(--danger-color);color:#fff}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--gray-700)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-family:inherit;font-size:inherit;transition:var(--transition-normal)}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #14b8a61a}.form-error{border-color:var(--danger-color);box-shadow:0 0 0 3px #ef44441a}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);transition:var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-xl);font-size:.75rem;font-weight:600;line-height:1}.badge-primary{background-color:var(--primary-color);color:#fff}.badge-success{background-color:var(--success-color);color:#fff}.badge-warning{background-color:var(--warning-color);color:#fff}.badge-danger{background-color:var(--danger-color);color:#fff}.modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:var(--z-modal-backdrop);opacity:0;visibility:hidden;transition:var(--transition-normal)}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-modal);max-width:90vw;max-height:90vh;overflow-y:auto;opacity:0;visibility:hidden;transition:var(--transition-normal)}.modal-content.active{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid var(--gray-200);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.container{padding:0 var(--spacing-sm)}.btn{padding:var(--spacing-sm);font-size:.875rem}.card{padding:var(--spacing-md)}}@media (max-width: 480px){.container{padding:0 var(--spacing-sm)}.btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8125rem}.card{padding:var(--spacing-sm)}}@media (max-width: 360px){.container{padding:0 var(--spacing-xs)}}.fade-in{animation:fadeIn var(--transition-normal) ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp var(--transition-normal) ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
