.xbuddy-audit-page { max-width: 1480px; }
.xbuddy-audit-head { margin-bottom: 14px; }
.xbuddy-audit-filter form { display:grid; grid-template-columns: repeat(6, minmax(110px, 1fr)) minmax(180px, 1.4fr) auto auto; align-items:end; }
.xbuddy-audit-filter form > div { display:grid; gap:5px; }
.xbuddy-audit-filter label { font-weight:700; }
.xbuddy-audit-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:14px 0; }
.xbuddy-audit-kpi-card { min-height:105px; padding:16px; display:flex; flex-direction:column; gap:5px; }
.xbuddy-audit-kpi-card span { color:var(--xb-color-muted); font-size:12px; font-weight:700; }.xbuddy-audit-kpi-card strong { color:var(--xb-color-navy); font-size:28px; }.xbuddy-audit-kpi-card small { color:var(--xb-color-muted); }
.xbuddy-audit-two-col { display:grid; grid-template-columns:1.55fr 1fr; gap:14px; margin-bottom:14px; }.xbuddy-audit-panel { padding:18px; margin-bottom:14px; }.xbuddy-audit-panel h2 { margin:0 0 14px; color:var(--xb-color-navy); font-size:16px; }.xbuddy-audit-panel h2 small { color:var(--xb-color-muted); font-weight:400; }
.xbuddy-audit-trend-data { display:none; }.xbuddy-audit-bars { display:grid; gap:17px; padding:14px 0; }.xbuddy-audit-bar-row { display:grid; grid-template-columns:100px 1fr 55px; gap:10px; align-items:center; font-size:12px; }.xbuddy-audit-bar-row i { height:13px; background:#edf3fb; border-radius:999px; overflow:hidden; }.xbuddy-audit-bar-row b { display:block; height:100%; background:#5b9ef1; border-radius:inherit; }.xbuddy-audit-bar-row strong { text-align:right; color:var(--xb-color-navy); }
.xbuddy-audit-pagination { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding-top:14px; color:var(--xb-color-muted); }.xbuddy-audit-pagination a,.xbuddy-audit-pagination strong { display:inline-grid; place-items:center; min-width:28px; height:28px; border:1px solid #d9e4f1; border-radius:6px; text-decoration:none; color:var(--xb-color-navy); }.xbuddy-audit-pagination strong { background:#e8f1ff; }.xbuddy-audit-pagination select { padding:6px; }
.xbuddy-audit-filter { margin: 16px 0; padding: 16px; }
.xbuddy-audit-filter form { display:grid; grid-template-columns: repeat(6, minmax(110px, 1fr)) minmax(180px, 1.4fr) auto auto; align-items:end; gap: 12px; }
.xbuddy-audit-filter label { display: grid; gap: 5px; color: var(--xb-color-muted); font-size: 11px; }
.xbuddy-audit-filter input, .xbuddy-audit-filter select { min-width: 145px; padding: 9px 10px; border: 1px solid #d7e2ef; border-radius: 7px; color: var(--xb-color-navy); background: #fff; }
.xbuddy-audit-table-card { overflow: hidden; }
.xbuddy-audit-table-head { display: flex; justify-content: space-between; align-items: center; padding: 16px 18px; border-bottom: 1px solid #e5edf6; }
.xbuddy-audit-table-head h2 { margin: 0; color: var(--xb-color-navy); font-size: 16px; }
.xbuddy-audit-table-head span { color: var(--xb-color-muted); font-size: 12px; }
.xbuddy-audit-page .mcp-table { min-width: 900px; }
.xbuddy-success { color: #15966d; }.xbuddy-error { color: #db4b54; }
.xbuddy-result { display: inline-block; padding: 3px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; }.xbuddy-result.is-success { color: #087d5b; background: #dcf8ec; }.xbuddy-result.is-error { color: #b52d3e; background: #ffe2e6; }
.xbuddy-category { display: inline-flex; align-items: center; justify-content: center; padding: 3px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; white-space: nowrap; word-break: keep-all; flex-shrink: 0; }.xbuddy-category.is-business { color: #2a659c; background: #e8f2fb; }.xbuddy-category.is-system { color: #536d84; background: #e9eff4; }
@media (max-width: 950px) { .xbuddy-audit-filter form { grid-template-columns:repeat(3,1fr); }.xbuddy-audit-two-col { grid-template-columns:1fr; } }
@media (max-width: 700px) { .xbuddy-audit-filter form { display:grid; grid-template-columns:1fr; align-items:stretch; }.xbuddy-audit-filter label, .xbuddy-audit-filter input, .xbuddy-audit-filter select { width:100%; }.xbuddy-audit-kpis { grid-template-columns:repeat(2,1fr); } }

/* デザイン案に合わせた管理画面ごとのアクセントカラー */
.xbuddy-audit-page .mcp-page-title { letter-spacing: -.04em; font-weight: 800; }
.xbuddy-audit-page .mcp-btn.primary { background: linear-gradient(135deg, #347fe8, #1766d0); border-color: #1766d0; box-shadow: 0 6px 14px rgba(36,111,222,.2); }
.xbuddy-audit-container .mcp-btn.primary { background: linear-gradient(135deg, #2398d9, #1779bd); border-color: #1779bd; }
.xbuddy-audit-container .xbuddy-audit-filter { background: linear-gradient(110deg, #ffffff, #f3fbff); border-color: #cfe9f4; }
.xbuddy-audit-platform .xbuddy-audit-filter { background: linear-gradient(110deg, #ffffff, #f4f8ff); border-color: #d8e4f5; }
.xbuddy-audit-kpi-card { position: relative; overflow: hidden; border-top: 3px solid #5d9eed; background: linear-gradient(135deg,#fff,#f8fbff); }
.xbuddy-audit-kpi-card::after { content: ""; position: absolute; right: -18px; bottom: -22px; width: 88px; height: 88px; border-radius: 50%; background: rgba(73,145,233,.08); }
.xbuddy-audit-kpi-card.is-green { border-top-color:#2dbb88; background:linear-gradient(135deg,#fff,#f3fcf8); }.xbuddy-audit-kpi-card.is-red { border-top-color:#e15a68; background:linear-gradient(135deg,#fff,#fff6f7); }.xbuddy-audit-kpi-card.is-cyan { border-top-color:#26a9d5; background:linear-gradient(135deg,#fff,#f1fbff); }.xbuddy-audit-kpi-card.is-purple { border-top-color:#8369d9; background:linear-gradient(135deg,#fff,#f8f6ff); }
.xbuddy-kpi-icon { position:absolute; top:12px; right:14px; z-index:1; display:grid; place-items:center; width:28px; height:28px; border-radius:9px; color:#2478d4; background:#e5f0ff; font-style:normal; font-weight:800; }.is-green .xbuddy-kpi-icon { color:#15966d; background:#def8ec; }.is-red .xbuddy-kpi-icon { color:#cf4252; background:#ffe3e7; }.is-cyan .xbuddy-kpi-icon { color:#148eb6; background:#def6ff; }.is-purple .xbuddy-kpi-icon { color:#7054c5; background:#eeeaff; }
.xbuddy-audit-kpi-card span { color:var(--xb-color-muted); font-size:12px; font-weight:700; }.xbuddy-audit-kpi-card strong { color:var(--xb-color-navy); font-size:30px; letter-spacing:-.04em; }.xbuddy-audit-kpi-card small { color:var(--xb-color-muted); }
.xbuddy-audit-panel { position:relative; border-top:3px solid #9cc8f5; background:linear-gradient(145deg,#fff,#fbfdff); }.xbuddy-audit-container .xbuddy-audit-panel { border-top-color:#8bd8c2; }.xbuddy-audit-platform .xbuddy-audit-panel { border-top-color:#9cbaf2; }
.xbuddy-audit-panel h2::before { content:""; display:inline-block; width:5px; height:16px; margin-right:8px; vertical-align:-2px; border-radius:4px; background:#4d92e5; }.xbuddy-audit-container .xbuddy-audit-panel h2::before { background:#2ab694; }
.xbuddy-audit-bar-row b { background:linear-gradient(90deg,#75b6f8,#3988e5); }.xbuddy-audit-container .xbuddy-audit-bar-row b { background:linear-gradient(90deg,#6dd8ba,#2cac95); }
.xbuddy-audit-page .mcp-table thead th { background:linear-gradient(180deg,#edf5ff,#e5effa); color:#274b76; }.xbuddy-audit-container .mcp-table thead th { background:linear-gradient(180deg,#edfafa,#e4f5f1); }.xbuddy-audit-page .mcp-table tbody tr:nth-child(even) td { background:#fbfdff; }.xbuddy-audit-page .mcp-table tbody tr:hover td { background:#eef6ff; }

.xbuddy-audit-kpi-card.is-amber { border-top-color:#e2a12d; background:linear-gradient(135deg,#fff,#fffaf0); }
.xbuddy-audit-kpi-card.is-dark-red { border-top-color:#9e3443; background:linear-gradient(135deg,#fff,#fff4f5); }
.is-amber .xbuddy-kpi-icon { color:#b8780a; background:#fff0c9; }.is-dark-red .xbuddy-kpi-icon { color:#8f2637; background:#f9dfe3; }
.xbuddy-result { min-width:58px; text-align:center; white-space:nowrap; }.xbuddy-result.is-action-required { color:#9a6100; background:#fff0c2; }.xbuddy-result.is-failed { color:#b52d3e; background:#ffe2e6; }.xbuddy-result.is-system-error { color:#8c2637; background:#f6dce1; }
.xbuddy-audit-log-row.is-action-required td { background:#fffaf0 !important; }.xbuddy-audit-log-row.is-failed td { background:#fff5f6 !important; }.xbuddy-audit-log-row.is-action-required:hover td { background:#fff3d9 !important; }.xbuddy-audit-log-row.is-failed:hover td { background:#ffecef !important; }
.xbuddy-audit-row { cursor:pointer; }.xbuddy-audit-row:focus { outline:2px solid #5d9eed; outline-offset:-2px; }.xbuddy-audit-nowrap { white-space:nowrap; }.xbuddy-audit-ellipsis { max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.xbuddy-audit-detail-button { white-space:nowrap; }
.xbuddy-audit-status-filter { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:12px 0; color:var(--xb-color-muted); font-size:12px; }.xbuddy-audit-status-filter a { padding:6px 11px; border:1px solid #d8e4f2; border-radius:999px; color:var(--xb-color-navy); background:#fff; text-decoration:none; }.xbuddy-audit-status-filter a:hover,.xbuddy-audit-status-filter a.is-selected { border-color:#347fe8; color:#1766d0; background:#eaf3ff; font-weight:700; }
.xbuddy-audit-drawer[hidden] { display:none; }.xbuddy-audit-drawer { position:fixed; inset:0; z-index:1000; }.xbuddy-audit-drawer-overlay { position:absolute; inset:0; background:rgba(18,37,64,.42); }.xbuddy-audit-drawer-panel { position:absolute; top:0; right:0; width:min(500px,92vw); height:100%; overflow:auto; padding:24px; background:#fff; box-shadow:-12px 0 30px rgba(20,45,80,.18); }.xbuddy-audit-drawer-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }.xbuddy-audit-drawer-head h2 { margin:0; color:var(--xb-color-navy); }.xbuddy-audit-drawer-close { border:0; background:transparent; color:var(--xb-color-muted); font-size:28px; line-height:1; cursor:pointer; }.xbuddy-audit-detail-loading,.xbuddy-audit-detail-error { padding:24px 0; color:var(--xb-color-muted); }.xbuddy-audit-detail-error { color:#a22d3f; }.xbuddy-audit-detail-error button { display:block; margin-top:14px; }.xbuddy-audit-detail-status { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }.xbuddy-audit-detail-status span { color:var(--xb-color-muted); font-size:12px; }.xbuddy-audit-detail-status strong { font-size:16px; }.xbuddy-audit-detail-content > p { margin:0 0 20px; padding:12px 14px; border-radius:8px; background:#f5f8fc; color:var(--xb-color-navy); }.xbuddy-audit-detail-grid { display:grid; grid-template-columns:130px 1fr; gap:10px 14px; margin:0 0 24px; }.xbuddy-audit-detail-grid dt { color:var(--xb-color-muted); font-size:12px; }.xbuddy-audit-detail-grid dd { min-width:0; margin:0; color:var(--xb-color-navy); overflow-wrap:anywhere; }.xbuddy-audit-detail-content h3 { margin:24px 0 12px; color:var(--xb-color-navy); font-size:14px; border-bottom:1px solid #e6edf5; padding-bottom:8px; }.xbuddy-audit-detail-grid dd .mcp-btn { margin-left:8px; }
@media (max-width:950px) { .xbuddy-audit-page .mcp-table { min-width:980px; } }
