*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#181c14,#0f1210);color:#ecdfcc;min-height:100vh}.topbar{display:flex;align-items:center;gap:20px;padding:16px 24px;background:#181c14f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(236,223,204,.15);box-shadow:0 4px 6px -1px #0006;position:sticky;top:0;z-index:100}.brand{font-weight:700;font-size:18px;background:linear-gradient(135deg,#ecdfcc,#d4c4b0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.status{margin-left:auto;display:flex;gap:16px;align-items:center}.pill{background:#3c3d3799;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:500;border:1px solid rgba(105,117,101,.4);transition:all .2s ease;color:#ecdfcc}.pill:hover{background:#3c3d37e6;border-color:#697565;transform:translateY(-1px)}.controls{display:flex;gap:8px}.board{display:grid;grid-template-columns:repeat(4,minmax(280px,1fr));gap:20px;padding:24px;max-width:1800px;margin:0 auto}.column{background:#181c14b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(105,117,101,.25);border-radius:12px;padding:16px;box-shadow:0 4px 6px -1px #0000004d;transition:all .3s ease;min-height:200px}.column:hover{border-color:#69756573;box-shadow:0 10px 15px -3px #0006;transform:translateY(-2px)}.column h3{margin:0 0 16px;font-size:15px;font-weight:600;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.05em;color:#ecdfcc;padding-bottom:12px;border-bottom:2px solid rgba(105,117,101,.3)}.job{background:#181c14e6;border-left:4px solid #3c3d37;border-radius:8px;padding:12px;margin-bottom:12px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden;border:1px solid rgba(60,61,55,.4)}.job:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ecdfcc0d,#6975650d);opacity:0;transition:opacity .3s ease;pointer-events:none}.job:hover{transform:translate(4px);box-shadow:0 4px 12px #0000004d;border-color:#69756599}.job:hover:before{opacity:1}.job.pending{border-left-color:#697565;background:#69756533}.job.running{border-left-color:#ecdfcc;background:#ecdfcc26;animation:pulse-running 2s ease-in-out infinite;box-shadow:0 0 20px #ecdfcc33}.job.completed{border-left-color:#9db890;background:#9db89026}.job.failed{border-left-color:#d97757;background:#d9775726}@keyframes pulse-running{0%,to{box-shadow:0 0 #ecdfcc80}50%{box-shadow:0 0 0 8px #ecdfcc00}}.job-title{font-weight:600;font-size:14px;margin-bottom:6px;color:#ecdfcc}.job-meta{font-size:12px;opacity:.8;color:#d4c4b0;display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.job-meta span{background:#3c3d3780;padding:2px 6px;border-radius:4px;border:1px solid rgba(105,117,101,.3)}.job-error{margin-top:8px;padding:8px;font-size:12px;color:#f5a688;background:#d9775733;border-radius:6px;border-left:3px solid #d97757}.spinner{margin-top:8px;font-size:12px;color:#ecdfcc;display:flex;align-items:center;gap:6px;font-weight:500}.spinner:before{content:"";width:12px;height:12px;border:2px solid rgba(236,223,204,.3);border-top-color:#ecdfcc;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}button{background:#697565;color:#ecdfcc;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s ease;position:relative;overflow:hidden;box-shadow:0 2px 8px #69756566}button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff26;transform:translate(-50%,-50%);transition:width .6s,height .6s}button:hover:before{width:300px;height:300px}button:hover{background:#7a8676;transform:translateY(-2px);box-shadow:0 4px 12px #69756580}button:active{transform:translateY(0);box-shadow:0 2px 4px #69756566}button:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}button:disabled:hover{background:#697565}button.primary{background:#ecdfcc;color:#181c14;box-shadow:0 2px 8px #ecdfcc4d}button.primary:hover{background:#f5ede0;box-shadow:0 4px 12px #ecdfcc80}button.secondary{background:#3c3d37;color:#ecdfcc;box-shadow:0 2px 8px #3c3d3766}button.secondary:hover{background:#4a4b45}button.danger{background:#d97757;color:#ecdfcc;box-shadow:0 2px 8px #d9775766}button.danger:hover{background:#e68c6f}button.success{background:#9db890;color:#181c14;box-shadow:0 2px 8px #9db89066}button.success:hover{background:#b0caa4}.count-badge{background:#ecdfcc26;color:#ecdfcc;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid rgba(236,223,204,.3)}*{transition-property:background,border-color,color,transform,box-shadow;transition-duration:.2s;transition-timing-function:ease}.retry-btn{margin-top:8px;background:#d6bd98;color:#1a3636;border:none;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer}.retry-btn:hover{background:#e3cfaf}
