.nb-book-job-ui{margin:12px 0 4px;padding:11px 12px;border:1px solid rgba(201,164,95,.2);border-radius:12px;background:linear-gradient(145deg,rgba(201,164,95,.075),rgba(255,255,255,.018));overflow:hidden;pointer-events:none}
.nb-book-job-ui[hidden]{display:none!important}
.nb-book-job-ui__head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:7px;color:#d7bd79}
.nb-book-job-ui__head strong{min-width:0;font-size:.6rem;font-weight:900;letter-spacing:.075em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nb-book-job-ui__head>span:not(.nb-book-job-ui__pulse){color:#9ea8b4;font-size:.54rem;font-weight:800;white-space:nowrap}
.nb-book-job-ui__head>b{font-family:Georgia,'Times New Roman',serif;font-size:.9rem;color:#efd587}
.nb-book-job-ui__pulse{width:8px;height:8px;border-radius:50%;background:#d1ad61;box-shadow:0 0 0 0 rgba(209,173,97,.3);animation:nbJobUiPulse 1.45s ease-out infinite}
.nb-book-job-ui__track{position:relative;height:6px;margin-top:8px;border-radius:999px;background:rgba(0,0,0,.42);overflow:hidden}
.nb-book-job-ui__track>i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#8a6730,#caa451,#ead07e);transition:width .45s ease}
.nb-book-job-ui__track::after{content:"";position:absolute;inset:0;width:34%;background:linear-gradient(90deg,transparent,rgba(255,247,215,.42),transparent);transform:translateX(-140%);animation:nbJobUiScan 1.35s linear infinite}
.nb-book-job-ui__detail{margin-top:7px;color:#c0c7d0;font-size:.6rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nb-book-job-ui__meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;color:#7f8a97;font-size:.53rem}
.nb-book-job-ui__meta b{color:#b9c2cd;font-weight:800}
.nb-book-job-ui.is-stopping{border-color:rgba(201,91,91,.28);background:rgba(115,34,34,.08)}
.nb-book-job-ui.is-stopping .nb-book-job-ui__pulse{background:#cf6e6e;box-shadow:0 0 0 0 rgba(207,110,110,.3)}

.nb-review-job-ui{margin:0;padding:16px 22px 18px;border-bottom:1px solid rgba(255,255,255,.065);background:linear-gradient(180deg,rgba(65,86,116,.09),rgba(9,14,20,.12));color:#dce1e7}
.nb-review-job-ui[hidden]{display:none!important}
.nb-review-job-ui__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.nb-review-job-ui__head>div{min-width:0}
.nb-review-job-ui__kicker{display:flex;align-items:center;gap:7px;margin-bottom:4px;color:#a9bbd2;font-size:.54rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.nb-review-job-ui__kicker>i{width:8px;height:8px;border-radius:50%;background:#9fb5d1;box-shadow:0 0 0 0 rgba(159,181,209,.28);animation:nbJobUiPulse 1.45s ease-out infinite}
.nb-review-job-ui__head strong{display:block;color:#d9e1eb;font-size:.68rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase}
.nb-review-job-ui__status{padding:5px 8px;border:1px solid rgba(159,181,209,.2);border-radius:999px;background:rgba(159,181,209,.07);color:#b7c9df;font-size:.53rem;font-weight:900;letter-spacing:.07em;white-space:nowrap}
.nb-review-job-ui__activity{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;margin-top:12px;padding:11px 12px;border:1px solid rgba(159,181,209,.12);border-radius:10px;background:rgba(255,255,255,.018)}
.nb-review-job-ui__activity b{display:block;color:#edf1f5;font-size:.72rem;line-height:1.35}
.nb-review-job-ui__activity p{margin:3px 0 0;color:#aeb8c5;font-size:.62rem;line-height:1.45}
.nb-review-job-ui__activity time{color:#6f7c8c;font-size:.51rem;white-space:nowrap}
.nb-review-job-ui__thinking{display:inline-flex;align-items:center;gap:3px;height:16px;padding-top:2px}
.nb-review-job-ui__thinking i{width:5px;height:5px;border-radius:50%;background:#a9bad0;opacity:.35;animation:nbJobUiDot 1.05s ease-in-out infinite}
.nb-review-job-ui__thinking i:nth-child(2){animation-delay:.14s}.nb-review-job-ui__thinking i:nth-child(3){animation-delay:.28s}
.nb-review-job-ui__progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:11px}
.nb-review-job-ui__track{position:relative;height:7px;border-radius:999px;background:rgba(0,0,0,.4);overflow:hidden}
.nb-review-job-ui__track>i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#6e86a7,#a6bad2,#dac17d);transition:width .45s ease}
.nb-review-job-ui.is-active .nb-review-job-ui__track::after,.nb-review-job-overlay.nb-job-ui-active .nb-review-job-track::after{content:"";position:absolute;inset:0;width:34%;background:linear-gradient(90deg,transparent,rgba(255,249,224,.32),transparent);transform:translateX(-140%);animation:nbJobUiScan 1.45s linear infinite;pointer-events:none}
.nb-review-job-ui__progress>b{min-width:44px;text-align:right;color:#e8cf87;font-family:Georgia,'Times New Roman',serif;font-size:1rem}
.nb-review-job-ui__timing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}
.nb-review-job-ui__timing>div{padding:8px 9px;border:1px solid rgba(255,255,255,.055);border-radius:9px;background:rgba(0,0,0,.12)}
.nb-review-job-ui__timing span{display:block;color:#728091;font-size:.5rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.nb-review-job-ui__timing b{display:block;margin-top:3px;color:#cbd4df;font-size:.65rem}
.nb-review-job-ui__summary{margin-top:11px;padding:11px 12px;border-left:2px solid rgba(201,164,95,.5);background:rgba(201,164,95,.035)}
.nb-review-job-ui__summary-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.nb-review-job-ui__summary-head span{color:#cbb070;font-size:.51rem;font-weight:900;letter-spacing:.1em}
.nb-review-job-ui__summary-head small{color:#718092;font-size:.5rem}
.nb-review-job-ui__summary>strong{display:block;color:#e3e7ec;font-size:.67rem}
.nb-review-job-ui__summary>p{margin:5px 0 0;color:#aab4c0;font-size:.61rem;line-height:1.5;white-space:pre-line}
.nb-review-job-ui__note{display:block;margin-top:8px;color:#687483;font-size:.5rem;line-height:1.4}
.nb-review-job-ui.is-failed{background:rgba(105,30,30,.08)}
.nb-review-job-ui.is-failed .nb-review-job-ui__status{border-color:rgba(210,93,93,.28);color:#de9898}
.nb-review-job-ui.is-eta-calculating [data-job-ui-eta],.nb-review-job-ui.is-eta-calculating [data-job-ui-end]{opacity:.72}

@keyframes nbJobUiPulse{0%{box-shadow:0 0 0 0 rgba(159,181,209,.3)}70%{box-shadow:0 0 0 7px rgba(159,181,209,0)}100%{box-shadow:0 0 0 0 rgba(159,181,209,0)}}
@keyframes nbJobUiDot{0%,70%,100%{transform:translateY(0);opacity:.3}35%{transform:translateY(-4px);opacity:1}}
@keyframes nbJobUiScan{to{transform:translateX(410%)}}

@media (max-width:720px){
    .nb-review-job-ui{padding:14px 16px 16px}
    .nb-review-job-ui__activity{grid-template-columns:auto minmax(0,1fr)}
    .nb-review-job-ui__activity time{grid-column:2}
    .nb-review-job-ui__timing{grid-template-columns:1fr}
    .nb-review-job-ui__summary-head{align-items:flex-start;flex-direction:column;gap:3px}
}
@media (prefers-reduced-motion:reduce){
    .nb-book-job-ui__pulse,.nb-book-job-ui__track::after,.nb-review-job-ui__kicker>i,.nb-review-job-ui__thinking i,.nb-review-job-ui.is-active .nb-review-job-ui__track::after,.nb-review-job-overlay.nb-job-ui-active .nb-review-job-track::after{animation:none}
}
