*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;line-height:1.5}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#1a202c;background-color:#0f172a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;margin-bottom:.5rem}p{margin-bottom:1rem}a{color:#667eea;text-decoration:none;transition:color .2s ease}a:hover{color:#5a67d8}input,textarea,select{font-family:inherit;font-size:inherit}button{font-family:inherit;cursor:pointer}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.w-full{width:100%}.h-full{height:100%}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.shadow{box-shadow:0 1px 3px #0000001a}.shadow-md{box-shadow:0 4px 6px #0000001a}.shadow-lg{box-shadow:0 10px 15px #0000001a}.text-primary{color:#667eea}.text-secondary{color:#718096}.text-success{color:#059669}.text-warning{color:#d97706}.text-error{color:#dc2626}.bg-primary{background-color:#667eea}.bg-secondary{background-color:#f7fafc}.bg-success{background-color:#ecfdf5}.bg-warning{background-color:#fffbeb}.bg-error{background-color:#fef2f2}.spinner{width:1rem;height:1rem;border:2px solid #e2e8f0;border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 640px){.sm\:hidden{display:none}.sm\:flex{display:flex}.sm\:text-sm{font-size:.875rem}}@media (max-width: 768px){.md\:hidden{display:none}.md\:flex{display:flex}}@media (max-width: 1024px){.lg\:hidden{display:none}.lg\:flex{display:flex}}button:focus,input:focus,textarea:focus,select:focus{outline:2px solid #667eea;outline-offset:2px}*{transition:color .2s ease,background-color .2s ease,border-color .2s ease}@media print{.no-print{display:none!important}}
