@import url("https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,400;0,500;1,400&family=Cabinet+Grotesk:wght@400;500;700;800;900&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fff;--bg2:#f8f8f8;--surface:#f2f2f5;--surface2:#ebebf0;--border:rgba(0,0,0,.08);--border2:rgba(0,0,0,.14);--accent:#5c3bff;--accent-dim:rgba(92,59,255,.1);--accent2:#7b5cff;--text:#0d0d12;--text2:#4a4a5a;--muted:rgba(13,13,18,.42);--danger:#f55;--warning:#fa0;--radius:10px;--radius-lg:16px}body,html{background:var(--bg);color:var(--text);font-family:Cabinet Grotesk,sans-serif;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:0;opacity:.4}.mono{font-family:DM Mono,monospace}h1,h2,h3{letter-spacing:-.025em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-family:Cabinet Grotesk,sans-serif;font-size:14px;font-weight:700;border-radius:var(--radius);border:none;cursor:pointer;transition:all .15s ease;text-decoration:none;white-space:nowrap;position:relative;z-index:1}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-lg{padding:13px 26px;font-size:15px}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 0 0 0 rgba(92,59,255,0)}.btn-primary:hover:not(:disabled){background:#6d4dff;box-shadow:0 4px 20px rgba(92,59,255,.3);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-outline{background:transparent;color:var(--text2);border:1px solid var(--border)}.btn-outline:hover:not(:disabled){border-color:var(--border2);color:var(--text);background:rgba(0,0,0,.03)}.btn-ghost{background:transparent;color:var(--muted);border:none;padding:8px 12px}.btn-ghost:hover:not(:disabled){color:var(--text);background:rgba(0,0,0,.04)}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-family:DM Mono,monospace}.field input,.field textarea{width:100%;padding:12px 16px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:15px;font-family:Cabinet Grotesk,sans-serif;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus{border-color:rgba(92,59,255,.4);box-shadow:0 0 0 3px rgba(92,59,255,.07)}.field input::-moz-placeholder,.field textarea::-moz-placeholder{color:rgba(13,13,18,.2)}.field input::placeholder,.field textarea::placeholder{color:rgba(13,13,18,.2)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:10px;font-weight:700;font-family:DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em}.badge-green{background:rgba(34,197,94,.1);color:#16a34a;border:1px solid rgba(34,197,94,.22)}.badge-blue{background:rgba(123,92,255,.12);color:#a78bfa;border:1px solid rgba(123,92,255,.2)}.badge-red{background:rgba(255,85,85,.1);color:#ff7070;border:1px solid rgba(255,85,85,.2)}.badge-gold{background:rgba(255,170,0,.1);color:#fa0;border:1px solid rgba(255,170,0,.2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.card:hover{border-color:var(--border2)}.form-error{color:var(--danger);background:rgba(255,85,85,.07);border:1px solid rgba(255,85,85,.2);border-radius:var(--radius)}.form-error,.form-success{font-size:13px;padding:10px 14px}.form-success{color:var(--accent);background:rgba(92,59,255,.07);border:1px solid rgba(92,59,255,.2);border-radius:var(--radius)}.credit-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:rgba(92,59,255,.08);border:1px solid rgba(92,59,255,.2);border-radius:20px;font-family:DM Mono,monospace;font-size:13px;font-weight:500;color:var(--accent)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.2)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 rgba(92,59,255,.3)}50%{box-shadow:0 0 20px 4px rgba(92,59,255,.15)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.animate-fade-up{animation:fadeUp .4s ease forwards}.animate-spin{animation:spin .9s linear infinite}.progress-track{width:100%;height:4px;background:var(--surface2);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#a78bfa);border-radius:4px;transition:width 1.5s cubic-bezier(.4,0,.2,1);position:relative}.progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;width:60px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);animation:shimmer 1.5s infinite;background-size:200% 100%}@media (max-width:768px){.dashboard-layout{flex-direction:column!important}.dashboard-sidebar{width:100%!important;height:auto!important;position:relative!important;flex-direction:row!important;padding:12px 16px!important;border-right:none!important;border-bottom:1px solid var(--border)!important;align-items:center!important}.dashboard-sidebar-nav{flex-direction:row!important;gap:4px!important;flex:1!important}.dashboard-sidebar-credits{display:none!important}.dashboard-main{padding:24px 16px!important}.credits-grid{grid-template-columns:1fr 1fr!important}.bundle-card{padding:18px!important}}@media (max-width:480px){.credits-grid{grid-template-columns:1fr!important}.stats-row{grid-template-columns:1fr 1fr!important}}.touch-upload-hint{display:none}@media (pointer:coarse){.touch-upload-hint{display:block}}