/* Fondos institucionales: lectura clara e interacciones sobre los datos reales. */
.funds-workspace { --funds-accent:#245dac; --funds-soft:#edf4ff; --funds-line:#dce6f1; --funds-ink:#1c304b; --funds-muted:#586b82; font-family:var(--font-ui,system-ui,sans-serif); color:var(--funds-ink); }
.funds-workspace[data-institution="corede"] { --funds-accent:#16746b; --funds-soft:#edf8f5; }
.funds-workspace[data-institution="aneic"] { --funds-accent:#294775; --funds-soft:#eff3fa; }
.funds-workspace svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.funds-workspace [hidden] { display:none !important; }
.funds-workspace :is(button,summary):focus-visible { outline:3px solid #91b5e6; outline-offset:3px; }
.funds-workspace button { font-family:inherit; cursor:pointer; }
.funds-workspace .funds-wallet { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.85fr); gap:0; padding:0; overflow:hidden; border:1px solid var(--funds-line); border-radius:18px; background:#fff; box-shadow:none; }
.funds-balance-area { padding:28px 32px 25px; background:linear-gradient(118deg,var(--funds-soft),#fff 110%); }
.funds-balance-label { display:flex; align-items:center; gap:10px; color:var(--funds-accent); font-size:13px; font-weight:600; }
.funds-wallet-icon { display:grid; place-items:center; width:36px; height:36px; background:#fff; border:1px solid var(--funds-line); border-radius:11px; }
.funds-currency { margin-left:auto; padding:4px 7px; font-size:10px; color:var(--funds-muted); font-weight:600; border:1px solid var(--funds-line); border-radius:6px; background:#ffffff80; }
.funds-balance-value { display:flex; align-items:baseline; gap:10px; margin:13px 0 2px; font-variant-numeric:tabular-nums; }
.funds-balance-value > span { font-size:25px; color:var(--funds-accent); font-weight:500; }
.funds-balance-value strong { font-size:clamp(40px,4vw,54px); letter-spacing:-1.8px; line-height:1.15; font-weight:700; color:var(--funds-ink); overflow-wrap:anywhere; }
.funds-balance-value.is-large strong { font-size:clamp(31px,4vw,46px); letter-spacing:-1px; }
.funds-scope { margin:7px 0 0; color:var(--funds-muted); font-size:12px; line-height:1.5; font-weight:400; }
.funds-minimum { max-width:460px; margin-top:23px; }
.funds-minimum > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:11px; line-height:1.5; color:var(--funds-muted); }
.funds-minimum strong { color:var(--funds-accent); font-weight:600; white-space:nowrap; }
.funds-progress { height:5px; border-radius:5px; background:#dbe5f1; overflow:hidden; margin:9px 0; }
.funds-progress > span { display:block; height:100%; min-width:0; border-radius:inherit; background:var(--funds-accent); transition:width 280ms ease; }
.funds-minimum p { font-size:11px; line-height:1.6; font-weight:400; color:var(--funds-muted); margin:0; }
.funds-payout-area { align-self:center; margin:24px 30px; padding:20px; border:1px solid var(--funds-line); border-radius:14px; background:#fff; }
.funds-payout-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12px; font-weight:600; color:var(--funds-ink); margin-bottom:16px; }
.funds-registered { color:#25694f; background:#eef8f3; font-size:10px; font-weight:500; padding:4px 7px; border-radius:6px; }
.funds-payout-destination { display:flex; align-items:center; gap:11px; }
.funds-method-icon { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:12px; background:var(--funds-soft); color:var(--funds-accent); }
.funds-method-icon.is-yape { background:#f2ecfb; color:#714899; }
.funds-method-icon.is-plin { background:#eaf7f2; color:#227365; }
.funds-payout-destination > div { min-width:0; flex:1; }
.funds-payout-destination strong { font-size:15px; line-height:1.4; color:var(--funds-ink); font-weight:650; overflow-wrap:anywhere; }
.funds-payout-destination p { margin:3px 0 0; font-size:12px; line-height:1.5; color:var(--funds-muted); font-weight:400; }
.funds-workspace .funds-edit-payout { border:0; background:transparent; color:var(--funds-accent); min-height:44px; padding:8px 4px; font-size:12px; font-weight:600; }
.funds-payout-holder { font-size:11px; line-height:1.5; color:var(--funds-muted); margin:12px 0 0; overflow-wrap:anywhere; }
.funds-payout-holder strong { font-weight:500; }
.funds-workspace .funds-actions { display:block; margin-top:17px; }
.funds-workspace .funds-actions button.primary { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:46px; border:1px solid var(--funds-accent); border-radius:9px; padding:11px 12px; font-size:13px; font-weight:600; background:var(--funds-accent); color:#fff; transition:background 150ms,border-color 150ms; }
.funds-workspace .funds-actions button.primary:disabled { background:#eaf0f7; color:#61748d; border-color:#dde6f1; opacity:1; cursor:default; }
.funds-actions > p { margin:9px 0 0; font-size:11px; line-height:1.55; text-align:center; color:var(--funds-muted); font-weight:400; }
.funds-workspace .funds-wallet-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-column:1/-1; border-top:1px solid var(--funds-line); padding:0; margin:0; gap:0; }
.funds-wallet-meta > button { display:flex; align-items:center; text-align:left; gap:12px; border:0; background:#fff; padding:18px 30px; color:var(--funds-ink); min-width:0; transition:background 150ms; }
.funds-wallet-meta > button + button { border-left:1px solid var(--funds-line); }
.funds-wallet-meta > button:hover { background:#f8fbff; }
.funds-stat-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:11px; color:#637ca0; background:#eff4fa; flex-shrink:0; }
.funds-stat-icon.is-paid { background:#edf8f3; color:#2b7b5b; }
.funds-wallet-meta small { display:block; font-size:11px; line-height:1.5; font-weight:500; color:var(--funds-muted); }
.funds-wallet-meta strong { display:block; margin-top:3px; font-size:18px; font-weight:650; font-variant-numeric:tabular-nums; }
.funds-stat-arrow { margin-left:auto; color:#91a5bf; }
.funds-stat-arrow svg { width:17px; height:17px; }
.funds-activity { margin-top:26px; padding:23px 24px 4px; border:1px solid var(--funds-line); background:#fff; border-radius:16px; }
.funds-activity-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:19px; }
.funds-activity-heading h3 { font-size:18px; line-height:1.35; font-weight:650; margin:0; color:var(--funds-ink); }
.funds-activity-heading p { font-size:12px; line-height:1.5; color:var(--funds-muted); margin:5px 0 0; font-weight:400; }
.funds-workspace [data-aula-partner-funds-export] { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; border:1px solid var(--funds-line); border-radius:9px; background:#fff; color:var(--funds-accent); font-size:12px; font-weight:600; padding:10px 13px; flex-shrink:0; }
.funds-workspace [data-aula-partner-funds-export] svg { width:16px; height:16px; }
.funds-workspace [data-aula-partner-funds-export]:disabled { opacity:.5; cursor:default; }
.funds-tabs { display:flex; gap:22px; border-bottom:1px solid var(--funds-line); margin-bottom:18px; }
.funds-tabs button { display:flex; align-items:center; gap:7px; background:transparent; color:var(--funds-muted); border:0; border-bottom:2px solid transparent; margin-bottom:-1px; min-height:44px; font-size:13px; font-weight:600; padding:8px 2px 13px; }
.funds-tabs button[aria-selected="true"] { color:var(--funds-accent); border-bottom-color:var(--funds-accent); }
.funds-tabs button > span { display:grid; place-items:center; min-width:21px; height:20px; padding:0 5px; font-size:10px; border-radius:6px; color:var(--funds-muted); background:#f0f3f7; }
.funds-tabs button[aria-selected="true"] > span { background:var(--funds-soft); color:var(--funds-accent); }
.funds-workspace .funds-period-table { border:0; border-radius:0; margin:0; background:#fff; box-shadow:none; }
.funds-workspace .aula-partner-fund-row { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(70px,.6fr) minmax(100px,.8fr) minmax(170px,1fr); gap:15px; align-items:center; padding:17px 13px; border:0; border-bottom:1px solid #edf1f6; background:#fff; border-radius:0; }
.funds-workspace .aula-partner-fund-row:last-child { border-bottom:0; }
.funds-workspace .aula-partner-fund-row.is-head { background:#f6f8fc; border-radius:8px; border:0; padding-block:10px; }
.funds-workspace .aula-partner-fund-row.is-head > span { color:var(--funds-muted); font-size:10px; letter-spacing:.02em; font-weight:600; text-transform:none; }
.funds-workspace .aula-partner-fund-row > span { color:var(--funds-ink); font-size:13px; line-height:1.5; }
.funds-workspace .aula-partner-fund-row strong { font-size:13px; font-weight:600; color:var(--funds-ink); }
.funds-workspace .aula-partner-fund-row small { display:block; font-size:11px; color:var(--funds-muted); margin-top:3px; font-weight:400; }
.funds-workspace .funds-status { display:inline-flex; align-items:center; gap:5px; max-width:100%; padding:5px 8px; border-radius:7px; background:#edf4fd; color:#295b98; font-size:10px; line-height:1.45; font-weight:600; }
.funds-status::before { content:""; width:5px; height:5px; flex:0 0 5px; border-radius:50%; background:currentColor; }
.funds-workspace .funds-status:is(.is-paid,.is-available,.is-partially_available) { color:#246d55; background:#edf8f2; }
.funds-workspace .funds-status:is(.is-rejected,.is-cancelled) { color:#925166; background:#fbf0f3; }
.funds-workspace .funds-status.is-withdrawn { color:#536780; background:#f0f3f7; }
.funds-withdrawal-toolbar { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:12px; }
.funds-filters { display:flex; flex-wrap:wrap; gap:4px; }
.funds-filters button { background:transparent; border:1px solid transparent; border-radius:7px; padding:8px 11px; min-height:38px; font-size:11px; color:var(--funds-muted); font-weight:500; }
.funds-filters button[aria-pressed="true"] { background:var(--funds-soft); color:var(--funds-accent); border-color:var(--funds-line); }
[data-funds-result-count] { font-size:11px; color:var(--funds-muted); white-space:nowrap; }
.funds-workspace .aula-partner-withdrawal-list { display:block; border:0; border-radius:0; margin:0; background:#fff; }
.funds-withdrawal-item + .funds-withdrawal-item { border-top:1px solid #e8eef5; }
.funds-withdrawal-item summary { display:grid; grid-template-columns:36px minmax(0,1fr) minmax(80px,.35fr) minmax(95px,.3fr) 16px; align-items:center; gap:14px; padding:16px 3px; cursor:pointer; list-style:none; border-radius:8px; transition:background 150ms; }
.funds-withdrawal-item summary::-webkit-details-marker { display:none; }
.funds-withdrawal-item summary:hover { background:#f9fbfe; }
.funds-request-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:11px; background:#eff4fa; color:#58769c; }
.funds-request-icon.is-paid { background:#edf8f3; color:#2b7b5b; }
.funds-request-copy strong { display:block; font-size:13px; font-weight:600; line-height:1.5; color:var(--funds-ink); }
.funds-request-copy small { display:block; font-size:11px; line-height:1.5; color:var(--funds-muted); margin-top:3px; }
.funds-request-amount { font-size:14px; font-weight:650; font-variant-numeric:tabular-nums; color:var(--funds-ink); }
.funds-disclosure { color:#758ba9; display:flex; }
.funds-disclosure svg { width:16px; height:16px; transition:transform 150ms; }
.funds-withdrawal-item details[open] .funds-disclosure svg { transform:rotate(180deg); }
.funds-request-detail { padding:4px 0 20px 50px; }
.funds-request-steps { display:flex; justify-content:space-between; list-style:none; margin:0 0 20px; padding:12px 15px; border-radius:10px; background:#f7f9fc; gap:12px; }
.funds-request-steps li { display:flex; align-items:center; gap:8px; color:#62748b; font-size:11px; line-height:1.4; }
.funds-request-steps li > span { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#e8edf4; flex-shrink:0; font-size:10px; }
.funds-request-steps .is-current { color:var(--funds-accent); font-weight:600; }
.funds-request-steps .is-current > span { background:var(--funds-accent); color:#fff; }
.funds-request-steps .is-complete { color:#286e55; }
.funds-request-steps .is-complete > span { background:#e5f3eb; }
.funds-request-steps .is-closed { color:#925166; }
.funds-request-steps .is-closed > span { background:#faeaf0; }
.funds-request-detail dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin:0; }
.funds-request-detail dt { font-size:11px; font-weight:400; color:var(--funds-muted); margin:0 0 5px; }
.funds-request-detail dd { font-size:12px; line-height:1.5; font-weight:600; color:var(--funds-ink); margin:0; overflow-wrap:anywhere; }
.funds-request-detail dd > span { font-weight:400; }
.funds-request-reference { display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid #e8eef5; margin-top:18px; padding-top:13px; }
.funds-request-reference > span { min-width:0; font-size:10px; line-height:1.5; color:var(--funds-muted); }
.funds-request-reference code { display:block; font:400 11px var(--font-ui,system-ui,sans-serif); color:var(--funds-ink); margin-top:3px; overflow-wrap:anywhere; user-select:all; }
.funds-request-reference button { display:flex; align-items:center; gap:6px; min-height:40px; padding:7px 9px; border:1px solid var(--funds-line); border-radius:8px; font-size:11px; color:var(--funds-accent); background:#fff; flex-shrink:0; }
.funds-request-reference svg { width:15px; height:15px; }
.funds-empty { display:flex; flex-direction:column; align-items:center; text-align:center; padding:23px 16px 28px; }
.funds-empty > span { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; color:var(--funds-accent); background:var(--funds-soft); margin-bottom:12px; }
.funds-empty strong { font-size:14px; font-weight:600; color:var(--funds-ink); }
.funds-empty p { max-width:390px; font-size:12px; line-height:1.6; color:var(--funds-muted); margin:6px 0 0; font-weight:400; }
.funds-feedback { margin:0; font-size:11px; line-height:1.5; color:var(--funds-accent); }
.funds-feedback:not(:empty) { padding:10px 0; border-top:1px solid #edf1f6; }
.funds-sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media (max-width:900px) {
  .funds-workspace .funds-wallet { grid-template-columns:minmax(0,1.1fr) minmax(265px,.9fr); }
  .funds-balance-area { padding:24px; }
  .funds-payout-area { margin:20px; padding:16px; }
  .funds-workspace .aula-partner-fund-row { grid-template-columns:minmax(0,1.1fr) 70px 100px minmax(120px,1fr); gap:10px; }
}
@media (max-width:650px) {
  .funds-workspace .funds-wallet { grid-template-columns:minmax(0,1fr); border-radius:14px; }
  .funds-balance-area { padding:22px 20px 21px; }
  .funds-balance-value strong { font-size:45px; }
  .funds-payout-area { margin:0; padding:20px; border:0; border-top:1px solid var(--funds-line); border-radius:0; }
  .funds-minimum { margin-top:18px; }
  .funds-payout-heading { margin-bottom:13px; }
  .funds-workspace .funds-wallet-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .funds-wallet-meta > button { padding:15px 13px; gap:8px; }
  .funds-stat-icon { width:29px; height:29px; border-radius:9px; }
  .funds-stat-icon svg { width:17px; height:17px; }
  .funds-wallet-meta strong { font-size:16px; }
  .funds-stat-arrow { display:none; }
  .funds-activity { margin-top:18px; padding:18px 15px 3px; border-radius:13px; }
  .funds-activity-heading { align-items:flex-start; gap:10px; margin-bottom:12px; }
  .funds-activity-heading h3 { font-size:16px; }
  .funds-activity-heading p { font-size:11px; }
  .funds-workspace [data-aula-partner-funds-export] { min-width:40px; min-height:40px; padding:9px; }
  .funds-workspace [data-aula-partner-funds-export] > span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .funds-tabs { gap:21px; margin-bottom:12px; }
  .funds-tabs button { font-size:12px; }
  .funds-workspace .aula-partner-fund-row.is-head { display:none; }
  .funds-workspace .aula-partner-fund-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 14px; padding:15px 1px; }
  .funds-workspace .aula-partner-fund-row > span::before { content:attr(data-label); display:block; font-size:10px; color:var(--funds-muted); font-weight:400; margin-bottom:4px; }
  .funds-workspace .aula-partner-fund-row small { display:none; }
  .funds-workspace .aula-partner-fund-row > span:nth-child(3) { grid-column:2; grid-row:1; }
  .funds-workspace .aula-partner-fund-row > span:nth-child(2) { grid-column:1; grid-row:2; }
  .funds-withdrawal-toolbar { flex-wrap:wrap; gap:8px; margin-bottom:6px; }
  .funds-filters { gap:2px; }
  .funds-filters button { font-size:10px; padding:8px; }
  .funds-withdrawal-item summary { grid-template-columns:30px minmax(0,1fr) 16px; gap:7px 10px; padding-block:14px; }
  .funds-request-icon { width:30px; height:30px; grid-row:span 2; }
  .funds-request-copy strong { font-size:12px; }
  .funds-request-copy small { font-size:10px; }
  .funds-request-amount { grid-column:2; font-size:14px; }
  .funds-withdrawal-item summary .funds-status { grid-column:2; grid-row:3; justify-self:start; }
  .funds-disclosure { grid-column:3; grid-row:1; }
  .funds-request-detail { padding:1px 0 17px; }
  .funds-request-steps { padding:11px 9px; gap:8px; }
  .funds-request-steps li { flex-direction:column; text-align:center; font-size:10px; flex:1; }
  .funds-request-detail dl { gap:13px; }
  .funds-request-detail dd { font-size:11px; }
  .funds-request-reference { flex-wrap:wrap; gap:10px; }
}
@media (prefers-reduced-motion:no-preference) {
  .funds-workspace [data-funds-panel]:not([hidden]) { animation:funds-enter 180ms ease-out; }
  @keyframes funds-enter { from { opacity:.4; transform:translateY(3px); } to { opacity:1; transform:translateY(0); } }
}
@media (prefers-reduced-motion:reduce) { .funds-workspace *, .funds-workspace *::after { animation:none !important; transition:none !important; } }
