#dq-xirr{
  --xr-accent: var(--dq-accent, #0066cc);
  --xr-accent-dark: var(--dq-accent-dark, #004e9e);
  --xr-ink: var(--dq-text, #16202b);
  --xr-muted: var(--dq-text-muted, #5d6b7a);
  --xr-line: var(--dq-border, #dde3ea);
  --xr-surface: var(--dq-surface, #ffffff);
  --xr-tint: #f4f7fb;
  --xr-pos: #1a9e7a;
  --xr-neg: #c0392b;
  --xr-radius: 8px;
  color: var(--xr-ink);
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 2rem;
}
#dq-xirr *,#dq-xirr *::before,#dq-xirr *::after{box-sizing:border-box;}

/* ---- Mode tabs ---- */
#dq-xirr .xr-modes{
  display:inline-flex;margin-bottom:1.25rem;
  border:1px solid var(--xr-line);border-radius:8px;overflow:hidden;
}
#dq-xirr .xr-modes button{
  font:inherit;font-size:.875rem;font-weight:600;padding:.55rem 1.15rem;
  border:0;background:#fff;color:var(--xr-muted);cursor:pointer;
  transition:background .15s,color .15s;
}
#dq-xirr .xr-modes button + button{border-left:1px solid var(--xr-line);}
#dq-xirr .xr-modes button.is-on{background:var(--xr-accent);color:#fff;}

#dq-xirr .xr-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:1.75rem;align-items:start;}

#dq-xirr .xr-panel{
  padding:1.5rem;background:var(--xr-surface);
  border:1px solid var(--xr-line);border-radius:var(--xr-radius);
}
#dq-xirr .xr-pane{display:grid;gap:1.2rem;}
#dq-xirr .xr-pane[hidden]{display:none;}
#dq-xirr .xr-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}

#dq-xirr .xr-field label,#dq-xirr .xr-label{
  display:block;font-weight:600;font-size:.9375rem;margin:0 0 .45rem;
}
#dq-xirr .xr-eyebrow{
  display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.09em;color:var(--xr-muted);
}
#dq-xirr .xr-hint{margin:.4rem 0 0;font-size:.8125rem;line-height:1.45;color:var(--xr-muted);}
#dq-xirr .xr-lede{margin:0 0 .3rem;font-size:.8125rem;line-height:1.5;color:var(--xr-muted);}

#dq-xirr input[type=date],#dq-xirr input[type=number],#dq-xirr select{
  width:100%;padding:.6rem .75rem;font:inherit;font-size:.9375rem;color:var(--xr-ink);
  background:#fff;border:1px solid var(--xr-line);border-radius:6px;
  appearance:none;-webkit-appearance:none;
}
#dq-xirr select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235d6b7a' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.2rem;
}
#dq-xirr input:focus-visible,#dq-xirr select:focus-visible,
#dq-xirr button:focus-visible,#dq-xirr summary:focus-visible{
  outline:2px solid var(--xr-accent);outline-offset:2px;
}
#dq-xirr .xr-wrap{position:relative;}
#dq-xirr .xr-wrap input{padding-left:2.1rem;}
#dq-xirr .xr-pre{
  position:absolute;left:.8rem;top:50%;transform:translateY(-50%);
  font-size:.9375rem;color:var(--xr-muted);pointer-events:none;
}

/* ---- Frequency pills ---- */
#dq-xirr .xr-freq{display:flex;flex-wrap:wrap;gap:.4rem;}
#dq-xirr .xr-freq button{
  font:inherit;font-size:.8125rem;font-weight:600;padding:.4rem .8rem;
  border:1px solid var(--xr-line);background:#fff;color:var(--xr-muted);
  border-radius:20px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;
}
#dq-xirr .xr-freq button:hover{border-color:var(--xr-accent);color:var(--xr-accent);}
#dq-xirr .xr-freq button.is-on{
  background:var(--xr-accent);border-color:var(--xr-accent);color:#fff;
}

/* ---- Custom rows ---- */
#dq-xirr .xr-rows{display:grid;gap:.5rem;max-height:340px;overflow-y:auto;padding-right:.2rem;}
#dq-xirr .xr-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:center;}
#dq-xirr .xr-row input{padding:.5rem .6rem;font-size:.875rem;}
#dq-xirr .xr-row input[type=number]{text-align:right;font-variant-numeric:tabular-nums;}
#dq-xirr .xr-row--neg input[type=number]{color:var(--xr-neg);}
#dq-xirr .xr-row--pos input[type=number]{color:var(--xr-pos);}
#dq-xirr .xr-del{
  border:1px solid var(--xr-line);background:#fff;color:var(--xr-muted);
  width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:1rem;line-height:1;
}
#dq-xirr .xr-del:hover{border-color:var(--xr-neg);color:var(--xr-neg);}

#dq-xirr .xr-tools{display:flex;flex-wrap:wrap;gap:.5rem;}
#dq-xirr .xr-btn{
  font:inherit;font-size:.8125rem;font-weight:600;padding:.45rem .85rem;
  border:1px solid var(--xr-line);background:#fff;color:var(--xr-muted);
  border-radius:6px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;
}
#dq-xirr .xr-btn:hover{border-color:var(--xr-accent);color:var(--xr-accent);}
#dq-xirr .xr-btn--go{background:var(--xr-accent);border-color:var(--xr-accent);color:#fff;}
#dq-xirr .xr-btn--go:hover{background:var(--xr-accent-dark);border-color:var(--xr-accent-dark);color:#fff;}

/* ---- Results ---- */
#dq-xirr .xr-out{
  padding:1.5rem;background:var(--xr-tint);border:1px solid var(--xr-line);
  border-top:3px solid var(--xr-accent);border-radius:var(--xr-radius);
}
#dq-xirr .xr-big{
  display:block;font-size:clamp(2.1rem,6vw,3rem);font-weight:700;line-height:1.05;
  letter-spacing:-.02em;color:var(--xr-accent-dark);font-variant-numeric:tabular-nums;
  margin:.25rem 0 .1rem;
}
#dq-xirr .xr-big.is-neg{color:var(--xr-neg);}
#dq-xirr .xr-unit{display:block;font-size:.875rem;color:var(--xr-muted);}
#dq-xirr .xr-verdict{
  margin-top:1rem;padding:.65rem .85rem;border-radius:6px;font-size:.8125rem;
  font-weight:600;background:#fff;border-left:3px solid var(--xr-accent);
}
#dq-xirr .xr-verdict.is-warn{border-left-color:#b8860b;color:#7a5c05;}
#dq-xirr .xr-verdict:empty{display:none;}
#dq-xirr .xr-stats{
  display:grid;gap:.7rem;margin:1.25rem 0 0;padding:1.1rem 0 0;border-top:1px solid var(--xr-line);
}
#dq-xirr .xr-stats div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
#dq-xirr .xr-stats dt{font-size:.875rem;color:var(--xr-muted);}
#dq-xirr .xr-stats dd{
  margin:0;font-size:.9375rem;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;
}
#dq-xirr .xr-plain{
  margin:1.1rem 0 0;padding-top:1.1rem;border-top:1px solid var(--xr-line);
  font-size:.875rem;line-height:1.55;color:var(--xr-muted);
}
#dq-xirr .xr-error{
  margin:1rem 0 0;padding:.7rem .85rem;font-size:.8125rem;color:#8a2020;
  background:#fdf2f2;border-left:3px solid var(--xr-neg);border-radius:3px;
}

/* ---- Chart ---- */
#dq-xirr .xr-chartwrap{
  margin-top:1.5rem;padding:1.25rem 1.5rem 1rem;background:var(--xr-surface);
  border:1px solid var(--xr-line);border-radius:var(--xr-radius);
}
#dq-xirr .xr-charthead{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
  gap:.75rem;margin-bottom:.5rem;
}
#dq-xirr .xr-legend{
  display:flex;gap:1rem;margin:0;padding:0;list-style:none;
  font-size:.75rem;color:var(--xr-muted);
}
#dq-xirr .xr-legend li{display:flex;align-items:center;gap:.35rem;}
#dq-xirr .xr-legend i{width:14px;height:10px;border-radius:2px;display:block;}
#dq-xirr .xr-legend .k-in{background:var(--xr-accent);opacity:.55;}
#dq-xirr .xr-legend .k-gain{background:var(--xr-pos);opacity:.55;}
#dq-xirr .xr-chart svg{display:block;width:100%;height:auto;}

/* ---- Notes ---- */
#dq-xirr .xr-notes{margin-top:1.5rem;display:grid;gap:.5rem;}
#dq-xirr details{border:1px solid var(--xr-line);border-radius:var(--xr-radius);background:var(--xr-surface);}
#dq-xirr summary{padding:.85rem 1.1rem;font-size:.9375rem;font-weight:600;cursor:pointer;list-style:none;}
#dq-xirr summary::-webkit-details-marker{display:none;}
#dq-xirr summary::after{content:"+";float:right;color:var(--xr-accent);font-weight:700;}
#dq-xirr details[open] summary::after{content:"\2013";}
#dq-xirr details p{margin:0 1.1rem 1rem;font-size:.875rem;line-height:1.6;color:var(--xr-muted);}
#dq-xirr details p:first-of-type{margin-top:.25rem;}
#dq-xirr details code{
  background:var(--xr-tint);padding:.1rem .35rem;border-radius:3px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;
}
#dq-xirr .xr-formula{
  padding:.85rem 1rem;background:var(--xr-tint);border-radius:4px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.8125rem;color:var(--xr-ink);overflow-x:auto;
}

@media (max-width:781px){
  #dq-xirr .xr-grid{grid-template-columns:1fr;gap:1.25rem;}
  #dq-xirr .xr-panel,#dq-xirr .xr-out{padding:1.25rem;}
  #dq-xirr .xr-chartwrap{padding:1.1rem 1rem .85rem;}
  #dq-xirr .xr-modes{display:flex;width:100%;}
  #dq-xirr .xr-modes button{flex:1;}
  #dq-xirr .xr-two{grid-template-columns:1fr;}
}
