*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:#f9fafb;color:#111827}::-webkit-scrollbar{display:none}a{text-decoration:none;color:inherit}button,input,select,textarea{font-family:inherit}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-slate-500{color:#64748b}.text-slate-600{color:#475569}.text-primary{color:#4f46e5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:.5rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;border:none;outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#4f46e5;color:#fff}.btn-primary:hover:not(:disabled){background:#4338ca}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-outline{background:transparent;color:#4f46e5;border:1px solid #4f46e5}.btn-outline:hover:not(:disabled){background:#eef2ff}.card{background:#fff;border-radius:.75rem;border:1px solid #e5e7eb;padding:1rem;box-shadow:0 1px 2px #0000000d}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.875rem;font-weight:500;color:#374151}.form-input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:all .15s ease}.form-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}textarea.form-input{resize:vertical;min-height:80px}.spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.d-flex{display:flex}.flex-column{flex-direction:column}.align-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.p-4{padding:1rem}
