@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap";
:root{--navy-950:#060f16;--navy-900:#0c212d;--navy-800:#112c3e;--navy-700:#173548;--navy-600:#1e4157;--orange:#ee7203;--red:#ff3816;--ink:#f0ede8;--muted:#7a9aac;--faint:#2e4a5a;--glass:#112c3e8c;--glass-border:#ee720326;--glow-orange:0 0 40px #ee72032e;--radius-sm:12px;--radius-md:18px;--radius-lg:26px;--radius-xl:36px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--navy-950);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Poppins,sans-serif;font-size:15px;line-height:1.6}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(70% 50% at 85% 10%,#ee720317,#0000 60%),radial-gradient(60% 40% at 10% 90%,#ff381612,#0000 60%),radial-gradient(80% 60%,#112c3e99,#0000 80%);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;opacity:.5;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.04'/%3E%3C/svg%3E");background-size:200px;position:fixed;inset:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.text-input{border:1px solid var(--faint);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:#0c212dcc;padding:12px 16px;font-size:.95rem}.text-input:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px #ee720326}.page{z-index:1;gap:28px;max-width:1480px;margin:0 auto;padding:32px 36px 60px;display:grid;position:relative}.hero{background:linear-gradient(135deg, var(--navy-800) 0%, var(--navy-900) 60%, #0a1c27 100%);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glow-orange), inset 0 1px 0 #ee72031f;padding:40px 48px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#ee720324 0%,#0000 65%);width:340px;height:340px;position:absolute;top:-60px;right:-60px}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#ff381617 0%,#0000 70%);width:200px;height:200px;position:absolute;bottom:-40px;left:25%}.hero-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--orange);background:#ee72031f;border:1px solid #ee720340;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:4px 14px;font-size:.72rem;font-weight:600;display:inline-flex}.hero-eyebrow-dot{background:var(--orange);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.hero h1{letter-spacing:-.03em;background:linear-gradient(120deg, #f0ede8 30%, var(--orange) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:2.6rem;font-weight:800;line-height:1.1}.hero p{color:var(--muted);max-width:760px;font-size:.95rem}.hero-meta{flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;display:flex}.renderer-badge,.queue-pill{border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:.8rem;font-weight:500;display:inline-flex}.renderer-badge{border:1px solid var(--faint);color:var(--muted);background:#0c212db3}.renderer-badge-icon{background:#2d9e68;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #2d9e6899}.queue-pill{color:var(--orange);letter-spacing:.05em;background:#ee72031a;border:1px solid #ee720338}.user-pill{border:1px solid var(--faint);color:var(--ink);background:#0c212db3;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:.8rem;font-weight:500;display:inline-flex}.grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.grid-full{grid-column:1/-1}.panel{background:var(--glass);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);border:1px solid #ffffff0f;border-top-color:#ffffff1a;padding:26px 28px;transition:border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.panel:hover{border-color:#ee720333;box-shadow:0 0 0 1px #ee72030f,0 20px 50px #0000004d}.panel-accent-line{background:linear-gradient(90deg, var(--orange), var(--red));opacity:0;border-radius:0 0 4px 4px;height:2px;transition:opacity .3s;position:absolute;top:0;left:28px;right:28px}.panel:hover .panel-accent-line{opacity:1}.panel h2{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin-bottom:20px;font-size:.72rem;font-weight:700;display:flex}.panel h2:before{content:"";background:linear-gradient(180deg, var(--orange), var(--red));border-radius:2px;width:3px;height:14px;display:block}.stack{gap:12px;display:grid}.status-card,.template-card,.job-current,.queue-item{border:1px solid var(--faint);border-radius:var(--radius-md);background:#0c212d8c}.status-card{align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.status-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;display:flex}.status-icon.idle{background:#7a9aac1f}.status-icon.processing{background:#ee72031f}.status-content{flex:1}.status-title,.metric-label,.job-stat-label,.dataset-stat-key{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:700}.status-message{color:var(--ink);font-size:.9rem;font-weight:500}.template-card{gap:12px;padding:16px;display:grid}.template-card-top,.job-header,.queue-item-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.template-title,.job-name,.queue-item-name{color:var(--ink);font-size:.92rem;font-weight:600}.queue-item-name{align-items:center;gap:8px;display:flex}.template-sub,.queue-item-sub,.small{color:var(--muted);font-size:.8rem}.status-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-self:center;padding:4px 12px;font-size:.72rem;font-weight:700}.badge-idle{color:var(--muted);background:#7a9aac1f}.badge-processing{color:var(--orange);background:#ee720326}.badge-completed{color:#2d9e68;background:#2d9e6826}.badge-failed{color:var(--red);background:#ff381626}.info-list{gap:8px;display:grid}.info-row{color:var(--muted);justify-content:space-between;gap:12px;font-size:.82rem;display:flex}.info-row strong{color:var(--ink);text-align:right;font-weight:500}.dataset-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.dataset-stat{border:1px solid var(--faint);border-radius:var(--radius-sm);text-align:center;background:#0c212d99;padding:12px 14px}.dataset-stat-val{letter-spacing:-.03em;color:var(--orange);font-size:1.5rem;font-weight:800}.job-current{gap:14px;padding:18px 20px;display:grid}.progress-bar-wrap{background:#ffffff0f;border-radius:99px;width:100%;height:6px;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--orange), var(--red));border-radius:99px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px #ee720380}.progress-caption{text-align:right;margin-top:6px}.job-stats,.queue-actions,.queue-item-meta{flex-wrap:wrap;gap:16px;display:flex}.job-stat{flex-direction:column;gap:1px;display:flex}.job-stat-value{font-size:1.1rem;font-weight:700}.job-stat-value.orange{color:var(--orange)}.job-stat-value.red{color:var(--red)}.job-stat-value.green{color:#2d9e68}.template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.dropzone{border-radius:var(--radius-md);background:#ee720308;border:1.5px dashed #ee72034d;padding:28px 24px;transition:border-color .25s,background .25s}.dropzone:hover{background:#ee720312;border-color:#ee720399}.dropzone-icon{border-radius:var(--radius-sm);width:60px;height:48px;color:var(--orange);text-transform:uppercase;background:#ee72031a;border:1px solid #ee720333;justify-content:center;align-items:center;margin-bottom:14px;font-size:.86rem;font-weight:700;display:flex}.dropzone-label{color:var(--ink);margin-bottom:4px;font-size:.95rem;font-weight:600}.dropzone-sub{color:var(--muted);margin-bottom:16px;font-size:.8rem}.field{gap:6px;display:grid}.field input[type=file]{border:1px solid var(--faint);border-radius:var(--radius-sm);width:100%;color:var(--muted);cursor:pointer;background:#0c212dcc;padding:12px 16px;font-size:.85rem;transition:border-color .2s}.field input[type=file]:hover{border-color:var(--orange);color:var(--ink)}.field input[type=file]:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px #ee720326}.field input[type=file]:disabled{opacity:.45;cursor:not-allowed}.blocker-item{border-radius:var(--radius-sm);color:#ff8a76;background:#ff381612;border:1px solid #ff381633;align-items:center;gap:12px;padding:12px 16px;font-size:.85rem;font-weight:500;display:flex}.blocker-item:before{content:"!";flex-shrink:0;font-size:1rem}.queue-item{gap:10px;padding:16px 18px;transition:border-color .2s;display:grid}.queue-item:hover{border-color:#ee720340}.queue-item-meta{color:var(--muted);font-size:.78rem}.queue-item-stat{align-items:center;gap:5px;display:flex}.queue-item-stat strong{color:var(--ink);font-weight:600}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.dot-completed{background:#2d9e68;box-shadow:0 0 6px #2d9e6880}.dot-failed{background:var(--red);box-shadow:0 0 6px #ff381680}.dot-running{background:var(--orange);box-shadow:0 0 6px #ee720380}.dot-queued{background:#f0c040;box-shadow:0 0 6px #f0c04080}.button{cursor:pointer;letter-spacing:.02em;border:none;border-radius:999px;padding:8px 18px;font-size:.82rem;font-weight:600;transition:opacity .2s,transform .15s,box-shadow .2s}.button:hover{opacity:.88;transform:translateY(-1px)}.button.subtle{border:1px solid var(--faint);color:var(--ink);background:#0c212dd9}.button.primary{background:linear-gradient(135deg, #c75f04, var(--orange));color:#fff;box-shadow:0 4px 14px #ee720340}.button.subtle:hover{border-color:#ee720359;box-shadow:0 6px 20px #0000002e}.empty-state{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:36px 20px;font-size:.85rem;display:flex}.empty-state-icon{opacity:.5;color:var(--orange);font-size:1.3rem}.auth-page{align-content:center;max-width:980px;min-height:100vh}.auth-hero{margin-bottom:0}.auth-panel{justify-self:center;width:100%;max-width:560px}.auth-form{gap:16px;display:grid}.field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}.auth-status{margin-top:18px}@media (max-width:1100px){.grid{grid-template-columns:1fr}.grid-full{grid-column:1}.dataset-row{grid-template-columns:repeat(3,1fr)}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.page{padding:16px}.hero{padding:28px 24px}.hero h1{font-size:1.8rem}.panel{padding:20px}.dataset-row,.template-grid{grid-template-columns:1fr}.template-card-top,.job-header,.queue-item-top{flex-direction:column}.queue-actions{width:100%}}
