:root{font-family:Segoe UI,Malgun Gothic,sans-serif;color:#1a1a1a}body{margin:0;background:#f7f7f8}.container{max-width:1200px;margin:0 auto;padding:16px}nav.tabs{display:flex;gap:4px;border-bottom:2px solid #ddd;margin-bottom:16px}nav.tabs button{border:none;background:none;padding:10px 16px;font-size:15px;cursor:pointer;border-bottom:3px solid transparent}nav.tabs button.active{border-bottom-color:#2563eb;font-weight:600;color:#2563eb}.controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.controls label{font-size:13px;color:#555}.controls input,.controls select{padding:5px 8px;font-size:14px;border:1px solid #ccc;border-radius:4px}table.data{border-collapse:collapse;width:100%;background:#fff;font-size:13px}table.data th,table.data td{border:1px solid #e2e2e2;padding:5px 9px;text-align:right}table.data th{background:#f0f2f5;position:sticky;top:0;text-align:center;white-space:pre-line}table.data td:first-child,table.data th:first-child{text-align:left}.table-wrap{max-height:70vh;overflow:auto;border:1px solid #ddd}.banner-warn{background:#fef3cd;border:1px solid #f0d47a;color:#6b5410;padding:10px 14px;border-radius:6px;margin-bottom:12px}.error-box{background:#fdecea;border:1px solid #f5b5ae;color:#7a2018;padding:10px 14px;border-radius:6px;margin:12px 0}.muted{color:#888;font-size:13px}.status-success{color:#15803d;font-weight:600}.status-partial_fail{color:#b45309;font-weight:600}.status-fail,.status-running{color:#b91c1c;font-weight:600}button.action{padding:6px 14px;border:1px solid #2563eb;background:#2563eb;color:#fff;border-radius:5px;cursor:pointer}button.action:disabled{background:#9db7e8;border-color:#9db7e8}.metric-pick{display:flex;gap:8px;flex-wrap:wrap;max-height:180px;overflow:auto;border:1px solid #ddd;padding:8px;background:#fff;margin-bottom:10px}.metric-pick label{font-size:12px;border:1px solid #ccc;border-radius:12px;padding:2px 8px;cursor:pointer}.metric-pick label.on{background:#dbeafe;border-color:#2563eb}.header-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.login-box{max-width:340px;margin:60px auto;background:#fff;border:1px solid #ddd;border-radius:8px;padding:24px}.login-box form{display:flex;flex-direction:column;gap:12px}.login-box label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#555}.login-box input{padding:7px 9px;font-size:14px;border:1px solid #ccc;border-radius:4px}
