.ta-wrap{
  --ta-ink:#222; --ta-ink-2:#555; --ta-muted:#888; --ta-line:#e3e3e3; --ta-surface:#fff;
  --ta-accent:#0073aa; --ta-blue:#0073aa; --ta-orange:#e67e22; --ta-aqua:#16a085; --ta-violet:#6c5ce7; --ta-red:#c0392b;
  --ta-good:#2e7d32; --ta-good-bg:#e8f5e9; --ta-warning:#f9a825; --ta-warning-bg:#fff8e1;
  --ta-serious:#ef6c00; --ta-serious-bg:#fff3e0; --ta-critical:#c62828; --ta-critical-bg:#ffebee;
  font-family:inherit; color:var(--ta-ink); max-width:1100px; margin:0 auto;
}
.ta-wrap *{box-sizing:border-box;}
.ta-alert{background:#fff3e0; border:1px solid #ffcc80; color:#8a4b00; padding:12px 16px; border-radius:6px; font-size:14px;}

.ta-header{display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom:16px; padding-bottom:14px; border-bottom:1px solid var(--ta-line);}
.ta-header h2{font-size:20px; margin:0 0 4px; font-weight:700;}
.ta-header .ta-meta{color:var(--ta-ink-2); font-size:13px;}

.ta-controls{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:18px;}
.ta-controls select, .ta-controls input[type=date]{
  padding:7px 10px; border:1px solid #cfcfcf; border-radius:6px; font-size:13.5px; background:#fff;
}
.ta-preset-row{display:flex; gap:6px; flex-wrap:wrap;}
.ta-preset-btn{
  padding:6px 12px; border:1px solid #cfcfcf; border-radius:999px; background:#fff; color:var(--ta-ink-2);
  font-size:13px; cursor:pointer;
}
.ta-preset-btn.active{background:var(--ta-accent); border-color:var(--ta-accent); color:#fff;}
.ta-preset-btn:hover:not(.active){background:#f1f1f1;}
.ta-custom-range{display:flex; align-items:center; gap:6px;}
.ta-loading{opacity:.5; pointer-events:none; transition:opacity .15s;}

.ta-kpis{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin-bottom:22px;}
.ta-kpi{background:var(--ta-surface); border:1px solid var(--ta-line); border-radius:10px; padding:12px 14px;}
.ta-kpi .l{font-size:11px; color:var(--ta-muted); text-transform:uppercase; letter-spacing:.03em; margin-bottom:5px; display:flex; align-items:center; gap:5px;}
.ta-info-icon{
  display:inline-flex; align-items:center; justify-content:center; width:14px; height:14px; border-radius:50%;
  border:1px solid var(--ta-muted); color:var(--ta-muted); font-size:9.5px; font-style:italic; font-weight:700;
  font-family:Georgia,serif; text-transform:none; letter-spacing:0; cursor:help; flex:none; line-height:1;
}
.ta-info-icon:hover, .ta-info-icon:focus{border-color:var(--ta-accent); color:var(--ta-accent); outline:none;}
.ta-kpi .v{font-weight:700; font-size:20px; line-height:1.15;}
.ta-kpi .v small{font-size:12px; font-weight:500; color:var(--ta-ink-2);}
.ta-kpi .s{font-size:11.5px; color:var(--ta-ink-2); margin-top:3px;}
.ta-chip{display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:2px 9px; font-size:11px; font-weight:600;}
.ta-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;}
.ta-chip.good{background:var(--ta-good-bg); color:var(--ta-good);}
.ta-chip.warning{background:var(--ta-warning-bg); color:#8a6400;}
.ta-chip.serious{background:var(--ta-serious-bg); color:var(--ta-serious);}
.ta-chip.critical{background:var(--ta-critical-bg); color:var(--ta-critical);}

.ta-section{background:var(--ta-surface); border:1px solid var(--ta-line); border-radius:12px; padding:20px 22px; margin-bottom:18px;}
.ta-section-head{display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:3px; flex-wrap:wrap;}
.ta-section-head h3{font-size:15px; margin:0; font-weight:700;}
.ta-badge{font-size:10.5px; color:var(--ta-muted); border:1px solid var(--ta-line); border-radius:6px; padding:2px 7px; white-space:nowrap;}
.ta-sub{color:var(--ta-ink-2); font-size:12.5px; margin:2px 0 14px;}
.ta-chart-title{font-size:12px; color:var(--ta-ink-2); font-weight:600; margin-bottom:5px;}
.ta-chart-box svg{display:block; width:100%; height:auto; overflow:visible;}
.ta-narrative{font-size:13px; color:var(--ta-ink-2); margin-top:12px; line-height:1.55;}
.ta-narrative strong{color:var(--ta-ink);}
.ta-legend{margin-top:7px; font-size:11.5px; color:var(--ta-ink-2);}
.ta-legend .ln{display:inline-block; width:11px; height:2px; margin-right:5px; vertical-align:middle;}
.ta-legend span.item{margin-right:14px;}

.ta-grid-2{display:grid; gap:16px; grid-template-columns:1fr 1fr;}
@media (max-width:720px){ .ta-grid-2{grid-template-columns:1fr;} }
.ta-finding{padding:10px 13px; border-radius:8px; background:#f7f7f7; border-left:3px solid var(--ta-accent); font-size:12.5px; color:var(--ta-ink-2);}
.ta-finding strong{color:var(--ta-ink);}

.ta-table-wrap{overflow-x:auto; margin-top:4px;}
.ta-table{width:100%; border-collapse:collapse; font-size:12.6px; min-width:620px;}
.ta-table th{text-align:left; color:var(--ta-muted); font-weight:600; font-size:11px; text-transform:uppercase; letter-spacing:.02em; padding:7px 9px; border-bottom:1px solid var(--ta-line); white-space:nowrap;}
.ta-table td{padding:8px 9px; border-bottom:1px solid var(--ta-line); color:var(--ta-ink-2);}
.ta-table td.name{color:var(--ta-ink); font-weight:500;}
.ta-table td.num{text-align:right; font-variant-numeric:tabular-nums;}
.ta-table tr:last-child td{border-bottom:none;}
.ta-table tr.ta-row-link{cursor:pointer;}
.ta-table tr.ta-row-link:hover td{background:#f5f9fb;}
.ta-table a.ta-event-link{color:var(--ta-accent); text-decoration:none; font-weight:600;}
.ta-table a.ta-event-link:hover{text-decoration:underline;}
.ta-note{font-size:11.5px; color:var(--ta-muted); margin-top:8px;}
.ta-pill{display:inline-block; padding:1px 8px; border-radius:999px; font-size:11px; font-weight:600;}
.ta-pill.pos{background:var(--ta-good-bg); color:var(--ta-good);}
.ta-pill.zero{background:#f1f1f1; color:var(--ta-ink-2);}
.ta-pill.neg{background:var(--ta-critical-bg); color:var(--ta-critical);}

.ta-viz-tooltip{
  position:fixed; pointer-events:none; z-index:9999; background:#222; color:#fff;
  border-radius:6px; padding:7px 10px; font-size:12px; line-height:1.5; box-shadow:0 4px 14px rgba(0,0,0,.18);
  opacity:0; transition:opacity .08s; transform:translate(-50%,-100%); margin-top:-10px; max-width:260px;
}
.ta-viz-tooltip.show{opacity:1;}
.ta-viz-tooltip .tt-title{font-weight:700; margin-bottom:3px;}
.ta-viz-tooltip .tt-row{display:flex; justify-content:space-between; gap:10px;}
.ta-viz-tooltip .tt-row .k{opacity:.75;}
.ta-viz-tooltip .tt-desc{opacity:.9; white-space:normal;}
.ta-viz-tooltip .tt-row .v{font-weight:600;}

.ta-methodik{margin-top:12px; font-size:12px;}
.ta-methodik summary{cursor:pointer; color:var(--ta-muted); font-weight:600; list-style:none;}
.ta-methodik summary::-webkit-details-marker{display:none;}
.ta-methodik summary::before{content:"▸ ";}
.ta-methodik[open] summary::before{content:"▾ ";}
.ta-methodik .body{font-size:12px; color:var(--ta-ink-2); margin-top:7px; line-height:1.6;}
