.partner-gradient{background:linear-gradient(135deg,#1e3a5f,#2d6a9f,#4a90d9)}.partner-card{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;transition:box-shadow .2s}.partner-card:hover{box-shadow:0 8px 32px #0000001f}.partner-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:8px;font-weight:600;font-size:.95rem;transition:all .2s;cursor:pointer;border:none}.partner-btn-primary{background:#2d6a9f;color:#fff}.partner-btn-primary:hover{background:#1e3a5f;transform:translateY(-1px)}.partner-btn-crm{background:linear-gradient(135deg,#059669,#10b981);color:#fff;font-size:1.05rem;padding:14px 28px}.partner-btn-crm:hover{background:linear-gradient(135deg,#047857,#059669);transform:translateY(-1px);box-shadow:0 4px 16px #0596694d}.partner-btn-secondary{background:#6366f1;color:#fff}.partner-btn-secondary:hover{background:#4f46e5;transform:translateY(-1px)}.partner-btn-danger{background:#ef4444;color:#fff;padding:6px 12px;font-size:.8rem}.partner-btn-danger:hover{background:#dc2626}.partner-btn-logout{background:#ef4444;color:#fff;padding:8px 16px;font-size:.85rem}.partner-btn-logout:hover{background:#dc2626}.partner-btn-token{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;font-size:1.05rem;padding:14px 28px}.partner-btn-token:hover{background:linear-gradient(135deg,#6d28d9,#7c3aed);transform:translateY(-1px);box-shadow:0 4px 16px #7c3aed4d}.partner-input{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.partner-input:focus{outline:none;border-color:#2d6a9f;box-shadow:0 0 0 3px #2d6a9f26}.tab-btn{padding:10px 20px;font-weight:600;font-size:.9rem;border-bottom:3px solid transparent;color:#6b7280;cursor:pointer;transition:all .2s;background:none;border-top:none;border-left:none;border-right:none}.tab-btn:hover{color:#1e3a5f}.tab-btn.active{color:#1e3a5f;border-bottom-color:#2d6a9f}.spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:9999px;font-size:.8rem;font-weight:600}.status-online{background:#d1fae5;color:#065f46}
