:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--secondary-color: #64748b;--secondary-hover: #475569;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--light-bg: #f8fafc;--dark-bg: #111827;--light-text: #334155;--dark-text: #e2e8f0;--border-light: #e2e8f0;--border-dark: #334155;--focus-ring: rgba(59, 130, 246, .3)}*{box-sizing:border-box;margin:0;padding:0}html{overflow-y:scroll}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6;color:var(--light-text);background-color:var(--light-bg);scrollbar-gutter:stable}body.dark-mode-body{background-color:var(--dark-bg);color:var(--dark-text)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.btn-primary{padding:.75rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:.375rem;font-weight:600;transition:background-color .2s}.btn-primary:hover{background-color:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:.75rem 1rem;background-color:var(--secondary-color);color:#fff;border:none;border-radius:.375rem;font-weight:600;transition:background-color .2s}.btn-secondary:hover{background-color:var(--secondary-hover)}.form-input,.form-select{width:100%;padding:.75rem;border:1px solid var(--border-light);border-radius:.375rem;background-color:#fff;transition:border-color .2s,box-shadow .2s}.dark .form-input,.dark .form-select{background-color:var(--dark-bg);border-color:var(--border-dark);color:var(--dark-text)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--focus-ring)}.spinner{border:4px solid rgba(0,0,0,.1);border-left-color:var(--primary-color);border-radius:50%;width:2rem;height:2rem;animation:spin 1s linear infinite}.dark .spinner{border-color:#ffffff1a;border-left-color:var(--primary-color)}@keyframes spin{to{transform:rotate(360deg)}}.text-center{text-align:center}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.flex{display:flex}.justify-center{justify-content:center}.items-center{align-items:center}
