/* === Scoped styles for the widget === */
#eti-app{
  --bg:#ffffff; --card:#ffffff; --muted:#556070; --text:#0f172a; --brand:#2563eb;
  --chip:#f3f4f6; --chip-b:#e5e7eb; --border:#e5e7eb;
  color:var(--text);
  font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
}
#eti-app *{box-sizing:border-box}
#eti-app header{display:flex;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff;z-index:1}
#eti-app header img{width:120px}
#eti-app header h1{margin:0;font-size:1.2rem;font-weight:700;letter-spacing:.2px}
#eti-app main{padding:18px 24px;width:100%;max-width:100%}

#eti-app .card{background:var(--card);border:1px solid var(--border);border-radius:12px}
#eti-app .card .body{padding:14px}

#eti-app .seg{display:flex;gap:8px;flex-wrap:wrap}
#eti-app .seg button{border:1px solid var(--border);background:#fff;color:#0f172a;padding:8px 12px;border-radius:10px;cursor:pointer}
#eti-app .seg button.active{background:#0f172a;color:#fff;border-color:#0f172a}

#eti-app .search{position:relative;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#eti-app .search input{flex:1;min-width:260px;width:100%;background:#fff;border:1px solid var(--border);color:#0f172a;padding:10px 12px 10px 14px;border-radius:10px}
#eti-app .search input:disabled{opacity:.5;cursor:not-allowed}
#eti-app .search .suggest{position:absolute;left:0;right:0;top:100%;margin-top:6px;background:#fff;border:1px solid var(--border);border-radius:10px;max-height:260px;overflow:auto;z-index:30}
#eti-app .search .suggest div{padding:8px 12px;cursor:pointer}
#eti-app .search .suggest div:hover{background:#f8fafc}

#eti-app .chips{display:flex;flex-wrap:wrap;gap:8px}
#eti-app .chip{display:inline-flex;align-items:center;gap:8px;background:var(--chip);border:1px solid var(--chip-b);padding:6px 10px;border-radius:999px}
#eti-app .chip b{font-weight:600}
#eti-app .chip button{all:unset;cursor:pointer;opacity:.75}

#eti-app .muted{color:var(--muted)}
#eti-app .section-title{margin:0 0 8px;font-size:1rem;font-weight:700}
#eti-app .row{display:flex;flex-direction:column;gap:12px}

#eti-app .slider{margin:6px 0 4px}
#eti-app #yearLabel{font-size:.95rem}

/* table */
#eti-app .table-wrap{overflow:auto;max-height:60vh;border:1px solid var(--border);border-radius:10px}
#eti-app table{width:100%;border-collapse:separate;border-spacing:0}
#eti-app thead th{position:sticky;top:0;background:#f8fafc}
#eti-app th,#eti-app td{border-bottom:1px solid var(--border);padding:8px 10px;white-space:nowrap}
#eti-app tbody tr:hover{background:#f9fafb}

#eti-app .toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}
#eti-app .toggles{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#eti-app .toggle{display:inline-flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:#fff;cursor:pointer;color:#0f172a;}
#eti-app .toggle input{width:18px;height:18px}
#eti-app .toggle input:disabled{opacity:.5;cursor:not-allowed}
#eti-app button.toggle:disabled{opacity:.5;cursor:not-allowed}

#eti-app th.num, #eti-app td.num { text-align: right; }
#eti-app td.num { font-variant-numeric: tabular-nums; }
#eti-app .proj { font-style: italic; color:#b35c00; }

#eti-app canvas{width:100%!important;max-height:480px}
