body{margin:0;font-family:"Noto Sans",sans-serif;color:#171717;background:#fff}
.app-header{border-bottom:4px solid #d8232a}
.app-header .bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;flex-wrap:wrap}
.app-header img{height:44px}
.app-header .org{font-size:.85rem;line-height:1.3;color:#444}
.app-header .org strong{display:block;font-size:.95rem;color:#171717}
.app-nav{background:#f3f4f6;padding:0 1.5rem;display:flex;gap:1.25rem;flex-wrap:wrap}
.app-nav a{padding:.7rem 0;color:#171717;text-decoration:none;border-bottom:3px solid transparent}
.app-nav a[aria-current=page]{border-bottom-color:#d8232a;font-weight:600}
main{max-width:60rem;margin:0 auto;padding:1.5rem}
h1{font-size:1.8rem;margin:.5rem 0 1rem}
h2{font-size:1.3rem;margin:2rem 0 .75rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1rem}
.card{border:1px solid #ccc;border-radius:4px;padding:1rem;background:#fff}
.card h3{margin:0 0 .5rem}
.flow{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:1rem 0}
.flow .node{border:2px solid #4d5963;border-radius:4px;padding:.6rem .9rem;background:#f3f4f6;text-align:center}
.flow .arrow{font-size:1.5rem;color:#4d5963}
.badge{display:inline-block;padding:.1rem .6rem;border-radius:1rem;font-size:.85rem;font-weight:600}
.badge.OK{background:#dff3e3;color:#0b5d1e}
.badge.FAILED{background:#fbe0e0;color:#8a1010}
.badge.NOT_AVAILABLE{background:#fff1cc;color:#6b4f00}
.timeline{list-style:none;margin:1rem 0;padding:0}
.timeline li{border-left:4px solid #ccc;padding:.4rem 0 .4rem 1rem;margin-bottom:.5rem}
.timeline li.OK{border-color:#2e8540}.timeline li.FAILED{border-color:#c0272d}.timeline li.NOT_AVAILABLE{border-color:#c79200}
.timeline .ms{color:#666;font-size:.85rem}
details{margin:.5rem 0}
details summary{cursor:pointer;color:#0b5394}
details table{border-collapse:collapse;margin-top:.4rem;font-size:.85rem;word-break:break-all}
details td{border:1px solid #ddd;padding:.2rem .5rem;vertical-align:top}
.actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin:.75rem 0}
.msg{margin:.5rem 0}
.app-footer{background:#f3f4f6;padding:1rem 1.5rem;color:#444;font-size:.85rem;margin-top:3rem}
@media(max-width:480px){.app-header img{height:34px}main{padding:1rem}}
