/* Portal de clientes · CR&A Legal (usa los colores y la tipografía de styles.css) */
.portal-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start}
.portal-card{border:1px solid var(--linea);border-radius:4px;background:var(--blanco);padding:28px;display:flex;flex-direction:column;gap:16px;min-width:0}
.portal-card.alt{background:var(--marfil)}
.portal-card h2{font-size:22px;line-height:30px;font-weight:600}
.portal-card .rule{margin-top:-6px}
.portal form{display:flex;flex-direction:column;gap:14px}
.portal label.f{display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:20px;font-weight:600;color:var(--grafito)}
.portal input:not([type=checkbox]):not([type=radio]),.portal select,.portal textarea{font:inherit;font-size:16px;color:var(--tinta);background:var(--blanco);border:1px solid var(--linea);border-radius:2px;padding:10px 12px;min-height:44px;width:100%;max-width:100%}
.portal textarea{min-height:110px;resize:vertical}
.portal input[type=file]{padding:8px}
.portal .check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:22px}
.portal .check input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--petroleo)}
.portal .pw{position:relative}
.portal .pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--petroleo);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:6px}
.portal .linklike{border:0;background:none;padding:0;color:var(--petroleo);font:inherit;font-size:14px;font-weight:600;text-decoration:underline;cursor:pointer;align-self:flex-start}
.portal .choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.portal .choices .btn{justify-content:flex-start;text-align:left}
.portal .grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px}
.portal .who{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.portal .note{font-size:13px;line-height:20px;color:var(--grafito);border-left:3px solid var(--oro);padding-left:12px}
.portal-list{border:1px solid var(--linea);border-radius:4px;overflow-x:auto;background:var(--blanco)}
.portal-list table{width:100%;border-collapse:collapse;min-width:520px;font-size:14px;line-height:22px}
.portal-list th{text-align:left;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grafito);font-weight:600;background:var(--marfil);padding:10px 14px;border-bottom:1px solid var(--linea)}
.portal-list td{padding:10px 14px;border-bottom:1px solid var(--linea);vertical-align:top}
.portal-list tr:last-child td{border-bottom:0}
.portal .empty{padding:18px;color:var(--grafito);font-size:14px}
.portal .pill{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:2px;background:#E4EEEF;color:var(--petroleo);white-space:nowrap}
[hidden]{display:none!important}