/* Same compact green/white family as history-archive; no host/global rules. */
.pv-object-timeline{box-sizing:border-box;width:min(920px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:90dvh;margin:auto;padding:0;border:1px solid #d5e2d8;border-radius:10px;background:#fff;color:#223129;font:12px/1.55 "Segoe UI","Microsoft YaHei",sans-serif;box-shadow:0 18px 70px #193d2633;overflow:hidden;overflow-wrap:anywhere}
.pv-object-timeline[open]{display:flex;flex-direction:column}
.pv-object-timeline::backdrop{background:#17362366}
.pv-object-timeline *{box-sizing:border-box;min-width:0}
.pv-object-timeline [hidden]{display:none!important}
.pv-object-timeline .pv-ot-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 14px;border-bottom:1px solid #e1e7e2;flex:none}
.pv-object-timeline .pv-ot-heading h2{font-size:15px;margin:0;color:#147e2b}
.pv-object-timeline .pv-ot-hint{margin:0;padding:8px 14px;color:#62766a;background:#f1f8f3;font-size:11px;flex:none}
.pv-object-timeline .pv-ot-body{padding:9px 14px 12px;overflow:auto;min-height:0;flex:1 1 auto;overscroll-behavior:contain}
.pv-object-timeline .pv-ot-name{margin:0 0 5px;font-size:13px;color:#285c38;font-weight:600}
.pv-object-timeline .pv-ot-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:7px}
.pv-object-timeline .pv-ot-status{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:24px;color:#62766a}
.pv-object-timeline .pv-ot-error{color:#a7342e}
.pv-object-timeline .pv-ot-warning{margin:4px 0;padding:6px 8px;border:1px solid #eadbb8;border-radius:5px;background:#fffaf0;color:#7d6329;font-size:11px}
.pv-object-timeline .pv-ot-spinner{display:inline-block;flex:none;width:15px;height:15px;border:2px solid #d7e7db;border-top-color:#168339;border-radius:50%;animation:pv-ot-spin .8s linear infinite}
.pv-object-timeline .pv-ot-content{display:grid;gap:12px}
.pv-object-timeline .pv-ot-content h3{font-size:13px;margin:0 0 4px;color:#147e2b}
.pv-object-timeline .pv-ot-muted,.pv-object-timeline .pv-ot-time{margin:0;color:#62766a;font-size:11px;overflow-wrap:anywhere}
.pv-object-timeline .pv-ot-empty{margin:7px 0;padding:9px;border:1px dashed #d7e3da;border-radius:5px;color:#6c7870;background:#fafcfb}
.pv-object-timeline .pv-ot-rows{display:grid;gap:6px;margin-top:7px}
.pv-object-timeline .pv-ot-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px 10px;padding:8px 10px;border:1px solid #dce7df;border-left:3px solid #a8cdb1;border-radius:6px;background:#fbfdfb}
.pv-object-timeline .pv-ot-info{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 8px}
.pv-object-timeline .pv-ot-code{color:#147e2b;font-weight:650;overflow-wrap:anywhere}
.pv-object-timeline .pv-ot-badge{padding:1px 5px;border:1px solid #d6e4da;border-radius:4px;font-size:10px;color:#52695a;background:#f1f6f2}
.pv-object-timeline .pv-ot-badge.is-active{background:#e4f3e8;border-color:#a4ceb0;color:#246a38}
.pv-object-timeline .pv-ot-time{flex-basis:100%}
.pv-object-timeline .pv-ot-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px;max-width:100%}
.pv-object-timeline .pv-ot-button{padding:4px 9px;min-height:28px;max-width:100%;border:1px solid #cbdace;border-radius:5px;background:#fff;color:#285c38;font:inherit;white-space:normal;cursor:pointer}
.pv-object-timeline .pv-ot-button:hover:not(:disabled){background:#edf8ef;border-color:#86b893}
.pv-object-timeline .pv-ot-button:disabled{opacity:.5;cursor:not-allowed}
.pv-object-timeline :is(button,summary):focus-visible{outline:2px solid #1da63b;outline-offset:2px}
.pv-object-timeline .pv-ot-details{grid-column:1/-1;font-size:11px;color:#62766a}
.pv-object-timeline .pv-ot-details summary{cursor:pointer}
.pv-object-timeline .pv-ot-details pre{font:11px/1.5 Consolas,"Microsoft YaHei",monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;padding:8px;margin:5px 0 0;background:#f5f7f5;border:1px solid #e1e7e2;border-radius:5px;color:#42554a}
@keyframes pv-ot-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.pv-object-timeline .pv-ot-spinner{animation:none}}
@media(max-width:600px){.pv-object-timeline .pv-ot-row{grid-template-columns:minmax(0,1fr)}.pv-object-timeline .pv-ot-actions{justify-content:flex-start}.pv-object-timeline .pv-ot-heading,.pv-object-timeline .pv-ot-hint,.pv-object-timeline .pv-ot-body{padding-left:10px;padding-right:10px}}
