*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,Arial,sans-serif;background:#f4f6fa;color:#1d2433}
.top{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 20px;background:#0a3d8f;color:#fff}
.top h1{margin:0;font-size:20px}nav{display:flex;gap:8px;flex-wrap:wrap}
main{padding:16px 20px;max-width:1200px;margin:0 auto}footer{text-align:center;padding:16px}
h2{margin:0 0 10px;font-size:18px}h3{font-size:15px;margin:16px 0 8px}
.btn{min-width:150px;height:38px;padding:0 14px;border:1px solid #0a3d8f;border-radius:6px;background:#fff;color:#0a3d8f;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btn:hover{background:#e8eef9}.btn.primary,.btn.tab.active{background:#0a3d8f;color:#fff}.btn.primary:hover{background:#08316f}
.top .btn{border-color:#fff}.btn:disabled{opacity:.5;cursor:default}
.row{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.examples .btn{min-width:0;width:100%}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.tile,.card{background:#fff;border-radius:8px;padding:14px;box-shadow:0 1px 3px #0002;margin-bottom:16px;min-width:0}
.tiles .tile{margin-bottom:0}
.tile h3{margin:0 0 4px;font-size:15px}.tile p{margin:0;color:#555;font-size:13px;overflow-wrap:anywhere}
.tile .meta{margin-top:6px;font-size:12px;color:#444}
.tile.done{border-left:5px solid #1a7f37}.tile.current{border-left:5px solid #d4a017}.tile.failed{border-left:5px solid #b42318}.tile.pending{border-left:5px solid #c9ced8}
.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:600;background:#e3e6ec;color:#333}
.badge.running{background:#fff4d1;color:#7a5a00}.badge.succeeded{background:#dcf5e3;color:#1a7f37}.badge.failed,.badge.paused_budget{background:#fde2e0;color:#b42318}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:760px){.grid{grid-template-columns:1fr}main{padding:12px}}
label{display:block;margin-bottom:10px;font-weight:600}input,textarea{display:block;width:100%;margin-top:4px;padding:8px;border:1px solid #bbb;border-radius:6px;font:inherit}
.runs{list-style:none;padding:0;margin:0;max-height:340px;overflow:auto}.runs li{margin-bottom:6px}
.runs .btn{width:100%;justify-content:space-between;gap:8px}.runs .btn span{overflow:hidden;text-overflow:ellipsis}
.muted{color:#666}.hidden{display:none}table{width:100%;border-collapse:collapse;font-size:13px}
td,th{border-bottom:1px solid #e3e6ec;padding:6px;text-align:left;vertical-align:top}.tbl{overflow-x:auto}
td.num,th.num{text-align:right;white-space:nowrap}
.ok{color:#1a7f37;font-weight:600}.bad{color:#b42318;font-weight:600}.warn{color:#9a6700;font-weight:600}
.bar{height:10px;background:#e3e6ec;border-radius:5px;overflow:hidden;margin:4px 0 2px}.bar i{display:block;height:100%;background:#1a7f37}
.bar i.warn{background:#d4a017}.bar i.paused{background:#b42318}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:8px 0}
.stat{background:#f4f6fa;border-radius:6px;padding:8px}.stat b{display:block;font-size:18px}
.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-bottom:12px}
.out{white-space:pre-wrap;font-size:12px;background:#f4f6fa;padding:8px;border-radius:6px;max-height:220px;overflow:auto}
details{margin-bottom:6px}summary{cursor:pointer;font-weight:600}
code{font-size:12px}
