/* Estilos aislados para administración y suscripciones. */
.pl-platform { color:#24344d; }
.pl-switch { display:flex; gap:8px; padding:12px 16px; max-width:1280px; margin:auto; flex-wrap:wrap; align-items:center; }
.pl-switch span { font-size:12px; font-weight:700; margin-right:auto; color:#64748b; }
.pl-switch button,.pl-button { border:1px solid #cbd5e1; background:white; color:#334155; border-radius:9px; padding:9px 14px; font-size:13px; font-weight:650; cursor:pointer; }
.pl-switch .pl-selected,.pl-primary { background:#1d4ed8; color:white; border-color:#1d4ed8; }
.pl-button:hover { filter:brightness(.96); }
.pl-button:focus-visible,.pl-switch button:focus-visible { outline:3px solid #93c5fd; outline-offset:2px; }
.pl-platform button:disabled,#company-nav button:disabled { opacity:.45; cursor:not-allowed; }
.pl-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.pl-eyebrow { font-size:11px; font-weight:750; letter-spacing:.1em; color:#2563eb; margin:0 0 8px; }
.pl-platform h2 { font-size:26px; font-weight:750; line-height:1.25; margin:0 0 8px; }
.pl-platform h3 { font-size:17px; font-weight:700; margin:0 0 16px; }
.pl-heading p:not(.pl-eyebrow),.pl-platform .pl-footnote { color:#64748b; font-size:13px; }
.pl-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); gap:14px; margin:20px 0 24px; }
.pl-stat { background:white; border:1px solid #e2e8f0; border-radius:14px; padding:20px; }
.pl-stat strong { display:block; font-size:25px; color:#0f172a; overflow-wrap:anywhere; }
.pl-stat span { display:block; font-size:12px; color:#64748b; margin-top:5px; }
.pl-card { background:white; border:1px solid #e2e8f0; border-radius:16px; overflow:hidden; box-shadow:0 2px 4px #0f172a05; }
.pl-padding { padding:24px; }
.pl-filters { display:grid; grid-template-columns:2fr 1fr 1fr; gap:16px; padding:20px; }
.pl-field { display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:650; color:#475569; }
.pl-field input,.pl-field select { width:100%; border:1px solid #cbd5e1; border-radius:8px; background:white; padding:10px 12px; font-size:14px; color:#1e293b; }
.pl-field input:focus,.pl-field select:focus { outline:2px solid #93c5fd; outline-offset:1px; }
.pl-field input:read-only { background:#f1f5f9; }
.pl-table-wrap { overflow-x:auto; }
.pl-table { width:100%; border-collapse:collapse; font-size:13px; text-align:left; }
.pl-table th { color:#64748b; font-size:11px; text-transform:uppercase; background:#f8fafc; padding:14px 18px; white-space:nowrap; }
.pl-table td { border-top:1px solid #edf2f7; padding:16px 18px; vertical-align:middle; }
.pl-table td strong { font-weight:650; }
.pl-table small { display:block; color:#64748b; font-size:11px; margin-top:6px; }
.pl-table .pl-button { white-space:nowrap; }
.pl-badge { display:inline-block; padding:5px 9px; border-radius:30px; font-size:11px; font-weight:700; white-space:nowrap; background:#eef2f6; color:#475569; }
.pl-autorizada,.pl-al_dia { background:#dcfce7; color:#166534; }
.pl-pendiente,.pl-en_gracia { background:#fef3c7; color:#92400e; }
.pl-vencida,.pl-bloqueada,.pl-suspendida { background:#fee2e2; color:#991b1b; }
.pl-programada { background:#dbeafe; color:#1e40af; }
.pl-status-line { display:flex; gap:8px; margin:16px 0; flex-wrap:wrap; }
.pl-empty { padding:30px; text-align:center; color:#64748b; }
.pl-footnote { padding:12px 20px; margin:0; line-height:1.6; }
.pl-notice { padding:24px; background:#fff7ed; border:1px solid #fed7aa; border-radius:12px; color:#9a3412; }
.pl-notice p { margin-top:12px; }
.pl-pay { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:16px 0; padding:16px; background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; }
.pl-pay small { display:block; margin-top:4px; color:#475569; }
.pl-pay .pl-button { flex-shrink:0; }
#pl-banner { max-width:1250px; width:calc(100% - 24px); margin:16px auto 0; padding:14px; background:#fff7ed; color:#9a3412; border-radius:10px; font-size:14px; }
.pl-dialog { width:min(840px,calc(100vw - 24px)); max-height:90vh; border:0; border-radius:18px; padding:28px; box-shadow:0 24px 80px #0f172a40; }
.pl-dialog::backdrop { background:#0f172a99; }
.pl-dialog-close { position:sticky; top:0; display:block; margin-left:auto; z-index:1; }
.pl-section { border-top:1px solid #e2e8f0; padding-top:22px; margin-top:24px; }
.pl-section .pl-footnote { padding:0 0 14px; }
.pl-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:end; }
.pl-form .pl-button { justify-self:start; }
.pl-wide { grid-column:1/-1; font-size:14px; }
.pl-wide small { font-size:12px; color:#64748b; }
.pl-check { font-size:13px; display:flex; gap:8px; align-items:center; }
.pl-inline { display:flex; align-items:end; gap:12px; margin-top:16px; }
.pl-history { list-style:none; padding:0; font-size:13px; }
.pl-history li { padding:12px 0; border-bottom:1px solid #e2e8f0; }
.pl-history small { display:block; overflow-wrap:anywhere; color:#64748b; margin-top:4px; }
@media(max-width:640px) {
 .pl-switch { padding:10px 12px; }
 .pl-switch span { flex-basis:100%; }
 .pl-switch button { flex:1; padding:10px 8px; }
 .pl-heading { align-items:flex-start; flex-wrap:wrap; }
 .pl-inline { flex-wrap:wrap; }
 .pl-table-cards thead { display:none; }
 .pl-table-cards tr { display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; padding:14px 16px; border-top:1px solid #edf2f7; }
 .pl-table-cards td { border:0; padding:0; }
 .pl-table-cards td[data-label]::before { content:attr(data-label); display:block; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#94a3b8; margin-bottom:4px; }
 .pl-table-cards td:first-child,.pl-table-cards .pl-actions,.pl-table-cards .pl-empty { grid-column:1/-1; }
 .pl-table-cards .pl-actions .pl-button { width:100%; }
 .pl-platform h2 { font-size:21px; }
 .pl-stats { grid-template-columns:1fr 1fr; gap:10px; }
 .pl-stat { padding:14px; }
 .pl-stat strong { font-size:20px; }
 .pl-filters,.pl-form { grid-template-columns:1fr; }
 .pl-dialog { padding:18px; }
 .pl-table td,.pl-table th { padding:12px; }
 .pl-padding { padding:16px; }
}

.pl-danger { border-color:#fca5a5; color:#b91c1c; }
.pl-team { margin-top:24px; }
.pl-team .pl-heading { margin-bottom:12px; }
.pl-team .pl-form { margin-top:20px; }
.pl-perms { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; }
.pl-mine { margin-bottom:20px; padding:14px 18px; }
@media print { #tab-superadmin,#tab-suscripcion,#pl-switch,#pl-dialog { display:none !important; } }
