*{box-sizing:border-box}body{margin:0;background:#f7f5fb;color:#30233e;font:400 16px/1.6 'IBM Plex Sans Thai',Tahoma,sans-serif;line-height:1.65}main{max-width:1500px;margin:0 auto;padding:28px}nav{display:flex;gap:22px;margin-bottom:20px}a{color:#714198;text-decoration:none}a:hover{text-decoration:underline}header{display:flex;justify-content:space-between;gap:20px;align-items:center}h1{margin:0;font-size:28px}.eyebrow{color:#714198;margin:0;font-weight:bold}header p{color:#806c90}button{font:inherit;border:0;border-radius:10px;padding:11px 18px;background:#714198;color:white;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.secondary{background:#eee5f5;color:#653a82}#auth{margin:15px 0}#status{color:#714198}.summary{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:22px 0}.summary article{padding:18px;background:white;border:1px solid #e9e0ef;border-radius:14px}.summary strong{display:block;font-size:28px}.summary span{color:#806c90}.panel{background:white;border:1px solid #e9e0ef;border-radius:16px;padding:22px}.filters{display:flex;gap:16px;flex-wrap:wrap}label{display:grid;gap:6px;color:#715782}input,select{font:inherit;padding:10px 12px;min-width:220px;border:1px solid #dccce6;border-radius:9px}.filters label:first-child{flex:1}.note,small{color:#8b7899;font-size:13px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:16px 12px;vertical-align:top;border-bottom:1px solid #eee6f4}th{color:#714198;background:#faf7fc}td{min-width:190px}td:first-child{min-width:230px}small{display:block;overflow-wrap:anywhere}.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:13px;background:#ede9f4;color:#715782}.ready,.ok{background:#e8f6ee;color:#24674c}.issue,.error{background:#fff0ed;color:#a54635}.pending{background:#fff6de;color:#8b6718}.probe{display:flex;gap:8px;justify-content:space-between;padding:2px 0}.probe span:last-child{white-space:nowrap}details{margin-top:10px}summary{color:#714198;cursor:pointer}ul{padding-left:17px;margin:8px 0}.last{margin-top:8px}@media(max-width:800px){main{padding:16px}header{align-items:flex-start;flex-direction:column}.summary{grid-template-columns:repeat(2,1fr)}.panel{padding:14px}h1{font-size:24px}nav{flex-wrap:wrap}input,select{min-width:0;width:100%}.filters label{width:100%}}
