.te-root {min-width:0}
.te-root .te-controls {padding:18px 22px;margin-bottom:14px}
.te-toolbar {display:flex;flex-wrap:wrap;gap:14px;align-items:end}
.te-root label {display:flex;flex-direction:column;gap:7px;font-size:.78rem;font-weight:600;color:var(--text-secondary)}
.te-root input,.te-root select,.te-root textarea {box-sizing:border-box;max-width:100%;border:1px solid var(--border);border-radius:7px;padding:9px 11px;font:inherit;color:var(--text);background:var(--bg-elevated)}
.te-root .te-toolbar select {min-width:115px}
.te-root small {font-size:.7rem;font-weight:400;color:var(--text-muted)}
.te-muted {font-size:.76rem;color:var(--text-muted);line-height:1.5;margin:5px 0}
.te-advanced {margin-top:13px;border-top:1px solid var(--border);padding-top:11px}
.te-root summary {font-size:.8rem;font-weight:600;cursor:pointer}
.te-settings {display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-top:16px}
.te-exclusions {grid-column:1/-1}
.te-summary {display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 2px 16px;color:var(--text-secondary);font-size:.8rem}
.te-summary span+span {border-left:1px solid var(--border);padding-left:18px}
.te-root .te-chart {padding:22px;overflow:hidden}
.te-chart-header {display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.te-chart h3 {font-size:1rem;margin:0}
.te-root .download-bar {flex-wrap:wrap}
.te-canvas {max-height:620px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:9px;padding:10px;background:var(--bg-elevated)}
.te-canvas svg {display:block;max-width:none;font-family:Inter,Arial,sans-serif}
.te-period-label {font-size:14px;font-weight:700;fill:var(--text)}
.te-node-label {font-size:12px;font-weight:500;fill:var(--text)}
.te-node-meta {font-size:10px;fill:var(--text-muted)}
.te-node,.te-link {cursor:pointer}
.te-node:focus {outline:none}
.te-node:hover rect:first-child,.te-node:focus rect:first-child {stroke-width:2.8}
.te-link-visible {opacity:.3;transition:opacity .12s}
.te-link:hover .te-link-visible,.te-link:focus .te-link-visible {opacity:.85}
.te-link-hit {pointer-events:stroke}
.te-link.te-dim .te-link-visible {opacity:.045}
.te-legend {font-size:.7rem;color:var(--text-muted);line-height:1.6;margin:12px 0}
.te-inspector {border-left:3px solid var(--accent);background:var(--bg-elevated);padding:12px 15px;border-radius:0 7px 7px 0;font-size:.78rem;line-height:1.65;overflow-wrap:anywhere;max-height:210px;overflow:auto}
.te-inspector p {margin:5px 0}
.te-root .te-ledger {padding:16px 20px;margin-top:14px}
.te-table-tabs {display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 8px}
.te-table-tabs [aria-pressed="true"] {background:var(--accent);color:white;border-color:var(--accent)}
.te-table-scroll {max-height:390px;overflow:auto}
.te-table-scroll th {white-space:nowrap;font-size:.66rem}
.te-table-scroll td {font-size:.74rem;min-width:90px;max-width:320px;overflow-wrap:anywhere;vertical-align:top}
.te-warning {padding:10px 13px;margin:8px 0 14px;border-radius:7px;background:#b8822510;color:var(--text-secondary)}
.te-warning p {font-size:.76rem;line-height:1.6;margin:8px 0}
.te-error {font-size:.84rem;display:flex;flex-wrap:wrap;gap:15px;align-items:center}
.te-root button:disabled {opacity:.5;cursor:not-allowed}
@media(max-width:650px) {.te-root .te-controls,.te-root .te-chart {padding:14px}.te-toolbar label {flex:1;min-width:120px}.te-canvas {max-height:500px}.te-summary {font-size:.73rem}.te-summary span+span {border-left:0;padding-left:0}.te-settings {grid-template-columns:1fr 1fr}.te-settings label:first-child,.te-exclusions {grid-column:1/-1}}
