
/* =====================================================================
   V55 — Download governance UI
   Quota badge on the report download button + pre-download quota popup.
   ===================================================================== */

/* ---------- badge on the Download PDF button ---------- */
a.analysis-pdf-download{position:relative}
.dl-quota-badge{
  position:absolute;top:-7px;right:-7px;
  min-width:18px;height:18px;padding:0 6px;
  border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#0f9f6e;color:#fff;
  font:800 9px/1 Inter,system-ui,sans-serif;letter-spacing:.02em;
  border:2px solid #fff;
  box-shadow:0 3px 8px rgba(9,60,40,.28);
  pointer-events:none;white-space:nowrap;
}
.dl-quota-badge.is-low{background:#d97706;box-shadow:0 3px 8px rgba(120,70,4,.28)}
.dl-quota-badge.is-out{background:#c02626;box-shadow:0 3px 8px rgba(120,20,20,.28)}
.dl-quota-badge.is-unlimited{background:#1769d2;font-size:11px;box-shadow:0 3px 8px rgba(12,60,140,.28)}
body.dark .dl-quota-badge{border-color:#101a2d}
a.analysis-pdf-download.is-loading{opacity:.72;pointer-events:none}
a.analysis-pdf-download.is-loading .dl-quota-badge{opacity:.5}

/* ---------- pre-download quota popup ---------- */
.dl-quota-overlay{
  position:fixed;inset:0;z-index:10060;
  background:rgba(7,22,45,.6);backdrop-filter:blur(8px);
  display:grid;place-items:center;padding:22px;
}
.dl-quota-modal{
  width:min(520px,94vw);
  background:#fff;border:1px solid #d9e5f3;border-radius:24px;
  box-shadow:0 30px 90px rgba(2,18,44,.3);
  padding:26px 26px 22px;position:relative;
  font-family:Inter,system-ui,sans-serif;color:#0b1930;
}
.dl-quota-close{
  position:absolute;right:16px;top:16px;
  width:34px;height:34px;border:0;border-radius:50%;
  background:#f3f6fa;color:#42566e;cursor:pointer;
}
.dl-quota-tier{
  display:inline-block;padding:5px 10px;border-radius:999px;
  background:#eaf4ff;color:#1168d7;
  font:800 9px/1 Inter,sans-serif;letter-spacing:.11em;text-transform:uppercase;
}
.dl-quota-modal h2{
  margin:12px 0 14px;font:800 21px/1.3 "Plus Jakarta Sans",Inter,sans-serif;color:#0b1930;
}
.dl-quota-meter{
  height:8px;border-radius:999px;background:#e9eef5;overflow:hidden;margin-bottom:16px;
}
.dl-quota-meter i{
  display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,#0f9f6e,#28c58c);
  transition:width .3s ease;
}

.dl-quota-facts{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;
}
.dl-quota-facts.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin:4px 0 18px}
.dl-quota-facts>div{
  border:1px solid #e3eaf3;border-radius:11px;padding:9px 10px;
  background:linear-gradient(180deg,#fbfdff,#f6faff);min-width:0;
}
.dl-quota-facts span{
  display:block;font:800 8px/1.3 Inter,sans-serif;letter-spacing:.05em;
  text-transform:uppercase;color:#76899c;margin-bottom:4px;
}
.dl-quota-facts b{
  display:block;font:800 12px/1.3 "Plus Jakarta Sans",Inter,sans-serif;color:#123253;
  overflow:hidden;text-overflow:ellipsis;
}

.dl-quota-vpn{
  display:flex;gap:9px;align-items:flex-start;
  border:1px solid #f2dfae;background:#fdf8ec;border-radius:12px;
  padding:10px 12px;margin-bottom:14px;
  font:600 11px/1.55 Inter,sans-serif;color:#7a5a10;
}
.dl-quota-vpn i{color:#c78a12;margin-top:2px}

.dl-quota-upsell{
  margin:0 0 16px;font:500 12px/1.6 Inter,sans-serif;color:#53657b;
}

.dl-quota-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.dl-quota-actions .primary,
.dl-quota-actions .secondary,
.dl-quota-actions .ghost{
  border:0;border-radius:12px;padding:11px 16px;cursor:pointer;
  font:800 12px/1 Inter,sans-serif;text-decoration:none;
  display:inline-flex;align-items:center;gap:8px;
}
.dl-quota-actions .primary{background:#126bd7;color:#fff;box-shadow:0 8px 18px rgba(14,80,168,.24)}
.dl-quota-actions .primary:hover{background:#0f5cbb}
.dl-quota-actions .secondary{background:#edf4fc;color:#17416e}
.dl-quota-actions .ghost{background:transparent;color:#7b8ca0}
.dl-quota-actions .ghost:hover{color:#42566e}

.dl-quota-mute{
  display:flex;align-items:center;gap:7px;margin-top:14px;
  font:500 11px/1.4 Inter,sans-serif;color:#8496a8;cursor:pointer;
}
.dl-quota-mute input{accent-color:#126bd7;cursor:pointer}

@media(max-width:560px){
  .dl-quota-facts,.dl-quota-facts.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dl-quota-modal h2{font-size:18px}
  .dl-quota-actions .primary,.dl-quota-actions .secondary{flex:1 1 100%;justify-content:center}
}

body.dark .dl-quota-modal{background:#101a2d;border-color:#24324a;color:#f8fafc}
body.dark .dl-quota-modal h2{color:#f8fafc}
body.dark .dl-quota-facts>div{background:#0d1627;border-color:#24324a}
body.dark .dl-quota-facts b{color:#dbe8f7}
body.dark .dl-quota-close{background:#182741;color:#a8bcd6}
