:root{--brand: #0f6bff;--brand-2: #00a8cc;--line: rgba(15, 23, 42, .13);--text: #0f172a;--text-soft: #475569;font-family:Segoe UI,Noto Sans KR,Apple SD Gothic Neo,sans-serif;line-height:1.45;font-weight:400;color:var(--text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;color:var(--text);background:radial-gradient(circle at 8% 10%,rgba(15,107,255,.14),transparent 30%),radial-gradient(circle at 92% 0%,rgba(0,168,204,.18),transparent 24%),radial-gradient(circle at 45% 96%,rgba(16,185,129,.1),transparent 26%),#f8fafc}a{color:inherit}.app-shell{min-height:100vh;padding:2.5rem 1rem 3rem;max-width:1200px;margin:0 auto}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem;margin-bottom:1.2rem;animation:rise-in .52s ease both}.hero-copy h1{margin:0 0 .7rem;font-size:clamp(2rem,5vw,3.15rem);letter-spacing:-.02em}.hero-copy p{margin:0;color:var(--text-soft);max-width:50ch}.eyebrow{color:var(--brand);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase}.hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;align-content:start}.hero-meta>div{border:1px solid var(--line);border-radius:16px;background:#ffffffd1;padding:.8rem .9rem}.meta-label{margin:0;color:var(--text-soft);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.meta-value{margin:.3rem 0 0;font-weight:700}.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.card-surface{border:1px solid var(--line);border-radius:24px;padding:1.3rem;background:linear-gradient(160deg,#ffffffe0,#ffffffc2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 20px 50px #0f172a14}.form-panel h2,.jobs-panel h2{margin-top:0;margin-bottom:1rem}.form-panel label{display:grid;gap:.35rem;margin-bottom:.75rem;font-size:.92rem;font-weight:600}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--line);border-radius:12px;padding:.65rem .75rem;background:#fffffff2}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.checkbox-row{display:flex!important;align-items:center;gap:.5rem}button{border:0;border-radius:12px;padding:.72rem 1rem;font-weight:700;cursor:pointer;background:linear-gradient(120deg,var(--brand),var(--brand-2));color:#fff;transition:transform .12s ease,opacity .12s ease}button:hover{transform:translateY(-1px)}button:disabled{opacity:.55;cursor:not-allowed}.error-text{margin:.75rem 0 0;color:#be123c}.jobs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.8rem}.jobs-list{display:grid;gap:.8rem;max-height:70vh;overflow:auto;padding-right:.4rem}.job-card{border:1px solid var(--line);border-radius:14px;padding:.85rem;background:#ffffffdb}.job-top{display:flex;justify-content:space-between;gap:1rem}.job-top h3{margin:0;font-size:1rem}.job-top p{margin:.22rem 0 0;color:var(--text-soft);font-size:.78rem}.status-badge{display:inline-flex;align-items:center;border-radius:99px;padding:.2rem .55rem;font-size:.74rem;font-weight:700;height:fit-content}.status-idle{background:#f3f4f6;color:#4b5563}.status-queued{background:#fef3c7;color:#92400e}.status-running{background:#e0f2fe;color:#075985}.status-completed{background:#dcfce7;color:#166534}.status-failed{background:#ffe4e6;color:#9f1239}.step-list{margin:.75rem 0;padding:0;list-style:none;display:grid;gap:.36rem}.step-list li{display:flex;justify-content:space-between;font-size:.8rem;border-radius:8px;padding:.4rem .5rem}.step-pending{background:#f8fafc;color:#334155}.step-running{background:#e0f2fe;color:#0c4a6e}.step-completed{background:#dcfce7;color:#166534}.step-failed{background:#ffe4e6;color:#9f1239}.step-skipped{background:#f1f5f9;color:#475569}.job-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem;flex-wrap:wrap}.job-actions code{color:var(--text-soft);font-size:.72rem;overflow-wrap:anywhere}.log-box{margin:0;border:1px solid var(--line);background:#0f172a;color:#dbeafe;border-radius:10px;padding:.6rem;font-size:.72rem;line-height:1.4;max-height:7rem;overflow:auto}.empty-text{margin:0;color:var(--text-soft)}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:960px){.hero,.panel-grid{grid-template-columns:1fr}.hero-meta{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.app-shell{padding:1rem .7rem 1.3rem}.card-surface{border-radius:16px;padding:1rem}.hero-meta,.row-2{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(1.6rem,9vw,2.1rem)}.job-top{flex-direction:column;align-items:flex-start;gap:.45rem}.status-badge{align-self:flex-start}.job-actions{flex-direction:column;align-items:stretch}.job-actions button{width:100%}.job-actions code{font-size:.68rem}.log-box{font-size:.68rem;max-height:8rem}}
