:root{--primary:#ea580c;--primary-hover:#c2410c;--primary-light:#ea580c14;--secondary:#f59e0b;--secondary-hover:#d97706;--accent:#10b981;--bg-gradient-1:#fdfbf7;--bg-gradient-2:#f7f1e9;--glass-bg:#ffffffd1;--glass-border:#fffc;--text-main:#1c1917;--text-muted:#57534e;--input-bg:#fffffff2;--dark-terminal:#18181b;--terminal-text:#fbbf24}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg, var(--bg-gradient-1), var(--bg-gradient-2));color:var(--text-main);justify-content:center;min-height:100vh;padding:1.5rem;font-family:Outfit,sans-serif;display:flex}.app-container{width:100%;max-width:1100px;animation:.5s ease-out fadeIn}header,.app-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:1.75rem;display:flex}.brand-badge-container{-webkit-backdrop-filter:blur(14px);background:#fff9;border:1px solid #ffffffd9;border-radius:24px;justify-content:center;align-items:center;gap:1.5rem;padding:.9rem 1.8rem;transition:all .35s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 12px 32px -6px #ea580c1a,0 4px 12px #00000008}.brand-badge-container:hover{border-color:#ea580c59;transform:translateY(-2px);box-shadow:0 16px 40px -6px #ea580c38,0 6px 16px #0000000f}.brand-logo{object-fit:cover;border:3.5px solid #fff;border-radius:50%;flex-shrink:0;width:84px;height:84px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s;box-shadow:0 8px 24px #ea580c59,0 2px 8px #0000001f}.brand-badge-container:hover .brand-logo{transform:scale(1.08)rotate(4deg);box-shadow:0 12px 30px #ea580c7a,0 4px 12px #0000002e}.brand-typography{text-align:left}.caju-brand-title{-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 4px #ea580c1f);flex-direction:column;align-items:flex-start;line-height:.84;display:flex;transform:skew(-4.5deg)}.caju-title-line{white-space:nowrap;align-items:baseline;display:inline-flex}.caju-line-1{transform:translate(0)}.caju-line-2{margin-top:-.38rem;transform:translate(18px)}.caju-lead-ca{letter-spacing:-2px;align-items:baseline;font-size:3.05rem;font-weight:900;display:inline-flex}.caju-letter-c{color:#ea580c;background:linear-gradient(135deg,#ea580c 0%,#f59e0b 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:inline-block}.caju-letter-a{color:#ea580c;background:linear-gradient(135deg,#ea580c 0%,#f59e0b 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:inline-block;position:relative}.caju-castanha-svg{filter:drop-shadow(0 2px 3px #00000047);pointer-events:none;z-index:2;transition:transform .35s cubic-bezier(.34,1.56,.64,1);position:absolute;top:-.46em;left:46%;transform:translate(-15%)}.brand-badge-container:hover .caju-castanha-svg{transform:translate(-15%)rotate(6deg)scale(1.12)}.caju-lead-ju{letter-spacing:-2px;color:#ea580c;background:linear-gradient(135deg,#ea580c 0%,#f59e0b 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:baseline;font-size:3.05rem;font-weight:900;display:inline-flex}.caju-rest{letter-spacing:-1px;color:var(--text-main);margin-left:3px;font-size:2.2rem;font-weight:700}.brand-subtitle{color:var(--text-muted);letter-spacing:-.2px;margin-top:.55rem;font-size:.95rem;font-weight:500}@media (width<=680px){.brand-badge-container{text-align:center;flex-direction:column;gap:.8rem;padding:1rem}.brand-typography{text-align:center}.caju-brand-title{align-items:center}.caju-line-2{transform:translate(8px)}}.main-nav{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:1rem;gap:.75rem;margin-bottom:1.5rem;padding:.6rem;display:flex;overflow-x:auto;box-shadow:0 4px 20px #0000000d}.nav-tab{min-width:160px;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:.6rem;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .25s;display:flex}.nav-tab:hover{color:var(--primary);background:#ea580c14}.nav-tab.active{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;box-shadow:0 4px 15px #ea580c59}main{flex-direction:column;gap:1.5rem;display:flex}.card{border-radius:1rem;padding:2rem;transition:box-shadow .3s}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-border);box-shadow:0 8px 30px #0000000a}.card h2{border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.5rem;font-size:1.4rem;font-weight:700;display:flex}.card p.desc{color:var(--text-muted);margin-bottom:1.25rem;font-size:.95rem}form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;flex:1;gap:.4rem;min-width:200px;display:flex}.form-row{flex-wrap:wrap;gap:1.25rem;display:flex}@media (width<=650px){.form-row{flex-direction:column;gap:1rem}}label{color:var(--text-muted);font-size:.88rem;font-weight:600}input,select{background:var(--input-bg);color:var(--text-main);border:1px solid #00000026;border-radius:.5rem;outline:none;padding:.75rem 1rem;font-family:Outfit,sans-serif;font-size:.95rem;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ea580c33}.btn{cursor:pointer;text-align:center;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.4rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .25s;display:inline-flex}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover);box-shadow:0 4px 15px #ea580c59}.btn.secondary{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff}.btn.secondary:hover{filter:brightness(1.08);box-shadow:0 4px 15px #f59e0b59}.btn.success{background:var(--accent);color:#fff}.btn.success:hover{background:#059669;box-shadow:0 4px 15px #10b98166}.btn.outline{color:var(--text-main);background:0 0;border:1px solid #0003}.btn.outline:hover{background:#0000000d}.subtabs{border-bottom:1px solid #0000001a;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.subtab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:.4rem;padding:.5rem 1rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s}.subtab:hover{color:var(--primary)}.subtab.active{color:var(--primary);background:#ea580c1f}.terminal-card{color:#e2e8f0;background:#0f172a;border:1px solid #ffffff1f;border-radius:.8rem;flex-direction:column;margin-top:1.5rem;margin-bottom:1.5rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;box-shadow:0 12px 35px #0006}.terminal-card.expanded{z-index:10000;border:1px solid #ea580c66;border-radius:1rem;margin:0;position:fixed;inset:2rem;box-shadow:0 25px 60px #000000b3}.terminal-card.expanded .terminal-body{flex:1;max-height:none!important}.terminal-header{color:#cbd5e1;background:#1e293b;border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem 1.2rem;font-size:.85rem;display:flex}.terminal-header-left{align-items:center;gap:.8rem;display:flex}.terminal-dots{gap:6px;display:flex}.terminal-dot{border-radius:50%;width:11px;height:11px}.dot-red{background:#ef4444}.dot-yellow{background:#f59e0b}.dot-green{background:#10b981}.terminal-pulse-dot{background-color:#10b981;border-radius:50%;width:9px;height:9px;animation:1.8s infinite pulse-terminal;display:inline-block;box-shadow:0 0 #10b98166}@keyframes pulse-terminal{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}.terminal-header-center{align-items:center;gap:.75rem;display:flex}.terminal-timer{color:#f59e0b;background:#00000059;border:1px solid #f59e0b4d;border-radius:4px;padding:.25rem .6rem;font-family:monospace;font-size:.85rem}.terminal-pct-badge{color:#fdba74;background:#ea580c40;border:1px solid #ea580c66;border-radius:4px;padding:.25rem .6rem;font-size:.85rem;font-weight:700}.terminal-header-actions{align-items:center;gap:.5rem;display:flex}.terminal-btn{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:5px;padding:.3rem .7rem;font-size:.8rem;font-weight:500;transition:all .2s}.terminal-btn:hover{color:#fff;background:#ffffff2e;border-color:#ffffff4d}.terminal-progress{background:#1e293b;width:100%;height:5px}.terminal-progress-fill{background:linear-gradient(90deg,#ea580c,#f59e0b,#10b981);width:0%;height:100%;transition:width .4s ease-out}.terminal-body{color:#cbd5e1;background:#090d16;flex-direction:column;gap:.35rem;min-height:320px;max-height:520px;padding:1.2rem 1.4rem;font-family:JetBrains Mono,Fira Code,Courier New,Courier,monospace;font-size:.9rem;line-height:1.6;display:flex;overflow-y:auto}.terminal-body::-webkit-scrollbar{width:8px}.terminal-body::-webkit-scrollbar-track{background:#090d16}.terminal-body::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}.terminal-body::-webkit-scrollbar-thumb:hover{background:#475569}.log-entry{word-break:break-word;border-left:2px solid #0000;gap:.75rem;padding-left:.4rem;display:flex}.log-time{color:#64748b;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:.8rem}.log-entry.info{color:#e2e8f0}.log-entry.warning{color:#fde047;border-left-color:#fde047}.log-entry.error{color:#f87171;border-left-color:#ef4444}.log-entry.success{color:#4ade80;border-left-color:#10b981}.terminal-footer{color:#64748b;background:#0b1120;border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:.45rem 1.2rem;font-size:.78rem;display:flex}.terminal-autoscroll-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;display:flex}.data-table{border-collapse:collapse;width:100%;margin-top:1rem;font-size:.9rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #00000014;padding:.75rem 1rem}.data-table th{color:var(--text-muted);background:#00000008;font-weight:700}.badge{text-transform:uppercase;border-radius:1rem;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.badge.completed{color:#15803d;background:#dcfce7}.badge.running{color:#c2410c;background:#fff7ed}.badge.queued{color:#a16207;background:#fef9c3}.badge.failed{color:#b91c1c;background:#fee2e2}.verbas-list{background:#00000005;border:1px solid #0000000f;border-radius:8px;flex-wrap:wrap;gap:10px;max-height:180px;padding:10px;display:flex;overflow-y:auto}.result-msg{border-radius:.5rem;margin-top:1.25rem;padding:1rem;font-weight:600}.result-msg.success{color:#065f46;background:#10b9811a;border:1px solid #10b981}.result-msg.error{color:#991b1b;background:#ef44441a;border:1px solid #ef4444}.hidden{display:none!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.pipeline-flow-bar{background:#ea580c0d;border:1px solid #ea580c26;border-radius:.8rem;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.8rem 1.2rem;display:flex;overflow-x:auto}.flow-step-item{color:var(--text-muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.88rem;font-weight:600;display:flex}.flow-step-item.active{color:var(--primary)}.flow-step-item .flow-num{background:#00000014;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:inline-flex}.flow-step-item.active .flow-num{background:var(--primary);color:#fff}.flow-arrow{color:#94a3b8;font-weight:700}.cycle-step-card{background:#fff9;border:1px solid #00000014;border-radius:.8rem;margin-bottom:1.25rem;padding:1.25rem 1.5rem;transition:all .25s}.cycle-step-card:hover{border-color:#ea580c4d;box-shadow:0 4px 15px #00000008}.cycle-step-header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.6rem;display:flex}.cycle-step-title{color:var(--text-main);align-items:center;gap:.6rem;font-size:1.05rem;font-weight:700;display:flex}.cycle-step-badge{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;text-transform:uppercase;border-radius:1rem;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.cycle-step-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.cycle-step-toggle input[type=checkbox]{cursor:pointer;width:18px;height:18px}.result-files-list{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.result-file-item{background:#fff;border:1px solid #00000014;border-radius:.5rem;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.upload-dropzone{text-align:center;cursor:pointer;background:#ea580c08;border:2px dashed #ea580c59;border-radius:.8rem;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;transition:all .25s;display:flex}.upload-dropzone:hover,.upload-dropzone.dragover{border-color:var(--primary);background:#ea580c14}.upload-dropzone input[type=file]{display:none}.upload-dropzone-icon{font-size:2.2rem}.upload-dropzone-text{color:var(--text-main);font-size:.95rem;font-weight:600}.upload-dropzone-sub{color:var(--text-muted);font-size:.82rem}.selected-file-badge{color:var(--primary);background:#fff;border:1px solid #0000001a;border-radius:.5rem;align-items:center;gap:.5rem;margin-top:.5rem;padding:.4rem .8rem;font-size:.85rem;font-weight:600;display:inline-flex}.user-profile-badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#ffffffd9;border:1px solid #ea580c33;border-radius:9999px;align-items:center;gap:.75rem;padding:.45rem .9rem;display:inline-flex;position:absolute;top:0;right:0;box-shadow:0 4px 15px #ea580c14}.user-avatar{object-fit:cover;border:2px solid var(--primary);background:#fed7aa;border-radius:50%;width:34px;height:34px}.user-info{text-align:left;flex-direction:column;line-height:1.15;display:flex}.user-name{color:var(--text-main);font-size:.85rem;font-weight:700}.user-email{color:var(--text-muted);font-size:.72rem}.btn-logout{color:#b91c1c;cursor:pointer;background:#fee2e2;border:1px solid #fca5a5;border-radius:9999px;margin-left:.3rem;padding:.35rem .75rem;font-size:.75rem;font-weight:700;transition:all .2s}.btn-logout:hover{color:#fff;background:#ef4444;border-color:#dc2626;box-shadow:0 2px 8px #ef44444d}.login-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:99999;background:#0f172abf;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1.5rem;animation:.3s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.login-card{text-align:center;background:#fffffff2;border:1px solid #fb923c4d;border-radius:28px;width:100%;max-width:440px;padding:2.5rem 2rem;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000040,0 0 40px #ea580c26}.login-card:before{content:"";background:linear-gradient(90deg,#f59e0b,#ea580c,#dc2626);height:6px;position:absolute;top:0;left:0;right:0}.login-header{flex-direction:column;align-items:center;margin-bottom:1.25rem;display:flex}.login-mascot{filter:drop-shadow(0 6px 12px #ea580c40);width:80px;height:80px;margin-bottom:1rem;animation:3s ease-in-out infinite pulseMascot}@keyframes pulseMascot{0%,to{transform:scale(1)translateY(0)}50%{transform:scale(1.04)translateY(-4px)}}.login-card h2{color:var(--text-main);letter-spacing:-.02em;margin-bottom:.2rem;font-size:1.5rem;font-weight:800}.login-sub{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem;font-size:.88rem;font-weight:600}.login-desc{color:var(--text-muted);margin-bottom:1.8rem;font-size:.9rem;line-height:1.45}.btn-google{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:14px;justify-content:center;align-items:center;gap:.85rem;width:100%;padding:.85rem 1.4rem;font-family:inherit;font-size:1rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 12px #0000000f}.btn-google:hover{background:#f9fafb;border-color:#9ca3af;transform:translateY(-1px);box-shadow:0 6px 18px #0000001a}.btn-google:active{transform:translateY(0)}.google-icon{flex-shrink:0}.login-feedback{text-align:left;border-radius:12px;margin-top:1.25rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600;line-height:1.4}.login-feedback.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.login-feedback.info{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}@media (width<=768px){.app-header{flex-direction:column;gap:1rem}.user-profile-badge{position:static}}
