/**
 * MageMonitor for Magento 2
 *
 * @package   PointOfCode_MageMonitor
 * @author    Point Of Code <support@pointofcode.com>
 * @copyright Copyright (c) 2026 Point Of Code. All rights reserved.
 * @license   Proprietary. Unauthorised copying, modification or redistribution
 *            of this file, via any medium, is strictly prohibited.
 * @link      https://pointofcode.com
 */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap');

.mm-db-healthy { color:#3bb64a; font-size:14px; font-weight:600; padding:12px 14px; }

.mm-reindex-panel { background: var(--mm-white); border:1px solid var(--mm-border); border-radius: var(--mm-radius-lg); padding:16px 20px; margin-top:8px; box-shadow: var(--mm-shadow); }
.mm-reindex-log { background:#0f172a; color:#cbd5e1; font-family:monospace; font-size:12px; padding:12px; border-radius:8px; max-height:240px; overflow:auto; white-space:pre-wrap; word-break:break-word; margin-top:10px; }
.mm-modal-scroll-body { padding:16px 20px; max-height:60vh; overflow-y:auto; }
.mm-reset-table { width:100%; border-collapse:collapse; font-size:13px; margin:4px 0 12px; }
.mm-reset-table td { padding:6px 8px; border-bottom:1px solid #f1f5f9; color:#334155; }
.mm-reset-table td.num { text-align:right; font-weight:700; font-variant-numeric:tabular-nums; }
.mm-reset-table tr.total td { border-top:2px solid #e2e8f0; border-bottom:none; font-weight:700; padding-top:10px; color: var(--mm-text); }
.mm-reset-keep { background: var(--mm-success-bg); color: var(--mm-success); border-radius:8px; padding:10px 12px; font-size:13px; line-height:1.7; }
.mm-reset-confirm-row { padding:14px 20px; border-top:1px solid #f1f5f9; font-size:13px; color: var(--mm-text); }
.mm-reset-input { width:100%; padding:8px 12px; border:1px solid var(--mm-border); border-radius:6px; font-size:14px; margin-top:6px; box-sizing:border-box; }
.mm-btn-danger { background: var(--mm-critical); color:#fff; border:none; border-radius:6px; padding:8px 18px; font-size:13px; font-weight:600; cursor:pointer; }
.mm-btn-danger:disabled { opacity:0.45; cursor:not-allowed; }
.mm-btn-warning { background: var(--mm-warning); color:#fff; border:none; border-radius:6px; padding:8px 18px; font-size:13px; font-weight:600; cursor:pointer; }
@media (max-width: 900px) { .mm-modal-scroll-body { max-height:70vh; } }


:root {
    --mm-font: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --mm-sidebar-bg: #0F172A;
    --mm-sidebar-w: 240px;
    --mm-topbar-h: 56px;
    --mm-content-bg: #F8FAFC;
    --mm-white: #FFFFFF;
    --mm-accent: #1A56DB;
    --mm-accent-hover: #1E40AF;
    --mm-text: #1E293B;
    --mm-text-secondary: #64748B;
    --mm-border: #E2E8F0;
    --mm-critical: #EF4444;
    --mm-critical-bg: #FEF2F2;
    --mm-high: #F97316;
    --mm-high-bg: #FFF7ED;
    --mm-warning: #EAB308;
    --mm-warning-bg: #FEFCE8;
    --mm-info: #06B6D4;
    --mm-info-bg: #ECFEFF;
    --mm-success: #3bb64a;
    --mm-success-bg: #ebf8ed;
    --mm-radius: 8px;
    --mm-radius-lg: 12px;
    --mm-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
    --mm-shadow-lg: 0 4px 12px rgba(0,0,0,0.1);
}

#poc-mm-app { font-family: var(--mm-font); color: var(--mm-text); line-height: 1.5; -webkit-font-smoothing: antialiased; }
#poc-mm-app *, #poc-mm-app *::before, #poc-mm-app *::after { box-sizing: border-box; margin: 0;}
#poc-mm-app button { font-family: var(--mm-font); cursor: pointer; border: none; padding: 10px;}
#poc-mm-app a { text-decoration: none; cursor: pointer; }

.mm-topbar { display: flex; align-items: center; padding: 0 24px; height: 56px; background: #FFFFFF; border-bottom: 1px solid #E2E8F0; gap: 16px; flex-shrink: 0; }
.mm-brand { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15px; color: #0F172A; }
.mm-shield { font-size: 24px; }
.mm-brand-name { font-size: 18px; font-weight: 700; color: var(--mm-sidebar-bg); }
.mm-brand-by { font-size: 12px; color: #94A3B8; font-weight: 400; margin-left: 4px; }
.mm-topbar-right { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.mm-lastscan { font-size: 12px; color: #94A3B8; }

.mm-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; border: 1px solid transparent; transition: all 0.15s; text-decoration: none; line-height: 1; }
.mm-btn-primary { background: #1A56DB; color: #FFFFFF; border-color: #1A56DB; }
.mm-btn-primary:hover { background: #1644B0; color: #FFFFFF; }
.mm-btn-primary:focus, .mm-btn-primary:active { color: #FFFFFF; }
.mm-btn-outline { background: transparent; color: var(--mm-accent); border: 1px solid var(--mm-accent); }
.mm-btn-outline:hover { background: var(--mm-accent); color: #fff; }
.mm-btn-sm { padding: 6px 12px; font-size: 12px; background: #F1F5F9; color: #475569; border-color: #E2E8F0; }
.mm-btn-sm:hover { background: #E2E8F0; color: #0F172A; }
.poc-btn-solved { background: #f5f5f5; color: #666; border: 1px solid #ddd; padding: 3px 10px; border-radius: 4px; font-size: 11px; font-weight: 600; cursor: pointer; transition: all 0.2s; }
.poc-btn-solved:hover { background: #3bb64a; color: white; border-color: #3bb64a; }
.mm-btn-danger { background: var(--mm-critical); color: #fff; padding: 6px 12px; border-radius: 6px; font-size: 12px; }
.mm-btn-danger:hover { background: #DC2626; }

.mm-layout { display: flex; flex: 1; overflow: hidden; height: calc(100vh - 56px); }
.mm-main { flex: 1; overflow-y: auto; padding: 28px 32px; background: #F8FAFC; min-width: 0; }

.mm-sidebar { width: 200px; min-width: 200px; background: #0F172A; display: flex; flex-direction: column; overflow-y: auto; flex-shrink: 0; }
.mm-nav i { display: none; }
.mm-nav { padding: 8px 16px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; color: rgba(255,255,255,0.55); font-size: 13px; font-weight: 400; cursor: pointer; border-left: 2px solid transparent; transition: all 0.15s ease; text-decoration: none; white-space: nowrap; }
.mm-nav:hover { color: rgba(255,255,255,0.85); background: rgba(255,255,255,0.05); border-left-color: rgba(99,179,237,0.4); text-decoration: none; }
.mm-nav.active { color: #FFFFFF; background: rgba(99,179,237,0.12); border-left-color: #63B3ED; font-weight: 600; }
.mm-nb { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; background: #EF4444; color: #FFFFFF; font-size: 10px; font-weight: 700; border-radius: 9px; line-height: 1; margin-left: 6px; flex-shrink: 0; font-family: Arial, sans-serif; visibility: hidden; }
.mm-nb.show { visibility: visible; }
.mm-divider { border: none; border-top: 1px solid rgba(255,255,255,0.06); margin: 6px 0; }
.mm-nav-group { font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; color: rgba(255,255,255,0.25) !important; padding: 16px 16px 4px !important; margin-top: 4px !important; display: block !important; background: transparent !important; }

.mm-score-box { padding: 20px 0 12px; text-align: center; width: 100%; display: flex; flex-direction: column; align-items: center; }
.mm-score-canvas-wrap { position: relative; width: 110px; height: 110px; margin: 0 auto; display: block; }
.mm-score-canvas-wrap canvas { position: absolute; top: 0; left: 0; width: 110px; height: 110px; }
.mm-score-inner { position: absolute; top: 0; left: 0; width: 110px; height: 110px; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 2; pointer-events: none; }
.mm-score-num { font-size: 26px; font-weight: 700; color: #FFFFFF; line-height: 1; margin-bottom: 2px; }
.mm-score-lbl { font-size: 9px; color: rgba(255,255,255,0.5); text-transform: uppercase; letter-spacing: 0.1em; }
.mm-score-title { font-size: 11px; color: rgba(255,255,255,0.3); margin-top: 10px; text-align: center; width: 100%; }

.mm-view { display: none; animation: mmFadeIn 0.3s ease; }
.mm-view.active { display: block; }

.mm-page-header { margin-bottom: 24px; }
.mm-page-header h1 { font-size: 22px; font-weight: 700; color: #0F172A; margin-bottom: 4px; }
.mm-page-header p { font-size: 14px; color: #64748B; }
.mm-ph-row { display: flex; align-items: center; gap: 12px; margin-bottom: 4px; }
.mm-ph-row h1 { margin-bottom: 0; }

.mm-sev-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 28px; }
.mm-sev { background: #FFFFFF; border-radius: 10px; padding: 20px 16px !important; text-align: center !important; border: 1px solid #E2E8F0; border-top: 3px solid transparent; }
.mm-sev.critical { border-top-color: #EF4444; background: #FFF5F5; }
.mm-sev.high     { border-top-color: #F97316; background: #FFF8F5; }
.mm-sev.warning  { border-top-color: #EAB308; background: #FEFDF0; }
.mm-sev.info     { border-top-color: #06B6D4; background: #F0FEFF; }
.mm-sev-num { font-size: 40px; font-weight: 700; line-height: 1; margin-bottom: 6px; }
.mm-sev.critical .mm-sev-num { color: #EF4444; }
.mm-sev.high     .mm-sev-num { color: #F97316; }
.mm-sev.warning  .mm-sev-num { color: #EAB308; }
.mm-sev.info     .mm-sev-num { color: #06B6D4; }
.mm-sev-lbl { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #94A3B8; }

.mm-section-title { font-size: 14px; font-weight: 700; color: #0F172A; margin-bottom: 14px; padding-bottom: 8px; border-bottom: 1px solid #F1F5F9; }

.mm-db-healthy {margin-top: 10px !important; color: #3bb64a; background: #ebf8ed; border: 1px solid #bae5c0; border-radius: var(--mm-radius); padding: 12px 14px; font-size: 13px; font-weight: 600; }

.mm-waf-notice { color: #0e7490; background: var(--mm-info-bg); border: 1px solid var(--mm-info); border-left-width: 4px; border-radius: var(--mm-radius); padding: 14px 16px; font-size: 13px; line-height: 1.5; }

.mm-waf-notice p { margin: 6px 0 0; }

.mm-sev.success { border-top-color: var(--mm-success); background: var(--mm-success-bg); }
.mm-sev.success .mm-sev-num { color: var(--mm-success); }
#poc-mm-app .mm-sev.success { border-top-color: var(--mm-success) !important; background: var(--mm-success-bg) !important; }
#poc-mm-app .mm-sev.success .mm-sev-num { color: var(--mm-success) !important; }

.mm-sev.success .mm-sev-num, #poc-mm-app .mm-sev.success .mm-sev-num { font-size: 28px; }

.mm-waf-badge { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 700; letter-spacing: 0.02em; }
.mm-waf-badge.managed { background: #e8f0fe; color: #1967d2; }
.mm-waf-badge.custom  { background: #ebf8ed; color: #3bb64a; }
.mm-waf-badge.ipset   { background: #fff3e0; color: #e07000; }
.mm-waf-badge.rate    { background: #fff0f0; color: #cc0000; }
.mm-waf-badge.block   { background: #fff0f0; color: #cc0000; }
.mm-waf-badge.count   { background: #fff8e1; color: #a86b00; }
.mm-waf-badge.allow   { background: #ebf8ed; color: #3bb64a; }
.mm-waf-badge.captcha { background: #e8f0fe; color: #1967d2; }
.mm-waf-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--mm-success); margin-right: 6px; vertical-align: middle; }
.mm-waf-ip-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 0 4px; }
.mm-waf-ip-chips code { background: var(--mm-content-bg); border: 1px solid var(--mm-border); border-radius: 4px; padding: 2px 6px; font-size: 11px; }
.mm-waf-stat-row { display: flex; gap: 28px; flex-wrap: wrap; font-size: 14px; margin: 8px 0; }
.mm-waf-stat-row strong { font-size: 20px; color: var(--mm-text); }
.mm-waf-note { font-size: 12px; color: var(--mm-text-secondary); margin: 0 0 12px; }

.mm-waf-rec { display: flex; gap: 10px; align-items: flex-start; border-radius: var(--mm-radius); padding: 12px 14px; font-size: 13px; line-height: 1.5; margin-bottom: 10px; border: 1px solid transparent; }
.mm-waf-rec.warning { background: var(--mm-warning-bg); border-color: var(--mm-warning); color: #8a6d00; }
.mm-waf-rec.info { background: var(--mm-info-bg); border-color: var(--mm-info); color: #0e7490; }
.mm-waf-rec-icon { flex: 0 0 auto; }

.mm-pill { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 700; }
.mm-pill.ok    { background: #ebf8ed; color: #3bb64a; }
.mm-pill.warn  { background: #fff8e1; color: #a86b00; }
.mm-pill.crit  { background: #fff0f0; color: #cc0000; }
.mm-pill.info  { background: #e8f0fe; color: #1967d2; }
.mm-pill.muted { background: var(--mm-content-bg); color: var(--mm-text-secondary); }

.mm-pill.none  { background: #fff3e0; color: #e07000; }
.mm-pill.short { background: #fff8e1; color: #a86b00; }

.mm-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.mm-loading { display: flex; align-items: center; gap: 10px; padding: 32px; color: #94A3B8; font-size: 14px; justify-content: center; }
.mm-spin { width: 18px; height: 18px; border: 2px solid #E2E8F0; border-top-color: #1A56DB; border-radius: 50%; animation: mmSpin 0.7s linear infinite; flex-shrink: 0; }
.mm-detection-item { background: white; border-radius: 10px; border: 1px solid #E2E8F0; border-left: 4px solid #E2E8F0; padding: 16px 20px !important; }
.mm-detection-item.critical { border-left-color: #EF4444; }
.mm-detection-item.high { border-left-color: #F97316; }
.mm-detection-item.warning { border-left-color: #EAB308; }
.mm-detection-item.info { border-left-color: #06B6D4; }
.mm-detection-item:hover { box-shadow: 0 2px 12px rgba(0,0,0,0.08); }
.mm-detection-item.removing { opacity: 0; transform: translateX(30px); height: 0; padding: 0; margin: 0; overflow: hidden; }
.mm-detection-item.mm-new-detection { animation: mmDetPulse 2s ease-in-out 3; border-left-color: #EF4444; }
@keyframes mmDetPulse { 0%,100% { box-shadow: none; } 50% { box-shadow: 0 0 0 3px rgba(239,68,68,0.25); } }
.mm-det-new-badge { display: inline-flex; align-items: center; padding: 1px 6px; border-radius: 3px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: #fff; background: #EF4444; flex-shrink: 0; }
.mm-det-header { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 8px !important; }
.mm-det-sev { font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 5px; text-transform: uppercase; }
.mm-det-sev.critical { background: #FEE2E2; color: #991B1B; }
.mm-det-sev.high { background: #FFEDD5; color: #9A3412; }
.mm-det-sev.warning { background: #FEF9C3; color: #854D0E; }
.mm-det-sev.info { background: #CFFAFE; color: #155E75; }
.mm-det-title { font-size: 14px; font-weight: 600; color: #0F172A; }
.mm-det-desc { font-size: 13px !important; color: #475569 !important; margin-bottom: 0 !important; line-height: 1.5 !important; }
.mm-det-footer { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; margin-top: 12px !important; }

.mm-det-meta { font-size: 12px; color: #94A3B8; display: flex; align-items: center; gap: 8px; }
.mm-det-meta span { display: inline-flex; align-items: center; gap: 4px; }
.mm-det-cat-pill { display: inline-flex; padding: 2px 8px; border-radius: 4px; background: var(--mm-content-bg); font-size: 10px; font-weight: 600; text-transform: uppercase; color: var(--mm-text-secondary); letter-spacing: 0.3px; }
.mm-det-actions { margin-left: auto; display: flex; flex-wrap: wrap; gap: 8px; }

.mm-js-stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }
.mm-js-stat { background: var(--mm-white); border-radius: var(--mm-radius-lg); padding: 16px; text-align: center; box-shadow: var(--mm-shadow); }
.mm-js-stat.danger { border: 2px solid var(--mm-critical); background: var(--mm-critical-bg); }
.mm-js-num { font-size: 28px; font-weight: 700; color: var(--mm-text); line-height: 1; }
.mm-js-stat.danger .mm-js-num { color: var(--mm-critical); }
.mm-js-lbl { font-size: 12px; color: var(--mm-text-secondary); margin-top: 4px; text-transform: uppercase; letter-spacing: 0.5px; }
.mm-js-table { width: 100%; border-collapse: collapse; background: var(--mm-white); border-radius: var(--mm-radius); overflow: hidden; box-shadow: var(--mm-shadow); }
.mm-js-table th { background: var(--mm-sidebar-bg); color: #fff; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; padding: 10px 14px; text-align: left; }
.mm-js-table td { padding: 10px 14px; font-size: 12px; color: var(--mm-text); border-bottom: 1px solid var(--mm-border); vertical-align: top; }
.mm-js-table tr:last-child td { border-bottom: none; }
.mm-js-table tr:hover td { background: var(--mm-content-bg); }
.mm-js-msg { max-width: 400px; word-break: break-word; }
.mm-js-cnt { font-weight: 700; color: var(--mm-critical); }

.mm-js-table-wrap { width: 100%; overflow-x: auto; }
.mm-js-errors-table { width: 100%; table-layout: fixed; }
.mm-js-errors-table td { word-break: break-word; white-space: normal; }
.mm-js-errors-table .mm-js-msg { max-width: 0; word-break: break-word; white-space: normal; }
.mm-js-errors-table .mm-js-src { font-family: monospace; font-size: 11px; word-break: break-word; }
.mm-js-errors-table .mm-js-cnt { text-align: center; white-space: nowrap; }
.mm-js-errors-table .mm-js-seen { white-space: nowrap; text-align: right; }
.mm-badge-more { display: inline-block; background: var(--mm-muted, #64748b); color: #fff; font-size: 10px; padding: 1px 5px; border-radius: 10px; vertical-align: middle; white-space: nowrap; }

.mm-js-stat { cursor: pointer; transition: box-shadow .15s ease, outline-color .15s ease; }
.mm-js-stat:hover { box-shadow: var(--mm-shadow-lg); }
.mm-js-stat-active { outline: 2px solid var(--mm-info); outline-offset: -2px; }
.mm-js-filterbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; width: 100%; box-sizing: border-box; }

#poc-mm-app .mm-js-search { box-sizing: border-box; flex: 1; min-width: 0; max-width: 100%; width: 100%; padding: 6px 10px; border: 1px solid var(--mm-border); border-radius: var(--mm-radius); background: var(--mm-white); color: var(--mm-text); font-size: 13px; line-height: 1.4; }
#poc-mm-app .mm-js-pagefilter { box-sizing: border-box; width: auto; max-width: 220px; min-width: 120px; padding: 6px 10px; border: 1px solid var(--mm-border); border-radius: var(--mm-radius); background: var(--mm-white); color: var(--mm-text); font-size: 13px; cursor: pointer; }
@media (max-width: 600px) { .mm-js-filterbar { flex-direction: column; align-items: stretch; } #poc-mm-app .mm-js-pagefilter { max-width: 100%; } }
.mm-js-filterlabel { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--mm-text-secondary); margin-bottom: 10px; }
.mm-js-expand { cursor: pointer; color: var(--mm-info); font-size: 11px; font-weight: 600; }
.mm-js-subrow td { background: var(--mm-content-bg); font-size: 11px; color: var(--mm-text-secondary); }

.mm-metrics-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }
.mm-metric-card { background: var(--mm-white); border-radius: var(--mm-radius-lg); padding: 20px; box-shadow: var(--mm-shadow); }
.mm-metric-label { font-size: 12px; font-weight: 600; color: var(--mm-text-secondary); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }
.mm-metric-value { font-size: 28px; font-weight: 700; color: var(--mm-text); margin-bottom: 12px; }
.mm-metric-bar { height: 8px; background: var(--mm-border); border-radius: 4px; overflow: hidden; margin-bottom: 8px; }
.mm-metric-fill { height: 100%; border-radius: 4px; transition: width 0.5s ease, background 0.5s ease; width: 0; }
.mm-metric-sub { font-size: 11px; color: var(--mm-text-secondary); }
.mm-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mm-success); animation: mmPulse 2s infinite; display: inline-block; }

.mm-tl-btn { background: var(--mm-content-bg); color: var(--mm-text-secondary); border: 1px solid var(--mm-border); }
.mm-tl-btn.active { background: var(--mm-accent); color: #fff; border-color: var(--mm-accent); }

#mm-timeline-canvas { width: 100%; height: 300px; display: block; }

.mm-empty { padding: 40px; text-align: center; color: #94A3B8; background: white; border-radius: 10px; border: 1px solid #E2E8F0; }
.mm-empty-icon { font-size: 40px; margin-bottom: 8px; }
.mm-empty-title { font-size: 15px; font-weight: 600; color: #475569; margin-bottom: 6px; }
.mm-empty-desc { font-size: 13px; opacity: 0.8; }

#mm-toasts { position: fixed; bottom: 24px; right: 24px; z-index: 9999; display: flex; flex-direction: column; gap: 8px; }
.mm-toast { background: var(--mm-sidebar-bg); color: #fff; padding: 12px 20px; border-radius: var(--mm-radius); font-size: 13px; font-weight: 500; box-shadow: var(--mm-shadow-lg); animation: mmSlideUp 0.3s ease; display: flex; align-items: center; gap: 8px; max-width: 360px; }
.mm-toast.error { background: var(--mm-critical); }
.mm-toast.success { background: var(--mm-success); color: #fff; }

.mm-scan-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(15,23,42,0.5); z-index: 9998; display: flex; align-items: center; justify-content: center; animation: mmFadeIn 0.2s ease; }
.mm-scan-overlay-box { background: var(--mm-white); border-radius: var(--mm-radius-lg); padding: 40px 48px; text-align: center; box-shadow: var(--mm-shadow-lg); }
.mm-scan-overlay-box .mm-spin { width: 40px; height: 40px; border-width: 3px; margin: 0 auto 16px; }
.mm-scan-overlay-box h3 { font-size: 16px; font-weight: 600; color: var(--mm-text); margin-bottom: 4px; }
.mm-scan-overlay-box p { font-size: 13px; color: var(--mm-text-secondary); }

@keyframes mmSpin { to { transform: rotate(360deg); } }
@keyframes mmPulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.2); } }
@keyframes mmFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes mmSlideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.mm-traffic-note { font-size: 12px; color: var(--mm-text-secondary); margin-bottom: 24px; padding: 8px 12px; background: #F8FAFC; border-radius: 6px; }

.mm-sec-login-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }
.mm-sec-stat { background: var(--mm-white); border-radius: 10px; padding: 20px; text-align: center; border: 1px solid var(--mm-border); }
.mm-sec-stat.danger { border-top: 3px solid var(--mm-critical); }
.mm-sec-stat-num { font-size: 32px; font-weight: 700; color: var(--mm-text); }
.mm-sec-stat-lbl { font-size: 12px; color: var(--mm-text-secondary); margin-top: 4px; font-weight: 600; text-transform: uppercase; }
.mm-sec-row-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.mm-sec-row-header .mm-section-title { margin-bottom: 0; }
.mm-sec-files-grid { background: var(--mm-white); border-radius: 10px; border: 1px solid var(--mm-border); overflow: hidden; margin-bottom: 8px; }
.mm-sec-file-row { display: flex; align-items: center; padding: 10px 16px; border-bottom: 1px solid #f1f5f9; gap: 12px; font-size: 13px; }
.mm-sec-file-row:last-child { border-bottom: none; }
.mm-sec-file-row.mm-sec-file-critical { background: var(--mm-critical-bg); }
.mm-sec-file-row.mm-sec-file-warning { background: var(--mm-warning-bg); }
.mm-sec-file-icon { flex-shrink: 0; font-size: 16px; }
.mm-sec-file-path { flex: 1; font-family: monospace; font-size: 12px; color: #334155; }
.mm-sec-file-status { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 10px; }
.mm-sec-file-critical .mm-sec-file-status { background: #fee2e2; color: #991b1b; }
.mm-sec-file-warning .mm-sec-file-status { background: #fef3c7; color: #92400e; }
.mm-sec-file-ok .mm-sec-file-status { background: #ebf8ed; color: #3bb64a; }
.mm-sec-file-size { font-size: 11px; color: var(--mm-text-secondary); width: 60px; text-align: right; }
.mm-sec-file-time { font-size: 11px; color: var(--mm-text-secondary); width: 80px; text-align: right; }
.mm-sec-file-empty { padding: 32px; text-align: center; color: var(--mm-text-secondary); font-size: 14px; }
.mm-btn-xs { font-size: 11px; padding: 4px 10px; border-radius: var(--mm-radius); background: var(--mm-accent); color: #fff; border: none; cursor: pointer; font-weight: 600; }
.mm-btn-xs:hover { color:#fff; background: var(--mm-accent-hover); }

.mm-infra-ext { font-size: 12px; padding: 3px 10px; border-radius: 12px; font-weight: 500; }
.mm-infra-ext.ok { background: #ebf8ed; color: #3bb64a; }
.mm-infra-ext.missing { background: #FEE2E2; color: #991B1B; }

#poc-mm-app .mm-nav-group { color: rgba(255,255,255,0.25) !important; background: transparent !important; font-size: 10px !important; padding: 16px 16px 4px !important; }
#poc-mm-app .mm-section-title { padding-top: 20px; font-size: 14px !important; font-weight: 700 !important; color: #0F172A !important; margin-bottom: 14px !important; padding-bottom: 8px !important; border-bottom: 1px solid #F1F5F9 !important; display: block !important; background: transparent !important; }
#poc-mm-app .mm-sev-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; }
#poc-mm-app .mm-det-footer { display: flex !important; margin-top: 12px !important; align-items: center !important; gap: 8px !important; }
#poc-mm-app .mm-det-header { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 8px !important; }
#poc-mm-app .mm-detection-item { padding: 16px 20px !important; }
#poc-mm-app .mm-list { padding-top: 20px; display: flex !important; flex-direction: column !important; gap: 12px !important; }

#poc-mm-app .mm-sev-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
    margin-bottom: 28px !important;
    width: 100% !important;
}

#poc-mm-app .mm-sev {
    display: block !important;
    background: #FFFFFF !important;
    border-radius: 10px !important;
    padding: 20px 16px !important;
    text-align: center !important;
    border: 1px solid #E2E8F0 !important;
    border-top: 3px solid transparent !important;
    margin: 0 !important;
}

#poc-mm-app .mm-sev.critical { border-top-color: #EF4444 !important; background: #FFF5F5 !important; }
#poc-mm-app .mm-sev.high     { border-top-color: #F97316 !important; background: #FFF8F5 !important; }
#poc-mm-app .mm-sev.warning  { border-top-color: #EAB308 !important; background: #FEFDF0 !important; }
#poc-mm-app .mm-sev.info     { border-top-color: #06B6D4 !important; background: #F0FEFF !important; }

#poc-mm-app .mm-sev-num {
    font-size: 40px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    margin-bottom: 6px !important;
    display: block !important;
}

#poc-mm-app .mm-sev.critical .mm-sev-num { color: #EF4444 !important; }
#poc-mm-app .mm-sev.high     .mm-sev-num { color: #F97316 !important; }
#poc-mm-app .mm-sev.warning  .mm-sev-num { color: #EAB308 !important; }
#poc-mm-app .mm-sev.info     .mm-sev-num { color: #06B6D4 !important; }

#poc-mm-app .mm-sev-lbl {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #94A3B8 !important;
    display: block !important;
}

#poc-mm-app .mm-main {
    padding: 28px 32px !important;
}

#poc-mm-app .mm-page-header {
    margin-bottom: 24px !important;
    padding-top: 0 !important;
}

#poc-mm-app .mm-page-header h1 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin-bottom: 4px !important;
    margin-top: 0 !important;
    padding: 0 !important;
}

#poc-mm-app .mm-page-header p {
    font-size: 14px !important;
    color: #64748B !important;
    margin: 0 !important;
    padding: 0 !important;
}

#poc-mm-app .mm-ph-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 4px !important;
}

#poc-mm-app .mm-view {
    padding: 0 !important;
}

#poc-mm-app .mm-metrics-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
}

#poc-mm-app .mm-metric-card {
    background: #FFFFFF !important;
    border-radius: 10px !important;
    padding: 20px !important;
    border: 1px solid #E2E8F0 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
}

#poc-mm-app .mm-metric-label {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #64748B !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 8px !important;
    display: block !important;
}

#poc-mm-app .mm-metric-value {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin-bottom: 12px !important;
    display: block !important;
    line-height: 1 !important;
}

#poc-mm-app .mm-metric-bar {
    height: 6px !important;
    background: #F1F5F9 !important;
    border-radius: 3px !important;
    overflow: hidden !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
}

#poc-mm-app .mm-metric-bar > div {
    height: 6px !important;
    border-radius: 3px !important;
    padding: 0 !important;
}

#poc-mm-app .mm-metric-sub {
    font-size: 11px !important;
    color: #94A3B8 !important;
    display: block !important;
}

@keyframes poc-spin { to { transform: rotate(360deg); } }

@media (max-width: 1200px) {.mm-metrics-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .mm-sidebar { display: none; } .mm-sev-grid, .mm-js-stat-row, .mm-metrics-grid, .mm-sec-login-stats { grid-template-columns: repeat(2, 1fr); } .mm-main { padding: 16px; } }

.poc-btn-details { background: var(--mm-primary, #b90909); color: #fff; border: none; border-radius: 6px; padding: 5px 12px; font-size: 12px; font-weight: 600; cursor: pointer; margin-right: 6px; transition: background .2s; }
.poc-btn-details:hover { background: #b90909;color:#fff; }
.mm-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 20px; }
.mm-modal-box { background: #fff; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,.25); max-width: 680px; width: 100%; max-height: 90vh; overflow-y: auto; animation: mmModalIn .18s ease; }
@keyframes mmModalIn { from { opacity:0; transform:scale(.95) translateY(-10px); } to { opacity:1; transform:scale(1) translateY(0); } }
.mm-modal-header { display: flex; align-items: center; gap: 10px; padding: 18px 20px 14px; border-bottom: 1px solid #e8ecef; }
.mm-modal-title { flex: 1; font-size: 15px; font-weight: 700; color: #1e293b; line-height: 1.3; }
.mm-modal-close { background: none; border: none; font-size: 22px; color: #94a3b8; cursor: pointer; padding: 0 4px; line-height: 1; border-radius: 4px; }
.mm-modal-close:hover { color: #475569; background: #f1f5f9; }
.mm-modal-section { padding: 16px 20px; border-bottom: 1px solid #f1f5f9; }
.mm-modal-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #94a3b8; margin-bottom: 8px; }
.mm-modal-body { font-size: 13px; color: #334155; line-height: 1.65; white-space: pre-wrap; word-break: break-word; }
.mm-modal-fix { background: #ebf8ed; border: 1px solid #bae5c0; border-radius: 8px; padding: 12px 14px; font-family: monospace; font-size: 12.5px; color: #3bb64a; }
.mm-modal-footer { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 14px 20px; }
.mm-modal-close-btn { background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0; border-radius: 6px; padding: 6px 16px; font-size: 12px; font-weight: 600; cursor: pointer; }
.mm-modal-close-btn:hover { background: #e2e8f0; }

#poc-mm-app .mm-cron-hint { font-size: 11px; font-weight: 400; color: #94a3b8; line-height: 1.45; }
#poc-mm-app .mm-section-title .mm-cron-hint { margin-left: 8px; }
#poc-mm-app td .mm-cron-hint { display: block; margin-top: 4px; }
#poc-mm-app .mm-cron-note { font-size: 12px; color: #64748b; line-height: 1.6; margin: 14px 0 28px; }

#poc-mm-app .mm-cron-banner { display: flex; align-items: flex-start; gap: 12px; border-radius: 10px; padding: 14px 18px; margin-bottom: 20px; font-size: 13px; line-height: 1.55; border: 1px solid; }
#poc-mm-app .mm-cron-banner.ok   { background: var(--mm-success-bg); border-color: #bae5c0; color: #3bb64a; }
#poc-mm-app .mm-cron-banner.warn { background: var(--mm-warning-bg); border-color: #fde68a; color: #854d0e; }
#poc-mm-app .mm-cron-banner.crit { background: var(--mm-critical-bg); border-color: #fecaca; color: #991b1b; }
#poc-mm-app .mm-cron-banner b { margin-right: 4px; }
#poc-mm-app .mm-cron-banner .mm-pill { margin-left: 6px; }
#poc-mm-app .mm-cron-dot { width: 10px; height: 10px; border-radius: 50%; background: currentColor; flex-shrink: 0; margin-top: 5px; }
#poc-mm-app .mm-cron-banner.ok .mm-cron-dot { animation: mm-cron-pulse 2s infinite; }
@keyframes mm-cron-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
#poc-mm-app #mm-cron-pulse .mm-sev-grid { margin-bottom: 32px; }
#poc-mm-app #mm-cron-pulse .mm-sev-lbl { margin-top: 2px; }
#poc-mm-app .mm-cron-sub { font-size: 11px; color: #64748b; margin-top: 10px; padding: 0 6px; line-height: 1.5; }

#poc-mm-app .mm-pill.info  { background: var(--mm-info-bg); color: #0e7490; }
#poc-mm-app .mm-pill.muted { background: #f1f5f9; color: #64748b; }

#poc-mm-app #mm-list-cron { padding-top: 0; margin-bottom: 32px; }
#poc-mm-app .mm-cron-trend { background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; padding: 18px 20px 14px; margin-bottom: 16px; }
#poc-mm-app .mm-cron-bars { display: flex; align-items: flex-end; gap: 3px; height: 72px; }
#poc-mm-app .mm-cron-bar { flex: 1; height: 100%; display: flex; flex-direction: column-reverse; background: #f8fafc; border-radius: 2px; overflow: hidden; }
#poc-mm-app .mm-cron-bar .e, #poc-mm-app .mm-cron-legend i.e { background: var(--mm-critical); }
#poc-mm-app .mm-cron-bar .m, #poc-mm-app .mm-cron-legend i.m { background: var(--mm-warning); }
#poc-mm-app .mm-cron-axis { display: flex; justify-content: space-between; font-size: 11px; color: #94a3b8; margin-top: 8px; }
#poc-mm-app .mm-cron-legend { display: flex; gap: 16px; font-size: 11px; color: #64748b; margin-top: 10px; padding-top: 10px; border-top: 1px solid #f1f5f9; }
#poc-mm-app .mm-cron-legend i { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; }

#poc-mm-app #mm-cron-failures { padding-top: 0; margin-bottom: 32px; }
#poc-mm-app .mm-cron-fail { background: #fff; border: 1px solid var(--mm-border); border-left: 4px solid var(--mm-critical); border-radius: 8px; overflow: hidden; }
#poc-mm-app .mm-cron-fail.is-recovered { border-left-color: var(--mm-success); }
#poc-mm-app .mm-cron-fail summary { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 13px 18px; cursor: pointer; font-size: 13px; line-height: 1.4; list-style: none; }
#poc-mm-app .mm-cron-fail summary::-webkit-details-marker { display: none; }
#poc-mm-app .mm-cron-fail summary::before { content: '\25B8'; color: #94a3b8; font-size: 11px; transition: transform .15s; }
#poc-mm-app .mm-cron-fail[open] summary::before { transform: rotate(90deg); }
#poc-mm-app .mm-cron-fail summary:hover { background: #f8fafc; }
#poc-mm-app .mm-cron-job { font-family: monospace; font-weight: 600; color: #1a1a2e; font-size: 13px; word-break: break-all; }
#poc-mm-app .mm-cron-crit { display: inline-block; background: #fef2f2; color: #b91c1c; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 2px 6px; border-radius: 4px; margin-left: 6px; vertical-align: 1px; }
#poc-mm-app .mm-cron-label { color: #334155; }
#poc-mm-app .mm-cron-meta { margin-left: auto; font-size: 12px; color: #64748b; white-space: nowrap; }
#poc-mm-app .mm-cron-body { padding: 4px 22px 20px; border-top: 1px solid #f1f5f9; font-size: 13px; color: #334155; line-height: 1.6; }
#poc-mm-app .mm-cron-body p { margin: 0; }
#poc-mm-app .mm-cron-body code { background: #f1f5f9; padding: 1px 5px; border-radius: 4px; font-size: 12px; }
#poc-mm-app .mm-cron-k { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #64748b; margin: 18px 0 6px; }
#poc-mm-app .mm-cron-pre { background: #0f172a; color: #e2e8f0; font-family: monospace; font-size: 12px; line-height: 1.6; padding: 12px 14px; border-radius: 6px; white-space: pre-wrap; word-break: break-word; max-height: 320px; overflow: auto; margin: 0; }
#poc-mm-app .mm-cron-body .mm-cron-recovered { background: var(--mm-success-bg); color: #3bb64a; padding: 10px 14px; border-radius: 6px; margin-top: 14px; }
#poc-mm-app #mm-cron-fatals .mm-cron-note { margin: 0 0 10px; }
#poc-mm-app #mm-cron-fatals .mm-cron-pre { margin-bottom: 32px; }

#poc-mm-app .mm-cron-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-bottom: 14px; }
#poc-mm-app .mm-cron-toolbar select, #poc-mm-app .mm-cron-toolbar input { border: 1px solid var(--mm-border); border-radius: 6px; padding: 7px 12px; font-size: 13px; background: #fff; height: 36px; }
#poc-mm-app .mm-cron-toolbar input { min-width: 260px; }
#poc-mm-app #mm-cron-jobs { margin-bottom: 32px; }
#poc-mm-app .mm-cron-table th, #poc-mm-app .mm-cron-table td { padding: 12px 14px; }
#poc-mm-app .mm-cron-table td { white-space: nowrap; }
#poc-mm-app .mm-cron-table td:nth-child(2) { white-space: normal; min-width: 280px; }
#poc-mm-app .mm-cron-table td .mm-pill { white-space: nowrap; }
#poc-mm-app .mm-cron-lastfail { font-size: 11px; color: #b91c1c; margin-top: 6px; line-height: 1.45; word-break: break-word; }
#poc-mm-app .mm-cron-bad-num { color: var(--mm-critical) !important; font-weight: 700; }
#poc-mm-app .mm-cron-warn-num { color: #a16207 !important; font-weight: 700; }
#poc-mm-app #mm-cron-groups .mm-js-table td, #poc-mm-app #mm-cron-groups .mm-js-table th { padding: 12px 14px; }
@media (max-width: 600px) {
    #poc-mm-app .mm-cron-toolbar input { min-width: 0; flex: 1; }
    #poc-mm-app .mm-cron-meta { margin-left: 0; }
    #poc-mm-app .mm-cron-body { padding: 4px 14px 16px; }
}

.mm-db-info-banner { background: #eff6ff; border: 1px solid #bfdbfe; color: #1e40af; border-radius: 10px; padding: 12px 16px; font-size: 13px; line-height: 1.5; margin-bottom: 16px; }
.mm-db-bloat-card { background: #fff; border: 1px solid #e8ecf0; border-radius: 10px; padding: 16px 18px; margin-bottom: 12px; }
.mm-db-bloat-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.mm-db-bloat-name { font-size: 15px; font-weight: 700; color: #1a1a2e; }
.mm-db-bloat-raw { font-size: 12px; color: #94a3b8; font-family: monospace; margin-top: 2px; }
.mm-db-bloat-stats { display: flex; gap: 16px; font-size: 13px; font-weight: 600; color: #475569; white-space: nowrap; }
.mm-db-bloat-reason { font-size: 13px; font-weight: 600; color: #b45309; margin-top: 10px; }
.mm-db-bloat-note { font-size: 13px; color: #475569; margin-top: 6px; line-height: 1.5; }
.mm-db-sql-wrap { display: flex; align-items: stretch; gap: 8px; margin-top: 10px; }
.mm-db-sql { flex: 1; background: #0f172a; color: #e2e8f0; font-family: monospace; font-size: 12px; padding: 10px 12px; border-radius: 8px; word-break: break-all; white-space: pre-wrap; }
.mm-db-contact-badge { display: inline-block; margin-top: 10px; background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; border-radius: 6px; padding: 4px 10px; font-size: 12px; font-weight: 600; }
.mm-db-bloat-warn { font-size: 12px; color: #94a3b8; margin-top: 10px; }

.mm-db-cat-badge { display: inline-block; border-radius: 20px; padding: 2px 10px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.mm-db-cat-badge.order_data { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.mm-db-cat-badge.archive { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; }
.mm-db-cat-badge.customer_data { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.mm-db-cat-badge.index_cache { background: #eff6ff; color: #1e40af; border: 1px solid #bfdbfe; }
.mm-db-cat-badge.catalog_data { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; }
.mm-db-cat-badge.log_queue { background: #ebf8ed; color: #3bb64a; border: 1px solid #bae5c0; }
.mm-db-cat-badge.critical { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }

.mm-varnish-warn { background: #fff7ed; border: 1px solid #fdba74; color: #9a3412; border-radius: 10px; padding: 14px 16px; font-size: 13px; line-height: 1.6; }
.mm-varnish-cmd { display: block; background: #0f172a; color: #e2e8f0; font-family: monospace; font-size: 12px; padding: 10px 12px; border-radius: 8px; margin: 10px 0; word-break: break-all; }
#mm-db-sys-details {padding-top: 30px;}

.mm-bd-row { cursor: pointer; border-radius: 6px; transition: background 0.12s ease; }
.mm-bd-row:hover { background: var(--mm-surface2, #f1f5f9); }
.mm-bd-caret { display: inline-block; width: 12px; color: var(--mm-muted, #64748b); font-size: 10px; transition: transform 0.12s ease; }
.mm-bd-row.open .mm-bd-caret { transform: rotate(90deg); }
.mm-bd-trigger { display: flex; align-items: center; gap: 8px; padding: 10px 12px; margin-top: 14px; font-size: 12px; font-weight: 700; color: var(--mm-text); border: 1px dashed var(--mm-border); border-radius: var(--mm-radius); }

.mm-bd-panel { margin: 2px 0 10px; border: 1px solid var(--mm-border); border-radius: var(--mm-radius); background: var(--mm-white); overflow: hidden; }

.mm-bd-callout { border: 1px solid; border-left-width: 4px; border-radius: var(--mm-radius); padding: 14px 16px; margin-bottom: 16px; font-size: 13px; line-height: 1.5; }
.mm-bd-callout.error { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.mm-bd-callout.redirect { background: #eff6ff; border-color: #bfdbfe; color: #1e40af; }
.mm-bd-callout.ok { background: #ebf8ed; border-color: #bae5c0; color: #3bb64a; }

#mm-cdn-root .mm-copy-btn,
#mm-waf-root .mm-copy-btn {
    background: #3bb64a; color: #ffffff; border: none;
    padding: 5px 14px; border-radius: 5px; font-size: 11px;
    font-weight: 600; cursor: pointer; transition: background 0.15s ease;
}
#mm-cdn-root .mm-copy-btn:hover,
#mm-waf-root .mm-copy-btn:hover { background: #2f9e3d; color: #ffffff; }
#mm-cdn-root .mm-copy-btn:active,
#mm-waf-root .mm-copy-btn:active { background: #267a32; color: #ffffff; }
#mm-cdn-root .mm-copy-btn:focus,
#mm-waf-root .mm-copy-btn:focus { outline: 2px solid #3bb64a; outline-offset: 2px; }
#mm-cdn-root .mm-copy-btn.mm-copied,
#mm-waf-root .mm-copy-btn.mm-copied { background: #3bb64a; color: #ffffff; }
#mm-reindex-status-panel {margin-top: 30px;}
.mm-bd-trigger.mm-bd-row{margin-top: 20px !important; margin-bottom: 20px !important;}
.mm-bd-callout.error {margin-bottom: 20px !important;}

.mm-score-band { font-size: 13px; font-weight: 600; text-align: center; width: 100%; margin-top: 4px; }
.mm-score-trend { font-size: 11px; color: rgba(255,255,255,0.55); text-align: center; width: 100%; margin-top: 3px; }
.mm-sparkline { display: none !important; margin: 10px auto 0 auto; max-width: 100%; }
.mm-score-spark-lbl { font-size: 10px; color: rgba(255,255,255,0.3); text-align: center; width: 100%; margin-top: 2px; }

.mm-slowq-banner { display: flex; align-items: center; justify-content: space-between; gap: 16px;
                   background: #FEF2F2; border: 1px solid #FECACA; border-radius: 10px;
                   padding: 12px 16px; margin-bottom: 14px; }
.mm-slowq-text { font-size: 13px; color: #7F1D1D; line-height: 19px; }

.mm-moduleperf-note { font-size: 12px; color: #64748B; line-height: 18px; margin-bottom: 14px; }
.mm-modrank-row { display: flex; gap: 14px; background: #fff; border: 1px solid #E2E8F0;
                  border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; }
.mm-modrank-rank { font-size: 20px; font-weight: 700; color: #CBD5E1; line-height: 24px; min-width: 24px; }
.mm-modrank-main { flex: 1; min-width: 0; }
.mm-modrank-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mm-modrank-name { font-size: 14px; font-weight: 600; color: #0F172A; }
.mm-modrank-pill { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.4px;
                   background: #FEF3C7; color: #92400E; border-radius: 4px; padding: 2px 6px; }
.mm-modrank-pill.core { background: #E0E7FF; color: #3730A3; }
.mm-modrank-total { margin-left: auto; font-size: 13px; font-weight: 600; color: #EF4444; }
.mm-modrank-bar { height: 8px; background: #F1F5F9; border-radius: 4px; overflow: hidden; margin: 8px 0 6px 0; }
.mm-modrank-fill { height: 100%; background: linear-gradient(90deg, #F97316, #EF4444); border-radius: 4px; }

.mm-modrank-fill.untimed { background: repeating-linear-gradient(45deg, #CBD5E1, #CBD5E1 4px, #E2E8F0 4px, #E2E8F0 8px); }
.mm-modrank-meta { display: flex; flex-wrap: wrap; gap: 14px; font-size: 11px; color: #94A3B8; }
.mm-modrank-file { font-family: SFMono-Regular, Consolas, Menlo, monospace; font-size: 11px;
                   color: #475569; margin-top: 6px; word-break: break-all; }
.mm-modrank-rec { font-size: 12px; color: #475569; line-height: 18px; margin-top: 8px;
                  padding-top: 8px; border-top: 1px solid #F1F5F9; }

.poc-btn-kill { background: var(--mm-critical); color: #fff; border: none; border-radius: 6px;
                padding: 5px 11px; font-size: 12px; font-weight: 600; cursor: pointer; margin-right: 6px; }
.poc-btn-kill:hover { background: #DC2626; }

#poc-mm-app .mm-audit-hint { font-size: 11px; font-weight: 400; color: #94a3b8; }
#poc-mm-app .mm-section-title .mm-audit-hint { margin-left: 8px; }
#poc-mm-app td .mm-audit-hint { display: block; margin-top: 3px; }
#poc-mm-app #mm-audit-hero { margin-bottom: 32px; }
#poc-mm-app .mm-audit-hero { display: flex; align-items: center; gap: 28px; background: #fff; border: 1px solid var(--mm-border); border-radius: 12px; padding: 24px 28px; margin-bottom: 16px; }
#poc-mm-app .mm-audit-ring { --score: 0; --ring: var(--mm-success); flex-shrink: 0; width: 132px; height: 132px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--ring) calc(var(--score) * 1%), #eef2f6 0); }
#poc-mm-app .mm-audit-ring > div { width: 104px; height: 104px; border-radius: 50%; background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; }
#poc-mm-app .mm-audit-ring b { font-size: 36px; line-height: 1; color: #0f172a; }
#poc-mm-app .mm-audit-ring span { font-size: 11px; color: #94a3b8; margin-top: 4px; }
#poc-mm-app .mm-audit-summary { min-width: 0; }
#poc-mm-app .mm-audit-grade { font-size: 18px; font-weight: 600; color: #0f172a; }
#poc-mm-app .mm-audit-grade b { font-size: 26px; margin-left: 6px; }
#poc-mm-app .mm-audit-summary p { margin: 6px 0 14px; color: #475569; font-size: 13px; line-height: 1.5; }
#poc-mm-app .mm-audit-meta { font-size: 12px; color: #64748b; margin-top: 14px; }
#poc-mm-app .mm-audit-sev-critical .mm-audit-sev-pill { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }
#poc-mm-app .mm-audit-sev-high .mm-audit-sev-pill { background: #fff7ed; color: #c2410c; border-color: #fed7aa; }
#poc-mm-app .mm-audit-sev-warning .mm-audit-sev-pill { background: #fefce8; color: #a16207; border-color: #fde68a; }
#poc-mm-app .mm-audit-sev-info .mm-audit-sev-pill { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }

#poc-mm-app .mm-audit-area-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
#poc-mm-app .mm-audit-area-card { display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid var(--mm-border); border-top: 3px solid var(--mm-success); border-radius: 8px; padding: 12px 14px; text-decoration: none; color: inherit; }
#poc-mm-app .mm-audit-area-card:hover { box-shadow: var(--mm-shadow); }
#poc-mm-app .mm-audit-area-card.mm-audit-sev-critical { border-top-color: var(--mm-critical); }
#poc-mm-app .mm-audit-area-card.mm-audit-sev-high { border-top-color: var(--mm-high); }
#poc-mm-app .mm-audit-area-card.mm-audit-sev-warning { border-top-color: var(--mm-warning); }
#poc-mm-app .mm-audit-area-card.mm-audit-sev-info { border-top-color: var(--mm-info); }
#poc-mm-app .mm-audit-area-name { font-size: 13px; font-weight: 600; color: #0f172a; }
#poc-mm-app .mm-audit-area-count { font-size: 12px; color: #64748b; }
#poc-mm-app .mm-audit-bar { display: block; height: 5px; background: #eef2f6; border-radius: 3px; overflow: hidden; }
#poc-mm-app .mm-audit-bar i { display: block; height: 100%; background: var(--mm-success); }

#poc-mm-app .mm-audit-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 32px; }
#poc-mm-app .mm-audit-finding { background: #fff; border: 1px solid var(--mm-border); border-left: 4px solid var(--mm-info); border-radius: 8px; overflow: hidden; }
#poc-mm-app .mm-audit-finding.mm-audit-sev-critical { border-left-color: var(--mm-critical); }
#poc-mm-app .mm-audit-finding.mm-audit-sev-high { border-left-color: var(--mm-high); }
#poc-mm-app .mm-audit-finding.mm-audit-sev-warning { border-left-color: var(--mm-warning); }
#poc-mm-app .mm-audit-finding summary { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 14px 18px; cursor: pointer; list-style: none; }
#poc-mm-app .mm-audit-finding summary::-webkit-details-marker { display: none; }
#poc-mm-app .mm-audit-finding summary::before { content: '\25B8'; color: #94a3b8; font-size: 11px; transition: transform .15s; }
#poc-mm-app .mm-audit-finding[open] summary::before { transform: rotate(90deg); }
#poc-mm-app .mm-audit-finding summary:hover { background: #f8fafc; }
#poc-mm-app .mm-audit-sev-pill { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 3px 8px; border-radius: 4px; border: 1px solid; }
#poc-mm-app .mm-audit-headline { font-size: 14px; font-weight: 600; color: #0f172a; }
#poc-mm-app .mm-audit-area-tag { margin-left: auto; font-size: 11px; color: #64748b; background: #f1f5f9; padding: 3px 8px; border-radius: 10px; white-space: nowrap; }
#poc-mm-app .mm-audit-body { padding: 6px 24px 20px 42px; border-top: 1px solid #f1f5f9; font-size: 13px; color: #334155; line-height: 1.6; }
#poc-mm-app .mm-audit-body p { margin: 0; }
#poc-mm-app .mm-audit-lead { margin-top: 12px !important; font-size: 14px; color: #0f172a; }
#poc-mm-app .mm-audit-k { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #64748b; margin: 18px 0 6px; }
#poc-mm-app .mm-audit-evidence { margin: 0; padding-left: 18px; }
#poc-mm-app .mm-audit-evidence li { margin: 3px 0; font-family: monospace; font-size: 12px; word-break: break-word; }
#poc-mm-app .mm-audit-pre { background: #0f172a; color: #e2e8f0; font-family: monospace; font-size: 12px; line-height: 1.6; padding: 12px 14px; border-radius: 6px; white-space: pre-wrap; word-break: break-word; margin: 0; }
#poc-mm-app .mm-audit-foot { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 16px; padding-top: 12px; border-top: 1px dashed var(--mm-border); font-size: 11px; color: #64748b; }
#poc-mm-app .mm-audit-foot code { font-size: 11px; }

#poc-mm-app .mm-audit-areas { display: grid; grid-template-columns: repeat(auto-fit, minmax(460px, 1fr)); gap: 14px; margin-bottom: 32px; align-items: start; }
#poc-mm-app .mm-audit-area { background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; overflow: hidden; scroll-margin-top: 80px; }
#poc-mm-app .mm-audit-area-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 12px 16px; background: #f8fafc; border-bottom: 1px solid var(--mm-border); font-size: 13px; color: #0f172a; }
#poc-mm-app .mm-audit-area-head span { font-size: 11px; color: #64748b; }
#poc-mm-app .mm-audit-row { display: flex; align-items: flex-start; gap: 12px; padding: 10px 16px; border-bottom: 1px solid #f1f5f9; }
#poc-mm-app .mm-audit-row:last-child { border-bottom: none; }
#poc-mm-app .mm-audit-icon { width: 20px; height: 20px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 700; margin-top: 1px; color: #fff; background: #cbd5e1; }
#poc-mm-app .mm-audit-st-pass .mm-audit-icon { background: var(--mm-success); }
#poc-mm-app .mm-audit-st-error .mm-audit-icon { background: #64748b; }
#poc-mm-app .mm-audit-row.mm-audit-sev-critical .mm-audit-icon { background: var(--mm-critical); }
#poc-mm-app .mm-audit-row.mm-audit-sev-high .mm-audit-icon { background: var(--mm-high); }
#poc-mm-app .mm-audit-row.mm-audit-sev-warning .mm-audit-icon { background: var(--mm-warning); }
#poc-mm-app .mm-audit-row.mm-audit-sev-info .mm-audit-icon { background: var(--mm-info); }
#poc-mm-app .mm-audit-row-main { flex: 1; min-width: 0; }
#poc-mm-app .mm-audit-row-title { font-size: 13px; font-weight: 600; color: #0f172a; }
#poc-mm-app .mm-audit-row-title a { color: inherit; text-decoration: underline; text-decoration-color: #cbd5e1; text-underline-offset: 3px; }
#poc-mm-app .mm-audit-row-result { font-size: 12px; color: #64748b; margin-top: 2px; line-height: 1.45; }
#poc-mm-app .mm-audit-ref { flex-shrink: 0; max-width: 150px; text-align: right; font-size: 10px; color: #94a3b8; line-height: 1.4; margin-top: 2px; }

#poc-mm-app #mm-audit-admins { margin-bottom: 32px; }
#poc-mm-app .mm-audit-table th, #poc-mm-app .mm-audit-table td { padding: 11px 14px; vertical-align: top; }
#poc-mm-app .mm-audit-table code { font-size: 12px; }
#poc-mm-app .mm-audit-inactive td { opacity: .55; }
#poc-mm-app .mm-audit-issue { font-size: 12px; color: #b91c1c; line-height: 1.45; margin-bottom: 3px; }
#poc-mm-app #mm-v-security .mm-sec-login-stats { margin-bottom: 20px; }
#poc-mm-app .mm-audit-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }
#poc-mm-app .mm-audit-subtitle { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; letter-spacing: .04em; margin: 4px 0 8px; }
#poc-mm-app #mm-sec-logins { margin-bottom: 32px; }
#poc-mm-app .mm-audit-empty { background: #fff; border: 1px solid var(--mm-border); border-radius: 8px; padding: 18px; font-size: 13px; color: #64748b; text-align: center; }
#poc-mm-app .mm-sec-row-header { margin-bottom: 14px; }
#poc-mm-app .mm-sec-row-header .mm-section-title { margin-bottom: 0 !important; flex: 1; }
#poc-mm-app .mm-traffic-note { margin-top: 10px; }
@media (max-width: 900px) {
    #poc-mm-app .mm-audit-hero { flex-direction: column; align-items: flex-start; }
    #poc-mm-app .mm-audit-areas, #poc-mm-app .mm-audit-two-col { grid-template-columns: 1fr; }
    #poc-mm-app .mm-audit-body { padding: 6px 16px 18px; }
    #poc-mm-app .mm-audit-area-tag { margin-left: 0; }
}

#poc-mm-app .mm-up-hint { font-size: 11px; font-weight: 400; color: #94a3b8; }
#poc-mm-app .mm-section-title .mm-up-hint { margin-left: 8px; }
#poc-mm-app .mm-up-good { color: #3bb64a !important; }
#poc-mm-app .mm-up-fair { color: #a16207 !important; }
#poc-mm-app .mm-up-bad  { color: #b91c1c !important; }
#poc-mm-app .mm-up-note { font-size: 12px; color: #64748b; line-height: 1.6; margin: 10px 0 0; }
#poc-mm-app #mm-up-status { margin-bottom: 32px; }

#poc-mm-app .mm-up-banner { display: flex; align-items: center; gap: 14px; border: 1px solid; border-radius: 12px; padding: 16px 20px; margin-bottom: 16px; }
#poc-mm-app .mm-up-banner.ok    { background: var(--mm-success-bg); border-color: #bae5c0; color: #3bb64a; }
#poc-mm-app .mm-up-banner.warn  { background: var(--mm-warning-bg); border-color: #fde68a; color: #854d0e; }
#poc-mm-app .mm-up-banner.crit  { background: var(--mm-critical-bg); border-color: #fecaca; color: #991b1b; }
#poc-mm-app .mm-up-banner.muted { background: #f8fafc; border-color: var(--mm-border); color: #475569; }
#poc-mm-app .mm-up-dot { width: 10px; height: 10px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
#poc-mm-app .mm-up-banner.ok .mm-up-dot { box-shadow: 0 0 0 4px rgba(59,182,74,.2); }
#poc-mm-app .mm-up-banner-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
#poc-mm-app .mm-up-banner-text b { font-size: 15px; }
#poc-mm-app .mm-up-banner-text span { font-size: 13px; line-height: 1.5; }
#poc-mm-app .mm-up-banner-meta { font-size: 12px; text-align: right; line-height: 1.6; opacity: .85; }
#poc-mm-app .mm-up-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
#poc-mm-app .mm-up-kpi { background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; padding: 16px 18px; }
#poc-mm-app .mm-up-kpi-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #64748b; }
#poc-mm-app .mm-up-kpi-value { font-size: 26px; font-weight: 700; color: #0f172a; margin-top: 6px; line-height: 1.1; }
#poc-mm-app .mm-up-kpi-sub { font-size: 12px; color: #64748b; margin-top: 6px; }

#poc-mm-app #mm-up-endpoints { display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }
#poc-mm-app .mm-up-card { background: #fff; border: 1px solid var(--mm-border); border-left: 4px solid var(--mm-success); border-radius: 10px; padding: 18px 22px; }
#poc-mm-app .mm-up-card-warn { border-left-color: var(--mm-warning); }
#poc-mm-app .mm-up-card-crit { border-left-color: var(--mm-critical); }
#poc-mm-app .mm-up-card-muted { border-left-color: #cbd5e1; }
#poc-mm-app .mm-up-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
#poc-mm-app .mm-up-card-title { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 16px; color: #0f172a; }
#poc-mm-app .mm-up-card-title .mm-up-dot { color: var(--mm-success); }
#poc-mm-app .mm-up-card-warn .mm-up-card-title .mm-up-dot { color: var(--mm-warning); }
#poc-mm-app .mm-up-card-crit .mm-up-card-title .mm-up-dot { color: var(--mm-critical); }
#poc-mm-app .mm-up-card-muted .mm-up-card-title .mm-up-dot { color: #cbd5e1; }
#poc-mm-app .mm-up-card-uptime { font-size: 22px; font-weight: 700; text-align: right; line-height: 1.1; white-space: nowrap; }
#poc-mm-app .mm-up-card-uptime span { display: block; font-size: 11px; font-weight: 400; color: #94a3b8; margin-top: 3px; }
#poc-mm-app .mm-up-card-sub { font-size: 12px; color: #64748b; margin-top: 6px; word-break: break-word; }
#poc-mm-app .mm-up-card-sub code { font-size: 12px; background: #f1f5f9; padding: 1px 6px; border-radius: 4px; }
#poc-mm-app .mm-up-bars { display: flex; gap: 2px; height: 34px; margin-top: 16px; }
#poc-mm-app .mm-up-bars i { flex: 1; border-radius: 2px; background: #3bb64a; min-width: 2px; }
#poc-mm-app .mm-up-bars i:hover { opacity: .7; }
#poc-mm-app .mm-up-bars i.fair { background: #eab308; }
#poc-mm-app .mm-up-bars i.bad  { background: #ef4444; }
#poc-mm-app .mm-up-bars i.none { background: #e2e8f0; }
#poc-mm-app .mm-up-bars-axis { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; color: #94a3b8; margin-top: 6px; }
#poc-mm-app .mm-up-bars-axis span:nth-child(2) { text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#poc-mm-app .mm-up-card-body { display: grid; grid-template-columns: 1fr 280px; gap: 24px; margin-top: 16px; padding-top: 16px; border-top: 1px solid #f1f5f9; }
#poc-mm-app .mm-up-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px 18px; }
#poc-mm-app .mm-up-stat-label { font-size: 11px; color: #64748b; }
#poc-mm-app .mm-up-stat-value { font-size: 15px; font-weight: 600; color: #0f172a; margin-top: 3px; }
#poc-mm-app .mm-up-spark { display: block; width: 100%; height: 48px; margin-top: 8px; overflow: visible; }
#poc-mm-app .mm-up-spark path { fill: none; stroke: #1a56db; stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-linecap: round; }
#poc-mm-app .mm-up-spark-axis { display: flex; justify-content: space-between; font-size: 10px; color: #94a3b8; margin-top: 4px; }
#poc-mm-app .mm-up-spark-empty { font-size: 12px; color: #94a3b8; padding: 16px 0; }

#poc-mm-app .mm-up-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-bottom: 14px; }
#poc-mm-app .mm-up-toolbar select { border: 1px solid var(--mm-border); border-radius: 6px; padding: 6px 10px; font-size: 13px; background: #fff; height: 34px; }
#poc-mm-app .mm-up-check { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: #334155; cursor: pointer; }
#poc-mm-app .mm-up-export { margin-left: auto; text-decoration: none; }
#poc-mm-app #mm-up-incidents, #poc-mm-app #mm-uptime-history { margin-bottom: 32px; }
#poc-mm-app #mm-up-gaps-wrap { margin-bottom: 32px; }
#poc-mm-app #mm-up-gaps .mm-up-note { margin: 0 0 12px; }
#poc-mm-app .mm-up-table th, #poc-mm-app .mm-up-table td { padding: 11px 14px; }
#poc-mm-app .mm-up-table td { white-space: nowrap; }
#poc-mm-app .mm-up-table td.mm-up-cause { white-space: normal; min-width: 220px; }
#poc-mm-app .mm-up-row-ongoing td { background: var(--mm-critical-bg); }

#poc-mm-app .mm-up-setup { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; padding: 20px 22px; margin-bottom: 32px; }
#poc-mm-app .mm-up-subtitle { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #475569; margin-bottom: 8px; }
#poc-mm-app .mm-up-list { margin: 0; padding-left: 18px; font-size: 13px; color: #334155; line-height: 1.6; }
#poc-mm-app .mm-up-list li { margin-bottom: 4px; }
#poc-mm-app .mm-up-setup .mm-up-table { box-shadow: none; border: 1px solid var(--mm-border); }
#poc-mm-app .mm-up-setup .mm-up-table td { white-space: normal; word-break: break-all; font-size: 12px; }
#poc-mm-app .mm-up-limit { grid-column: 1 / -1; background: #f8fafc; border: 1px solid var(--mm-border); border-radius: 8px; padding: 12px 14px; font-size: 13px; color: #475569; line-height: 1.55; }

@media (max-width: 1100px) {
    #poc-mm-app .mm-up-card-body { grid-template-columns: 1fr; }
    #poc-mm-app .mm-up-kpis { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
    #poc-mm-app .mm-up-stats { grid-template-columns: repeat(2, 1fr); }
    #poc-mm-app .mm-up-setup { grid-template-columns: 1fr; }
    #poc-mm-app .mm-up-banner { flex-wrap: wrap; }
    #poc-mm-app .mm-up-banner-meta { text-align: left; flex-basis: 100%; padding-left: 24px; }
    #poc-mm-app .mm-up-card-head { flex-direction: column; }
    #poc-mm-app .mm-up-card-uptime { text-align: left; }
    #poc-mm-app .mm-up-bars { gap: 1px; }
    #poc-mm-app .mm-up-export { margin-left: 0; }
}

#poc-mm-app .mm-tl-range { display: inline-flex; border: 1px solid var(--mm-border); border-radius: 8px; overflow: hidden; background: #fff; }
#poc-mm-app .mm-tl-range .mm-tl-btn { background: #fff; color: #475569; border: 0; border-right: 1px solid var(--mm-border); padding: 7px 14px; font-size: 13px; font-weight: 600; }
#poc-mm-app .mm-tl-range .mm-tl-btn:last-child { border-right: 0; }
#poc-mm-app .mm-tl-range .mm-tl-btn:hover { background: #f8fafc; }
#poc-mm-app .mm-tl-range .mm-tl-btn.active { background: var(--mm-accent); color: #fff; }
#poc-mm-app #mm-tl-body .mm-cron-banner code { background: rgba(255,255,255,.6); padding: 1px 5px; border-radius: 4px; font-size: 12px; }
#poc-mm-app #mm-tl-body .mm-cron-banner a { color: inherit; font-weight: 700; }
#poc-mm-app .mm-tl-kpis { margin-bottom: 32px; }
#poc-mm-app .mm-tl-chart { background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; padding: 18px 20px 14px 56px; margin-bottom: 32px; }
#poc-mm-app .mm-tl-plot { position: relative; height: 180px; }
#poc-mm-app .mm-tl-y span { position: absolute; left: -44px; width: 34px; text-align: right; transform: translateY(-50%); font-size: 11px; color: #94a3b8; font-variant-numeric: tabular-nums; }
#poc-mm-app .mm-tl-svg { display: block; width: 100%; height: 100%; }
#poc-mm-app .mm-tl-svg .band.good { fill: #ebf8ed; }
#poc-mm-app .mm-tl-svg .band.fair { fill: #fff7ed; }
#poc-mm-app .mm-tl-svg .band.bad  { fill: #fef2f2; }
#poc-mm-app .mm-tl-svg .gap { fill: #e2e8f0; opacity: .8; }
#poc-mm-app .mm-tl-svg .line { fill: none; stroke: #1a56db; stroke-width: 2.5; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-linecap: round; }
#poc-mm-app .mm-tl-svg .hit { fill: transparent; }
#poc-mm-app .mm-tl-svg .hit:hover { fill: rgba(15,23,42,.06); }
#poc-mm-app .mm-tl-bars { display: flex; align-items: stretch; gap: 2px; height: 100%; border-bottom: 1px solid var(--mm-border); }
#poc-mm-app .mm-tl-bar { flex: 1; min-width: 1px; display: flex; flex-direction: column; justify-content: flex-end; }
#poc-mm-app .mm-tl-bar:hover { background: #f1f5f9; }
#poc-mm-app .mm-tl-bar i { display: block; }
#poc-mm-app .mm-tl-bar i.critical, #poc-mm-app .mm-cron-legend i.tl-critical { background: #b91c1c; }
#poc-mm-app .mm-tl-bar i.high,     #poc-mm-app .mm-cron-legend i.tl-high     { background: #f97316; }
#poc-mm-app .mm-tl-bar i.warning,  #poc-mm-app .mm-cron-legend i.tl-warning  { background: #eab308; }
#poc-mm-app .mm-tl-bar i.info,     #poc-mm-app .mm-cron-legend i.tl-info     { background: #06b6d4; }
#poc-mm-app .mm-cron-legend i.tl-good { background: #bae5c0; }
#poc-mm-app .mm-cron-legend i.tl-fair { background: #fed7aa; }
#poc-mm-app .mm-cron-legend i.tl-bad  { background: #fecaca; }
#poc-mm-app .mm-cron-legend i.tl-gap  { background: #e2e8f0; }
#poc-mm-app .mm-tl-chart .mm-cron-legend { flex-wrap: wrap; margin-left: -36px; }
#poc-mm-app .mm-tl-axis { display: flex; justify-content: space-between; font-size: 11px; color: #94a3b8; margin-top: 8px; }
#poc-mm-app .mm-tl-note { margin: -4px 0 14px; }
#poc-mm-app .mm-tl-recurring { margin-bottom: 32px; }
#poc-mm-app .mm-tl-recurring td.mm-tl-finding { white-space: normal; min-width: 240px; max-width: 380px; }
#poc-mm-app .mm-tl-recurring td.mm-tl-finding .mm-cron-hint { display: block; font-family: monospace; margin-top: 3px; word-break: break-all; }
#poc-mm-app .mm-tl-recurring a, #poc-mm-app .mm-tl-meta a { color: var(--mm-accent); text-decoration: none; }
#poc-mm-app #mm-tl-events { margin-bottom: 32px; }
#poc-mm-app .mm-tl-recurring td { vertical-align: middle; }
#poc-mm-app .mm-tl-day { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; letter-spacing: .04em; margin: 18px 0 8px; }
#poc-mm-app .mm-tl-day:first-child { margin-top: 0; }
#poc-mm-app .mm-tl-events { background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; overflow: hidden; }
#poc-mm-app .mm-tl-event { display: grid; grid-template-columns: 72px 80px 72px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 16px; border-bottom: 1px solid #f1f5f9; font-size: 13px; }
#poc-mm-app .mm-tl-event:last-child { border-bottom: 0; }
#poc-mm-app .mm-tl-event .mm-pill { justify-self: start; text-transform: capitalize; }
#poc-mm-app .mm-tl-time { color: #64748b; font-variant-numeric: tabular-nums; white-space: nowrap; }
#poc-mm-app .mm-tl-sev { text-transform: capitalize; }
#poc-mm-app .mm-tl-more { display: block; margin: 12px auto 0; }
#poc-mm-app .mm-tl-type { font-weight: 700; font-size: 12px; }
#poc-mm-app .mm-tl-type::before { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; vertical-align: 0; }
#poc-mm-app .mm-tl-event.detected .mm-tl-type { color: #b91c1c; }
#poc-mm-app .mm-tl-event.detected .mm-tl-type::before { background: #ef4444; }
#poc-mm-app .mm-tl-event.resolved .mm-tl-type { color: #3bb64a; }
#poc-mm-app .mm-tl-event.resolved .mm-tl-type::before { background: #3bb64a; }
#poc-mm-app .mm-tl-title { color: #0f172a; overflow-wrap: anywhere; }
#poc-mm-app .mm-tl-meta { font-size: 12px; color: #64748b; text-align: right; white-space: nowrap; }
@media (max-width: 700px) {
    #poc-mm-app .mm-tl-chart { padding-left: 48px; padding-right: 12px; }
    #poc-mm-app .mm-tl-plot { height: 140px; }
    #poc-mm-app .mm-tl-event { grid-template-columns: 72px 1fr auto; gap: 6px 10px; padding: 10px 12px; }
    #poc-mm-app .mm-tl-title, #poc-mm-app .mm-tl-meta { grid-column: 1 / -1; text-align: left; white-space: normal; }
    #poc-mm-app .mm-ph-row { flex-wrap: wrap; gap: 10px; }
}

#poc-mm-app .mm-live-dot.is-paused { background: #94a3b8; animation: none; }
#poc-mm-app .mm-lm-updated { font-size: 12px; color: #94a3b8; font-variant-numeric: tabular-nums; }
#poc-mm-app .mm-lm-pause { margin-left: auto; }
#poc-mm-app #mm-lm-body .mm-cron-banner { margin-bottom: 28px; }
#poc-mm-app #mm-lm-body .mm-cron-banner code { background: rgba(255,255,255,.6); padding: 1px 5px; border-radius: 4px; font-size: 12px; }
#poc-mm-app .mm-lm-issues { margin: 6px 0 0; padding-left: 18px; }
#poc-mm-app .mm-lm-issues li { margin: 2px 0; }
#poc-mm-app .mm-lm-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 32px; }
#poc-mm-app .mm-lm-card { background: #fff; border: 1px solid var(--mm-border); border-top: 3px solid var(--mm-success); border-radius: 10px; padding: 16px 18px; min-width: 0; }
#poc-mm-app .mm-lm-card.warn { border-top-color: var(--mm-warning); }
#poc-mm-app .mm-lm-card.crit { border-top-color: var(--mm-critical); }
#poc-mm-app .mm-lm-card.muted { border-top-color: #cbd5e1; }
#poc-mm-app .mm-lm-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #64748b; }
#poc-mm-app .mm-lm-value { font-size: 28px; font-weight: 700; color: #0f172a; line-height: 1.1; margin-top: 8px; font-variant-numeric: tabular-nums; }
#poc-mm-app .mm-lm-card.warn .mm-lm-value { color: #a16207; }
#poc-mm-app .mm-lm-card.crit .mm-lm-value { color: #b91c1c; }
#poc-mm-app .mm-lm-value small { font-size: 15px; font-weight: 600; color: #94a3b8; }
#poc-mm-app .mm-lm-bar { height: 6px; background: #f1f5f9; border-radius: 3px; overflow: hidden; margin: 10px 0 8px; }
#poc-mm-app .mm-lm-bar i { display: block; height: 100%; background: var(--mm-success); border-radius: 3px; transition: width .4s; }
#poc-mm-app .mm-lm-card.warn .mm-lm-bar i { background: var(--mm-warning); }
#poc-mm-app .mm-lm-card.crit .mm-lm-bar i { background: var(--mm-critical); }
#poc-mm-app .mm-lm-sub { font-size: 12px; color: #64748b; margin-top: 4px; line-height: 1.45; overflow-wrap: anywhere; }
#poc-mm-app .mm-lm-sub code { font-size: 11px; background: #f1f5f9; padding: 0 4px; border-radius: 3px; }
#poc-mm-app .mm-lm-value + .mm-lm-sub { margin-top: 10px; }
#poc-mm-app .mm-lm-spark { display: block; width: 100%; height: 32px; margin-top: 10px; }
#poc-mm-app .mm-lm-spark polyline { fill: none; stroke: #1a56db; stroke-width: 1.5; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
#poc-mm-app .mm-lm-spark-empty { font-size: 11px; color: #cbd5e1; margin-top: 10px; height: 32px; line-height: 32px; }
#poc-mm-app .mm-lm-block { margin-bottom: 32px; }
#poc-mm-app .mm-lm-table td { vertical-align: middle; }
#poc-mm-app .mm-lm-table td.mm-lm-cmd { white-space: normal; min-width: 280px; }
#poc-mm-app .mm-lm-table td.mm-lm-cmd code { font-size: 11px; color: #334155; word-break: break-all; }
#poc-mm-app .mm-lm-table td .mm-cron-hint { display: block; }
#poc-mm-app .mm-lm-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: -20px 0 32px; }
#poc-mm-app .mm-lm-host { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; overflow: hidden; }
#poc-mm-app .mm-lm-host div { display: flex; gap: 16px; padding: 10px 16px; border-bottom: 1px solid #f1f5f9; font-size: 13px; }
#poc-mm-app .mm-lm-host span { color: #64748b; min-width: 130px; }
#poc-mm-app .mm-lm-host b { font-weight: 600; color: #0f172a; overflow-wrap: anywhere; }
#poc-mm-app #mm-lm-body .mm-cron-note { margin: 12px 0 32px; }
#poc-mm-app #mm-lm-body .mm-cron-note a { color: var(--mm-accent); }
@media (max-width: 1200px) { #poc-mm-app .mm-lm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
    #poc-mm-app .mm-lm-grid, #poc-mm-app .mm-lm-host { grid-template-columns: 1fr; }
    #poc-mm-app .mm-lm-pause { margin-left: 0; }
    #poc-mm-app .mm-lm-host div { flex-direction: column; gap: 2px; }
}

#poc-mm-app .mm-cat-summary { margin: 4px 0 20px; }
#poc-mm-app .mm-cat-chips { display: flex; flex-wrap: wrap; gap: 8px; }
#poc-mm-app .mm-cat-chip { display: inline-flex; align-items: baseline; gap: 5px; padding: 5px 12px; border-radius: 999px; font-size: 12px; text-transform: capitalize; border: 1px solid transparent; }
#poc-mm-app .mm-cat-chip b { font-size: 14px; }
#poc-mm-app .mm-cat-chip.critical { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
#poc-mm-app .mm-cat-chip.high     { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }
#poc-mm-app .mm-cat-chip.warning  { background: #fefce8; color: #854d0e; border-color: #fde68a; }
#poc-mm-app .mm-cat-chip.info     { background: #ecfeff; color: #155e75; border-color: #a5f3fc; }
#poc-mm-app .mm-cat-chip.zero { background: #fff; color: #94a3b8; border-color: var(--mm-border); }
#poc-mm-app .mm-cat-checks { margin-top: 14px; background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; font-size: 13px; color: #334155; }
#poc-mm-app .mm-cat-checks summary { cursor: pointer; padding: 10px 16px; font-weight: 600; color: #475569; list-style: none; }
#poc-mm-app .mm-cat-checks summary::-webkit-details-marker { display: none; }
#poc-mm-app .mm-cat-checks summary::before { content: '\25B8'; display: inline-block; margin-right: 8px; color: #94a3b8; transition: transform .15s; }
#poc-mm-app .mm-cat-checks[open] summary::before { transform: rotate(90deg); }
#poc-mm-app .mm-cat-checks ul { margin: 0; padding: 0 16px 6px 40px; line-height: 1.6; }
#poc-mm-app .mm-cat-checks li { margin-bottom: 4px; }
#poc-mm-app .mm-cat-checks p { margin: 4px 16px 14px; font-size: 12px; color: #64748b; }
#poc-mm-app .mm-list .mm-detection-item { margin-bottom: 12px; }
#poc-mm-app .mm-det-meta { flex-wrap: wrap; }
#poc-mm-app .poc-btn-details { background: #fff; color: var(--mm-accent); border: 1px solid var(--mm-accent); padding: 6px 14px; margin-right: 0; }
#poc-mm-app .poc-btn-details:hover { background: var(--mm-accent); color: #fff; }
#poc-mm-app .poc-btn-solved { padding: 6px 12px; font-size: 12px; border-radius: 6px; background: #fff; color: #475569; border: 1px solid var(--mm-border); }
#poc-mm-app .poc-btn-solved:hover { background: #ebf8ed; color: #3bb64a; border-color: #bae5c0; }
#poc-mm-app .poc-btn-backlog { padding: 6px 12px; font-size: 12px; font-weight: 600; border-radius: 6px; background: #fff; color: #475569; border: 1px solid var(--mm-border); cursor: pointer; transition: all 0.2s; }
#poc-mm-app .poc-btn-backlog:hover, #poc-mm-app .mm-ov-backlog:hover { background: #f1f5f9; color: #1e293b; border-color: #94a3b8; }
#poc-mm-app .mm-list > .mm-db-healthy { margin-top: 0 !important; }
@media (max-width: 700px) {
    #poc-mm-app .mm-det-actions { margin-left: 0; width: 100%; }
    #poc-mm-app .mm-det-header { flex-wrap: wrap; }
}

#poc-mm-app #mm-mg-system { margin-top: 32px; }
#poc-mm-app .mm-mg-kpis, #poc-mm-app .mm-mg-block { margin-bottom: 32px; }
#poc-mm-app .mm-mg-note { margin: -4px 0 14px; }
#poc-mm-app .mm-mg-note code, #poc-mm-app .mm-mg-files code { background: #f1f5f9; padding: 1px 5px; border-radius: 4px; font-size: 11px; }
#poc-mm-app #mm-mg-system .mm-up-table td .mm-cron-hint { display: block; font-family: monospace; }
#poc-mm-app .mm-mg-caches { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; }
#poc-mm-app .mm-mg-cache { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #fff; border: 1px solid var(--mm-border); border-radius: 8px; padding: 9px 12px; font-size: 13px; }
#poc-mm-app .mm-mg-cache code { display: block; font-size: 11px; color: #94a3b8; }
#poc-mm-app .mm-mg-logs { display: flex; flex-direction: column; gap: 8px; }
#poc-mm-app .mm-mg-log { background: #fff; border: 1px solid var(--mm-border); border-left: 4px solid var(--mm-warning); border-radius: 8px; overflow: hidden; }
#poc-mm-app .mm-mg-log.crit { border-left-color: var(--mm-critical); }
#poc-mm-app .mm-mg-log summary { display: flex; align-items: center; gap: 10px; padding: 11px 16px; cursor: pointer; list-style: none; font-size: 13px; }
#poc-mm-app .mm-mg-log summary::-webkit-details-marker { display: none; }
#poc-mm-app .mm-mg-log summary:hover { background: #f8fafc; }
#poc-mm-app .mm-mg-msg { flex: 1; min-width: 0; font-family: monospace; font-size: 12px; color: #0f172a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#poc-mm-app .mm-mg-log[open] .mm-mg-msg { white-space: normal; overflow-wrap: anywhere; }
#poc-mm-app .mm-mg-count { font-weight: 700; color: #b91c1c; font-variant-numeric: tabular-nums; }
#poc-mm-app .mm-mg-log-body { padding: 0 16px 14px; }
#poc-mm-app .mm-mg-log-meta { font-size: 12px; color: #64748b; margin: 4px 0 8px; }
#poc-mm-app .mm-mg-files { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 12px; color: #64748b; margin: -20px 0 32px; }
#poc-mm-app #mm-ext-body { margin-top: 32px; }
#poc-mm-app .mm-ext-msg { display: block; max-width: 560px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: monospace; }
#poc-mm-app .mm-mp-setup { background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; padding: 18px 20px; font-size: 13px; color: #334155; line-height: 1.6; }
#poc-mm-app .mm-mp-setup p { margin: 0 0 12px; }
#poc-mm-app .mm-mp-setup p:last-child { margin: 12px 0 0; }
#poc-mm-app .mm-mp-setup code { background: #f1f5f9; padding: 1px 5px; border-radius: 4px; font-size: 12px; }
#poc-mm-app .mm-moduleperf-note { margin-bottom: 16px; line-height: 1.55; }
#poc-mm-app .mm-modrank { display: flex; flex-direction: column; gap: 12px; }
#poc-mm-app .mm-modrank-head { margin-bottom: 8px; }
#poc-mm-app .mm-modrank-bar { margin-bottom: 8px; }
#poc-mm-app .mm-modrank-total.untimed { color: #94a3b8; font-weight: 600; }
#poc-mm-app .mm-slow-table td:first-child { white-space: normal; min-width: 260px; }
#poc-mm-app .mm-slow-table td:first-child .mm-cron-hint { display: block; word-break: break-all; }
#poc-mm-app #mm-js-collector-off .mm-cron-banner { margin-bottom: 20px; }
#poc-mm-app .mm-js-detail td { background: #f8fafc; padding: 12px 16px 16px !important; }
#poc-mm-app .mm-js-detail-meta { display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 12px; color: #475569; margin-bottom: 10px; }
#poc-mm-app .mm-js-detail-meta code { font-size: 11px; background: #fff; border: 1px solid var(--mm-border); padding: 0 5px; border-radius: 4px; word-break: break-all; }
#poc-mm-app .mm-ssl-table td:first-child { white-space: normal; min-width: 240px; }
#poc-mm-app .mm-ssl-table td .mm-cron-hint { display: block; }
#poc-mm-app .mm-ssl-problem { color: #b91c1c !important; }
#poc-mm-app .mm-mlog-table td.mm-mlog-details { white-space: normal; min-width: 320px; }
#poc-mm-app .mm-mlog-table td .mm-cron-hint { display: block; }

#poc-mm-app #mm-infra-body .mm-lm-grid { margin-bottom: 28px; }
#poc-mm-app .mm-infra-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-bottom: 28px; }
#poc-mm-app .mm-infra-two .mm-section-title { padding-top: 0; }
#poc-mm-app .mm-infra-kv-card { background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; overflow: hidden; height: calc(100% - 38px); box-sizing: border-box; }
#poc-mm-app .mm-infra-kv-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 11px 16px; border-bottom: 1px solid #f1f5f9; font-size: 13px; }
#poc-mm-app .mm-infra-kv-row:last-child { border-bottom: none; }
#poc-mm-app .mm-infra-kv-row span { color: #64748b; flex-shrink: 0; }
#poc-mm-app .mm-infra-kv-row b { font-weight: 600; color: #0f172a; text-align: right; overflow-wrap: anywhere; }
#poc-mm-app .mm-infra-kv-row b .mm-cron-hint { margin-left: 4px; }
#poc-mm-app .mm-infra-table { margin-bottom: 28px; }
#poc-mm-app .mm-infra-table td, #poc-mm-app .mm-tc-table td { vertical-align: middle; font-size: 13px; }
#poc-mm-app .mm-infra-table code, #poc-mm-app .mm-tc-table code { font-size: 12px; color: #334155; background: #f1f5f9; padding: 1px 6px; border-radius: 4px; }
#poc-mm-app .mm-infra-usage { min-width: 180px; }
#poc-mm-app .mm-infra-usage span { font-size: 12px; color: #475569; margin-left: 10px; font-variant-numeric: tabular-nums; }
#poc-mm-app .mm-infra-meter { display: inline-block; vertical-align: middle; width: 120px; height: 6px; background: #f1f5f9; border-radius: 3px; overflow: hidden; }
#poc-mm-app .mm-infra-meter i { display: block; height: 100%; background: var(--mm-success); border-radius: 3px; }
#poc-mm-app .mm-infra-meter.warn i { background: var(--mm-warning); }
#poc-mm-app .mm-infra-meter.crit i { background: var(--mm-critical); }
#poc-mm-app .mm-infra-meter.bot i { background: #f97316; }
#poc-mm-app .mm-infra-ext { padding: 14px 16px; }
#poc-mm-app .mm-infra-ext-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; color: #0f172a; margin-bottom: 10px; }
#poc-mm-app .mm-infra-ext-head b { font-weight: 600; }
#poc-mm-app .mm-infra-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
#poc-mm-app .mm-infra-chip { font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 12px; border: 1px solid; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
#poc-mm-app .mm-infra-chip.ok { background: #ebf8ed; border-color: #bae5c0; color: #2c7a37; }
#poc-mm-app .mm-infra-chip.missing { background: #fff0f0; border-color: #fecaca; color: #b91c1c; }
#poc-mm-app .mm-infra-chip.off { background: #f8fafc; border-color: #e2e8f0; color: #64748b; }
#poc-mm-app .mm-infra-ext p { margin: 0; }
#poc-mm-app .mm-infra-ext p code { font-size: 11px; background: #f1f5f9; padding: 0 4px; border-radius: 3px; color: #475569; }

#poc-mm-app .mm-tc-refresh { font-size: 12px; color: #94a3b8; font-variant-numeric: tabular-nums; }
#poc-mm-app .mm-tc-kpis { margin-bottom: 28px; }
#poc-mm-app .mm-tc-table { margin-bottom: 28px; }
#poc-mm-app .mm-tc-table td .mm-cron-hint { display: block; margin-top: 3px; }
#poc-mm-app .mm-tc-table .mm-pill, #poc-mm-app .mm-infra-table .mm-pill { white-space: nowrap; }
#poc-mm-app .mm-tc-path { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#poc-mm-app #tc-body .mm-db-healthy.mm-tc-empty { margin: 0 0 28px !important; }
#poc-mm-app .mm-tc-ranks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 28px; }
#poc-mm-app .mm-tc-rank { background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; padding: 14px 16px; min-width: 0; }
#poc-mm-app .mm-tc-rank-head { display: flex; flex-direction: column; gap: 2px; padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid #f1f5f9; }
#poc-mm-app .mm-tc-rank-head b { font-size: 13px; font-weight: 600; color: #0f172a; }
#poc-mm-app .mm-tc-rank-head .mm-up-hint:empty { display: none; }
#poc-mm-app .mm-tc-rank-row { display: grid; grid-template-columns: minmax(0, 1fr) 56px 44px 62px; align-items: center; gap: 10px; padding: 7px 0; border-bottom: 1px solid #f8fafc; font-size: 12px; }
#poc-mm-app .mm-tc-rank-row:last-child { border-bottom: none; }
#poc-mm-app .mm-tc-rank-path { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#poc-mm-app .mm-tc-rank-path code { font-size: 12px; color: #334155; }
#poc-mm-app .mm-tc-rank-path .mm-pill { font-size: 10px; padding: 1px 6px; margin-right: 2px; }
#poc-mm-app .mm-tc-rank-bar { height: 6px; background: #f1f5f9; border-radius: 3px; overflow: hidden; }
#poc-mm-app .mm-tc-rank-bar i { display: block; height: 100%; background: #1a56db; border-radius: 3px; }
#poc-mm-app .mm-tc-rank-hits { text-align: right; font-weight: 600; color: #0f172a; font-variant-numeric: tabular-nums; }
#poc-mm-app .mm-tc-rank-ms { text-align: right; font-variant-numeric: tabular-nums; }
#poc-mm-app .mm-tc-rank-empty { font-size: 12px; color: #94a3b8; padding: 16px 0 6px; }
#poc-mm-app .mm-tc-split { background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; padding: 16px; margin-bottom: 12px; }
#poc-mm-app .mm-tc-split-bar { display: flex; height: 10px; border-radius: 5px; overflow: hidden; background: #f1f5f9; }
#poc-mm-app .mm-tc-split i.human { background: var(--mm-success); }
#poc-mm-app .mm-tc-split i.bot { background: #f97316; }
#poc-mm-app .mm-tc-split-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 12px; font-size: 13px; color: #0f172a; }
#poc-mm-app .mm-tc-split-legend > span > i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
#poc-mm-app .mm-tc-split-legend .mm-cron-hint { margin-left: 4px; }
#poc-mm-app .mm-tc-note { margin: 0 0 20px; }
#poc-mm-app .mm-tc-rank-row { grid-template-columns: minmax(0, 1fr) 90px 44px 70px; }
#poc-mm-app .mm-tc-admin-row { display: grid; grid-template-columns: minmax(0, 1fr) auto 80px; gap: 12px; padding: 8px 0; border-bottom: 1px solid #f8fafc; font-size: 13px; }
#poc-mm-app .mm-tc-admin-row:last-child { border-bottom: none; }
#poc-mm-app .mm-tc-admin-row b { font-weight: 600; color: #0f172a; }
#poc-mm-app .mm-tc-admin-row span { color: #64748b; font-variant-numeric: tabular-nums; }
#poc-mm-app .mm-tc-admin-row span:last-child { text-align: right; }
@media (max-width: 1000px) { #poc-mm-app .mm-tc-ranks { grid-template-columns: 1fr; } }
@media (max-width: 500px) { #poc-mm-app .mm-tc-rank-row { grid-template-columns: minmax(0, 1fr) 40px 36px 62px; } }
@media (max-width: 900px) { #poc-mm-app .mm-infra-two { grid-template-columns: 1fr; } #poc-mm-app .mm-infra-kv-card { height: auto; } }
@media (max-width: 700px) { #poc-mm-app .mm-tc-path { max-width: 180px; } #poc-mm-app .mm-infra-meter { width: 70px; } }

#poc-mm-app .mm-adv-kpis { margin-bottom: 28px; }
#poc-mm-app .mm-adv-rec { background: #fff; border: 1px solid var(--mm-border); border-left: 4px solid var(--mm-warning); border-radius: 10px; padding: 16px 18px; margin-bottom: 12px; }
#poc-mm-app .mm-adv-rec.crit { border-left-color: var(--mm-critical); }
#poc-mm-app .mm-adv-rec-head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
#poc-mm-app .mm-adv-rec-head b { font-size: 14px; font-weight: 600; color: #0f172a; }
#poc-mm-app .mm-adv-area { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #94a3b8; }
#poc-mm-app .mm-adv-rec p { font-size: 13px; color: #334155; line-height: 1.55; margin: 8px 0 10px; }
#poc-mm-app .mm-adv-values { display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 12px; color: #64748b; }
#poc-mm-app .mm-adv-values b { color: #0f172a; font-weight: 600; margin-left: 4px; }
#poc-mm-app .mm-adv-fix { margin-top: 12px; border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; }
#poc-mm-app .mm-adv-fix-head { display: flex; justify-content: space-between; align-items: center; padding: 6px 12px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #64748b; }
#poc-mm-app .mm-adv-fix-head a { text-transform: none; letter-spacing: 0; font-weight: 600; color: var(--mm-accent, #1a56db); text-decoration: none; }
#poc-mm-app .mm-adv-fix pre { margin: 0; padding: 10px 12px; font-size: 12px; line-height: 1.6; color: #0f172a; background: #fff; white-space: pre-wrap; word-break: break-word; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
#poc-mm-app #mm-advisor-content .mm-db-healthy.mm-adv-empty { margin: 0 0 28px !important; }
#poc-mm-app #mm-advisor-content .mm-section-title + .mm-adv-rec { margin-top: 0; }
#poc-mm-app .mm-adv-rec:last-of-type { margin-bottom: 28px; }
#poc-mm-app .mm-adv-table td { vertical-align: middle; font-size: 13px; }
#poc-mm-app .mm-adv-table td .mm-cron-hint { display: block; margin-top: 3px; font-size: 12px; }
#poc-mm-app .mm-adv-table td:first-child { width: 45%; }
#poc-mm-app .mm-adv-table .mm-pill { white-space: nowrap; }
#poc-mm-app .mm-adv-table tr.mm-adv-group td { background: #f8fafc; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #334155; padding: 9px 14px; }
#poc-mm-app .mm-adv-table tr.mm-adv-group td span { float: right; text-transform: none; letter-spacing: 0; font-weight: 500; color: #94a3b8; }
#poc-mm-app .mm-adv-table tr.mm-adv-group:hover td { background: #f8fafc; }

#poc-mm-app .mm-qf-group { background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; overflow: hidden; margin-bottom: 28px; }
#poc-mm-app .mm-qf-row { display: grid; grid-template-columns: minmax(0, 1fr) 170px 96px; align-items: center; gap: 16px; padding: 14px 18px; border-bottom: 1px solid #f1f5f9; }
#poc-mm-app .mm-qf-row:last-child { border-bottom: none; }
#poc-mm-app .mm-qf-name { font-size: 14px; font-weight: 600; color: #0f172a; display: flex; align-items: center; gap: 8px; }
#poc-mm-app .mm-qf-text { font-size: 12px; color: #64748b; line-height: 1.5; margin-top: 3px; }
#poc-mm-app .mm-qf-note { font-size: 12px; color: #a16207; line-height: 1.5; margin-top: 4px; }
#poc-mm-app .mm-qf-impact { justify-self: start; white-space: nowrap; }
#poc-mm-app .mm-qf-row .mm-btn { justify-content: center; width: 100%; }
#poc-mm-app .mm-qf-row .mm-btn.mm-qf-danger { color: #b91c1c; border-color: #fecaca; background: #fff5f5; }
#poc-mm-app .mm-qf-row .mm-btn.mm-qf-danger:hover { background: #fee2e2; }
#poc-mm-app .mm-qf-row .mm-btn:disabled { opacity: .5; cursor: not-allowed; }
#poc-mm-app .mm-qf-row.is-disabled .mm-qf-name, #poc-mm-app .mm-qf-row.is-disabled .mm-qf-text { opacity: .6; }
#poc-mm-app .mm-qf-link { float: right; font-size: 12px; font-weight: 600; color: var(--mm-accent, #1a56db); text-decoration: none; }
#poc-mm-app #mm-qf-body .mm-reindex-panel { margin: -16px 0 28px; }
@media (max-width: 700px) {
    #poc-mm-app .mm-qf-row { grid-template-columns: minmax(0, 1fr) 90px; }
    #poc-mm-app .mm-qf-impact { grid-column: 1; grid-row: 2; }
    #poc-mm-app .mm-qf-row .mm-btn { grid-column: 2; grid-row: 1 / span 2; }
    #poc-mm-app .mm-adv-table td:first-child { width: auto; min-width: 200px; }
}

#poc-mm-app .mm-mlog-kpis { margin-bottom: 24px; }
#poc-mm-app .mm-mlog-toolbar { flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
#poc-mm-app .mm-mlog-search { padding: 7px 10px; border: 1px solid var(--mm-border); border-radius: 6px; font-size: 13px; min-width: 220px; background: #fff; }
#poc-mm-app .mm-mlog-toolbar .mm-up-hint { margin-left: auto; }
#poc-mm-app .mm-mlog-table td { vertical-align: middle; font-size: 13px; }
#poc-mm-app .mm-mlog-table .mm-pill { white-space: nowrap; }
#poc-mm-app .mm-mlog-table td.mm-mlog-time { white-space: nowrap; font-variant-numeric: tabular-nums; color: #0f172a; width: 110px; }
#poc-mm-app .mm-mlog-table tr.mm-mlog-day td { background: #f8fafc; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #334155; padding: 8px 14px; }
#poc-mm-app .mm-mlog-table tr.mm-mlog-day td span { margin-left: 8px; text-transform: none; letter-spacing: 0; font-weight: 500; color: #94a3b8; }
#poc-mm-app .mm-mlog-table tr.mm-mlog-day:hover td { background: #f8fafc; }
#poc-mm-app .mm-mlog-system { color: #64748b; font-weight: 600; }
#poc-mm-app .mm-mlog-more { text-align: center; margin: 16px 0 4px; }
#poc-mm-app #mm-mlog-list .mm-db-healthy.mm-mlog-empty { margin: 0 !important; }
#poc-mm-app #mm-v-mlog .mm-ph-row a.mm-btn { text-decoration: none; }
@media (max-width: 700px) { #poc-mm-app .mm-mlog-search { min-width: 0; flex: 1 1 100%; } #poc-mm-app .mm-mlog-toolbar .mm-up-hint { margin-left: 0; } }

#poc-mm-app #mm-v-overview .mm-slowq-banner { margin-bottom: 20px; }
#poc-mm-app .mm-ov-hero { display: grid; grid-template-columns: 150px minmax(0, 1fr) minmax(0, 340px); gap: 28px; align-items: center; background: #fff; border: 1px solid var(--mm-border); border-radius: 12px; padding: 24px 28px; margin-bottom: 16px; }
#poc-mm-app .mm-ov-score { position: relative; width: 150px; height: 150px; }
#poc-mm-app .mm-ov-ring { width: 150px; height: 150px; display: block; }
#poc-mm-app .mm-ov-ring circle { fill: none; stroke-width: 10; }
#poc-mm-app .mm-ov-ring .track { stroke: #eef2f6; }
#poc-mm-app .mm-ov-ring .bar { stroke-linecap: round; transition: stroke-dasharray .6s; }
#poc-mm-app .mm-ov-score-in { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
#poc-mm-app .mm-ov-score-in b { font-size: 44px; font-weight: 800; line-height: 1; color: #0f172a; font-variant-numeric: tabular-nums; }
#poc-mm-app .mm-ov-score-in span { font-size: 12px; color: #94a3b8; margin-top: 4px; }
#poc-mm-app .mm-ov-band { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
#poc-mm-app .mm-ov-trend { font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0; padding: 2px 8px; border-radius: 999px; }
#poc-mm-app .mm-ov-trend.up { background: #ebf8ed; color: #2c7a37; }
#poc-mm-app .mm-ov-trend.down { background: #fef2f2; color: #b91c1c; }
#poc-mm-app .mm-ov-verdict h2 { font-size: 22px; line-height: 1.3; font-weight: 700; color: #0f172a; margin: 8px 0 4px; }
#poc-mm-app .mm-ov-verdict p { font-size: 14px; color: #475569; }
#poc-mm-app .mm-ov-math { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 14px; font-size: 12px; color: #64748b; }
#poc-mm-app .mm-ov-math span { background: #f8fafc; border: 1px solid #eef2f6; border-radius: 6px; padding: 3px 8px; white-space: nowrap; }
#poc-mm-app .mm-ov-math span b { color: #0f172a; }
#poc-mm-app .mm-ov-math .mm-ov-math-lbl { background: none; border: 0; padding-left: 0; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 11px; }
#poc-mm-app .mm-ov-math .eq { background: none; border: 0; font-size: 13px; }
#poc-mm-app .mm-ov-scan { font-size: 12px; color: #94a3b8; margin-top: 10px; }
#poc-mm-app .mm-ov-history { border-left: 1px solid #eef2f6; padding-left: 28px; align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
#poc-mm-app .mm-ov-history-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #64748b; margin-bottom: 10px; }
#poc-mm-app .mm-ov-chart { width: 100%; height: 96px; display: block; overflow: visible; }
#poc-mm-app .mm-ov-chart polyline { fill: none; stroke: #1a56db; stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
#poc-mm-app .mm-ov-chart .band { stroke: #e2e8f0; stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }
#poc-mm-app .mm-ov-chart-foot { display: flex; justify-content: space-between; font-size: 11px; color: #94a3b8; margin-top: 6px; }
#poc-mm-app .mm-ov-chart-empty { font-size: 12px; color: #94a3b8; line-height: 1.5; }
#poc-mm-app .mm-ov-sevs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 28px; }
#poc-mm-app .mm-ov-sev { display: flex; align-items: baseline; gap: 10px; text-align: left; background: #fff; border: 1px solid var(--mm-border); border-left: 4px solid; border-radius: 10px; padding: 14px 18px; cursor: pointer; font-family: inherit; transition: box-shadow .15s, border-color .15s; }
#poc-mm-app .mm-ov-sev:hover { box-shadow: 0 2px 8px rgba(15, 23, 42, .06); }
#poc-mm-app .mm-ov-sev b { font-size: 28px; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
#poc-mm-app .mm-ov-sev span { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #64748b; }
#poc-mm-app .mm-ov-sev.critical { border-left-color: #dc2626; } #poc-mm-app .mm-ov-sev.critical b { color: #b91c1c; }
#poc-mm-app .mm-ov-sev.high { border-left-color: #ea580c; } #poc-mm-app .mm-ov-sev.high b { color: #c2410c; }
#poc-mm-app .mm-ov-sev.warning { border-left-color: #eab308; } #poc-mm-app .mm-ov-sev.warning b { color: #a16207; }
#poc-mm-app .mm-ov-sev.info { border-left-color: #06b6d4; } #poc-mm-app .mm-ov-sev.info b { color: #0e7490; }
#poc-mm-app .mm-ov-sev.zero { border-left-color: #e2e8f0; } #poc-mm-app .mm-ov-sev.zero b { color: #cbd5e1; }
#poc-mm-app .mm-ov-sev.on { box-shadow: 0 0 0 2px #1a56db inset; }
#poc-mm-app .mm-ov-areas { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; margin-bottom: 28px; }
#poc-mm-app .mm-ov-area { text-align: left; font-family: inherit; background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; padding: 14px 16px; cursor: pointer; display: flex; flex-direction: column; gap: 4px; transition: box-shadow .15s, transform .15s; }
#poc-mm-app .mm-ov-area:hover { box-shadow: 0 4px 14px rgba(15, 23, 42, .07); transform: translateY(-1px); }
#poc-mm-app .mm-ov-area-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#poc-mm-app .mm-ov-area-head b { font-size: 14px; font-weight: 700; color: #0f172a; }
#poc-mm-app .mm-ov-status { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
#poc-mm-app .mm-ov-area.s-ok .mm-ov-status { background: #ebf8ed; color: #2c7a37; }
#poc-mm-app .mm-ov-area.s-critical .mm-ov-status { background: #fef2f2; color: #b91c1c; }
#poc-mm-app .mm-ov-area.s-high .mm-ov-status { background: #fff7ed; color: #c2410c; }
#poc-mm-app .mm-ov-area.s-warning .mm-ov-status { background: #fefce8; color: #a16207; }
#poc-mm-app .mm-ov-area.s-info .mm-ov-status { background: #ecfeff; color: #0e7490; }
#poc-mm-app .mm-ov-area-sub { font-size: 12px; color: #94a3b8; line-height: 1.4; }
#poc-mm-app .mm-ov-area-foot { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 8px; padding-top: 10px; border-top: 1px solid #f1f5f9; font-size: 12px; }
#poc-mm-app .mm-ov-area-foot i { margin-left: auto; font-style: normal; font-size: 18px; line-height: 1; color: #cbd5e1; }
#poc-mm-app .mm-ov-area:hover .mm-ov-area-foot i { color: #1a56db; }
#poc-mm-app .mm-ov-count { font-weight: 600; }
#poc-mm-app .mm-ov-count.critical { color: #b91c1c; } #poc-mm-app .mm-ov-count.high { color: #c2410c; } #poc-mm-app .mm-ov-count.warning { color: #a16207; } #poc-mm-app .mm-ov-count.info { color: #0e7490; }
#poc-mm-app .mm-ov-count + .mm-ov-count:before { content: '·'; color: #cbd5e1; margin-right: 6px; }
#poc-mm-app .mm-ov-clear { color: #94a3b8; }
#poc-mm-app .mm-section-title.mm-ov-list-title { display: flex !important; align-items: center; gap: 8px; flex-wrap: wrap; }
#poc-mm-app .mm-ov-tabs { margin-left: auto; display: inline-flex; background: #f1f5f9; border-radius: 8px; padding: 3px; }
#poc-mm-app .mm-ov-tabs button { border: 0; background: none; font: 600 12px/1 inherit; color: #64748b; padding: 6px 12px; border-radius: 6px; cursor: pointer; }
#poc-mm-app .mm-ov-tabs button.on { background: #fff; color: #0f172a; box-shadow: 0 1px 2px rgba(15, 23, 42, .08); }
#poc-mm-app .mm-ov-findings { background: #fff; border: 1px solid var(--mm-border); border-radius: 10px; overflow: hidden; margin-bottom: 28px; }
#poc-mm-app .mm-ov-finding { display: grid; grid-template-columns: 78px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 13px 18px; border-bottom: 1px solid #f1f5f9; }
#poc-mm-app .mm-ov-finding:last-child { border-bottom: 0; }
#poc-mm-app .mm-ov-finding:hover { background: #fafbfc; }
#poc-mm-app .mm-ov-finding .mm-det-sev { justify-self: start; }
#poc-mm-app .mm-ov-finding-main a { font-size: 14px; font-weight: 600; color: #0f172a; text-decoration: none; }
#poc-mm-app .mm-ov-finding-main a:hover { color: #1a56db; }
#poc-mm-app .mm-ov-finding-meta { font-size: 12px; color: #94a3b8; margin-top: 3px; }
#poc-mm-app .mm-ov-finding-actions { display: flex; flex-wrap: wrap; gap: 8px; }
#poc-mm-app .mm-ov-finding-actions .mm-btn { white-space: nowrap; }
#poc-mm-app #mm-ov-body .mm-db-healthy.mm-ov-none { margin: 0 0 28px !important; }
@media (max-width: 1200px) {
    #poc-mm-app .mm-ov-hero { grid-template-columns: 150px minmax(0, 1fr); }
    #poc-mm-app .mm-ov-history { grid-column: 1 / -1; border-left: 0; padding-left: 0; border-top: 1px solid #eef2f6; padding-top: 18px; }
}
@media (max-width: 700px) {
    #poc-mm-app .mm-ov-hero { grid-template-columns: 1fr; padding: 20px; justify-items: start; }
    #poc-mm-app .mm-ov-sevs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #poc-mm-app .mm-ov-finding { grid-template-columns: 1fr; gap: 8px; }
    #poc-mm-app .mm-ov-tabs { margin-left: 0; }
}
@media (max-width: 700px) { #poc-mm-app .mm-lastscan { display: none; } }

/* Issue details popup: footer actions. The popup is appended to <body>, outside #poc-mm-app,
   so the card button styles scoped to the app never reached these three buttons. */
#mm-details-modal .mm-modal-footer { flex-wrap: wrap; border-top: 1px solid #e8ecef; background: #f8fafc; border-radius: 0 0 12px 12px; }
#mm-details-modal .mm-modal-footer button {
    display: inline-flex; align-items: center; justify-content: center;
    height: 36px; margin: 0; padding: 0 16px;
    font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1; white-space: nowrap;
    border-radius: 8px; border: 1px solid #d5dbe3; background: #fff; color: #334155;
    box-shadow: none; text-shadow: none; cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
}
#mm-details-modal .mm-modal-footer button:hover { background: #f1f5f9; border-color: #94a3b8; color: #1e293b; }
#mm-details-modal .mm-modal-footer button:focus-visible { outline: 2px solid #3bb64a; outline-offset: 2px; }
#mm-details-modal .mm-modal-footer .poc-btn-solved { background: #3bb64a; border-color: #3bb64a; color: #fff; }
#mm-details-modal .mm-modal-footer .poc-btn-solved:hover { background: #2f9a3d; border-color: #2f9a3d; color: #fff; }
#mm-details-modal .mm-modal-footer .mm-modal-close-btn { order: -1; margin-right: auto; background: transparent; border-color: transparent; color: #64748b; }
#mm-details-modal .mm-modal-footer .mm-modal-close-btn:hover { background: #e9eef4; border-color: transparent; color: #1e293b; }
@media (max-width: 480px) {
    #mm-details-modal .mm-modal-footer button { flex: 1 1 100%; }
    #mm-details-modal .mm-modal-footer .mm-modal-close-btn { order: 3; margin-right: 0; border-color: #d5dbe3; background: #fff; }
}
