.visa-controls{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}.visa-controls label{display:grid;gap:8px;flex:1 1 170px;font-weight:600}.visa-controls select,.visa-controls input,.visa-controls textarea{width:100%;min-height:44px;padding:10px;border:1px solid var(--line,#ccd7da);border-radius:7px;background:white;color:var(--navy);font:inherit}.visa-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.visa-metric{padding:20px;border:1px solid var(--line);border-radius:12px;background:#f8faf9;display:grid;gap:7px}.visa-metric strong{font-size:30px;color:var(--navy);line-height:1.15}.visa-metric span{font-size:14px}.visa-explanation{margin:20px 0}.visa-explanation summary{cursor:pointer;font-weight:700;color:var(--navy);min-height:44px}.visa-explanation p{line-height:1.6;max-width:850px}.visa-unknown-grants{margin-top:24px}.visa-unknown-grants summary{font-weight:700;cursor:pointer;padding:12px}.visa-import textarea{width:100%;min-height:160px;resize:vertical;padding:12px;font:inherit}.visa-import table{width:100%;border-collapse:collapse;font-size:14px}.visa-import td,.visa-import th{text-align:left;border-bottom:1px solid var(--line);padding:10px;vertical-align:top;overflow-wrap:anywhere}.visa-import .table-scroll{overflow:auto;max-height:450px}.visa-import details{padding:12px;margin:12px 0;border:1px solid var(--line);border-radius:8px}.visa-import button{margin:6px 4px 6px 0}.visa-import label{display:grid;gap:7px}.visa-import input[type=checkbox]{width:18px;height:18px}.visa-review-row{display:grid;gap:10px;padding:14px;border-bottom:1px solid var(--line)}.visa-history-detail{font-size:14px;overflow-wrap:anywhere}.visa-record-unknown .visa-record-status{background:#eef1f3;color:#52616c}.admin-visit-group-changed{border-top:4px solid #348b8a}[hidden]{display:none!important}@media(max-width:600px){.visa-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visa-metric{padding:14px}.visa-metric strong{font-size:24px}.visa-controls{display:grid;grid-template-columns:1fr}.visa-import table{min-width:540px}}
.visa-metric{min-width:0;align-content:start}.visa-metric strong{overflow-wrap:anywhere}.visa-metric strong.visa-metric-empty{font-size:18px;line-height:1.35}.visa-metric-note{border-top:1px solid var(--line);padding-top:8px;line-height:1.5}.visa-explanation summary{display:flex;align-items:center;gap:8px;padding:8px 0}.visa-explanation summary:before{content:'+';font-size:20px}.visa-explanation[open] summary:before{content:'−'}.visa-explanation summary:focus-visible,.visa-controls select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}

/* Public dashboard hierarchy; data and verification remain unchanged. */
body[data-route="estado-visas"] .visa-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
body[data-route="estado-visas"] .visa-dashboard-heading h2{margin:0}
body[data-route="estado-visas"] .visa-update-link{margin:0;min-height:48px;white-space:normal}
body[data-route="estado-visas"] .visa-official-section{background:var(--navy);color:#fff;border-radius:14px;padding:26px 28px;margin-top:32px}
body[data-route="estado-visas"] .visa-official-section h2{color:inherit;font-size:28px;margin:0 0 12px}
body[data-route="estado-visas"] .visa-official-section p{color:inherit;max-width:75ch;margin:0 0 14px}
body[data-route="estado-visas"] .visa-caps-source{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#fff;text-decoration:underline;text-underline-offset:4px;font-weight:700}
body[data-route="estado-visas"] .visa-explanation{border-bottom:1px solid var(--line);padding-bottom:12px;margin:16px 0 28px;font-size:14px}
body[data-route="estado-visas"] :is(.visa-update-link,.visa-caps-source):focus-visible{outline:3px solid var(--orange);outline-offset:4px}
body[data-route="estado-visas"] #actualizar-mi-estado{scroll-margin-top:120px}
@media(max-width:600px){
 body[data-route="estado-visas"] .visa-dashboard-heading{align-items:flex-start;flex-direction:column;gap:12px}
 body[data-route="estado-visas"] .visa-update-link{width:100%;justify-content:center;text-align:center}
 body[data-route="estado-visas"] .visa-official-section{padding:24px 20px}
}
