:root{
  --uaa-bg: #f6f8fb;
  --uaa-card: #ffffff;
  --uaa-border: #e2e8f0;
  --uaa-text: #0f172a;
  --uaa-muted: #475569;
  --uaa-accent: #2271b1;
  --uaa-accent2: #0ea5e9;
  --uaa-warn-bg: #fff7e5;
  --uaa-warn-border: #dba617;
  --uaa-err-bg: #ffe7e7;
  --uaa-err-border: #d63638;
  --uaa-bp-green: #16a34a;
  --uaa-bp-yellow: #d97706;
  --uaa-bp-red: #dc2626;
  --uaa-radius: 14px;
}

.uaa-viewer{max-width:1200px;margin:0 auto;padding:0 12px;}
.uaa-card{background:var(--uaa-card);border:1px solid var(--uaa-border);border-radius:var(--uaa-radius);padding:18px;margin:16px 0;box-shadow:0 8px 18px rgba(2,6,23,.06);}
.uaa-box{background:var(--uaa-bg);border:1px solid var(--uaa-border);border-radius:12px;padding:12px;margin:12px 0;}
.uaa-error{background:var(--uaa-err-bg);border-color:var(--uaa-err-border);}
.uaa-warning{background:var(--uaa-warn-bg);border-color:var(--uaa-warn-border);}
.uaa-success{background:#eafaf0;border-color:#16a34a;color:#14532d;}
.uaa-muted{color:var(--uaa-muted);font-size:13px;margin-top:10px;}
.uaa-btn{background:var(--uaa-accent);color:#fff;border:0;border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:600;}
.uaa-btn:hover{filter:brightness(.95);} 
.uaa-btn.uaa-btn-secondary{background:#0f172a;}
.uaa-btn.uaa-btn-ghost{background:transparent;color:var(--uaa-accent);border:1px solid var(--uaa-border);} 

.uaa-report{margin-top:8px;}

.uaa-report-header{
  border-radius:var(--uaa-radius);
  padding:16px;
  color:#fff;
  background:linear-gradient(135deg, var(--uaa-accent) 0%, var(--uaa-accent2) 55%, #22c55e 110%);
  box-shadow:0 10px 24px rgba(2,6,23,.16);
}
.uaa-report-header h3{margin:0 0 6px 0;color:#fff;font-size:18px;}


/* Force readable text on light surfaces rendered inside the blue report header */
.uaa-report-header .uaa-box,
.uaa-report-header .uaa-box summary,
.uaa-report-header .uaa-box strong,
.uaa-report-header .uaa-box em,
.uaa-report-header .uaa-box li,
.uaa-report-header .uaa-box p,
.uaa-report-header .uaa-box div,
.uaa-report-header .uaa-box span{color:var(--uaa-text);}
.uaa-report-header .uaa-box{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.55);}
.uaa-report-header .uaa-box .uaa-muted{color:#334155;}
.uaa-report-header .uaa-warning,
.uaa-report-header .uaa-warning strong,
.uaa-report-header .uaa-warning em{color:#3f2f00;}
.uaa-report-header .uaa-error,
.uaa-report-header .uaa-error strong,
.uaa-report-header .uaa-error em{color:#5f2120;}

/* Keep export/share controls readable on the gradient header regardless of theme CSS */
.uaa-report-header a.uaa-btn,
.uaa-report-header button.uaa-btn{color:#fff !important;text-decoration:none;}
.uaa-report-header .uaa-btn .dashicons{color:inherit;}
.uaa-report-header .uaa-btn.uaa-btn-ghost{background:rgba(15,23,42,.18);border-color:rgba(255,255,255,.72);}
.uaa-report-header .uaa-btn.uaa-btn-ghost:hover,
.uaa-report-header .uaa-btn.uaa-btn-ghost:focus{background:rgba(15,23,42,.28);color:#fff !important;}
.uaa-report-header .uaa-exportbar-right,
.uaa-report-header .uaa-exportbar-right .uaa-muted,
.uaa-report-header .uaa-exportbar-right div{color:rgba(255,255,255,.96) !important;}

/* Overall grade badge */
.uaa-grade{margin-top:10px;display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);border-radius:16px;}
.uaa-grade-letter{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:1000;letter-spacing:-1px;background:#fff;box-shadow:0 8px 18px rgba(2,6,23,.12);} 
.uaa-grade-letter.uaa-grade-a{color:var(--uaa-bp-green);} 
.uaa-grade-letter.uaa-grade-b{color:var(--uaa-bp-yellow);} 
.uaa-grade-letter.uaa-grade-c{color:#eab308;} 
.uaa-grade-letter.uaa-grade-f{color:var(--uaa-bp-red);} 
.uaa-grade-title{font-weight:900;color:#fff;line-height:1.2;}
.uaa-grade-sub{font-size:12px;opacity:.92;}
.uaa-grade-stats{font-size:12px;opacity:.95;margin-top:2px;}
.uaa-report-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.uaa-pill{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 10px;font-size:12px;}
.uaa-pill strong{font-weight:700;}
.uaa-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap;}

.uaa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:12px 0;}
.uaa-tile{border:1px solid var(--uaa-border);border-radius:14px;padding:12px;background:#fff;box-shadow:0 2px 10px rgba(2,6,23,.04);overflow:hidden;} 
.uaa-tile-title{font-weight:800;margin-bottom:8px;color:var(--uaa-text);display:flex;align-items:center;gap:8px;min-width:0;}
.uaa-model-text{min-width:0;overflow-wrap:anywhere;word-break:break-word;line-height:1.15;}
.uaa-list{margin:0 0 0 18px;}
.uaa-list li{margin:4px 0;}

.uaa-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--uaa-border);border-radius:14px;overflow:hidden;}
.uaa-table th,.uaa-table td{padding:10px;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:top;}
.uaa-table th{background:var(--uaa-bg);color:#0f172a;font-weight:700;}
.uaa-table tr:last-child td{border-bottom:none;}

.uaa-raw pre{background:#0b1020;color:#e6edf3;border-radius:14px;padding:12px;overflow:auto;}

/* Accordion sections */
.uaa-section{border:1px solid var(--uaa-border);border-radius:16px;background:#fff;margin:12px 0;overflow:hidden;box-shadow:0 3px 14px rgba(2,6,23,.05);} 
.uaa-section > summary{list-style:none;cursor:pointer;padding:14px 14px;display:flex;align-items:center;gap:10px;background:linear-gradient(180deg, #ffffff, #f8fafc);} 
.uaa-section > summary::-webkit-details-marker{display:none;}
.uaa-section[open] > summary{background:linear-gradient(180deg, #eef6ff, #ffffff);} 
.uaa-section-title{font-weight:900;color:var(--uaa-text);display:flex;align-items:center;gap:10px;}
.uaa-section-sub{margin-left:auto;display:flex;gap:8px;align-items:center;}
.uaa-count{background:#0f172a;color:#fff;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;}
.uaa-chevron{margin-left:6px;color:#64748b;}
.uaa-section-body{padding:0 14px 14px 14px;}

.uaa-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:#0ea5e91a;border:1px solid #0ea5e933;}
.uaa-icon .dashicons{font-size:18px;width:18px;height:18px;}

/* Item accordions inside a section */
.uaa-item{border:1px solid var(--uaa-border);border-radius:14px;background:#fff;margin:10px 0;overflow:hidden;}
.uaa-item > summary{list-style:none;cursor:pointer;padding:12px 12px;display:flex;gap:10px;align-items:center;background:#fff;}
.uaa-item > summary::-webkit-details-marker{display:none;}
.uaa-item[open] > summary{background:var(--uaa-bg);} 
.uaa-item-title{font-weight:800;color:var(--uaa-text);}
.uaa-device-title{display:flex;align-items:center;gap:10px;}
.uaa-tags{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.uaa-tag{font-size:11px;border-radius:999px;border:1px solid var(--uaa-border);background:#fff;padding:2px 8px;color:var(--uaa-muted);} 

/* Device thumbnails */
.uaa-device-thumb{width:48px;height:48px;border-radius:14px;border:1px solid var(--uaa-border);background:var(--uaa-bg);box-sizing:border-box;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;}
.uaa-device-thumb img{width:100%;height:100%;object-fit:contain;display:block;padding:6px;box-sizing:border-box;}
.uaa-device-thumb .dashicons{font-size:22px;width:22px;height:22px;color:#64748b;}
.uaa-device-thumb--placeholder{padding:0;}

/* Best practices badges */
.uaa-bp-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;border:1px solid rgba(2,6,23,.10);background:#fff;}
.uaa-bp-badge .dashicons{font-size:16px;width:16px;height:16px;}
.uaa-bp-green{color:var(--uaa-bp-green);background:rgba(22,163,74,.08);border-color:rgba(22,163,74,.25);} 
.uaa-bp-yellow{color:var(--uaa-bp-yellow);background:rgba(217,119,6,.10);border-color:rgba(217,119,6,.26);} 
.uaa-bp-red{color:var(--uaa-bp-red);background:rgba(220,38,38,.10);border-color:rgba(220,38,38,.26);} 

.uaa-tag.uaa-tag-bp{font-weight:800;}
.uaa-tag.uaa-bp-green{color:var(--uaa-bp-green);background:rgba(22,163,74,.08);border-color:rgba(22,163,74,.25);} 
.uaa-tag.uaa-bp-yellow{color:var(--uaa-bp-yellow);background:rgba(217,119,6,.10);border-color:rgba(217,119,6,.26);} 
.uaa-tag.uaa-bp-red{color:var(--uaa-bp-red);background:rgba(220,38,38,.10);border-color:rgba(220,38,38,.26);} 

.uaa-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size:12px;color:#0f172a;}

.uaa-kv{margin-top:10px;}
.uaa-kv .uaa-table td{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size:12px;}



/* Export / share bar */
.uaa-exportbar{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:10px 12px;}
.uaa-exportbar .uaa-btn{padding:8px 10px;border-radius:12px;}
.uaa-exportbar-left{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#fff;}
.uaa-exportbar-left strong{color:#fff;}
.uaa-exportbar-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.uaa-btn.is-copied{filter:brightness(1.02);}

/* Audience selector */
.uaa-audience{margin-top:12px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:10px 12px;}
.uaa-audience-label{color:#fff;font-weight:800;margin-bottom:6px;}
.uaa-audience-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px;}
.uaa-aud-btn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.20);color:#fff;border-radius:999px;padding:6px 10px;font-weight:900;cursor:pointer;}
.uaa-aud-btn.is-active{background:#fff;color:#0f172a;border-color:#fff;}
.uaa-audience .uaa-muted{color:rgba(255,255,255,.92);margin-top:0;}

/* Punch list */
.uaa-punch{margin-top:12px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:12px;}
.uaa-punch-title{display:flex;align-items:center;gap:8px;color:#fff;font-weight:1000;margin-bottom:10px;}
.uaa-punch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;}
.uaa-punch-item{background:#fff;border:1px solid var(--uaa-border);border-radius:14px;padding:10px;box-shadow:0 2px 10px rgba(2,6,23,.05);}
.uaa-punch-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;}
.uaa-punch-item-title{font-weight:900;color:var(--uaa-text);margin-bottom:4px;}
.uaa-punch-jump{font-weight:900;color:var(--uaa-accent);text-decoration:none;border:1px solid var(--uaa-border);border-radius:999px;padding:4px 10px;background:var(--uaa-bg);}
.uaa-punch-jump:hover{filter:brightness(.98);}
.uaa-fix{margin-top:8px;}
.uaa-fix-text{display:none;background:var(--uaa-bg);border:1px solid var(--uaa-border);border-radius:12px;padding:8px;font-size:12px;color:var(--uaa-text);}

/* Framework comparison chips (header) */
.uaa-fw-compare-title{font-weight:900;margin:10px 0 8px 0;color:#fff;}
.uaa-fw-compare-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.uaa-fw-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-size:12px;}
.uaa-fw-chip:hover{background:rgba(255,255,255,.22);}
.uaa-fw-chip-ic{opacity:.95;}
.uaa-fw-chip-name{font-weight:800;}
.uaa-fw-chip-grade{font-weight:1000;background:#fff;border-radius:999px;padding:2px 8px;}
.uaa-fw-chip-grade.uaa-grade-a{color:var(--uaa-bp-green);} 
.uaa-fw-chip-grade.uaa-grade-b{color:var(--uaa-bp-yellow);} 
.uaa-fw-chip-grade.uaa-grade-c{color:#eab308;} 
.uaa-fw-chip-grade.uaa-grade-f{color:var(--uaa-bp-red);} 
.uaa-fw-chip-score{opacity:.92;}


/* Pro review CTA + modal */
.uaa-pro-cta{margin-top:12px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:12px;}
.uaa-pro-cta-title{font-weight:900;color:#fff;}
.uaa-pro-cta-sub{font-size:12px;color:rgba(255,255,255,.92);margin-top:4px;max-width:760px;}
.uaa-pro-cta .uaa-btn{white-space:nowrap;}
.uaa-pro-cta-bottom{margin:14px 0 0 0;background:#0f172a;border-color:#0f172a;}
.uaa-pro-cta-bottom .uaa-pro-cta-title,.uaa-pro-cta-bottom .uaa-pro-cta-sub{color:#fff;}

body.uaa-modal-open{overflow:hidden;}
.uaa-modal[hidden]{display:none !important;}
.uaa-modal{position:fixed;inset:0;z-index:99999;}
.uaa-modal-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.66);}
.uaa-modal-dialog{position:relative;max-width:680px;margin:6vh auto 24px auto;background:#fff;color:var(--uaa-text);border-radius:18px;border:1px solid var(--uaa-border);box-shadow:0 30px 80px rgba(2,6,23,.36);padding:18px;z-index:1;}
.uaa-modal-dialog h3{margin:0 0 6px 0;color:var(--uaa-text);}
.uaa-modal-dialog .uaa-muted{color:var(--uaa-muted);}
.uaa-modal-close{position:absolute;top:12px;right:12px;border:0;background:transparent;color:#475569;font-size:28px;line-height:1;cursor:pointer;}
.uaa-pro-form label{display:block;color:var(--uaa-text);font-weight:700;}
.uaa-pro-form label span{display:block;margin-bottom:6px;}
.uaa-pro-form input,.uaa-pro-form textarea{width:100%;border:1px solid var(--uaa-border);border-radius:12px;padding:10px 12px;background:#fff;color:var(--uaa-text);box-sizing:border-box;}
.uaa-pro-form textarea{resize:vertical;}
.uaa-pro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0;}
.uaa-pro-link{margin:12px 0;padding:10px 12px;border:1px solid var(--uaa-border);border-radius:12px;background:var(--uaa-bg);overflow-wrap:anywhere;}
.uaa-pro-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px;}
.uaa-modal-dialog .uaa-btn.uaa-btn-ghost{color:var(--uaa-accent);background:#fff;border-color:var(--uaa-border);}
@media (max-width: 782px){
  .uaa-pro-grid{grid-template-columns:1fr;}
  .uaa-modal-dialog{margin:3vh 12px 12px 12px;padding:16px;}
}
