.zgmm-app{
  --p:#17324D;--s:#2E75B6;--bg:#F5F7FA;--card:#FFFFFF;--line:#D8DEE8;
  --text:#1F2937;--muted:#667085;--success:#E2F0D9;--warning:#FFF2CC;
  --danger:#FCE4D6;font-family:Arial,sans-serif;color:var(--text)
}
.zgmm-app *{box-sizing:border-box}
.zgmm-hero{background:linear-gradient(135deg,var(--p),var(--s));color:#fff;padding:26px;border-radius:18px}
.zgmm-hero h2{color:#fff;margin:0 0 8px;font-size:clamp(26px,4vw,42px)}
.zgmm-hero p{margin:0}
.zgmm-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.zgmm-controls label{font-weight:700;font-size:13px}
.zgmm-controls select,.zgmm-controls input{
  display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);
  border-radius:10px;background:#fff;color:var(--text)
}
.zgmm-controls input:focus,.zgmm-controls select:focus{outline:3px solid rgba(46,117,182,.18);border-color:var(--s)}

.zgmm-hs-result{
  display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;
  border:1px solid var(--line);border-left:5px solid var(--s);border-radius:14px;
  background:var(--card);padding:15px;margin:0 0 16px
}
.zgmm-hs-result strong{color:var(--p)}
.zgmm-hs-result p{margin:5px 0 0;line-height:1.45}
.zgmm-hs-status{display:flex;align-items:center;gap:8px;min-width:118px}
.zgmm-hs-badge{display:inline-block;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;background:#EEF2F7}
.zgmm-hs-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.zgmm-hs-meta span{background:#F5F7FA;border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:12px}
.zgmm-hs-success{border-left-color:#70AD47;background:#FBFEF9}
.zgmm-hs-success .zgmm-hs-badge{background:var(--success)}
.zgmm-hs-warning{border-left-color:#ED7D31;background:#FFFCF6}
.zgmm-hs-warning .zgmm-hs-badge{background:var(--warning)}
.zgmm-hs-idle{border-left-color:#98A2B3}
.zgmm-hs-loading{border-left-color:var(--s)}
.zgmm-spinner{display:none;width:16px;height:16px;border:2px solid #D8DEE8;border-top-color:var(--s);border-radius:50%}
.zgmm-hs-loading .zgmm-spinner{display:inline-block;animation:zgmm-spin .8s linear infinite}
@keyframes zgmm-spin{to{transform:rotate(360deg)}}

.zgmm-flags{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.zgmm-flag{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px;font-size:13px}
.zgmm-flag input{margin-right:7px}

.zgmm-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}
.zgmm-kpis>div{border:1px solid var(--line);background:var(--card);padding:16px;border-radius:14px}
.zgmm-kpis span{display:block;font-size:12px;color:var(--muted)}
.zgmm-kpis strong{font-size:26px;color:var(--p)}

.zgmm-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px;background:#fff}
.zgmm-table-wrap table{border-collapse:collapse;width:100%;min-width:920px}
.zgmm-table-wrap th{background:var(--p);color:#fff;text-align:left;padding:11px}
.zgmm-table-wrap td{padding:11px;border-bottom:1px solid var(--line);vertical-align:top}
.zgmm-table-wrap tbody tr:hover td{background:#F8FAFC}

.zgmm-badge{display:inline-block;padding:5px 8px;border-radius:999px;font-weight:700;font-size:12px}
.zgmm-high{background:var(--success)}
.zgmm-mid{background:var(--warning)}
.zgmm-review{background:#E7F0FA}
.zgmm-low{background:var(--danger)}
.zgmm-score{font-weight:800;font-size:18px}

.zgmm-methodology{
  margin-top:18px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px
}
.zgmm-methodology-head{
  display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:14px
}
.zgmm-methodology h3{margin:0 0 6px;color:var(--p);font-size:20px}
.zgmm-methodology p{margin:0;color:var(--muted);line-height:1.5}
.zgmm-method-summary{display:flex;flex-direction:column;gap:5px;text-align:right;font-size:13px}
.zgmm-weight-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}
.zgmm-weight-table{width:100%;border-collapse:collapse;min-width:720px}
.zgmm-weight-table th,.zgmm-weight-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}
.zgmm-weight-table thead th{background:#EEF3F8;color:var(--p)}
.zgmm-weight-table tfoot th{background:#F8FAFC}
.zgmm-disclaimer{font-size:12px;color:var(--muted);margin-top:12px}

@media(max-width:800px){
  .zgmm-controls,.zgmm-flags,.zgmm-kpis{grid-template-columns:1fr}
  .zgmm-hero{border-radius:12px}
  .zgmm-hs-result{grid-template-columns:1fr}
  .zgmm-methodology-head{display:block}
  .zgmm-method-summary{text-align:left;margin-top:10px}
}
