*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{min-height:100vh;width:100%}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.p-4{padding:1rem}.p-6{padding:1.5rem}.m-4{margin:1rem}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.text-center{text-align:center}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-gray-600{color:#6b7280}.text-gray-800{color:#1f2937}.text-white{color:#fff}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-blue-600{background-color:#2563eb}.bg-blue-600:hover{background-color:#1d4ed8}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.border{border:1px solid #e5e7eb}.border-gray-300{border-color:#d1d5db}.cursor-pointer{cursor:pointer}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:none;border-radius:.375rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .15s ease-in-out}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4b5563}.input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;transition:border-color .15s ease-in-out}.input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;padding:1.5rem}@media (max-width: 768px){.p-6{padding:1rem}.text-2xl{font-size:1.25rem}}
