:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#070b1a;color:#f5f7ff;--surface: rgba(12, 17, 42, .9);--border: rgba(255, 255, 255, .08);--text: #eef2ff;--muted: #a5b3db;--accent: #7c3ef3;--accent-strong: #00e5ff;--green: #10e7a1;--red: #ff6b7c;--amber: #fbbf24;--glow: radial-gradient(circle at top left, rgba(124, 62, 243, .24), transparent 32%), radial-gradient(circle at bottom right, rgba(0, 229, 255, .14), transparent 22%)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#1c2a6f,#070b1a 45%,#050613);color:var(--text)}button,input,select{font:inherit}.app-shell{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 2rem;height:60px;border-bottom:1px solid rgba(255,255,255,.07);background:#050818d1;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none}.brand-mark{width:26px;height:26px;background:linear-gradient(135deg,#7c3ef3,#00e5ff);border-radius:7px;flex-shrink:0}.brand-text{font-size:1.3rem;font-weight:800;letter-spacing:-.04em;background:linear-gradient(135deg,#fff,#c4b5fd 45%,#67e8f9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}nav{display:flex;align-items:center}nav a{color:var(--muted);text-decoration:none;margin-left:1.25rem;font-size:.9rem;transition:color .18s ease}nav a.active,nav a:hover{color:var(--text)}.logout-btn{display:inline-flex;align-items:center;gap:.4rem;margin-left:1.25rem;padding:.45rem .85rem;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--muted);font-size:.85rem;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.logout-btn svg{width:15px;height:15px;flex-shrink:0}.logout-btn:hover{color:var(--red);border-color:#ff6b7c59;background:#ff6b7c12}.page-content{flex:1;padding:2rem}.panel{max-width:1120px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:28px;padding:2rem;box-shadow:0 26px 120px #00000047}.glass-panel{position:relative;background:#0a112eb8;border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:2rem;overflow:hidden}.glass-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--glow);opacity:.35;pointer-events:none}.primary-button,.secondary-button,.download-link{border:none;border-radius:14px;padding:.9rem 1.25rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-weight:600;transition:opacity .15s ease,transform .15s ease}.primary-button{background:linear-gradient(135deg,#ff2f7a,#7c3ef3 48%,#00e5ff);color:#fff}.secondary-button,.download-link{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text)}.primary-button:disabled{opacity:.4;cursor:not-allowed}.primary-button:not(:disabled):hover,.secondary-button:hover,.download-link:hover{opacity:.88;transform:translateY(-1px)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:#86a1ff;font-size:.78rem;margin:0 0 .5rem}.message-bar{font-size:.9rem;color:var(--muted);margin:0}.message-bar.message-ok{color:var(--green)}.message-bar.message-error{color:var(--red)}.hero-section{margin-bottom:1.75rem;display:grid;gap:1.5rem}.hero-section h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;margin:0}.hero-copy{color:var(--muted);margin:.75rem 0 0}.schema-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-bottom:1.75rem}.step-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:1.6rem;color:var(--text);min-height:170px;display:flex;flex-direction:column;gap:.6rem}.step-card h2,.step-card p{margin:0}.step-card p{color:var(--muted);font-size:.9rem}.step-label{display:inline-flex;align-items:center;padding:.35rem .75rem;background:#7c3ef324;color:var(--accent);border-radius:999px;font-size:.75rem;font-weight:700;width:fit-content}.auth-summary{display:grid;gap:1.5rem;grid-template-columns:1.8fr 1fr;align-items:start}.feature-list{display:grid;gap:.75rem;padding-left:0;list-style:none}.feature-list li{position:relative;padding-left:1.35rem;color:var(--muted)}.feature-list li:before{content:"•";position:absolute;left:0;color:var(--accent)}.feature-card{display:flex;flex-direction:column;gap:.6rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:1.6rem;color:var(--text)}.feature-card h3{margin:0}.feature-card ul{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.9rem;display:grid;gap:.4rem}.auth-screen{display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,420px);gap:2rem;max-width:1100px;margin:0 auto}.auth-copy{display:grid;gap:1.5rem;padding:1rem 0}.auth-card{display:grid;gap:1.25rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:2rem}.auth-header{display:grid;gap:.5rem}.auth-points{display:grid;gap:1rem}.auth-points div{padding:1rem;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#ffffff0a}.auth-form{display:grid;gap:1rem}.auth-form label{display:grid;gap:.5rem;color:var(--text);font-weight:600}.auth-form input{width:100%;padding:1rem 1.1rem;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text)}.auth-switch{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.auth-switch span{color:var(--muted)}.dash-root{display:flex;flex-direction:column;gap:1.5rem;max-width:1120px;margin:0 auto}.dash-header{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}.dash-greeting{display:flex;flex-direction:column;gap:.15rem}.dash-name{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;letter-spacing:-.03em;margin:0;color:var(--text)}.dash-email{font-size:.85rem;color:var(--muted);margin:0}.dash-stats{display:flex;gap:.75rem;flex-wrap:wrap}.dash-stat{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1rem 1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.09);border-radius:18px;min-width:100px}.stat-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.stat-value{font-size:1.65rem;font-weight:800;color:var(--text);line-height:1}.stat-balance{color:#a78bff}.stat-green{color:var(--green)}.new-job-section{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.panel-title{margin-bottom:1.25rem}.panel-title h2{margin:0;font-size:1.15rem}.panel-title p{margin:.3rem 0 0;color:var(--muted);font-size:.88rem}.panel-title strong{color:var(--text)}.format-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.format-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1.1rem 1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:18px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;text-align:left;overflow:hidden}.format-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--fc, var(--accent));opacity:0;border-radius:inherit;pointer-events:none;transition:opacity .2s ease}.format-card:hover{transform:translateY(-2px);border-color:#ffffff24;background:#ffffff0f}.format-card.selected{border-color:var(--fc, var(--accent));box-shadow:0 0 0 1px var(--fc, var(--accent)),0 8px 32px #00000038;transform:translateY(-2px)}.format-card.selected:before{opacity:.08}.fc-icon-wrap{margin-bottom:.3rem;color:var(--muted);transition:color .2s ease}.format-card.selected .fc-icon-wrap{color:var(--fc, var(--accent))}.fc-name{font-size:.88rem;color:var(--text);display:block;font-weight:700}.fc-desc{font-size:.75rem;color:var(--muted);display:block;line-height:1.4}.upload-zone-panel{display:flex;flex-direction:column}.upload-zone-panel form{display:flex;flex-direction:column;gap:1rem}.drop-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:164px;border:2px dashed rgba(255,255,255,.14);border-radius:20px;cursor:pointer;transition:border-color .22s ease,background .22s ease;text-align:center;padding:2rem 1.5rem}.drop-zone:hover{border-color:#7c3ef380;background:#7c3ef30a}.drop-zone.has-file{border-style:solid;border-color:#10e7a180;background:#10e7a10a}.dz-icon{width:44px;height:44px;color:var(--muted);transition:color .22s ease;margin-bottom:.25rem}.drop-zone.has-file .dz-icon{color:var(--green)}.drop-zone:hover .dz-icon{color:var(--accent)}.dz-primary{font-size:.95rem;font-weight:600;color:var(--text)}.dz-secondary{font-size:.8rem;color:var(--muted)}.submit-btn{width:100%;font-size:.95rem}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.section-header h2{margin:0;font-size:1.15rem}.section-header p{margin:.25rem 0 0;color:var(--muted);font-size:.88rem}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1rem;color:var(--muted);border:1px dashed rgba(255,255,255,.12);border-radius:18px;text-align:center}.empty-state p{margin:0;font-size:.9rem}.empty-icon{width:40px;height:40px;opacity:.35}.jobs-list{display:flex;flex-direction:column;gap:.5rem}.job-row{display:grid;grid-template-columns:14px 1fr auto auto auto;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:16px;transition:background .18s ease,border-color .18s ease}.job-row:hover{background:#ffffff0f;border-color:#ffffff1c}.job-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dot-completed{background:var(--green);box-shadow:0 0 6px var(--green)}.dot-failed{background:var(--red)}.dot-pending,.dot-processing{background:var(--amber);animation:dot-pulse 1.5s ease-in-out infinite}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.3}}.jr-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.jr-filename{font-size:.9rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jr-type{font-size:.76rem;color:var(--muted)}.jr-status-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.3rem .65rem;border-radius:999px;background:#ffffff0f;white-space:nowrap}.status-completed{color:var(--green);background:#10e7a11a}.status-failed{color:var(--red);background:#ff6b7c1a}.status-pending,.status-processing{color:var(--amber);background:#fbbf241a}.jr-cost{font-size:.82rem;color:var(--muted);white-space:nowrap}.jr-action{display:flex;align-items:center}.dl-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:var(--text);font-size:.8rem;font-weight:600;text-decoration:none;transition:background .18s ease,border-color .18s ease;white-space:nowrap}.dl-btn svg{width:14px;height:14px}.dl-btn:hover{background:#10e7a11a;border-color:#10e7a159;color:var(--green)}.jr-error{font-size:.8rem;color:var(--red)}.jr-pending{font-size:.9rem;color:var(--muted)}.pipeline-diagram{display:flex;align-items:center;gap:0;padding:2.5rem 2rem;margin-bottom:1.75rem;overflow-x:auto;scrollbar-width:none}.pipeline-diagram::-webkit-scrollbar{display:none}.pipe-node{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:1.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:22px;width:148px;min-width:148px;text-align:center;position:relative}.pipe-node strong{color:var(--text);font-size:.9rem}.pipe-node span{font-size:.76rem;color:var(--muted)}.pipe-node-icon{width:40px;height:40px;color:var(--accent);margin-bottom:.3rem}.pipe-process-node{border-color:#7c3ef373;background:#7c3ef317;animation:node-glow 3s ease-in-out infinite}.pipe-process-node .pipe-node-icon{color:var(--accent-strong)}@keyframes node-glow{0%,to{box-shadow:0 0 20px #7c3ef31f}50%{box-shadow:0 0 55px #7c3ef361,0 0 18px #00e5ff24}}.pipe-pulse-ring{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:28px;border:1px solid rgba(124,62,243,.55);animation:ring-expand 2.4s ease-out infinite;pointer-events:none}@keyframes ring-expand{0%{transform:scale(1);opacity:.65}to{transform:scale(1.1);opacity:0}}.pipe-bundle-node{border-color:#7c3ef359;background:#7c3ef312}.pipe-attach-node{border-color:#648cff4d;background:#648cff0f}.pipe-attach-node .pipe-node-icon{color:#7da4ff}.pipe-result-node{border-color:#10e7a161;background:#10e7a112;animation:result-glow 3s ease-in-out infinite .8s}.pipe-result-node .pipe-node-icon{color:var(--green)}@keyframes result-glow{0%,to{box-shadow:0 0 16px #10e7a11a}50%{box-shadow:0 0 48px #10e7a152,0 0 16px #00e5ff1f}}.pipe-chips{display:grid;grid-template-columns:1fr 1fr;gap:.28rem;margin-top:.2rem;width:100%}.pipe-chip{padding:.2rem .3rem;background:#7c3ef324;border:1px solid rgba(124,62,243,.28);border-radius:6px;font-size:.65rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.pipe-connector{flex-shrink:0;position:relative;width:66px;height:2px;display:flex;align-items:center}.pipe-line{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#7c3ef373,#00e5ff73);border-radius:2px}.pipe-particle{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--accent);top:50%;transform:translateY(-50%);animation:particle-flow 1.8s linear infinite;box-shadow:0 0 10px var(--accent),0 0 4px var(--accent-strong);z-index:1}@keyframes particle-flow{0%{left:-4px;opacity:0}8%{opacity:1}88%{opacity:1}to{left:calc(100% + 4px);opacity:0}}.pipe-arrow{position:absolute;right:-1px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid rgba(0,229,255,.55)}.admin-guard{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem 2rem;text-align:center;max-width:440px;margin:0 auto}.admin-guard h2{margin:0}.admin-guard p{color:var(--muted);margin:0}.guard-icon{width:56px;height:56px;color:var(--muted);opacity:.6}.guard-denied{color:var(--red);opacity:.8}.admin-toast{position:fixed;bottom:2rem;right:2rem;padding:.85rem 1.5rem;background:#10e7a126;border:1px solid rgba(16,231,161,.4);border-radius:14px;color:var(--green);font-size:.9rem;font-weight:600;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;animation:toast-in .25s ease}.admin-toast.toast-error{background:#ff6b7c1f;border-color:#ff6b7c66;color:var(--red)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.admin-stats-row{display:flex;gap:.75rem;flex-wrap:wrap}.admin-stats-row .dash-stat{flex:1;min-width:110px}.cost-stat{flex:1.5!important;min-width:180px!important}.cost-input-row{display:flex;align-items:center;gap:.4rem;margin-top:.25rem}.cost-symbol{color:var(--muted);font-size:1rem;line-height:1}.cost-input{width:80px;padding:.45rem .6rem;background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:var(--text);font-size:1.1rem;font-weight:700}.cost-input:focus{outline:none;border-color:#7c3ef399}.cost-save-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#10e7a11f;border:1px solid rgba(16,231,161,.3);border-radius:9px;color:var(--green);cursor:pointer;transition:background .18s ease}.cost-save-btn svg{width:15px;height:15px}.cost-save-btn:hover{background:#10e7a138}.cost-save-btn:disabled{opacity:.4;cursor:not-allowed}.admin-users-list{display:flex;flex-direction:column;gap:.5rem}.admin-user-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:16px;transition:background .18s ease}.admin-user-row:hover{background:#ffffff0f}.admin-user-row.row-blocked{border-color:#ff6b7c33;background:#ff6b7c0a}.au-identity{display:flex;align-items:center;gap:.85rem;min-width:0}.au-avatar{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#7c3ef366,#00e5ff4d);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#fff;flex-shrink:0}.au-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.au-email{font-size:.9rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.au-badges{display:flex;gap:.4rem;flex-wrap:wrap}.badge{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.18rem .55rem;border-radius:999px}.badge-admin{background:#7c3ef333;color:#c4b5fd;border:1px solid rgba(124,62,243,.35)}.badge-blocked{background:#ff6b7c26;color:var(--red);border:1px solid rgba(255,107,124,.3)}.au-balance-cell{display:flex;align-items:center}.au-balance-display{display:flex;align-items:center;gap:.5rem}.au-balance-val{font-size:1rem;font-weight:700;color:var(--text);min-width:72px;text-align:right}.au-balance-edit{display:flex;align-items:center;gap:.35rem}.balance-input{width:90px;padding:.4rem .6rem;background:#ffffff14;border:1px solid rgba(124,62,243,.5);border-radius:10px;color:var(--text);font-size:.95rem;font-weight:700}.balance-input:focus{outline:none}.au-icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--muted);cursor:pointer;transition:all .16s ease;flex-shrink:0}.au-icon-btn svg{width:14px;height:14px}.au-icon-btn:hover{color:var(--text);border-color:#fff3}.au-save{color:var(--green);border-color:#10e7a14d}.au-cancel{color:var(--red);border-color:#ff6b7c4d}.au-save:hover{background:#10e7a11f}.au-cancel:hover{background:#ff6b7c1a}.au-block-btn{padding:.45rem 1rem;border-radius:10px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .16s ease;white-space:nowrap;flex-shrink:0}.btn-block{background:#ff6b7c1a;border:1px solid rgba(255,107,124,.3);color:var(--red)}.btn-block:hover:not(:disabled){background:#ff6b7c33}.btn-unblock{background:#10e7a11a;border:1px solid rgba(16,231,161,.3);color:var(--green)}.btn-unblock:hover:not(:disabled){background:#10e7a133}.au-block-btn:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 900px){.new-job-section,.auth-summary{grid-template-columns:1fr}}@media (max-width: 768px){.topbar{padding:.75rem 1.25rem;flex-wrap:wrap;height:auto;gap:.5rem}.auth-screen{grid-template-columns:1fr}.dash-header{flex-direction:column;align-items:flex-start}.admin-top{flex-direction:column;align-items:stretch}}
