*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1a1a1a;color:#fff;min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:600}h1{font-size:48px}h2{font-size:32px}h3{font-size:24px}h4{font-size:20px}.text-primary{color:#fff}.text-secondary{color:#ffffffb3}.text-muted{color:#ffffff80}.btn-primary{background:#10b981;color:#fff;border-radius:16px;padding:12px 24px;font-size:16px;font-weight:500;border:none;box-shadow:0 4px 6px -1px #10b9814d;transition:all .2s ease;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}.btn-primary:hover{background:#059669;transform:translateY(-1px);box-shadow:0 6px 8px -1px #10b98166}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:#ffffff1a;color:#fff;border-radius:16px;padding:12px 24px;font-size:16px;font-weight:500;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}.btn-secondary:hover{background:#ffffff26;transform:translateY(-1px)}.btn-sm{padding:8px 16px;font-size:14px}.btn-lg{padding:16px 32px;font-size:18px}.input-field{width:100%;background:#ffffff0d;border-radius:12px;padding:16px;font-size:16px;color:#fff;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.input-field:focus{outline:none;background:#ffffff1a;border-color:#10b981;box-shadow:0 0 0 3px #10b98133}.input-field::placeholder{color:#ffffff80}.input-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#ffffffb3}.card{background:#2d2d2dcc;border-radius:20px;padding:24px;box-shadow:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0000004d}.card-subtle{background:#2d2d2d99;border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.error-message{background:#ef44441a;color:#ef4444;border-radius:12px;padding:16px;border:1px solid rgba(239,68,68,.3);margin:16px 0}.success-message{background:#10b9811a;color:#10b981;border-radius:12px;padding:16px;border:1px solid rgba(16,185,129,.3);margin:16px 0}.nav{background:#2d2d2de6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);padding:16px 0;position:sticky;top:0;z-index:100}.nav-container{max-width:1200px;margin:0 auto;padding:0 16px;display:flex;justify-content:space-between;align-items:center}.container{max-width:1200px;padding:0 16px;margin:0 auto}.progress-bar{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-fill{height:100%;transition:width .3s ease;border-radius:4px}.progress-complete{background:linear-gradient(90deg,#10b981,#059669)}.progress-partial{background:linear-gradient(90deg,#14b8a6,#06b6d4)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:#2d2d2dcc;border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);text-align:center}.stat-value{font-size:32px;font-weight:700;color:#10b981;margin-bottom:8px;display:block}.stat-label{font-size:14px;color:#ffffffb3}.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-16{gap:16px}.gap-24{gap:24px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.text-center{text-align:center}.w-full{width:100%}.spinner{border:3px solid rgba(255,255,255,.1);border-top:3px solid #10b981;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
