/* Panel del tenant (T4) · prefijo .tp- · v0.4.0 */
* { box-sizing: border-box; }
.tp-wrap { max-width: 960px; margin: 0 auto; padding: 20px 16px 40px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; color: #0f172a; }
.tp-h1 { font-size: 22px; font-weight: 800; letter-spacing: -.02em; margin-bottom: 4px; }
.tp-sub { font-size: 13px; color: #64748b; margin-bottom: 18px; }

.tp-login { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 22px; max-width: 460px; }
.tp-login input { width: 100%; padding: 11px 14px; border: 1.5px solid #e2e8f0; border-radius: 10px; font-size: 14px; font-family: ui-monospace, monospace; margin: 10px 0; }
.tp-btn { padding: 10px 20px; border: none; border-radius: 10px; background: linear-gradient(to bottom,#60a5fa,#2563eb); color:#fff; font-size:14px; font-weight:700; cursor:pointer; font-family: inherit; }
.tp-btn:disabled { opacity:.5; cursor:wait; }
.tp-btn-sec { background:#fff; border:1.5px solid #e2e8f0; color:#0f172a; }

.tp-app { display: none; }
.tp-app.on { display: block; }
.tp-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.tp-who { font-size:14px; font-weight:700; }
.tp-tabs { display:flex; gap:6px; border-bottom:1px solid #e2e8f0; margin-bottom:18px; flex-wrap:wrap; }
.tp-tab { padding:9px 16px; border:none; background:none; font-size:14px; font-weight:600; color:#64748b; cursor:pointer; border-bottom:2px solid transparent; font-family:inherit; }
.tp-tab.active { color:#2563eb; border-bottom-color:#2563eb; }
.tp-panel { display:none; }
.tp-panel.active { display:block; }

.tp-card { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:14px 16px; margin-bottom:10px; }
.tp-model { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.tp-model b { font-size:14px; } .tp-model small { color:#94a3b8; }
.tp-lic { font-size:11px; font-weight:700; padding:2px 8px; border-radius:10px; }
.tp-lic.tenant { background:#dcfce7; color:#16a34a; }
.tp-lic.platform { background:#fef3c7; color:#b45309; }

.tp-row { display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; }
.tp-field label { display:block; font-size:12px; font-weight:600; color:#475569; margin-bottom:4px; }
.tp-field select, .tp-field input { padding:9px 12px; border:1.5px solid #e2e8f0; border-radius:9px; font-size:14px; font-family:inherit; }

.tp-stat { display:inline-block; background:#fff; border:1px solid #e2e8f0; border-radius:20px; padding:6px 16px; font-size:13px; margin:0 8px 8px 0; }
.tp-stat b { color:#2563eb; font-size:16px; }

.tp-codes { font-family:ui-monospace,monospace; font-size:13px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:12px; margin-top:12px; max-height:240px; overflow:auto; white-space:pre-wrap; line-height:1.8; }
.tp-msg { font-size:13px; font-weight:600; margin-top:10px; }
.tp-msg.ok { color:#16a34a; } .tp-msg.err { color:#dc2626; }

.tp-fb textarea { width:100%; min-height:90px; padding:11px 14px; border:1.5px solid #e2e8f0; border-radius:10px; font-size:14px; font-family:inherit; resize:vertical; }
.tp-fb-item { border-left:3px solid #2563eb; padding:6px 12px; margin:8px 0; background:#f8fafc; border-radius:0 8px 8px 0; font-size:13px; }
.tp-fb-item .cat { font-size:11px; font-weight:700; color:#2563eb; text-transform:uppercase; }
