*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f8fafc;color:#334155;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--color-primary: #14472c;--color-primary-dark: #113622;--color-primary-light: #d2e6ac;--color-secondary: #14b8a6;--color-secondary-dark: #0d9488;--color-accent: #f97316;--color-accent-dark: #ea580c;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--border-radius: .5rem;--border-radius-lg: .75rem;--border-width: 1px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.card{background:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:var(--border-width) solid var(--color-gray-200);transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius);font-weight:500;font-size:.875rem;line-height:1.25rem;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);outline:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-secondary);color:#fff}.btn-secondary:hover{background-color:var(--color-secondary-dark)}.btn-outline{background-color:transparent;color:var(--color-gray-700);border:var(--border-width) solid var(--color-gray-300)}.btn-outline:hover{background-color:var(--color-gray-50);border-color:var(--color-gray-400)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-success{background-color:var(--color-success)}.bg-warning{background-color:var(--color-warning)}.bg-error{background-color:var(--color-error)}.spinner{width:20px;height:20px;border:2px solid var(--color-gray-200);border-top:2px solid var(--color-primary);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{font-size:.8rem;padding:var(--spacing-xs) var(--spacing-sm)}}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;font-weight:500;color:var(--color-gray-700);margin-bottom:var(--spacing-xs)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width) solid var(--color-gray-300);border-radius:var(--border-radius);font-size:.875rem;transition:border-color var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-input.error{border-color:var(--color-error)}.form-error{color:var(--color-error);font-size:.75rem;margin-top:var(--spacing-xs)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}
